X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2FModPlus%2FModPlusPlugin.php;h=95265c52ca3459ada012a567cf42e5c94327de93;hb=c97048d01bea468e0cf8865b60c3c250b4515c39;hp=3e7a8c745572c29ff56eabb430fbefc85a458807;hpb=e4eb3b3dfd6b9b5cbd1b34d7fc4738b6fd19ee99;p=quix0rs-gnu-social.git diff --git a/plugins/ModPlus/ModPlusPlugin.php b/plugins/ModPlus/ModPlusPlugin.php index 3e7a8c7455..95265c52ca 100644 --- a/plugins/ModPlus/ModPlusPlugin.php +++ b/plugins/ModPlus/ModPlusPlugin.php @@ -36,7 +36,8 @@ class ModPlusPlugin extends Plugin 'author' => 'Brion Vibber', 'homepage' => 'http://status.net/wiki/Plugin:ModPlus', 'rawdescription' => - _m('UI extensions for profile moderation actions.')); + // TRANS: Plugin description. + _m('UI extension for profile moderation actions.')); return true; } @@ -51,13 +52,13 @@ class ModPlusPlugin extends Plugin { $user = common_current_user(); if ($user) { - $action->script('plugins/ModPlus/modplus.js'); + $action->script($this->path('modplus.js')); } return true; } function onEndShowStatusNetStyles($action) { - $action->cssLink('plugins/ModPlus/modplus.css'); + $action->cssLink($this->path('modplus.css')); return true; } @@ -84,7 +85,7 @@ class ModPlusPlugin extends Plugin } /** - * Add OpenID-related paths to the router table + * Add ModPlus-related paths to the router table * * Hook for RouterInitialized event. * @@ -101,16 +102,46 @@ class ModPlusPlugin extends Plugin return true; } + /** + * Add per-profile info popup menu for author on notice lists. + * + * @param NoticeListItem $item + * @return boolean hook value + */ function onStartShowNoticeItem($item) { - $profile = $item->profile; + $this->showProfileOptions($item->out, $item->profile); + return true; + } + + /** + * Add per-profile info popup menu on profile lists. + * + * @param ProfileListItem $item + */ + function onStartProfileListItemProfile($item) + { + $this->showProfileOptions($item->out, $item->profile); + return true; + } + + /** + * Build common remote-profile options structure. + * Currently only adds output for remote profiles, nothing for local users. + * + * @param HTMLOutputter $out + * @param Profile $profile (may also be an ArrayWrapper... sigh) + */ + protected function showProfileOptions(HTMLOutputter $out, $profile) + { $isRemote = !(User::staticGet('id', $profile->id)); if ($isRemote) { $target = common_local_url('remoteprofile', array('id' => $profile->id)); + // TRANS: Label for access to remote profile options. $label = _m('Remote profile options...'); - $item->out->elementStart('div', 'remote-profile-options'); - $item->out->element('a', array('href' => $target), $label); - $item->out->elementEnd('div'); + $out->elementStart('div', 'remote-profile-options'); + $out->element('a', array('href' => $target), $label); + $out->elementEnd('div'); } } }