1) { $searchdecode = 1; } elseif (strstr($browse, "/search") && $use_short == 1) { $browse = str_replace("/search", "", $browse); $searchdecode = 1; } // Clean up category for invalid characters $browse = CheckSlashesRemove($browse); $browse = str_replace("..", "", $browse); $browse = str_replace("<", "<", $browse); $browse = str_replace(">", ">", $browse); // Set the attribution category if ($browse) { $attributioncat = encodecategory($browse); } else { $attributioncat = "/"; } // Set the search string $searchstring = $_POST['search']; if ($searchstring == "") { $searchstring = $_GET['search']; } $searchstring = str_replace("..", "", $searchstring); $searchstring = str_replace("<", "<", $searchstring); $searchstring = str_replace(">", ">", $searchstring); $start = $_GET['start']; $morecat = $_GET['morecat']; $DocumentEncoding = 'UTF-8'; ////////////////////////////////////////////////////////////////////////////// // Set the breadcrumb trail if (($browse) && ($browse <> "/")) { $cat = $browse; $breadcrumb = "

Top: "; $array = explode("/", $browse ); foreach ($array as $stritem) { if ($stritem <> "") { $add = $add . "/" . $stritem; $breadcrumb .= "" . $stritem . ": "; } } $breadcrumb .= "

"; } elseif ($searchstring) { $breadcrumb = "

Top: Search:

