Archived
1
0

RFE #2006182: Highlight s9y search terms

This commit is contained in:
Garvin Hicking
2008-06-30 10:35:08 +00:00
parent 71329d1572
commit 9afa5c6ada
2 changed files with 29 additions and 5 deletions
+3
View File
@@ -3,6 +3,9 @@
Version 1.4 () Version 1.4 ()
------------------------------------------------------------------------ ------------------------------------------------------------------------
* RFE #2006182: Make search highlight plugin also honour serendipity's
search terms. (garvinhicking)
* Improved "Remote RSS" plugin's templating output to select * Improved "Remote RSS" plugin's templating output to select
custom template files. Add demo "Nasa Image of the Day" plugin custom template files. Add demo "Nasa Image of the Day" plugin
by Grigory F. (garvinhicking) by Grigory F. (garvinhicking)
@@ -29,7 +29,7 @@ class serendipity_event_searchhighlight extends serendipity_event
$propbag->add('description', PLUGIN_EVENT_SEARCHHIGHLIGHT_DESC); $propbag->add('description', PLUGIN_EVENT_SEARCHHIGHLIGHT_DESC);
$propbag->add('stackable', false); $propbag->add('stackable', false);
$propbag->add('author', 'Tom Sommer'); $propbag->add('author', 'Tom Sommer');
$propbag->add('version', '1.4'); $propbag->add('version', '1.5');
$propbag->add('requirements', array( $propbag->add('requirements', array(
'serendipity' => '0.8', 'serendipity' => '0.8',
'smarty' => '2.6.7', 'smarty' => '2.6.7',
@@ -88,6 +88,7 @@ class serendipity_event_searchhighlight extends serendipity_event
define('PLUGIN_EVENT_SEARCHHIGHLIGHT_ALTAVISTA', 5); define('PLUGIN_EVENT_SEARCHHIGHLIGHT_ALTAVISTA', 5);
define('PLUGIN_EVENT_SEARCHHIGHLIGHT_AOL_DE', 6); define('PLUGIN_EVENT_SEARCHHIGHLIGHT_AOL_DE', 6);
define('PLUGIN_EVENT_SEARCHHIGHLIGHT_AOL_COM', 7); define('PLUGIN_EVENT_SEARCHHIGHLIGHT_AOL_COM', 7);
define('PLUGIN_EVENT_SEARCHHIGHLIGHT_S9Y', 8);
} }
function getSearchEngine() { function getSearchEngine() {
@@ -115,12 +116,19 @@ class serendipity_event_searchhighlight extends serendipity_event
if ( preg_match('@^search\.aol\.com@i', $url['host']) ) { if ( preg_match('@^search\.aol\.com@i', $url['host']) ) {
return PLUGIN_EVENT_SEARCHHIGHLIGHT_AOL_COM; return PLUGIN_EVENT_SEARCHHIGHLIGHT_AOL_COM;
} }
if ( preg_match('@^(www\.)?google\.@i', $url['host']) ) {
return PLUGIN_EVENT_SEARCHHIGHLIGHT_GOOGLE;
}
if (!empty($_SESSION['search_referer']) && $this->uri != $_SESSION['search_referer']) { if (!empty($_SESSION['search_referer']) && $this->uri != $_SESSION['search_referer']) {
$this->uri = $_SESSION['search_referer']; $this->uri = $_SESSION['search_referer'];
return $this->getSearchEngine(); return $this->getSearchEngine();
} }
if ($url['host'] == $_SERVER['HTTP_HOST']) {
return PLUGIN_EVENT_SEARCHHIGHLIGHT_S9Y;
}
return false; return false;
} }
@@ -133,7 +141,17 @@ class serendipity_event_searchhighlight extends serendipity_event
$url = parse_url($this->uri); $url = parse_url($this->uri);
parse_str($url['query'], $pStr); parse_str($url['query'], $pStr);
switch ( $this->getSearchEngine() ) { $s = $this->getSearchEngine();
switch ( $s ) {
case PLUGIN_EVENT_SEARCHHIGHLIGHT_S9Y:
$query = $pStr['serendipity']['searchTerm'];
if (!empty($_REQUEST['serendipity']['searchTerm'])) {
$query = $_REQUEST['serendipity']['searchTerm'];
}
break;
case PLUGIN_EVENT_SEARCHHIGHLIGHT_GOOGLE : case PLUGIN_EVENT_SEARCHHIGHLIGHT_GOOGLE :
$query = $pStr['q']; $query = $pStr['q'];
break; break;
@@ -163,7 +181,11 @@ class serendipity_event_searchhighlight extends serendipity_event
break; break;
default: default:
return false; if ($_REQUEST['serendipity']['searchTerm'] != '') {
$query = $_REQUEST['serendipity']['searchTerm'];
} else {
return false;
}
} }
/* Clean the query */ /* Clean the query */
@@ -240,4 +262,3 @@ class serendipity_event_searchhighlight extends serendipity_event
} }
/* vim: set sts=4 ts=4 expandtab : */ /* vim: set sts=4 ts=4 expandtab : */
?>