aboutsummaryrefslogtreecommitdiff
path: root/mod/opensearch/start.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/opensearch/start.php')
-rw-r--r--mod/opensearch/start.php33
1 files changed, 33 insertions, 0 deletions
diff --git a/mod/opensearch/start.php b/mod/opensearch/start.php
new file mode 100644
index 000000000..88329c8d1
--- /dev/null
+++ b/mod/opensearch/start.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * OpenSearch plugin
+ *
+ * http://www.opensearch.org/Home
+ *
+ * @author Cash Costello
+ * @license http://opensource.org/licenses/gpl-2.0.php GPL 2
+ */
+
+elgg_register_event_handler('init', 'system', 'opensearch_init');
+
+function opensearch_init() {
+ 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 bool
+ */
+function opensearch_handler($page) {
+ switch ($page[0]) {
+ case 'osd.xml':
+ elgg_set_viewtype('xml');
+ echo elgg_view_page('', elgg_view('opensearch/description'));
+ return true;
+ break;
+ }
+ return false;
+}