]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - plugins/GNUsocialProfileExtensions/actions/bio.php
bc9f12cb132ee68250eaeee8aa24c790ce8ec00f
[quix0rs-gnu-social.git] / plugins / GNUsocialProfileExtensions / actions / bio.php
1 <?php
2 /**
3  * GNU Social
4  * Copyright (C) 2010, Free Software Foundation, Inc.
5  *
6  * PHP version 5
7  *
8  * LICENCE:
9  * This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU Affero General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU Affero General Public License for more details.
18  *
19  * You should have received a copy of the GNU Affero General Public License
20  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21  *
22  * @category  Widget
23  * @package   GNU Social
24  * @author    Max Shinn <trombonechamp@gmail.com>
25  * @copyright 2011 Free Software Foundation, Inc.
26  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
27  */
28
29 if (!defined('STATUSNET')) {
30     exit(1);
31 }
32
33 require_once INSTALLDIR . '/lib/personalgroupnav.php';
34 require_once INSTALLDIR . '/classes/Profile.php';
35 require_once INSTALLDIR . '/lib/profilelist.php';
36
37 class BioAction extends Action
38 {
39     var $user = null;
40
41     function prepare($args)
42     {
43         parent::prepare($args);
44
45         $args = $this->returnToArgs();
46         $this->profile = Profile::staticGet('nickname', $args[1]['nickname']);
47         //die(print_r($this->profile));
48         gnusocial_profile_merge($this->profile);
49         $this->avatar = $this->profile->getAvatar(96);
50
51         return true;
52
53     }
54
55     function handle($args)
56     {
57         parent::handle($args);
58         $this->showPage();
59     }
60
61     function title()
62     {
63         return sprintf(_m("%s's Bio."), $this->profile->nickname);
64     }
65
66     function showLocalNav()
67     {
68         $nav = new PersonalGroupNav($this);
69         $nav->show();
70     }
71
72     function showContent()
73     {
74         if(empty($this->profile)) {
75             return;
76         }
77
78         $profilelistitem = new ProfileListItem($this->profile, $this);
79         $profilelistitem->show();
80         $this->elementStart('ul');
81         $fields = GNUsocialProfileExtensionField::allFields();
82         foreach ($fields as $field) {
83             $fieldname = $field->systemname;
84             if (!empty($this->profile->$fieldname)) {
85                 $this->elementStart('li', array('class' => 'biolistitem'));
86                 $this->elementStart('div', array('class' => 'biolistitemcontainer'));
87                 if ($field->type == 'text') {
88                     $this->element('h3', array(), $field->title);
89                     $this->element('p', array('class' => 'biovalue'), $this->profile->$fieldname);
90                 }
91                 else {
92                     $this->element('span', array('class' => 'biotitle'), $field->title);
93                     $this->text(' ');
94                     $this->element('span', array('class' => 'biovalue'), $this->profile->$fieldname);
95                 }
96                 $this->elementEnd('div');
97                 $this->elementEnd('li');
98             }
99         }
100         $this->elementEnd('ul');
101     }
102
103 }
104
105