]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Opensearch updates
authormatthew.gregg <matthew.gregg@gmail.com>
Sun, 20 Jul 2008 19:55:05 +0000 (15:55 -0400)
committermatthew.gregg <matthew.gregg@gmail.com>
Sun, 20 Jul 2008 19:55:05 +0000 (15:55 -0400)
This adds htaccess and searches for people and notices.

darcs-hash:20080720195505-982e4-3f03e6ab4c466ae131e025b6a3c26c7bb9a99c03.gz

actions/opensearch.php
htaccess.sample
lib/util.php

index cb617391d806bc9068caf506f41ac822f484f7a9..6811226a2f1305c6aa1d31fe869a42b972b2beda 100644 (file)
@@ -25,15 +25,27 @@ class OpensearchAction extends Action {
 
                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');
 
                common_start_xml();
                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('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' => 50, 'width' => 50, 'type' => 'image/png'), theme_path('logo.png')); 
                 common_element('AdultContent', NULL, 'false');
index 21c12f2eb5b9953e7204b04081d0f4ff98f15720..d81ec24813dafd325cc90cde843d8cecded92929 100644 (file)
@@ -3,6 +3,8 @@ RewriteEngine On
 RewriteRule ^$ index.php?action=public [L,QSA]
 RewriteRule ^rss$ index.php?action=publicrss [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/contact$ index.php?action=doc&title=contact [L,QSA]
index c095fe768ec775d7eab124097522568118c9543a..65eefa5d8b81be02fcd02b6fc6a9abdea0e2df60 100644 (file)
@@ -186,7 +186,12 @@ function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=
                                                                   'src' => common_path('js/util.js')),
                                   ' ');
        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 ($data) {
@@ -778,7 +783,11 @@ function common_fancy_url($action, $args=NULL) {
         case 'publicxrds':
                return common_path('xrds');
         case 'opensearch':
-               return common_path('opensearch');
+                if ($args && $args['type']) {
+                        return common_path('opensearch/'.$args['type']);
+                } else {
+                        return common_path('opensearch/people');
+                }
         case 'doc':
                return common_path('doc/'.$args['title']);
         case 'login':