VSI Sitemap

count($keys2)) // second is less than first $equality = 1; break; } if ($keys1[$i] != $keys2[$i]) { $equality = $keys1[$i] < $keys2[$i] ? -1 : 1; break; // we found a difference so give up } } return $equality; } // Build Arrays of Info from HTM files $handle=opendir('.'); while ($file = readdir($handle)) { if (substr($file,-4) == '.htm') { $fp = fopen($file,'r'); $gotSitemap = 0; $gotDescription = 0; for ($i = 0; $i < 20 && $fp && (!$gotSitemap || !$gotDescription); $i++) // look in first 20 lines for our keywords { $line = fgets($fp,999); // read a line if (!$line) break; // give up if failed or EOF if (strstr($line,'%SITEMAP:') && !$gotSiteMap) { $pieces = explode("\"",$line); $site = trim($pieces[1]); if (strlen($site)) $gotSitemap = 1; } if (strstr($line,'%DESCRIPTION:') && !$gotDescription) { $pieces = explode("\"",$line); $desc = trim($pieces[1]); if (count($pieces) == 2) // then it flows to subsequent lines { while ($line = fgets($fp,999)) { if (strstr($line,'"')) { $pos = strpos($line,'"'); if ($pos > 0) $desc .= " " . trim(substr($line,0,$pos)); break; } else $desc .= " " . trim($line); } } if (strlen($desc)) $gotDescription = 1; } } if ($gotSitemap && $gotDescription) { if (substr($desc,-1) != ".") $desc .= "."; $description[] = $desc; $sitemap[] = $site; $filename[] = $file; } fclose($fp); } } closedir($handle); uasort($sitemap,sortkeys); reset($sitemap); // Output results echo "
\n"; echo "\n"; $first = TRUE; while ( list($key,$val) = each($sitemap)) { $titles = getKeys($val); // get the individual keys if ($currentTitle[0] != $titles[0] && !$first) $first = FALSE; $linesOut=0; echo "\n"; echo ""; } echo "\n"; echo "
\n"; for ($i=0; $i < count($titles); $i++) { if ($currentTitle[$i] != $titles[$i]) //output this title if it's not already done { $linesOut++; echo "\n"; for ($j=0; $j < $i; $j++) // indent echo "\n"; $currentTitle[$i] = $titles[$i]; echo "\n"; echo "\n"; } } echo "
 \n"; if ( ($i+1) == count($titles) ) // outputting last one? echo "\n"; //yes so make a link echo "$titles[$i]\n"; if ( ($i+1) == count($titles) ) // outputting last one? echo "\n"; //yes so complete a link echo "
\n"; for ($j=1; $j < $linesOut; $j++) echo "
"; echo "$description[$key]

\n"; ?>