* Copyright 1999-2001 (c) VA Linux Systems
* Copyright 2010-2011, Franck Villaume - Capgemini
* Copyright 2011, Alain Peyrat - Alcatel-Lucent
+ * Copyright 2012-2013, Franck Villaume - TrivialDev
+ * Copyright 2013, French Ministry of National Education
*
* This file is part of FusionForge. FusionForge is free software;
* you can redistribute it and/or modify it under the terms of the
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-require_once('../env.inc.php');
+require_once '../env.inc.php';
require_once $gfcommon.'include/pre.php';
require_once $gfcommon.'include/timezones.php';
exit_error($u->getErrorMessage(),'my');
}
+$action = getStringFromRequest('action');
+switch ($action) {
+ case "deletesshkey":
+ case "addsshkey": {
+ include ($gfcommon."account/actions/$action.php");
+ break;
+ }
+}
+
if (getStringFromRequest('submit')) {
if (!form_key_is_valid(getStringFromRequest('form_key'))) {
exit_form_double_submit('my');
$mail_va = getStringFromRequest('mail_va');
$remember_user = getStringFromRequest('remember_user');
$use_ratings = getStringFromRequest('use_ratings');
- $use_tooltips = (getStringFromRequest('use_tooltips')) ? getStringFromRequest('use_tooltips') : 0;
-
+ $use_tooltips = getIntFromRequest('use_tooltips');
+
+
+ $check = true;
+ if (!strlen(trim($firstname))) {
+ $error_msg = _('You must supply a first name.');
+ $check = false;
+ } elseif (!strlen(trim($lastname))) {
+ $error_msg = _('You must supply a last name.');
+ $check = false;
+ }
+
+ if ($check) {
/*
//needs security audit
if ($remember_user) {
setcookie("sf_user_hash",'',0,'/');
}
*/
- // Refresh page if language or theme changed
- $refresh = ($language != $u->getLanguage() || $theme_id != $u->getThemeID());
-
- if (!$u->update($firstname, $lastname, $language, $timezone, $mail_site, $mail_va, $use_ratings,
- '',0,$theme_id,$address,$address2,$phone,$fax,$title,$ccode,$use_tooltips)) {
- form_release_key(getStringFromRequest('form_key'));
- $error_msg = $u->getErrorMessage();
- $refresh_url = '/account/?error_msg='.urlencode($error_msg);
- } else {
- $feedback = _('Updated');
- $refresh_url = '/account/?feedback='.urlencode($feedback);
- }
-
- if ($refresh) {
- session_redirect($refresh_url);
+ // Refresh page if language or theme changed
+ $refresh = ($language != $u->getLanguage() || $theme_id != $u->getThemeID());
+
+ if (!$u->update($firstname, $lastname, $language, $timezone, $mail_site, $mail_va, $use_ratings,
+ '',0,$theme_id,$address,$address2,$phone,$fax,$title,$ccode,$use_tooltips)) {
+ form_release_key(getStringFromRequest('form_key'));
+ $error_msg = $u->getErrorMessage();
+ $refresh_url = '/account/?error_msg='.urlencode($error_msg);
+ } else {
+ $feedback = _('Updated');
+ $refresh_url = '/account/?feedback='.urlencode($feedback);
+ }
+
+ if ($refresh) {
+ session_redirect($refresh_url);
+ }
}
}
plugin_hook("userisactivecheckboxpost", $hookParams);
}
+use_javascript('/js/sortable.js');
$title = _('Account Maintenance');
site_user_header(array('title'=>$title));
</tr>
<tr valign="top">
-<td><?php echo _('First Name:'); ?></td>
+<td><?php echo _('First Name:').utils_requiredField(); ?></td>
<td>
-<input type="text" name="firstname" value="<?php print $u->getFirstName(); ?>" />
+<input required="required" type="text" name="firstname" value="<?php print $u->getFirstName(); ?>" />
</td>
</tr>
<tr valign="top">
-<td><?php echo _('Last Name:'); ?></td>
+<td><?php echo _('Last Name:').utils_requiredField(); ?></td>
<td>
-<input type="text" name="lastname" value="<?php print $u->getLastName(); ?>" />
+<input required="required" type="text" name="lastname" value="<?php print $u->getLastName(); ?>" />
</td>
</tr>
// displays a "Use xxxx Plugin" checkbox
plugin_hook("userisactivecheckbox", $hookParams);
?>
-<tr><td>
+<tr><td colspan="2">
<?php
echo $HTML->boxBottom();
// ############################### Shell Account
-if (($u->getUnixStatus() == 'A') && (forge_get_config('use_shell'))) {
+if (forge_get_config('use_shell')) {
echo $HTML->boxTop(_('Shell Account Information')."");
- print '
-<br />'._('Shell box').': <strong>'.$u->getUnixBox().'</strong>
-<br />'._('SSH Shared Authorized Keys').': <strong>';
- // get shared key count from db
- $expl_keys = explode("\n", $u->getAuthorizedKeys());
- if ($expl_keys[0]) {
- print (sizeof($expl_keys));
+ if ($u->getUnixStatus() == 'A') {
+ print '
+ <br />'._('Shell box').': <strong>'.$u->getUnixBox().'</strong>
+ <br />'._('SSH Shared Authorized Keys').': <strong>';
+ global $HTML;
+ $sshKeysArray = $u->getAuthorizedKeys();
+ if (is_array($sshKeysArray) && count($sshKeysArray)) {
+ $tabletop = array(_('Name'), _('Algorithm'), _('Fingerprint'), _('Uploaded'), _('Ready ?'));
+ $classth = array('', '', '', '', '');
+ echo $HTML->listTableTop($tabletop, false, 'sortable_sshkeys_listlinks', 'sortable', $classth);
+ foreach($sshKeysArray as $sshKey) {
+ echo '<tr>';
+ echo '<td>'.$sshKey['name'].'</td>';
+ echo '<td>'.$sshKey['algorithm'].'</td>';
+ echo '<td>'.$sshKey['fingerprint'].'</td>';
+ echo '<td>'.date(_('Y-m-d H:i'), $sshKey['upload']).'</td>';
+ if ($sshKey['deploy']) {
+ $image = html_image('docman/validate.png', 22, 22, array('alt'=>_('ssh key is deployed.'), 'class'=>'tabtitle', 'title'=>_('ssh key is deployed.')));
+ } else {
+ $image = html_image('waiting.png', 22, 22, array('alt'=>_('ssh key is not deployed yet.'), 'class'=>'tabtitle', 'title'=>_('ssh key is not deployed yet.')));
+ }
+ echo '<td>'.$image.'</td>';
+ echo '</tr>';
+ }
+ echo $HTML->listTableBottom();
+ } else {
+ print '0';
+ }
+ print '</strong>';
+ print '<br />' . util_make_link("account/editsshkeys.php",_('Edit Keys'));
} else {
- print '0';
+ echo '<div class="warning_msg">'._('Shell Account deactivated').'</div>';
}
- print '</strong>';
- print '<br />' . util_make_link ("account/editsshkeys.php",_('Edit Keys')) ;
echo $HTML->boxBottom();
}
?>
</tr>
</table>
-
+<span><?php echo sprintf(_('%s Mandatory fields'), utils_requiredField())?></span>
<p style="text-align: center;">
<input type="submit" name="submit" value="<?php echo _('Update'); ?>" />
<input type="reset" name="reset" value="<?php echo _('Reset Changes'); ?>" />
// mode: php
// c-file-style: "bsd"
// End:
-
-?>