From e5133f8150910fa30a7f1f122be34a37478e938d Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 14 Mar 2011 11:04:51 -0500 Subject: [PATCH] add accountprofileblock and make defaultprofileblock use it --- lib/accountprofileblock.php | 109 ++++++++++++++++++++++++++++++++++++ lib/defaultprofileblock.php | 44 ++------------- 2 files changed, 114 insertions(+), 39 deletions(-) create mode 100644 lib/accountprofileblock.php diff --git a/lib/accountprofileblock.php b/lib/accountprofileblock.php new file mode 100644 index 0000000000..61aff13d41 --- /dev/null +++ b/lib/accountprofileblock.php @@ -0,0 +1,109 @@ +. + * + * @category Widget + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + // This check helps protect against security problems; + // your code file can't be executed directly from the web. + exit(1); +} + +/** + * Profile block to show for an account + * + * @category Widget + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class AccountProfileBlock extends ProfileBlock +{ + protected $profile = null; + + function __construct($out, $profile) + { + parent::__construct($out); + $this->profile = $profile; + } + + function avatar() + { + $avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE); + if (empty($avatar)) { + $avatar = $this->profile->getAvatar(73); + } + return (!empty($avatar)) ? + $avatar->displayUrl() : + Avatar::defaultImage(AVATAR_PROFILE_SIZE); + } + + function name() + { + return $this->profile->getBestName(); + } + + function url() + { + return $this->profile->profileurl; + } + + function canEdit() + { + $user = common_current_user(); + return ((!empty($user)) && ($user->id == $profile->id)); + } + + function editUrl() + { + return common_local_url('profilesettings'); + } + + function editText() + { + return _('Edit'); + } + + function location() + { + return $this->profile->location; + } + + function homepage() + { + return $this->profile->homepage; + } + + function description() + { + return $this->profile->bio; + } +} \ No newline at end of file diff --git a/lib/defaultprofileblock.php b/lib/defaultprofileblock.php index a072b56f16..18a32a0951 100644 --- a/lib/defaultprofileblock.php +++ b/lib/defaultprofileblock.php @@ -45,39 +45,15 @@ if (!defined('STATUSNET')) { * @link http://status.net/ */ -class DefaultProfileBlock extends ProfileBlock +class DefaultProfileBlock extends AccountProfileBlock { - protected $profile = null; - function __construct($out) { - parent::__construct($out); $user = common_current_user(); if (empty($user)) { throw new Exception("DefaultProfileBlock with no user."); } - $this->profile = $user->getProfile(); - } - - function avatar() - { - $avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE); - if (empty($avatar)) { - $avatar = $this->profile->getAvatar(73); - } - return (!empty($avatar)) ? - $avatar->displayUrl() : - Avatar::defaultImage(AVATAR_PROFILE_SIZE); - } - - function name() - { - return $this->profile->getBestName(); - } - - function url() - { - return $this->profile->profileurl; + parent::__construct($out, $user->getProfile()); } function canEdit() @@ -85,28 +61,18 @@ class DefaultProfileBlock extends ProfileBlock return true; } - function editUrl() - { - return common_local_url('profilesettings'); - } - - function editText() - { - return _('Edit'); - } - function location() { - return $this->profile->location; + return null; } function homepage() { - return $this->profile->homepage; + return null; } function description() { - return $this->profile->bio; + return null; } } \ No newline at end of file