Opensearch updates
This adds htaccess and searches for people and notices. darcs-hash:20080720195505-982e4-3f03e6ab4c466ae131e025b6a3c26c7bb9a99c03.gz
This commit is contained in:
parent
a4600399a4
commit
ed37d83fa3
@ -25,15 +25,27 @@ class OpensearchAction extends Action {
|
|||||||
|
|
||||||
parent::handle($args);
|
parent::handle($args);
|
||||||
|
|
||||||
|
$type = $this->trimmed('type');
|
||||||
|
|
||||||
|
$short_name = '';
|
||||||
|
if ($type == 'people') {
|
||||||
|
$type = 'peoplesearch';
|
||||||
|
$short_name = 'People Search';
|
||||||
|
} else {
|
||||||
|
$short_name = 'Notice Search';
|
||||||
|
$type = 'noticesearch';
|
||||||
|
}
|
||||||
|
|
||||||
header('Content-Type: text/html');
|
header('Content-Type: text/html');
|
||||||
|
|
||||||
common_start_xml();
|
common_start_xml();
|
||||||
common_element_start('OpenSearchDescription', array('xmlns' => 'http://a9.com/-/spec/opensearch/1.1/'));
|
common_element_start('OpenSearchDescription', array('xmlns' => 'http://a9.com/-/spec/opensearch/1.1/'));
|
||||||
|
|
||||||
common_element('ShortName', NULL, common_config('site', 'name'));
|
$short_name = common_config('site', 'name').' '.$short_name;
|
||||||
|
common_element('ShortName', NULL, $short_name);
|
||||||
common_element('Contact', NULL, common_config('site', 'email'));
|
common_element('Contact', NULL, common_config('site', 'email'));
|
||||||
common_element('Url', array('type' => 'text/html', 'method' => 'get',
|
common_element('Url', array('type' => 'text/html', 'method' => 'get',
|
||||||
'template' => common_path('index.php?action=peoplesearch&q={searchTerms}')));
|
'template' => common_path('index.php?action='.$type.'&q={searchTerms}')));
|
||||||
common_element('Image', array('height' => 16, 'width' => 16, 'type' => 'image/vnd.microsoft.icon'), common_path('favicon.ico'));
|
common_element('Image', array('height' => 16, 'width' => 16, 'type' => 'image/vnd.microsoft.icon'), common_path('favicon.ico'));
|
||||||
common_element('Image', array('height' => 50, 'width' => 50, 'type' => 'image/png'), theme_path('logo.png'));
|
common_element('Image', array('height' => 50, 'width' => 50, 'type' => 'image/png'), theme_path('logo.png'));
|
||||||
common_element('AdultContent', NULL, 'false');
|
common_element('AdultContent', NULL, 'false');
|
||||||
|
@ -3,6 +3,8 @@ RewriteEngine On
|
|||||||
RewriteRule ^$ index.php?action=public [L,QSA]
|
RewriteRule ^$ index.php?action=public [L,QSA]
|
||||||
RewriteRule ^rss$ index.php?action=publicrss [L,QSA]
|
RewriteRule ^rss$ index.php?action=publicrss [L,QSA]
|
||||||
RewriteRule ^xrds$ index.php?action=publicxrds [L,QSA]
|
RewriteRule ^xrds$ index.php?action=publicxrds [L,QSA]
|
||||||
|
RewriteRule ^opensearch/people$ index.php?action=opensearch&type=people [L,QSA]
|
||||||
|
RewriteRule ^opensearch/notice$ index.php?action=opensearch&type=notice [L,QSA]
|
||||||
|
|
||||||
RewriteRule ^doc/about$ index.php?action=doc&title=about [L,QSA]
|
RewriteRule ^doc/about$ index.php?action=doc&title=about [L,QSA]
|
||||||
RewriteRule ^doc/contact$ index.php?action=doc&title=contact [L,QSA]
|
RewriteRule ^doc/contact$ index.php?action=doc&title=contact [L,QSA]
|
||||||
|
13
lib/util.php
13
lib/util.php
@ -186,7 +186,12 @@ function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=
|
|||||||
'src' => common_path('js/util.js')),
|
'src' => common_path('js/util.js')),
|
||||||
' ');
|
' ');
|
||||||
common_element('link', array('rel' => 'search', 'type' => 'application/opensearchdescription+xml',
|
common_element('link', array('rel' => 'search', 'type' => 'application/opensearchdescription+xml',
|
||||||
'href' => common_local_url('opensearch'), 'title' => common_config('site', 'name').' Search'));
|
'href' => common_local_url('opensearch', array('type' => 'people')),
|
||||||
|
'title' => common_config('site', 'name').' People Search'));
|
||||||
|
|
||||||
|
common_element('link', array('rel' => 'search', 'type' => 'application/opensearchdescription+xml',
|
||||||
|
'href' => common_local_url('opensearch', array('type' => 'notice')),
|
||||||
|
'title' => common_config('site', 'name').' Notice Search'));
|
||||||
|
|
||||||
if ($callable) {
|
if ($callable) {
|
||||||
if ($data) {
|
if ($data) {
|
||||||
@ -778,7 +783,11 @@ function common_fancy_url($action, $args=NULL) {
|
|||||||
case 'publicxrds':
|
case 'publicxrds':
|
||||||
return common_path('xrds');
|
return common_path('xrds');
|
||||||
case 'opensearch':
|
case 'opensearch':
|
||||||
return common_path('opensearch');
|
if ($args && $args['type']) {
|
||||||
|
return common_path('opensearch/'.$args['type']);
|
||||||
|
} else {
|
||||||
|
return common_path('opensearch/people');
|
||||||
|
}
|
||||||
case 'doc':
|
case 'doc':
|
||||||
return common_path('doc/'.$args['title']);
|
return common_path('doc/'.$args['title']);
|
||||||
case 'login':
|
case 'login':
|
||||||
|
Loading…
Reference in New Issue
Block a user