*/
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...'));
+ }
+ }
}