"; } ////////////////////////////////////////////////////////////////////////////// // Set search restriction if category is defined if (($browse <> "") && ($browse <> "/")) { $currentcatfix = substr(encodecategory($browse), 1); $searchoptions = " "; } else { $searchoptions = ""; } ////////////////////////////////////////////////////////////////////////////// // Set the DMOZ template config // Set variables to look for in the DMOZ template // This is the bit that changes when they change their template $LinkStart = '"; // Look for end string on a category $CatEnd = 'fileRead("./templates/odp_attribution.tpl"); $MainCopyright = $getFile->fileRead("./templates/copyright.tpl"); $MainSearchBox = $getFile->fileRead("./templates/searchbox.tpl"); $MainHeader = $getFile->fileRead("./templates/header.tpl"); $MainFooter = $getFile->fileRead("./templates/footer.tpl"); if ($AdvancedListings == 1 && $AllowThumbShots == 1) { $ThumbAttribution = $getFile->fileRead("./templates/thumbshots_attribution.tpl"); } else { $ThumbAttribution = ''; } $CodeSearch = array ( "[searchbox]", "[copyright]", "[odp_attribution]", "[thumbshots_attribution]", "[breadcrumb]", "[dwodp]", "[currentcat]", "[imagedirectory]", "[sitetitle]", "[options]" ); $CodeReplace = array ( $MainSearchBox, $MainCopyright, $MainAttribution, $ThumbAttribution, $breadcrumb, $filename, $attributioncat, $Local_images, $sitetitle, $searchoptions ); $MainAttribution = str_replace ($CodeSearch, $CodeReplace, $MainAttribution); $MainSearchBox = str_replace ($CodeSearch, $CodeReplace, $MainSearchBox); $MainHeader = str_replace ($CodeSearch, $CodeReplace, $MainHeader); $MainFooter = str_replace ($CodeSearch, $CodeReplace, $MainFooter); ////////////////////////////////////////////////////////////////////////////// // The core program // There are three core sections, Main, Browse and Search // Main: either renders the mainpage template or your default category // Browse: is the current category determined by the query string // Search: Displays search results. These cannot be cached if ((($browse == "") || ($browse == "/")) && ($searchstring == "")) { // No default category set if ($rootcategory == "") { $html = $getFile->fileRead("./templates/mainpage.tpl"); $html = str_replace ($CodeSearch, $CodeReplace, $html); // Regular expression to format the links in the mainpage template $mainsearcharray = array( "/(\[)(mainlink)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/mainlink)(((=)(\\4)([^\"']*)(\\4]))|(\]))/siU", "/(\[)(link)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/link)(((=)(\\4)([^\"']*)(\\4]))|(\]))/siU" ); $mainreplacearray = array( "\\7", "\\7" ); $html = preg_replace($mainsearcharray, $mainreplacearray, $html); if ($use_short == 1) { $html = str_replace ("{url}", $filename, $html); } else { $html = str_replace ("{url}", $filename . "?c=", $html); } $finalhtml = $MainHeader . $html . $MainFooter; echo $finalhtml; } else { // Default category set, this is almost the same code as the browse category section if ($use_cache == 1) { $cacheset = new cacheProperties($rootcategory, $cache_refresh, $rooturl . $rootcategory); $cachedfile = $cacheset->cacheFile(); $html = $getFile->fileRead($cachedfile); } else { $html = $getFile->fileRead($rooturl . $rootcategory); } $DocumentEncoding = GetEncoding($html); $MainHeader = str_replace ('[encoding]', $DocumentEncoding, $MainHeader); $HTMLStartPos = strpos( $html, "[ FALSE) { $TestVar = TRUE; } if ($TestVar == FALSE) { $HTMLStartPos = strpos($html, $CatStart); } $html = substr($html, $HTMLStartPos, strlen($html)); if($TestVar == TRUE) { $html = "
" . $html; } $HTMLEndPos = strpos($html, $CatEnd); $html = substr($html, 0, $HTMLEndPos); if ($AdvancedListings == 1) { if ($AllowThumbShots == 1) { $AdvLinks = $getFile->fileRead("./templates/advanced_thumbshots.tpl"); $ThumbShots = $getFile->fileRead("./templates/thumbshots.tpl"); } else { $AdvLinks = $getFile->fileRead("./templates/advanced_links.tpl"); } $htmllines = explode("\n", $html); $newhtml = ""; for ($i=0; $i') - $LinkStartPos; $tmpurl = substr($htmllines[$i], $LinkStartPos, $LinkEndPos); $htmllines[$i] = str_replace("
  • ", "", $htmllines[$i]); $editosdesc = ''; if (substr($htmllines[$i+1], 0, 3) == " - ") { $editorsdesc = $htmllines[$i+1]; $htmllines[$i+1] = ''; } if ($AllowThumbShots == 1) { $ThumbShots_tmp = str_replace("[site_url]", $tmpurl, $ThumbShots); $tmpline = $AdvLinks; $tmpline = str_replace("[thumbshots]", $ThumbShots_tmp, $tmpline); $tmpline = str_replace("[siteinfo]", $htmllines[$i] . $editorsdesc, $tmpline); $tmpline .= "\n"; } else { $tmpline = $AdvLinks; $tmpline = str_replace("[siteinfo]", $htmllines[$i] . $editorsdesc, $tmpline); $tmpline .= "\n"; } $newhtml .= $tmpline; unset ($ThumbShots_tmp); unset ($LinkEndPos); unset ($tmpurl); unset ($tmpline); } else { $newhtml .= $htmllines[$i] . "\n"; } } $html = $newhtml; unset ($newhtml); } $html = str_replace("
    ", "
    ", $html); $html = str_replace($LinkStart . "/", $LinkStart . $browseurl . "/", $html); $html = str_replace(' "") { $html = str_replace('
    cacheFile(); $html = $getFile->fileRead($cachedfile); } else { $html = $getFile->fileRead($rooturl . $browse); } // New system to automatically detect the encoding of a page (as the ODP is currently making all /Word categories UTF-8) $DocumentEncoding = GetEncoding($html); $MainHeader = str_replace ('[encoding]', $DocumentEncoding, $MainHeader); $HTMLStartPos = strpos($html, "[ fileRead("./templates/advanced_thumbshots.tpl"); $ThumbShots = $getFile->fileRead("./templates/thumbshots.tpl"); } else { $AdvLinks = $getFile->fileRead("./templates/advanced_links.tpl"); } $htmllines = explode("\n", $html); $newhtml = ""; for ($i=0; $i') - $LinkStartPos; $tmpurl = substr($htmllines[$i], $LinkStartPos, $LinkEndPos); $htmllines[$i] = str_replace("
  • ", "", $htmllines[$i]); $editorsdesc = ''; if (substr($htmllines[$i+1], 0, 3) == " - ") { $editorsdesc = $htmllines[$i+1]; $htmllines[$i+1] = ''; } if ($AllowThumbShots == 1) { $ThumbShots_tmp = str_replace("[site_url]", $tmpurl, $ThumbShots); $tmpline = $AdvLinks; $tmpline = str_replace("[thumbshots]", $ThumbShots_tmp, $tmpline); $tmpline = str_replace("[siteinfo]", $htmllines[$i] . $editorsdesc, $tmpline); $tmpline .= "\n"; } else { $tmpline = $AdvLinks; $tmpline = str_replace("[siteinfo]", $htmllines[$i] . $editorsdesc, $tmpline); $tmpline .= "\n"; } $newhtml .= $tmpline; unset ($ThumbShots_tmp); unset ($LinkEndPos); unset ($tmpurl); unset ($tmpline); } else { $newhtml .= $htmllines[$i] . "\n"; } } $html = $newhtml; unset ($newhtml); } $html = str_replace("
    ", "
    ", $html); $html = str_replace($LinkStart . "/", $LinkStart . $browseurl . "/", $html); $html = str_replace( ' "") { $html = str_replace('
    FALSE) { $html = $getFile->fileRead("./templates/search_noresult.tpl"); } else { $HTMLStartPos = strpos($html, $SearchStart); $html = substr($html, $HTMLStartPos, strlen($html)); $HTMLEndPos = strpos($html, $SearchEnd); $html = substr($html, 0, $HTMLEndPos); $html = str_replace("
    ", "
    ", $html); $html = str_replace($LinkStart . "/", $LinkStart . $browseurl . "/", $html); if ($use_short == 1) { $html = str_replace("http://dmoz.org", "$filename/search", $html); } else { $html = str_replace("http://dmoz.org", "$filename?s=1&c=", $html); } $html = str_replace($search_next, $search_next_replace, $html); if ($use_short == 1) { $html = str_replace($filename . '?browse=search?', $filename, $html); } else { $html = str_replace($filename . '?browse=search?', $filename . "?c=", $html); } if ($LinkTarget <> "") { $html = str_replace('