' .$header. ''; echo '
' .$msg. '
'; site_footer(); exit; } if (!isset($_GET['q']) || (!is_string($_GET['q']) || strlen($_GET['q']) < 3)) { exit_with_pretty_error("Search results", "Empty query", "You need to specify what you want to search for, 3chars at least"); } if (!isset($_GET['l']) || !is_string($_GET['l'])) { $_GET['l'] = null; } // Prepare data for search if ($MQ) { $q = stripslashes($_GET['q']); //query $l = stripslashes($_GET['l']); // language } else { $q = isset($_GET['q']) ? $_GET['q'] : ''; $l = isset($_GET['l']) ? $_GET['l'] : 'en'; } if(strlen($l)>2) $l = substr($l,0,2); // Just take the first 2 chars. eg. pt_BR = pt $q = urlencode($q); $l = urlencode($l); $s = (isset($_GET['start']) && is_numeric($_GET['start']) && $_GET['start']!=0) ? (int)$_GET['start'] : 1; $profile = (isset($_GET['p']) && is_string($_GET['p'])) ? $_GET['p'] : 'all'; $per_page = 10; $valid_profiles = array('all', 'local', 'manual', 'news', 'bugs', 'pear', 'pecl', 'talks'); $scope = in_array($profile, $valid_profiles) ? $profile : 'all'; $srch_host = "www.php.net"; $srch_rqst = "/ws.php?profile=$scope&q=$q&lang=$l&results=$per_page&start=$s&mirror=".trim(substr($MYSITE,7),'/'); $url = "http://".$srch_host.$srch_rqst; $data = fetch_contents($url); if (is_array($data)) { $comment = ''; exit_with_pretty_error("Search error", "Internal error", "This mirror does not support searches, please report this error to our webmasters" . $comment); } $res = unserialize($data); // HTTP status line is passed on, signifies an error site_header('Search results', array("noindex")); if (!is_array($res)) { exit_with_pretty_error(null, 'Internal error', 'Please try again later'); } // No results for query if ($res['ResultSet']['totalResultsAvailable'] == 0) { exit_with_pretty_error(null, 'No matches', 'No pages matched your query'); exit; } $start_result = $s + ($s<2?0:1); $end_result = $s + $res['ResultSet']['totalResultsReturned'] - ($s<2?1:0); $results_count = ($res['ResultSet']['totalResultsAvailable'] < 100 ? $res['ResultSet']['totalResultsAvailable'] : 'more than 100'); echo <<{$types[$type]}{$display_title}
{$summary}
EOB; } echo <<
';
site_footer();
?>