X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FTagSub%2FTagSubPlugin.php;h=f43f5fc8e46c7c120d6deed3a2107e1663040b26;hb=546a03b5eac5f172d543a889625e2f4de446e8b7;hp=ff6c038bc34f81590c58f38801d79bd9ee83939b;hpb=7785407c65274fac632b52acc84c3a045f7dfeeb;p=quix0rs-gnu-social.git diff --git a/plugins/TagSub/TagSubPlugin.php b/plugins/TagSub/TagSubPlugin.php index ff6c038bc3..f43f5fc8e4 100644 --- a/plugins/TagSub/TagSubPlugin.php +++ b/plugins/TagSub/TagSubPlugin.php @@ -60,33 +60,6 @@ class TagSubPlugin extends Plugin return true; } - /** - * Load related modules when needed - * - * @param string $cls Name of the class to be loaded - * - * @return boolean hook value; true means continue processing, false means stop. - */ - function onAutoload($cls) - { - $dir = dirname(__FILE__); - - switch ($cls) - { - case 'TagSub': - include_once $dir.'/'.$cls.'.php'; - return false; - case 'TagsubAction': - case 'TagunsubAction': - case 'TagSubForm': - case 'TagUnsubForm': - include_once $dir.'/'.strtolower($cls).'.php'; - return false; - default: - return true; - } - } - /** * Map URLs to actions * @@ -116,7 +89,7 @@ class TagSubPlugin extends Plugin * * @return value */ - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { $versions[] = array('name' => 'TagSub', 'version' => self::VERSION, @@ -163,7 +136,8 @@ class TagSubPlugin extends Plugin function onStartTagShowContent(TagAction $action) { $user = common_current_user(); - if ($user) { + + if ($user instanceof User) { $tag = $action->trimmed('tag'); $tagsub = TagSub::pkeyGet(array('tag' => $tag, 'profile_id' => $user->id)); @@ -180,6 +154,7 @@ class TagSubPlugin extends Plugin $action->elementEnd('ul'); $action->elementEnd('div'); } + return true; } @@ -190,52 +165,36 @@ class TagSubPlugin extends Plugin * * @return boolean hook return */ - function onEndSubGroupNav($widget) { $action = $widget->out; $action_name = $action->trimmed('action'); - $widget->item('tagsubs', - array(), - // TRANS: SubMirror plugin menu item on user settings page. - _m('MENU', 'Tags'), - // TRANS: SubMirror plugin tooltip for user settings menu item. - _m('Configure tag subscriptions')); + $action->menuItem(common_local_url('tagsubs', array('nickname' => $action->user->nickname)), + // TRANS: SubMirror plugin menu item on user settings page. + _m('MENU', 'Tags'), + // TRANS: SubMirror plugin tooltip for user settings menu item. + _m('Configure tag subscriptions'), + $action_name == 'tagsubs' && $action->arg('nickname') == $action->user->nickname); return true; } - /** - * Add a count of mirrored feeds into a user's profile sidebar stats. - * - * @param Profile $profile - * @param array $stats - * @return boolean hook return value - */ - function onProfileStats($profile, &$stats) + function onEndDefaultLocalNav($menu, $user) { - $cur = common_current_user(); - if (!empty($cur) && $cur->id == $profile->id) { - $tagsub = new TagSub(); - $tagsub->profile_id = $profile->id; - $entry = array( - 'id' => 'tagsubs', - 'label' => _m('Tag subscriptions'), - 'link' => common_local_url('tagsubs'), - 'value' => $tagsub->count(), - ); - - $insertAt = count($stats); - foreach ($stats as $i => $row) { - if ($row['id'] == 'groups') { - // Slip us in after them. - $insertAt = $i + 1; - break; - } + $user = common_current_user(); + + if (!empty($user)) { + + $tags = TagSub::forProfile($user->getProfile()); + + if (!empty($tags) && count($tags) > 0) { + $tagSubMenu = new TagSubMenu($menu->out, $user, $tags); + // TRANS: Menu item text for tags submenu. + $menu->submenu(_m('Tags'), $tagSubMenu); } - array_splice($stats, $insertAt, 0, array($entry)); } + return true; } }