diff --git a/include/results.inc b/include/results.inc new file mode 100644 index 000000000..be518bdc7 --- /dev/null +++ b/include/results.inc @@ -0,0 +1,89 @@ +Showing results $disp_start_result to $disp_end_result of $results_count\n"; + echo '\n"; + if($show_attrib): + echo <<results by +EOB; + endif; + if($show_foot): + echo <<

Results Page:

+'; + endif; +} +?> diff --git a/quickref.php b/quickref.php index bc5f2e121..3d5a998a6 100644 --- a/quickref.php +++ b/quickref.php @@ -19,6 +19,7 @@ $_SERVER['BASE_PAGE'] = 'quickref.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/errors.inc'; +include $_SERVER['DOCUMENT_ROOT'] . '/include/results.inc'; // Constant values for the display define("COLUMNS", 3); @@ -146,6 +147,22 @@ $notfound_enc = urlencode($notfound_sc); + 2): +$srch_rqst = "/ws.php?profile=local&q=".urlencode($notfound)."&lang=$LANG&results=5&start=0&mirror=".trim(substr($MYSITE,7),'/'); +$url = "http://www.php.net".$srch_rqst; +$data = fetch_contents($url); +if(!is_array($data)) { + $res = unserialize($data); + if(is_array($res) && $res['ResultSet']['totalResultsAvailable'] > 0) { + // Ok, we got some results from the search backend + echo "

Site Search Results

\n"; + search_results($res, $notfound, 'local', 10, 0, $LANG, false, false, false); + echo '
'; + } +} +endif; +?>

Other forms of search

diff --git a/results.php b/results.php index ee8135395..46eb2c138 100644 --- a/results.php +++ b/results.php @@ -2,6 +2,7 @@ // $Id$ $_SERVER['BASE_PAGE'] = 'results.php'; include $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; +include $_SERVER['DOCUMENT_ROOT'] . '/include/results.inc'; #include $_SERVER['DOCUMENT_ROOT'] . '/include/loadavg.inc'; function exit_with_pretty_error($title, $header, $msg) { @@ -32,8 +33,8 @@ if ($MQ) { 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); +$uq = urlencode($q); +$ul = urlencode($l); $s = (isset($_GET['start']) && is_numeric($_GET['start'])) ? (int)$_GET['start'] : 0; $profile = (isset($_GET['p']) && is_string($_GET['p'])) ? $_GET['p'] : 'all'; @@ -42,7 +43,7 @@ $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),'/'); +$srch_rqst = "/ws.php?profile=$scope&q=$uq&lang=$ul&results=$per_page&start=$s&mirror=".trim(substr($MYSITE,7),'/'); $url = "http://".$srch_host.$srch_rqst; $data = fetch_contents($url); @@ -66,85 +67,7 @@ if ($res['ResultSet']['totalResultsAvailable'] == 0) { exit; } -$start_result = $s; -$end_result = $s + $res['ResultSet']['totalResultsReturned'] -1; +search_results($res, $q, $scope, $per_page, $s, $l); -$results_count = ($res['ResultSet']['totalResultsAvailable'] < 100 ? $res['ResultSet']['totalResultsAvailable'] : 'more than 100'); - -$disp_start_result = $start_result + 1; -$disp_end_result = $end_result + 1; -echo <<Showing results $disp_start_result to $disp_end_result of $results_count -