Add some more events to aside profile blocks and rework a bit
This commit is contained in:
parent
8335d234f7
commit
3022d711e3
16
EVENTS.txt
16
EVENTS.txt
@ -1147,3 +1147,19 @@ StartDefaultLocalNav: When showing the default local nav
|
|||||||
EndDefaultLocalNav: When showing the default local nav
|
EndDefaultLocalNav: When showing the default local nav
|
||||||
- $menu: the menu
|
- $menu: the menu
|
||||||
- $user: current user
|
- $user: current user
|
||||||
|
|
||||||
|
StartShowAccountProfileBlock: When showing the profile block for an account
|
||||||
|
- $out: XMLOutputter to append custom output
|
||||||
|
- $profile: the profile being shown
|
||||||
|
|
||||||
|
EndShowAccountProfileBlock: After showing the profile block for an account
|
||||||
|
- $out: XMLOutputter to append custom output
|
||||||
|
- $profile: the profile being shown
|
||||||
|
|
||||||
|
StartShowGroupProfileBlock: When showing the profile block for a group
|
||||||
|
- $out: XMLOutputter to append custom output
|
||||||
|
- $profile: the profile being shown
|
||||||
|
|
||||||
|
EndShowGroupProfileBlock: After showing showing the profile block for a group
|
||||||
|
- $out: XMLOutputter to append custom output
|
||||||
|
- $group: the group being shown
|
@ -289,4 +289,15 @@ class AccountProfileBlock extends ProfileBlock
|
|||||||
// TRANS: Link text for link that will subscribe to a remote profile.
|
// TRANS: Link text for link that will subscribe to a remote profile.
|
||||||
_m('BUTTON','Subscribe'));
|
_m('BUTTON','Subscribe'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function show()
|
||||||
|
{
|
||||||
|
common_debug("show");
|
||||||
|
$this->out->elementStart('div', 'account_profile_block section');
|
||||||
|
if (Event::handle('StartShowAccountProfileBlock', array($this->out, $this->profile))) {
|
||||||
|
parent::show();
|
||||||
|
Event::handle('EndShowAccountProfileBlock', array($this->out, $this->profile));
|
||||||
|
}
|
||||||
|
$this->out->elementEnd('div');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -123,4 +123,14 @@ class GroupProfileBlock extends ProfileBlock
|
|||||||
$this->out->elementEnd('ul');
|
$this->out->elementEnd('ul');
|
||||||
$this->out->elementEnd('div');
|
$this->out->elementEnd('div');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function show()
|
||||||
|
{
|
||||||
|
$this->out->elementStart('div', 'group_profile_block section');
|
||||||
|
if (Event::handle('StartShowGroupProfileBlock', array($this->out, $this->group))) {
|
||||||
|
parent::show();
|
||||||
|
Event::handle('EndShowGroupProfileBlock', array($this->out, $this->group));
|
||||||
|
}
|
||||||
|
$this->out->elementEnd('div');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,16 +56,32 @@ abstract class ProfileBlock extends Widget
|
|||||||
|
|
||||||
function show()
|
function show()
|
||||||
{
|
{
|
||||||
$this->out->elementStart('div', 'profile_block section');
|
$this->showActions();
|
||||||
|
$this->showAvatar();
|
||||||
|
$this->showName();
|
||||||
|
$this->showLocation();
|
||||||
|
$this->showHomepage();
|
||||||
|
$this->showDescription();
|
||||||
|
}
|
||||||
|
|
||||||
|
function showAvatar()
|
||||||
|
{
|
||||||
$size = $this->avatarSize();
|
$size = $this->avatarSize();
|
||||||
|
|
||||||
$this->out->element('img', array('src' => $this->avatar(),
|
$this->out->element(
|
||||||
'class' => 'profile_block_avatar',
|
'img',
|
||||||
'alt' => $this->name(),
|
array(
|
||||||
'width' => $size,
|
'src' => $this->avatar(),
|
||||||
'height' => $size));
|
'class' => 'ur_face',
|
||||||
|
'alt' => $this->name(),
|
||||||
|
'width' => $size,
|
||||||
|
'height' => $size
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function showName()
|
||||||
|
{
|
||||||
$name = $this->name();
|
$name = $this->name();
|
||||||
|
|
||||||
if (!empty($name)) {
|
if (!empty($name)) {
|
||||||
@ -79,30 +95,35 @@ abstract class ProfileBlock extends Widget
|
|||||||
}
|
}
|
||||||
$this->out->elementEnd('p');
|
$this->out->elementEnd('p');
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function showDescription()
|
||||||
|
{
|
||||||
|
$description = $this->description();
|
||||||
|
|
||||||
|
if (!empty($description)) {
|
||||||
|
$this->out->element(
|
||||||
|
'p',
|
||||||
|
'profile_block_description',
|
||||||
|
$description
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function showLocation()
|
||||||
|
{
|
||||||
$location = $this->location();
|
$location = $this->location();
|
||||||
|
|
||||||
if (!empty($location)) {
|
if (!empty($location)) {
|
||||||
$this->out->element('p', 'profile_block_location', $location);
|
$this->out->element('p', 'profile_block_location', $location);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$homepage = $this->homepage();
|
function showHomepage()
|
||||||
|
{
|
||||||
if (!empty($homepage)) {
|
if (!empty($homepage)) {
|
||||||
$this->out->element('a', 'profile_block_homepage', $homepage);
|
$this->out->element('a', 'profile_block_homepage', $homepage);
|
||||||
}
|
}
|
||||||
|
|
||||||
$description = $this->description();
|
|
||||||
|
|
||||||
if (!empty($description)) {
|
|
||||||
$this->out->element('p',
|
|
||||||
'profile_block_description',
|
|
||||||
$description);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->showActions();
|
|
||||||
|
|
||||||
$this->out->elementEnd('div');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function avatarSize()
|
function avatarSize()
|
||||||
|
@ -115,13 +115,12 @@ class ExtendedProfilePlugin extends Plugin
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function onStartProfilePageActionsSection(HTMLOutputter $out, Profile $profile) {
|
function onEndShowAccountProfileBlock(HTMLOutputter $out, Profile $profile) {
|
||||||
$user = User::staticGet('id', $profile->id);
|
$user = User::staticGet('id', $profile->id);
|
||||||
if ($user) {
|
if ($user) {
|
||||||
$url = common_local_url('profiledetail', array('nickname' => $user->nickname));
|
$url = common_local_url('profiledetail', array('nickname' => $user->nickname));
|
||||||
// TRANS: Link text on user profile page leading to extended profile page.
|
// TRANS: Link text on user profile page leading to extended profile page.
|
||||||
$out->element('a', array('href' => $url, 'class' => 'profiledetail'), _m('More details...'));
|
$out->element('a', array('href' => $url, 'class' => 'profiledetail'), _m('More details...'));
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user