From c4ed70ad4cf233f6091f6de22a5cfaf81ea88747 Mon Sep 17 00:00:00 2001 From: cash Date: Fri, 2 Dec 2011 22:05:50 -0500 Subject: Elgg 1.8 version --- README | 16 +++++++--- languages/en.php | 6 ++-- manifest.xml | 24 +++++++++------ start.php | 19 +++++------- views/default/opensearch/includes.php | 7 +++-- views/opensearch_rss/page/default.php | 42 +++++++++++++++++++++++++++ views/opensearch_rss/page/layouts/default.php | 5 ++++ views/opensearch_rss/page_shells/default.php | 40 ------------------------- views/opensearch_rss/pageshells/pageshell.php | 6 ---- views/opensearch_rss/search/layout.php | 3 ++ views/opensearch_rss/search/list.php | 27 +++++++++++++++++ views/opensearch_rss/search/listing.php | 24 --------------- views/xml/opensearch/description.php | 20 +++++++------ 13 files changed, 131 insertions(+), 108 deletions(-) create mode 100644 views/opensearch_rss/page/default.php create mode 100644 views/opensearch_rss/page/layouts/default.php delete mode 100644 views/opensearch_rss/page_shells/default.php delete mode 100644 views/opensearch_rss/pageshells/pageshell.php create mode 100644 views/opensearch_rss/search/list.php delete mode 100644 views/opensearch_rss/search/listing.php diff --git a/README b/README index 1725196a6..236ce9da2 100644 --- a/README +++ b/README @@ -1,14 +1,22 @@ OpenSearch endpoint for Elgg +OVERVIEW +------------- +OpenSearch is a standard for exposing the data in your website for search +to browsers and other web sites. For more information on this technology, visit +the Wikipedia page on OpenSearch at http://en.wikipedia.org/wiki/OpenSearch + INSTALL -Rename config.ini.sample to config.ini -Edit config.ini to reflect your site -Activate the plugin +------------- + * Rename config.ini.sample to config.ini + * Edit config.ini to reflect your site + * Activate the plugin USAGE +------------- Adds an OpenSearch description definition to the html head. Browsers will pick this up and allow you to add site specific search to your search bar. The plugin also provides an RSS 2.0 feed that conforms to the OpenSearch -standard. +standard. diff --git a/languages/en.php b/languages/en.php index c0b3e5bf5..011e5d0b5 100644 --- a/languages/en.php +++ b/languages/en.php @@ -1,9 +1,11 @@ "Search: %s", - 'opensearch:description' => "Search results for \"%s\"", - + 'opensearch:description' => "Search results for \"%s\"", ); add_translation("en", $english); diff --git a/manifest.xml b/manifest.xml index a8733595b..525027c63 100644 --- a/manifest.xml +++ b/manifest.xml @@ -1,10 +1,16 @@ - - - - - - - - - + + OpenSearch + Cash Costello + 1.1 + utility + search + OpenSearch integration + https://github.com/cash/opensearch + Cash Costello 2010-2011 + GNU Public License version 2 + + elgg_release + 1.8 + + \ No newline at end of file diff --git a/start.php b/start.php index 7adc0f733..88329c8d1 100644 --- a/start.php +++ b/start.php @@ -8,31 +8,26 @@ * @license http://opensource.org/licenses/gpl-2.0.php GPL 2 */ -register_elgg_event_handler('init', 'system', 'opensearch_init'); +elgg_register_event_handler('init', 'system', 'opensearch_init'); function opensearch_init() { - global $CONFIG; - - register_page_handler('opensearch', 'opensearch_handler'); - - elgg_extend_view('metatags', 'opensearch/includes'); + elgg_register_page_handler('opensearch', 'opensearch_handler'); + elgg_extend_view('page/elements/head', 'opensearch/includes'); } /** * Handles OpenSearch requests * * @param array $page An array of URL elements - * @return boolean + * @return bool */ function opensearch_handler($page) { - global $CONFIG; - switch ($page[0]) { case 'osd.xml': elgg_set_viewtype('xml'); - page_draw('', elgg_view('opensearch/description')); - return TRUE; + echo elgg_view_page('', elgg_view('opensearch/description')); + return true; break; } - + return false; } diff --git a/views/default/opensearch/includes.php b/views/default/opensearch/includes.php index 57e56723f..6aceb45c2 100644 --- a/views/default/opensearch/includes.php +++ b/views/default/opensearch/includes.php @@ -1,7 +1,10 @@ sitename; +$url = elgg_normalize_url('opensearch/osd.xml'); +$title = elgg_get_site_entity()->name; ?> diff --git a/views/opensearch_rss/page/default.php b/views/opensearch_rss/page/default.php new file mode 100644 index 000000000..79cd544c4 --- /dev/null +++ b/views/opensearch_rss/page/default.php @@ -0,0 +1,42 @@ +\n"; + +// Set title +$search_terms = get_input('q'); +$title = elgg_get_site_entity()->name; +$title .= ' ' . elgg_echo('opensearch:title', array($search_terms)); + +$description = elgg_echo('opensearch:description', array($search_terms)); + +// Remove viewtype from URL +$search_url = str_replace('&view=opensearch_rss', '', full_url()); + +$os_url = elgg_normalize_url('opensearch/osd.xml'); + +?> + + + <?php echo $title; ?> + + + + + diff --git a/views/opensearch_rss/page/layouts/default.php b/views/opensearch_rss/page/layouts/default.php new file mode 100644 index 000000000..488734f84 --- /dev/null +++ b/views/opensearch_rss/page/layouts/default.php @@ -0,0 +1,5 @@ +\n"; - -// Set title -$search_terms = get_input('q'); -$title = $vars['config']->sitename; -$title .= ' ' . sprintf(elgg_echo('opensearch:title'), $search_terms); - -$description = sprintf(elgg_echo('opensearch:description'), $search_terms); - -// Remove viewtype from URL -$search_url = str_replace('&view=opensearch_rss','', full_url()); - -$os_url = "{$vars['url']}pg/opensearch/osd.xml"; - - -?> - - - <?php echo $title; ?> - - - - - diff --git a/views/opensearch_rss/pageshells/pageshell.php b/views/opensearch_rss/pageshells/pageshell.php deleted file mode 100644 index f883f236a..000000000 --- a/views/opensearch_rss/pageshells/pageshell.php +++ /dev/null @@ -1,6 +0,0 @@ - $entity, + 'params' => $vars['params'], + 'results' => $vars['results'] + )); + } +} +elgg_set_viewtype('opensearch_rss'); + +echo $body; \ No newline at end of file diff --git a/views/opensearch_rss/search/listing.php b/views/opensearch_rss/search/listing.php deleted file mode 100644 index 219462976..000000000 --- a/views/opensearch_rss/search/listing.php +++ /dev/null @@ -1,24 +0,0 @@ - $entity, - 'params' => $vars['params'], - 'results' => $vars['results'] - )); - } -} -elgg_set_viewtype('opensearch_rss'); - -echo $body; \ No newline at end of file diff --git a/views/xml/opensearch/description.php b/views/xml/opensearch/description.php index 221cb768e..78aadc699 100644 --- a/views/xml/opensearch/description.php +++ b/views/xml/opensearch/description.php @@ -5,23 +5,25 @@ */ // reset cache headers because IE8 is stupid -header('Pragma: public', TRUE); -header('Cache-Control: public', TRUE); +header('Pragma: public', true); +header('Cache-Control: public', true); $config_ini = dirname(dirname(dirname(dirname(__FILE__)))) . '/config.ini'; $config = parse_ini_file($config_ini); -if ($config == FALSE) { +if ($config == false) { elgg_log("Unable to parse OpenSearch config file", 'ERROR'); - return TRUE; + return true; } extract($config); -$site = get_entity($CONFIG->site_guid); +$site = elgg_get_site_entity(); $email = $site->email; -$rss_url = "{$vars['url']}pg/search/?q={searchTerms}&view=opensearch_rss"; -$html_url = "{$vars['url']}pg/search/?q={searchTerms}"; +$rss_url = elgg_normalize_url('search/?q={searchTerms}&view=opensearch_rss'); +$rss_url = elgg_format_url($rss_url); +$html_url = elgg_normalize_url('search/?q={searchTerms}'); +$site_url = elgg_get_site_url(); ?> @@ -34,10 +36,10 @@ $html_url = "{$vars['url']}pg/search/?q={searchTerms}"; - + - + -- cgit v1.2.3