From 2d4554ea038d94862d164441d549a42473f00b2c Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 14 Mar 2011 16:40:56 -0400 Subject: [PATCH] Remove UserProfile class --- actions/showstream.php | 8 - lib/userprofile.php | 408 ----------------------------------------- 2 files changed, 416 deletions(-) delete mode 100644 lib/userprofile.php diff --git a/actions/showstream.php b/actions/showstream.php index 25aa670e4f..08f8a3e80e 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -33,7 +33,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { } require_once INSTALLDIR.'/lib/personalgroupnav.php'; -require_once INSTALLDIR.'/lib/userprofile.php'; require_once INSTALLDIR.'/lib/noticelist.php'; require_once INSTALLDIR.'/lib/profileminilist.php'; require_once INSTALLDIR.'/lib/groupminilist.php'; @@ -100,7 +99,6 @@ class ShowstreamAction extends ProfileAction function showContent() { - $this->showProfile(); $this->showNotices(); } @@ -199,12 +197,6 @@ class ShowstreamAction extends ProfileAction 'href' => $rsd)); } - function showProfile() - { - $profile = new UserProfile($this, $this->user, $this->profile); - $profile->show(); - } - function showEmptyListMessage() { // TRANS: First sentence of empty list message for a stream. $1%s is a user nickname. diff --git a/lib/userprofile.php b/lib/userprofile.php deleted file mode 100644 index 9c563db5d0..0000000000 --- a/lib/userprofile.php +++ /dev/null @@ -1,408 +0,0 @@ -. - * - * @category Action - * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2008 StatusNet, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/widget.php'; - -/** - * Profile of a user - * - * Shows profile information about a particular user - * - * @category Output - * @package StatusNet - * @author Evan Prodromou - * @author Sarven Capadisli - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - * - * @see HTMLOutputter - */ -class UserProfile extends Widget -{ - var $user = null; - var $profile = null; - - function __construct($action=null, $user=null, $profile=null) - { - parent::__construct($action); - $this->user = $user; - $this->profile = $profile; - } - - function show() - { - $this->showProfileData(); - $this->showEntityActions(); - } - - function showProfileData() - { - if (Event::handle('StartProfilePageProfileSection', array(&$this->out, $this->profile))) { - - $this->out->elementStart('div', array('id' => 'i', - 'class' => 'entity_profile vcard author')); - // TRANS: H2 for user profile information. - $this->out->element('h2', null, _('User profile')); - - if (Event::handle('StartProfilePageProfileElements', array(&$this->out, $this->profile))) { - - $this->showAvatar(); - $this->showNickname(); - $this->showFullName(); - $this->showLocation(); - $this->showHomepage(); - $this->showBio(); - $this->showProfileTags(); - - Event::handle('EndProfilePageProfileElements', array(&$this->out, $this->profile)); - } - - $this->out->elementEnd('div'); - Event::handle('EndProfilePageProfileSection', array(&$this->out, $this->profile)); - } - } - - function showAvatar() - { - $this->out->elementStart('div', 'ur_face'); - - if (Event::handle('StartProfilePageAvatar', array($this->out, $this->profile))) { - - $avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE); - if (!$avatar) { - // hack for remote Twitter users: no 96px, but large Twitter size is 73px - $avatar = $this->profile->getAvatar(73); - } - - $this->out->element('img', - array('src' => ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE), - 'class' => 'photo avatar entity_depiction', - 'width' => AVATAR_PROFILE_SIZE, - 'height' => AVATAR_PROFILE_SIZE, - 'alt' => $this->profile->nickname)); - - $cur = common_current_user(); - - if ($cur && $cur->id == $this->profile->id) { - $this->out->element('a', array('href' => common_local_url('avatarsettings')), _('Edit Avatar')); - } - - Event::handle('EndProfilePageAvatar', - array($this->out, $this->profile)); - } - - $this->out->elementEnd('div'); - } - - function showNickname() - { - if (Event::handle('StartProfilePageNickname', array($this->out, $this->profile))) { - - $hasFN = ($this->profile->fullname) ? 'entity_nickname nickname url uid' : 'entity_nickname fn nickname url uid'; - $this->out->element('a', - array('href' => $this->profile->profileurl, - 'rel' => 'me', - 'class' => $hasFN), - $this->profile->nickname); - - Event::handle('EndProfilePageNickname', array($this->out, $this->profile)); - } - } - - function showFullName() - { - if (Event::handle('StartProfilePageFullName', array($this->out, $this->profile))) { - if ($this->profile->fullname) { - $this->out->element('span', - 'entity_fn fn', - $this->profile->fullname); - } - Event::handle('EndProfilePageFullName', array($this->out, $this->profile)); - } - } - - function showLocation() - { - if (Event::handle('StartProfilePageLocation', array($this->out, $this->profile))) { - if ($this->profile->location) { - $this->out->element('span', - 'entity_location label', - $this->profile->location); - } - Event::handle('EndProfilePageLocation', array($this->out, $this->profile)); - } - } - - function showHomepage() - { - if (Event::handle('StartProfilePageHomepage', array($this->out, $this->profile))) { - if ($this->profile->homepage) { - $this->out->element('a', - array('href' => $this->profile->homepage, - 'rel' => 'me', - 'class' => 'url entity_url'), - $this->profile->homepage); - } - Event::handle('EndProfilePageHomepage', array($this->out, $this->profile)); - } - } - - function showBio() - { - if (Event::handle('StartProfilePageBio', array($this->out, $this->profile))) { - if ($this->profile->bio) { - $this->out->element('div', - 'note entity_note', - $this->profile->bio); - } - Event::handle('EndProfilePageBio', array($this->out, $this->profile)); - } - } - - function showProfileTags() - { - if (Event::handle('StartProfilePageProfileTags', array($this->out, $this->profile))) { - $tags = Profile_tag::getTags($this->profile->id, $this->profile->id); - - if (count($tags) > 0) { - $this->out->elementStart('ul', 'tags xoxo entity_tags'); - foreach ($tags as $tag) { - $this->out->elementStart('li'); - // Avoid space by using raw output. - $pt = '#'; - $this->out->raw($pt); - $this->out->elementEnd('li'); - } - $this->out->elementEnd('ul'); - } - Event::handle('EndProfilePageProfileTags', array($this->out, $this->profile)); - } - } - - function showEntityActions() - { - if ($this->profile->hasRole(Profile_role::DELETED)) { - $this->out->elementStart('div', 'entity_actions'); - // TRANS: H2 for user actions in a profile. - $this->out->element('h2', null, _('User actions')); - $this->out->elementStart('ul'); - $this->out->elementStart('p', array('class' => 'profile_deleted')); - // TRANS: Text shown in user profile of not yet compeltely deleted users. - $this->out->text(_('User deletion in progress...')); - $this->out->elementEnd('p'); - $this->out->elementEnd('ul'); - $this->out->elementEnd('div'); - return; - } - if (Event::handle('StartProfilePageActionsSection', array($this->out, $this->profile))) { - - $cur = common_current_user(); - - $this->out->elementStart('div', 'entity_actions'); - // TRANS: H2 for entity actions in a profile. - $this->out->element('h2', null, _('User actions')); - $this->out->elementStart('ul'); - - if (Event::handle('StartProfilePageActionsElements', array($this->out, $this->profile))) { - if (empty($cur)) { // not logged in - if (Event::handle('StartProfileRemoteSubscribe', array($this->out, $this->profile))) { - $this->out->elementStart('li', 'entity_subscribe'); - $this->showRemoteSubscribeLink(); - $this->out->elementEnd('li'); - Event::handle('EndProfileRemoteSubscribe', array($this->out, $this->profile)); - } - } else { - if ($cur->id == $this->profile->id) { // your own page - $this->out->elementStart('li', 'entity_edit'); - $this->out->element('a', array('href' => common_local_url('profilesettings'), - // TRANS: Link title for link on user profile. - 'title' => _('Edit profile settings')), - // TRANS: Link text for link on user profile. - _('Edit')); - $this->out->elementEnd('li'); - } else { // someone else's page - - // subscribe/unsubscribe button - - $this->out->elementStart('li', 'entity_subscribe'); - - if ($cur->isSubscribed($this->profile)) { - $usf = new UnsubscribeForm($this->out, $this->profile); - $usf->show(); - } else { - $sf = new SubscribeForm($this->out, $this->profile); - $sf->show(); - } - $this->out->elementEnd('li'); - - if ($cur->mutuallySubscribed($this->profile)) { - - // message - - $this->out->elementStart('li', 'entity_send-a-message'); - $this->out->element('a', array('href' => common_local_url('newmessage', array('to' => $this->user->id)), - // TRANS: Link title for link on user profile. - 'title' => _('Send a direct message to this user')), - // TRANS: Link text for link on user profile. - _('Message')); - $this->out->elementEnd('li'); - - // nudge - - if ($this->user && $this->user->email && $this->user->emailnotifynudge) { - $this->out->elementStart('li', 'entity_nudge'); - $nf = new NudgeForm($this->out, $this->user); - $nf->show(); - $this->out->elementEnd('li'); - } - } - - // return-to args, so we don't have to keep re-writing them - - list($action, $r2args) = $this->out->returnToArgs(); - - // push the action into the list - - $r2args['action'] = $action; - - // block/unblock - - $blocked = $cur->hasBlocked($this->profile); - $this->out->elementStart('li', 'entity_block'); - if ($blocked) { - $ubf = new UnblockForm($this->out, $this->profile, $r2args); - $ubf->show(); - } else { - $bf = new BlockForm($this->out, $this->profile, $r2args); - $bf->show(); - } - $this->out->elementEnd('li'); - - // Some actions won't be applicable to non-local users. - $isLocal = !empty($this->user); - - if ($cur->hasRight(Right::SANDBOXUSER) || - $cur->hasRight(Right::SILENCEUSER) || - $cur->hasRight(Right::DELETEUSER)) { - $this->out->elementStart('li', 'entity_moderation'); - // TRANS: Label text on user profile to select a user role. - $this->out->element('p', null, _('Moderate')); - $this->out->elementStart('ul'); - if ($cur->hasRight(Right::SANDBOXUSER)) { - $this->out->elementStart('li', 'entity_sandbox'); - if ($this->profile->isSandboxed()) { - $usf = new UnSandboxForm($this->out, $this->profile, $r2args); - $usf->show(); - } else { - $sf = new SandboxForm($this->out, $this->profile, $r2args); - $sf->show(); - } - $this->out->elementEnd('li'); - } - - if ($cur->hasRight(Right::SILENCEUSER)) { - $this->out->elementStart('li', 'entity_silence'); - if ($this->profile->isSilenced()) { - $usf = new UnSilenceForm($this->out, $this->profile, $r2args); - $usf->show(); - } else { - $sf = new SilenceForm($this->out, $this->profile, $r2args); - $sf->show(); - } - $this->out->elementEnd('li'); - } - - if ($isLocal && $cur->hasRight(Right::DELETEUSER)) { - $this->out->elementStart('li', 'entity_delete'); - $df = new DeleteUserForm($this->out, $this->profile, $r2args); - $df->show(); - $this->out->elementEnd('li'); - } - $this->out->elementEnd('ul'); - $this->out->elementEnd('li'); - } - - if ($isLocal && $cur->hasRight(Right::GRANTROLE)) { - $this->out->elementStart('li', 'entity_role'); - // TRANS: Label text on user profile to select a user role. - $this->out->element('p', null, _('User role')); - $this->out->elementStart('ul'); - // TRANS: Role that can be set for a user profile. - $this->roleButton('administrator', _m('role', 'Administrator')); - // TRANS: Role that can be set for a user profile. - $this->roleButton('moderator', _m('role', 'Moderator')); - $this->out->elementEnd('ul'); - $this->out->elementEnd('li'); - } - } - } - - Event::handle('EndProfilePageActionsElements', array($this->out, $this->profile)); - } - - $this->out->elementEnd('ul'); - $this->out->elementEnd('div'); - - Event::handle('EndProfilePageActionsSection', array($this->out, $this->profile)); - } - } - - function roleButton($role, $label) - { - list($action, $r2args) = $this->out->returnToArgs(); - $r2args['action'] = $action; - - $this->out->elementStart('li', "entity_role_$role"); - if ($this->profile->hasRole($role)) { - $rf = new RevokeRoleForm($role, $label, $this->out, $this->profile, $r2args); - $rf->show(); - } else { - $rf = new GrantRoleForm($role, $label, $this->out, $this->profile, $r2args); - $rf->show(); - } - $this->out->elementEnd('li'); - } - - function showRemoteSubscribeLink() - { - $url = common_local_url('remotesubscribe', - array('nickname' => $this->profile->nickname)); - $this->out->element('a', array('href' => $url, - 'class' => 'entity_remote_subscribe'), - // TRANS: Link text for link that will subscribe to a remote profile. - _('Subscribe')); - } -}