X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fopensearch.php;h=861b53d7d83176a21b776c30718b58e8fe43a7ea;hb=d840578aa0ad6284f57591aae87f87865905db3c;hp=6e6e794e9603b16dbec2bbf60efa3db04f09cc4a;hpb=eaa81d25fa7bd954132ce7f901fae69b0d46ec1a;p=quix0rs-gnu-social.git diff --git a/actions/opensearch.php b/actions/opensearch.php index 6e6e794e96..861b53d7d8 100644 --- a/actions/opensearch.php +++ b/actions/opensearch.php @@ -1,7 +1,19 @@ + * @author Robin Millette + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://status.net/ + * + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2008, 2009, StatusNet, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -17,45 +29,64 @@ * along with this program. If not, see . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} +/** + * Opensearch action class. + * + * Formatting of RSS handled by Rss10Action + * + * @category Action + * @package StatusNet + * @author Evan Prodromou + * @author Robin Millette + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://status.net/ + */ class OpensearchAction extends Action { - + /** + * Class handler. + * + * @param array $args query arguments + * + * @return boolean false if user doesn't exist + */ function handle($args) { - parent::handle($args); - - $type = $this->trimmed('type'); - + $type = $this->trimmed('type'); $short_name = ''; if ($type == 'people') { - $type = 'peoplesearch'; + $type = 'peoplesearch'; $short_name = _('People Search'); } else { + $type = 'noticesearch'; $short_name = _('Notice Search'); - $type = 'noticesearch'; } - - header('Content-Type: text/html'); - - common_start_xml(); + header('Content-Type: application/opensearchdescription+xml'); + $this->startXML(); $this->elementStart('OpenSearchDescription', array('xmlns' => 'http://a9.com/-/spec/opensearch/1.1/')); - $short_name = common_config('site', 'name').' '.$short_name; $this->element('ShortName', null, $short_name); $this->element('Contact', null, common_config('site', 'email')); $this->element('Url', array('type' => 'text/html', 'method' => 'get', 'template' => str_replace('---', '{searchTerms}', common_local_url($type, array('q' => '---'))))); $this->element('Image', array('height' => 16, 'width' => 16, 'type' => 'image/vnd.microsoft.icon'), common_path('favicon.ico')); - $this->element('Image', array('height' => 50, 'width' => 50, 'type' => 'image/png'), theme_path('logo.png')); + $this->element('Image', array('height' => 50, 'width' => 50, 'type' => 'image/png'), Theme::path('logo.png')); $this->element('AdultContent', null, 'false'); $this->element('Language', null, common_language()); $this->element('OutputEncoding', null, 'UTF-8'); $this->element('InputEncoding', null, 'UTF-8'); - $this->elementEnd('OpenSearchDescription'); - common_end_xml(); + $this->endXML(); + } + + function isReadOnly($args) + { + return true; } } +