3 * User account main page - show settings with means to change them
5 * Copyright 1999-2001 (c) VA Linux Systems
9 * This file is part of GForge.
11 * GForge is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * GForge is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with GForge; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 require_once('../env.inc.php');
27 require_once('pre.php');
28 require_once('common/include/timezones.php');
30 if (!session_loggedin()) {
34 // get global users vars
35 $u =& user_get_object(user_getid());
36 if (!$u || !is_object($u)) {
37 exit_error('Error','Could Not Get User');
38 } elseif ($u->isError()) {
39 exit_error('Error',$u->getErrorMessage());
42 if (getStringFromRequest('submit')) {
43 if (!form_key_is_valid(getStringFromRequest('form_key'))) {
44 exit_form_double_submit();
48 $firstname = getStringFromRequest('firstname');
49 $lastname = getStringFromRequest('lastname');
50 $language = getIntFromRequest('language');
51 $timezone = getStringFromRequest('timezone');
52 $theme_id = getIntFromRequest('theme_id');
53 $ccode = getStringFromRequest('ccode');
54 $address = getStringFromRequest('address');
55 $address2 = getStringFromRequest('address2');
56 $phone = getStringFromRequest('phone');
57 $fax = getStringFromRequest('fax');
58 $title = getStringFromRequest('title');
59 $jabber_address = getStringFromRequest('jabber');
60 $jabber_only = getStringFromRequest('jabber');
61 $mail_site = getStringFromRequest('mail_site');
62 $mail_va = getStringFromRequest('mail_va');
63 $remember_user = getStringFromRequest('remember_user');
64 $use_ratings = getStringFromRequest('use_ratings');
67 //needs security audit
69 // set cookie, expire in 3 months
70 setcookie("sf_user_hash",$u->getID().'_'.substr($u->getMD5Passwd(),0,16),time()+90*24*60*60,'/');
73 setcookie("sf_user_hash",'',0,'/');
76 // Refresh page if language or theme changed
77 if ($language != $u->getLanguage() || $theme_id != $u->getThemeID()) {
81 if (!$u->update($firstname, $lastname, $language, $timezone, $mail_site, $mail_va, $use_ratings,
82 $jabber_address,$jabber_only,$theme_id,$address,$address2,$phone,$fax,$title,$ccode)) {
83 form_release_key(getStringFromRequest('form_key'));
84 $feedback .= $u->getErrorMessage().'<br />';
86 $feedback .= _('Updated').'<br />';
90 session_redirect("/account/?feedback=".urlencode($feedback));
95 site_user_header(array('title'=>_('Account Maintenance')));
97 echo '<form action="'.getStringFromServer('PHP_SELF').'" method="post">';
98 echo '<input type="hidden" name="form_key" value="'.form_generate_key().'"/>';
99 echo $HTML->boxTop(_('Account Maintenance'));
104 <p> <?php echo _('Welcome'); ?> <strong><?php print $u->getRealName(); ?></strong>. </p>
107 <?php echo _('Account options:'); ?>
110 <li><?php echo util_make_link_u ($u->getUnixName(),$u->getId(),'<strong>'._('View My Developer Profile').'</strong>'); ?></a></li>
111 <?php if($GLOBALS['sys_use_people']) { ?>
112 <li><?php echo util_make_link ('/people/editprofile.php','<strong>'._('Edit My Skills Profile').'</strong>'); ?></a></li>
115 <?php echo $HTML->boxBottom(); ?>
118 <table width="100%" border="0">
121 <td><?php echo _('Member since:'); ?> </td>
122 <td><strong><?php print date(_('Y-m-d H:i'),$u->getAddDate()); ?></strong></td>
125 <td><?php echo _('User ID:'); ?> </td>
126 <td><strong><?php print $u->getID(); ?></strong></td>
130 <td><?php echo _('Login name:'); ?> </td>
131 <td><strong><?php print $u->getUnixName(); ?></strong>
132 <br /><a href="change_pw.php">[<?php echo _('Change Password'); ?>]</a></td>
136 <td><?php echo _('First Name:'); ?></td>
137 <td><input type="text" name="firstname" value="<?php print $u->getFirstName(); ?>" />
142 <td><?php echo _('Last Name:'); ?></td>
143 <td><input type="text" name="lastname" value="<?php print $u->getLastName(); ?>" />
148 <td><?php echo _('Language:'); ?> </td>
149 <td><?php echo html_get_language_popup ('language',$u->getLanguage()); ?>
154 <td><?php echo _('Timezone:'); ?> </td>
155 <td><?php echo html_get_timezone_popup('timezone', $u->getTimeZone()); ?>
160 <td><?php echo _('Theme:'); ?> </td>
161 <td><?php echo html_get_theme_popup('theme_id', $u->getThemeID()); ?>
166 <td><?php echo _('Country:'); ?> </td>
167 <td><?php echo html_get_ccode_popup('ccode', $u->getCountryCode()); ?>
172 <td><?php echo _('Email Addr:'); ?> </td>
173 <td><strong><?php print $u->getEmail(); ?></strong>
174 <br /><a href="change_email.php">[<?php echo _('Change Email Addr'); ?>]</a>
179 <td><?php echo _('Address:'); ?></td>
180 <td><input type="text" name="address" value="<?php echo $u->getAddress(); ?>" size="80"/></td>
184 <td><?php echo _('Address:'); ?></td>
185 <td><input type="text" name="address2" value="<?php echo $u->getAddress2(); ?>" size="80"/></td>
189 <td><?php echo _('Phone:'); ?></td>
190 <td><input type="text" name="phone" value="<?php echo $u->getPhone(); ?>" size="20"/></td>
194 <td><?php echo _('FAX:'); ?></td>
195 <td><input type="text" name="fax" value="<?php echo $u->getFax(); ?>" size="20"/></td>
199 <td><?php echo _('Title:'); ?></td>
200 <td><input type="text" name="title" value="<?php echo $u->getTitle(); ?>" size="10"/></td>
204 if ($sys_use_jabber) {
205 echo '<tr valign="top">
206 <td>'. _('Jabber Address:') .'</td>
208 <input size=30 type="text" name="jabber_address" value="'. $u->getJabberAddress() .'" /><p />
209 <input type="checkbox" name="jabber_only" value="1" '.(($u->getJabberOnly()) ? 'checked="CHECKED"' : '' ).' />
210 '._('Send auto-generated notices only to my Jabber address').'.
220 // ############################# Preferences
221 echo $HTML->boxTop(_('Preferences')); ?>
223 <input type="checkbox" name="mail_site" value="1"<?php
224 if ($u->getMailingsPrefs('site')) print " checked=\"checked\""; ?> />
225 <?php echo _('Receive Email about Site Updates <i>(Very low traffic and includes security notices. Highly Recommended.)</i>'); ?>
227 <p /><input type="checkbox" name="mail_va" value="1"<?php
228 if ($u->getMailingsPrefs('va')) print " checked=\"checked\""; ?> />
229 <?php echo _('Receive additional community mailings. <i>(Low traffic.)</i>'); ?>
231 <p /><input type="checkbox" name="remember_user" value="1"<?php
232 if ($sf_user_hash) print " checked=\"checked\""; ?> />
233 <?php printf(_('"Remember me". <i>(Allows to access your <a href="%s">personal page</a> without being logged in. You will still need to login explicitly before making any changes.)</i>'),util_make_url ('/my/'));
237 <?php if ($sys_use_ratings) { ?>
238 <input type="checkbox" name="use_ratings" value="1"<?php
239 if ($u->usesRatings()) print ' checked="checked"'; ?> />
240 <?php printf(_('Participate in peer ratings. <i>(Allows you to rate other users using several criteria as well as to be rated by others. More information is available on your <a href="%s">user page</a> if you have chosen to participate in ratings.)</i>'),util_make_url_u ($u->getUnixName(),$u->getId()));
244 $hookParams['user']= user_get_object(user_getid());
245 if (getStringFromRequest('submit')) {//if this is set, then the user has issued an Update
246 plugin_hook("userisactivecheckboxpost", $hookParams);
248 plugin_hook("userisactivecheckbox", $hookParams);
253 <?php echo $HTML->boxBottom();
255 // ############################### Shell Account
257 if (($u->getUnixStatus() == 'A') && ($sys_use_shell)) {
258 echo $HTML->boxTop(_('Shell Account Information')."");
260 <br />'._('Shell box').': <strong>'.$u->getUnixBox().'</strong>
261 <br />'._('SSH Shared Authorized Keys').': <strong>';
262 // get shared key count from db
263 $expl_keys = explode("\n", $u->getAuthorizedKeys());
265 print (sizeof($expl_keys));
269 print '</strong>' . util_make_link ("editsshkeys.php",_('Edit Keys')) ;
270 echo $HTML->boxBottom();
280 <input type="submit" name="submit" value="<?php echo _('Update'); ?>" />
281 <input type="reset" name="reset" value="<?php echo _('Reset Changes'); ?>" />
286 site_user_footer(array());
290 // c-file-style: "bsd"