X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fprofileblock.php;h=65c4fa99d2c51ac980eae7ef32079478c7fd014f;hb=1ee79dc3791162f7ef9b92befaef597328266ce1;hp=3e8e929821256fa7314af3a388adc263f1afc89e;hpb=a72dbc1aff774446c0c31bb219d748484453b59e;p=quix0rs-gnu-social.git diff --git a/lib/profileblock.php b/lib/profileblock.php index 3e8e929821..65c4fa99d2 100644 --- a/lib/profileblock.php +++ b/lib/profileblock.php @@ -4,7 +4,7 @@ * Copyright (C) 2011, StatusNet, Inc. * * Superclass for profile blocks - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -47,63 +47,110 @@ if (!defined('STATUSNET')) { abstract class ProfileBlock extends Widget { - abstract function avatar(); + protected $avatarSize = AVATAR_PROFILE_SIZE; + abstract function name(); abstract function url(); - abstract function canEdit(); - abstract function editUrl(); - abstract function editText(); abstract function location(); abstract function homepage(); abstract function description(); function show() { - $this->out->elementStart('div', 'profile_block'); - - $this->out->element('img', array('src' => $this->avatar(), - 'class' => 'profile_block_avatar', - 'alt' => $this->name(), - 'width' => AVATAR_PROFILE_SIZE, - 'height' => AVATAR_PROFILE_SIZE)); - - if ($this->canEdit()) { - $this->out->element('a', array('href' => $this->editUrl()), - $this->editText()); - } + $this->showActions(); + $this->showAvatar($this->profile); + $this->showName(); + $this->showLocation(); + $this->showHomepage(); + $this->showOtherProfiles(); + $this->showDescription(); + $this->showTags(); + } + function showName() + { $name = $this->name(); if (!empty($name)) { + $this->out->elementStart('p', 'profile_block_name'); $url = $this->url(); if (!empty($url)) { $this->out->element('a', array('href' => $url), $name); } else { - $this->out->element('span', 'profile_block_name', $name); + $this->out->text($name); } + $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(); if (!empty($location)) { - $this->out->element('span', 'profile_block_location', $location); + $this->out->element('p', 'profile_block_location', $location); } + } + function showHomepage() + { $homepage = $this->homepage(); if (!empty($homepage)) { - $this->out->element('a', 'profile_block_homepage', $homepage); + $this->out->element('a', + array('href' => $homepage, + 'rel' => 'me', + 'class' => 'profile_block_homepage'), + $homepage); } + } - $description = $this->description(); + function showOtherProfiles() + { + $otherProfiles = $this->otherProfiles(); - if (!empty($description)) { - $this->out->element('p', - 'profile_block_description', - $description); + if (!empty($otherProfiles)) { + + $this->out->elementStart('ul', + array('class' => 'profile_block_otherprofile_list')); + + foreach ($otherProfiles as $otherProfile) { + $this->out->elementStart('li'); + $this->out->elementStart('a', + array('href' => $otherProfile['href'], + 'rel' => 'me', + 'class' => 'profile_block_otherprofile', + 'title' => $otherProfile['text'])); + $this->out->element('img', + array('src' => $otherProfile['image'], + 'class' => 'profile_block_otherprofile_icon')); + $this->out->elementEnd('a'); + $this->out->elementEnd('li'); + } + + $this->out->elementEnd('ul'); } + } - $this->out->elementEnd('div'); + function showTags() + { + } + + function showActions() + { } }