X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FSubMirror%2FSubMirrorPlugin.php;h=27fc7c984d03e65ba680723261058f61e685f1d0;hb=refs%2Fheads%2Fupstream-changes%2Fgoogle-analytics-removal;hp=38a4c40d481aeea69e3f5a15e426221f65d7acb6;hpb=4c4d63ee1604908d8e555837bc730fe097cf1f10;p=quix0rs-gnu-social.git diff --git a/plugins/SubMirror/SubMirrorPlugin.php b/plugins/SubMirror/SubMirrorPlugin.php index 38a4c40d48..27fc7c984d 100644 --- a/plugins/SubMirror/SubMirrorPlugin.php +++ b/plugins/SubMirror/SubMirrorPlugin.php @@ -28,13 +28,16 @@ class SubMirrorPlugin extends Plugin /** * Hook for RouterInitialized event. * - * @param Net_URL_Mapper $m path-to-action mapper + * @param URLMapper $m path-to-action mapper * @return boolean hook return */ - function onRouterInitialized($m) + public function onRouterInitialized(URLMapper $m) { $m->connect('settings/mirror', array('action' => 'mirrorsettings')); + $m->connect('settings/mirror/add/:provider', + array('action' => 'mirrorsettings'), + array('provider' => '[A-Za-z0-9_-]+')); $m->connect('settings/mirror/add', array('action' => 'addmirror')); $m->connect('settings/mirror/edit', @@ -42,32 +45,6 @@ class SubMirrorPlugin extends Plugin return true; } - /** - * Automatically load the actions and libraries used by the plugin - * - * @param Class $cls the class - * - * @return boolean hook return - * - */ - function onAutoload($cls) - { - $base = dirname(__FILE__); - $lower = strtolower($cls); - $files = array("$base/lib/$lower.php", - "$base/classes/$cls.php"); - if (substr($lower, -6) == 'action') { - $files[] = "$base/actions/" . substr($lower, 0, -6) . ".php"; - } - foreach ($files as $file) { - if (file_exists($file)) { - include_once $file; - return false; - } - } - return true; - } - function handle($notice) { // Is anybody mirroring? @@ -80,13 +57,14 @@ class SubMirrorPlugin extends Plugin } } - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { $versions[] = array('name' => 'SubMirror', - 'version' => STATUSNET_VERSION, + 'version' => GNUSOCIAL_VERSION, 'author' => 'Brion Vibber', 'homepage' => 'http://status.net/wiki/Plugin:SubMirror', 'rawdescription' => + // TRANS: Plugin description. _m('Pull feeds into your timeline!')); return true; @@ -95,16 +73,16 @@ class SubMirrorPlugin extends Plugin /** * Menu item for personal subscriptions/groups area * - * @param Widget $widget Widget being executed + * @param Action $action action being executed * * @return boolean hook return */ - - function onEndSubGroupNav($widget) + function onEndAccountSettingsNav($action) { - $action = $widget->out; $action_name = $action->trimmed('action'); + common_debug("ACTION NAME = " . $action_name); + $action->menuItem(common_local_url('mirrorsettings'), // TRANS: SubMirror plugin menu item on user settings page. _m('MENU', 'Mirroring'), @@ -151,17 +129,22 @@ class SubMirrorPlugin extends Plugin * @param int $count in/out * @return mixed hook return value */ - function onOstatus_profileSubscriberCount($oprofile, &$count) + function onOstatus_profileSubscriberCount(Ostatus_profile $oprofile, &$count) { - if ($oprofile->profile_id) { + try { + $profile = $oprofile->localProfile(); $mirror = new SubMirror(); - $mirror->subscribed = $oprofile->profile_id; + $mirror->subscribed = $profile->id; if ($mirror->find()) { while ($mirror->fetch()) { $count++; } } + } catch (NoProfileException $e) { + // We can't handle this kind of Ostatus_profile since it has no + // local profile } + return true; } @@ -180,6 +163,7 @@ class SubMirrorPlugin extends Plugin $mirror->subscriber = $profile->id; $entry = array( 'id' => 'mirrors', + // TRANS: Label in profile statistics section, followed by a count. 'label' => _m('Mirrored feeds'), 'link' => common_local_url('mirrorsettings'), 'value' => $mirror->count(),