]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - lib/settingsaction.php
use a static rather than a constant for code chars
[quix0rs-gnu-social.git] / lib / settingsaction.php
1 <?php
2 /*
3  * Laconica - a distributed open-source microblogging tool
4  * Copyright (C) 2008, Controlez-Vous, Inc.
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Affero General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Affero General Public License for more details.
15  *
16  * You should have received a copy of the GNU Affero General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 if (!defined('LACONICA')) { exit(1); }
21
22 class SettingsAction extends Action {
23
24         function handle($args) {
25                 parent::handle($args);
26                 if (!common_logged_in()) {
27                         common_user_error(_t('Not logged in.'));
28                         return;
29                 } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
30                         $this->handle_post();
31                 } else {
32                         $this->show_form();
33                 }
34         }
35
36         # override!
37         function handle_post() {
38                 return false;
39         }
40
41         function show_form($msg=NULL, $success=false) {
42                 return false;
43         }
44
45         function message($msg, $success) {
46                 if ($msg) {
47                         common_element('div', ($success) ? 'success' : 'error',
48                                                    $msg);
49                 }
50         }
51
52         function settings_menu() {
53                 $action = $this->trimmed('action');
54                 common_element_start('ul', array('id' => 'nav_views'));
55                 common_menu_item(common_local_url('profilesettings'),
56                                                  _t('Profile'), 
57                                                  _t('Change your profile settings'),
58                                                  $action == 'profilesettings');
59                 common_menu_item(common_local_url('avatar'),
60                                                  _t('Avatar'), 
61                                                  _t('Upload a new profile image'),
62                                                  $action == 'avatar');
63                 common_menu_item(common_local_url('password'),
64                                                  _t('Password'), 
65                                                  _t('Change your password'),
66                                                  $action == 'password');
67                 common_menu_item(common_local_url('openidsettings'),
68                                                  _t('OpenID'), 
69                                                  _t('Add or remove OpenIDs'),
70                                                  $action == 'openidsettings');
71                 if (false) {
72                         common_menu_item(common_local_url('emailsettings'),
73                                                          _t('Email'),
74                                                          _t('Address and preferences'),
75                                                          $action == 'emailsettings');
76                         common_menu_item(common_local_url('imsettings'),
77                                                          _t('IM'), 
78                                                          _t('Notifications by instant messenger'),
79                                                          $action == 'imsettings');
80                         common_menu_item(common_local_url('phonesettings'),
81                                                          _t('Phone'), 
82                                                          _t('Notifications by phone'),
83                                                          $action == 'phonesettings');
84                 }
85                 common_element_end('ul');
86         }
87 }