diff options
author | Andreas Gohr <andi@splitbrain.org> | 2006-11-10 16:14:53 +0100 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2006-11-10 16:14:53 +0100 |
commit | da96af357215605d855d6ce8ef8fb50ffb679641 (patch) | |
tree | fb168534bdb989614796cdfdd2fd8febc404a37c /lib/exe/opensearch.php | |
parent | 122b469f774df8026a8a6182d2bc026ae1a06e2b (diff) | |
download | rpg-da96af357215605d855d6ce8ef8fb50ffb679641.tar.gz rpg-da96af357215605d855d6ce8ef8fb50ffb679641.tar.bz2 |
OpenSearch support
This adds support for the OpenSearch specification to autodetect
DokuWiki's search engine. The patch was submitted by Mike Frysinger
some time ago.
Some changes were made to the original patch. Only tested in FireFox 2.0
darcs-hash:20061110151453-7ad00-298ad77603854a604a642c0afd3975a997b8dc09.gz
Diffstat (limited to 'lib/exe/opensearch.php')
-rw-r--r-- | lib/exe/opensearch.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/exe/opensearch.php b/lib/exe/opensearch.php new file mode 100644 index 000000000..e23d16d20 --- /dev/null +++ b/lib/exe/opensearch.php @@ -0,0 +1,38 @@ +<?php +/** + * DokuWiki OpenSearch creator + * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * @link http://www.opensearch.org/ + * @author Mike Frysinger <vapier@gentoo.org> + * @author Andreas Gohr <andi@splitbrain.org> + */ + +if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/'); +if(!defined('NOSESSION')) define('NOSESSION',true); // we do not use a session or authentication here (better caching) +if(!defined('NL')) define('NL',"\n"); +require_once(DOKU_INC.'inc/init.php'); + +// try to be clever about the favicon location +if(file_exists(DOKU_INC.'favicon.ico')){ + $ico = DOKU_URL.'favicon.ico'; +}elseif(DOKU_TPL.'images/favicon.ico'){ + $ico = DOKU_URL.'lib/tpl/'.$conf['template'].'/images/favicon.ico'; +}elseif(DOKU_TPL.'favicon.ico'){ + $ico = DOKU_URL.'lib/tpl/'.$conf['template'].'/favicon.ico'; +}else{ + $ico = DOKU_URL.'lib/tpl/default/images/favicon.ico'; +} + +// output +header('Content-Type: application/opensearchdescription+xml; charset=utf-8'); +echo '<?xml version="1.0"?>'.NL; +echo '<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">'.NL; +echo ' <ShortName>'.htmlspecialchars($conf['title']).'</ShortName>'.NL; +echo ' <Image type="image/x-icon">'.$ico.'</Image>'.NL; +echo ' <Url type="text/html" template="'.DOKU_URL.DOKU_SCRIPT.'?do=search&id={searchTerms}" />'.NL; +echo ' <Url type="application/x-suggestions+json" template="'. + DOKU_URL.'lib/exe/ajax.php?call=suggestions&q={searchTerms}" />'.NL; +echo '</OpenSearchDescription>'.NL; + +//Setup VIM: ex: et ts=4 enc=utf-8 : |