forked from GNUsocial/gnu-social
		
	A section sub-class for profiles
This commit is contained in:
		
							
								
								
									
										97
									
								
								lib/profilesection.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								lib/profilesection.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | |||||||
|  | <?php | ||||||
|  | /** | ||||||
|  |  * Laconica, the distributed open-source microblogging tool | ||||||
|  |  * | ||||||
|  |  * Base class for sections showing lists of people | ||||||
|  |  * | ||||||
|  |  * PHP version 5 | ||||||
|  |  * | ||||||
|  |  * LICENCE: This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU Affero General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 3 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU Affero General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU Affero General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  |  * | ||||||
|  |  * @category  Widget | ||||||
|  |  * @package   Laconica | ||||||
|  |  * @author    Evan Prodromou <evan@controlyourself.ca> | ||||||
|  |  * @copyright 2009 Control Yourself, Inc. | ||||||
|  |  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 | ||||||
|  |  * @link      http://laconi.ca/ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | if (!defined('LACONICA')) { | ||||||
|  |     exit(1); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | define('PROFILES_PER_SECTION', 6); | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Base class for sections | ||||||
|  |  * | ||||||
|  |  * These are the widgets that show interesting data about a person | ||||||
|  |  * group, or site. | ||||||
|  |  * | ||||||
|  |  * @category Widget | ||||||
|  |  * @package  Laconica | ||||||
|  |  * @author   Evan Prodromou <evan@controlyourself.ca> | ||||||
|  |  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 | ||||||
|  |  * @link     http://laconi.ca/ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | class ProfileSection extends Section | ||||||
|  | { | ||||||
|  |     function showContent() | ||||||
|  |     { | ||||||
|  |         $profiles = $this->getProfiles(); | ||||||
|  |  | ||||||
|  |         $cnt = 0; | ||||||
|  |  | ||||||
|  |         $this->out->elementStart('ul', 'entities users xoxo'); | ||||||
|  |  | ||||||
|  |         while ($profiles->fetch() && ++$cnt <= PROFILES_PER_SECTION) { | ||||||
|  |             $this->showProfile($profiles); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         $this->out->elementEnd('ul'); | ||||||
|  |  | ||||||
|  |         return ($cnt > PROFILES_PER_SECTION); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     function getProfiles() | ||||||
|  |     { | ||||||
|  |         return null; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     function showProfile($profile) | ||||||
|  |     { | ||||||
|  |         $this->out->elementStart('li', 'vcard'); | ||||||
|  |         $this->out->elementStart('a', array('title' => ($profile->fullname) ? | ||||||
|  |                                        $profile->fullname : | ||||||
|  |                                        $profile->nickname, | ||||||
|  |                                        'href' => $profile->profileurl, | ||||||
|  |                                        'rel' => 'contact member', | ||||||
|  |                                        'class' => 'url')); | ||||||
|  |         $avatar = $profile->getAvatar(AVATAR_MINI_SIZE); | ||||||
|  |         $this->out->element('img', array('src' => (($avatar) ? common_avatar_display_url($avatar) :  common_default_avatar(AVATAR_MINI_SIZE)), | ||||||
|  |                                     'width' => AVATAR_MINI_SIZE, | ||||||
|  |                                     'height' => AVATAR_MINI_SIZE, | ||||||
|  |                                     'class' => 'avatar photo', | ||||||
|  |                                     'alt' =>  ($profile->fullname) ? | ||||||
|  |                                     $profile->fullname : | ||||||
|  |                                     $profile->nickname)); | ||||||
|  |         $this->out->element('span', 'fn nickname', $profile->nickname); | ||||||
|  |         $this->out->elementEnd('a'); | ||||||
|  |         if ($profile->value) { | ||||||
|  |             $this->out->element('span', 'value', $profile->value); | ||||||
|  |         } | ||||||
|  |         $this->out->elementEnd('li'); | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user