X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FExtendedProfile%2FExtendedProfilePlugin.php;h=12541437020c7ced92cd3b73852d294d9d94a630;hb=c641aabd6f1d61320054238d7b136e9c7e315064;hp=36c8eaa2328453f270fb37987dab2031e9325360;hpb=7a97243abfb64838b2108124b91e72a43b08bf3b;p=quix0rs-gnu-social.git diff --git a/plugins/ExtendedProfile/ExtendedProfilePlugin.php b/plugins/ExtendedProfile/ExtendedProfilePlugin.php index 36c8eaa232..1254143702 100644 --- a/plugins/ExtendedProfile/ExtendedProfilePlugin.php +++ b/plugins/ExtendedProfile/ExtendedProfilePlugin.php @@ -29,70 +29,63 @@ if (!defined('STATUSNET')) { */ class ExtendedProfilePlugin extends Plugin { - - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { - $versions[] = array('name' => 'ExtendedProfile', - 'version' => STATUSNET_VERSION, - 'author' => 'Brion Vibber', - 'homepage' => 'http://status.net/wiki/Plugin:ExtendedProfile', - 'rawdescription' => - _m('UI extensions for additional profile fields.')); + $versions[] = array( + 'name' => 'ExtendedProfile', + 'version' => GNUSOCIAL_VERSION, + 'author' => 'Brion Vibber, Samantha Doherty, Zach Copley', + 'homepage' => 'http://status.net/wiki/Plugin:ExtendedProfile', + // TRANS: Plugin description. + 'rawdescription' => _m('UI extensions for additional profile fields.') + ); return true; } - /** - * Autoloader - * - * Loads our classes if they're requested. - * - * @param string $cls Class requested - * - * @return boolean hook return - */ - function onAutoload($cls) - { - $lower = strtolower($cls); - switch ($lower) - { - case 'extendedprofile': - case 'extendedprofilewidget': - case 'profiledetailaction': - case 'profiledetailsettingsaction': - require_once dirname(__FILE__) . '/' . $lower . '.php'; - return false; - default: - return true; - } - } - /** * Add paths to the router table * * Hook for RouterInitialized event. * - * @param Net_URL_Mapper $m URL mapper + * @param URLMapper $m URL mapper * * @return boolean hook return */ - function onStartInitializeRouter($m) + public function onStartInitializeRouter(URLMapper $m) { - $m->connect(':nickname/detail', - array('action' => 'profiledetail'), - array('nickname' => Nickname::DISPLAY_FMT)); - $m->connect('settings/profile/detail', - array('action' => 'profiledetailsettings')); + $m->connect( + ':nickname/detail', + array('action' => 'profiledetail'), + array('nickname' => Nickname::DISPLAY_FMT) + ); + $m->connect( + '/settings/profile/finduser', + array('action' => 'Userautocomplete') + ); + $m->connect( + 'settings/profile/detail', + array('action' => 'profiledetailsettings') + ); return true; } - function onEndAccountSettingsProfileMenuItem($widget, $menu) + function onCheckSchema() { - // TRANS: Link title attribute in user account settings menu. - $title = _('Change additional profile settings'); - // TRANS: Link description in user account settings menu. - $widget->showMenuItem('profiledetailsettings',_m('Details'),$title); + $schema = Schema::get(); + $schema->ensureTable('profile_detail', Profile_detail::schemaDef()); + return true; } + + function onEndShowAccountProfileBlock(HTMLOutputter $out, Profile $profile) { + $user = User::getKV('id', $profile->id); + + if ($user instanceof User) { + $url = common_local_url('profiledetail', array('nickname' => $user->nickname)); + // TRANS: Link text on user profile page leading to extended profile page. + $out->element('a', array('href' => $url, 'class' => 'profiledetail'), _m('More details...')); + } + } }