Filter:   InfoImg
download toparser.inc
Language: NonCode
LOC: 0
Project Info
HPE
Server: SourceForge
Type: cvs
[Show Code]






[Show Code]
...ceForge\h\hpe\hpe\hpe1\HPE\
   .cvsignore
   clickerr.inc
   config.inc
   Config_File.class.php
   database.inc
   database.mysql.inc
   database.pear.inc
   FormChek.js
   HPE.inc
   HPEbase.inc
   HPEUsers.default.xml
   HPEUsers.guest.xml
   layout.js
   local.inc
   modules.inc
   ...andlers.addChannel.ftsc
   navcond.js
   newsaccess.inc
   newssource.inc
   newstools.js
   overlib.js
   overlib_mini.js
   pagemaker.inc
   pages.inc
   PHPClientSniffer.inc
   phpodp.inc
   publisher.inc
   services.inc
   sitelister.inc
   Smarty.addons.php
   Smarty.class.php
   Smarty_Compiler.class.php
   sourcetools.js
   thememaker.inc
   toparser.inc
   user.edit.inc
   user.inc
   xmlrpc.inc
   xmlrpcs.inc
   xmltree.inc

<?
/*

HPE - News Portal Engine
Copyright (C) 2000-2001 Mike Krus

This program is free software; it is distributed in the hope 
that it will be useful, but WITHOUT ANY WARRANTY; without 
even the implied warranty of MERCHANTABILITY or FITNESS 
FOR A PARTICULAR PURPOSE.  

READ LICENSE.TXT IN THE BASE DIRECTORY FOR INFORMATION 
ABOUT REDISTRIBUTING THIS SOURCE CODE

*/


function themeparser($themeorg, $ODBY = "upd", $SRTHEMES = "0", $NUMTHEMES = "6")
{
	global $HPEinc;
	global $HPEtheConfig;

	$hostname = $themeorg . ".themes.org";
	$port = 80;
	$uri = "/themes.rdf.phtml?odby=$ODBY&sc=desc&srtheme=$SRTHEMES&numthemes=$NUMTHEMES&moderated=off";

	$header_passed  = 0;
	$cache = "$HPEtheConfig->cachepath/cache.to." . $themeorg . $ODBY . $SRTHEMES . $NUMTHEMES . ".lst";

	$ctime = @fileMtime($cache);
	$ntime = Time();
	$dtime = $ntime - $ctime;

	$themecount = 0;
	$linelength = 1024;

	if($dtime > $ntime || $dtime > 3600 || fileSize($cache) < 20) {
		$cfile = @fopen($cache, "w");
		if(!$cfile) {
			echo ("Could not create cache file " . $cache . "\n");
			return 0;
		}

        $fpread = fsockopen("$hostname", $port, &$errno, &$errstr);
		if(!$fpread) {

			echo "Error connecting to " . $hostname . ": " . $errstr . "<br>\n";

		} else {

			fputs($fpread, "GET " . $uri . " HTTP/1.0\n");
			fputs($fpread, "User-Agent: PHP TOParser/0.1  mkrus@free.fr\n");
			fputs($fpread, "Host: " . $hostname . ":80\n");
			fputs($fpread, "Accept: */*\r\n\r\n");

			$str = fgets($fpread, $linelength);
			if(strstr($str, "404") != "") {
				echo "Document <A HREF=\"http://" . $hostname . $uri. "\">http://" . $hostname . $uri . "</A> not found\n";
				fclose($cfile);
				return 0;
			}

			$filedate = Date("H:i m/d/y");
			fputs($cfile, "$filedate\n");

			while (!feof($fpread)) {
				if ($header_passed == 1) {
					$str = trim(fgets($fpread, $linelength));

					if($str == "") { continue; }

					if(strstr($str, "<channel>") != "") {

						$keepon = 1;
						while(1) {
							$locstr = trim(fgets($fpread, $linelength));
							if($locstr == "") { continue; }

							if(strstr($locstr, "<title>") != "") {
								$channeltitle = strtok($locstr, "<>");
								$channeltitle = strtok("<>");
								$channeltitle = strtok("<>");
							} elseif(strstr($locstr, "<link>") != "") {
								$channelurl = strtok($locstr, "<>");
								$channelurl = strtok("<>");
								$channelurl = strtok("<>");
							} elseif(strstr($locstr, "</channel>") != "") {
								break;
							}
						}
						continue;
					}

					if(strstr($str, "<item>") != "") {

						$invers = "";
						if(isset($vertab)) unset($vertab);

						while(1) {

							$str = trim(fgets($fpread, $linelength));

							if($invers != "") {
								if(strstr($str, "</ver") != "") {
									$invers = "";
								} elseif(strstr($str, "<link>") != "") {
									$tmp = strtok($str, "<>");
									$tmp = strtok("<>");
									$vertab[] = $invers;
									$vertab[] = strtok("<>");
								} elseif(strstr($str, "</item>") != "") {
									break;
								}
							} else  {
								if(strstr($str, "<name>") != "") {
									$name = strtok($str, "<>");
									$name = strtok("<>");
									$name = strtok("<>");
								} elseif(strstr($str, "<updated>") != "") {
									$update = strtok($str, "<>");
									$update = strtok("<>");
									$update = strtok("<>");
									$update = Date("m/d/y", $update);
								} elseif(strstr($str, "<id>") != "") {
									$tid = strtok($str, "<>");
									$tid = strtok("<>");
									$tid = strtok("<>");
								} elseif(strstr($str, "<link>") != "") {
									$link = strtok($str, "<>");
									$link = strtok("<>");
									$link = strtok("<>");
								} elseif(strstr($str, "<shot>") != "") {
									$shot = strtok($str, "<>");
									$shot = strtok("<>");
									$shot = strtok("<>");
								} elseif(strstr($str, "<thumb>") != "") {
									$thumb = strtok($str, "<>");
									$thumb = strtok("<>");
									$thumb = strtok("<>");
								} elseif(strstr($str, "<vers>") != "") {
									$vers = strtok($str, "<>");
									$vers = strtok("<>");
									$vers = strtok("<>");
								} elseif(strstr($str, "<ver ") != "") {
									$toto = strtok($str, " ");
									$toto = strtok(" ");
									$invers = strtok($toto, "<>");
								} elseif(strstr($str, "</item>") != "") {
									break;
								}
							}
						}

						fputs($cfile, "$name\n$link\n$tid\n");
						fputs($cfile, "$thumb\n$shot\n$update\n");

						if(isset($vertab)) {
							$i=0;
							while($i < count($vertab)) {
								$verkey = $vertab[$i];
								$verlink = $vertab[$i + 1];
								fputs($cfile, "$verkey\n$verlink\n");
								$i+=2;
							}
						}

						fputs($cfile, "%%\n");
						$themecount++;
					}

				} else {
					$str = ltrim(Chop(fgets($fpread, $linelength)));

					if ($str == "") {
						$header_passed = 1;
					}
				}
			}

			fclose($fpread);
		}
		fclose($cfile);

	}

	return $cache;
	
}

?>