X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FWikiHashtagsPlugin.php;h=c6c976b8f46849cd79150d1c8d19295857475aa0;hb=0736493f46922674ecef41d73519207b03145fc7;hp=4d386e19860184f9299d4e25c5159a6a34a5f45c;hpb=caadd8ed93d7a388a9868af6732db3214b08fd6a;p=quix0rs-gnu-social.git diff --git a/plugins/WikiHashtagsPlugin.php b/plugins/WikiHashtagsPlugin.php index 4d386e1986..c6c976b8f4 100644 --- a/plugins/WikiHashtagsPlugin.php +++ b/plugins/WikiHashtagsPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @copyright 2008 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } -define('WIKIHASHTAGSPLUGIN_VERSION', '0.1'); - /** * Plugin to use WikiHashtags * * @category Plugin - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ * * @see Event */ class WikiHashtagsPlugin extends Plugin { + const VERSION = '0.1'; + function __construct($code=null) { parent::__construct(); @@ -54,41 +54,40 @@ class WikiHashtagsPlugin extends Plugin function onStartShowSections($action) { - common_debug('WikiHashtags: got called'); $name = $action->trimmed('action'); if ($name == 'tag') { - common_debug('WikiHashtags: called by tag'); $taginput = $action->trimmed('tag'); $tag = common_canonical_tag($taginput); if (!empty($tag)) { - common_debug('WikiHashtags: have a tag: ' . $tag); $url = sprintf('http://hashtags.wikia.com/index.php?title=%s&action=render', urlencode($tag)); $editurl = sprintf('http://hashtags.wikia.com/index.php?title=%s&action=edit', urlencode($tag)); - common_debug('WikiHashtags: have an url: ' . $url); - - $context = stream_context_create(array('http' => array('method' => "GET", - 'header' => - "User-Agent: " . $this->userAgent()))); - $html = @file_get_contents($url, false, $context); - - common_debug('WikiHashtags: results are: ' . $html); + $request = HTTPClient::start(); + $response = $request->get($url); + $html = $response->getBody(); $action->elementStart('div', array('id' => 'wikihashtags', 'class' => 'section')); - $action->element('h2', null, _('WikiHashtags')); - - if (!empty($html)) { - $action->element('style', null, 'span.editsection { display: none }'); + if ($response->isOk() && !empty($html)) { + $action->element('style', null, + "span.editsection { display: none }\n". + "table.toc { display: none }"); $action->raw($html); - $action->element('a', array('href' => $editurl), + $action->elementStart('p'); + $action->element('a', array('href' => $editurl, + 'title' => sprintf(_('Edit the article for #%s on WikiHashtags'), $tag)), _('Edit')); + $action->element('a', array('href' => 'http://www.gnu.org/copyleft/fdl.html', + 'title' => _('Shared under the terms of the GNU Free Documentation License'), + 'rel' => 'license'), + 'GNU FDL'); + $action->elementEnd('p'); } else { $action->element('a', array('href' => $editurl), sprintf(_('Start the article for #%s on WikiHashtags'), $tag)); @@ -101,9 +100,14 @@ class WikiHashtagsPlugin extends Plugin return true; } - function userAgent() + function onPluginVersion(&$versions) { - return 'WikiHashtagsPlugin/'.WIKIHASHTAGSPLUGIN_VERSION . - ' Laconica/' . LACONICA_VERSION; + $versions[] = array('name' => 'WikiHashtags', + 'version' => self::VERSION, + 'author' => 'Evan Prodromou', + 'homepage' => 'http://status.net/wiki/Plugin:WikiHashtags', + 'rawdescription' => + _m('Gets hashtag descriptions from WikiHashtags.')); + return true; } }