getConf($key);
$t->inputText("user_$key", $label, $hint, $current_setting,
!$user->canEdit());
}
function inputTextarea($user, $key, $label, $hint='') {
global $VARS; $t = $VARS['template'];
$current_setting = $user->getConf($key);
$t->inputTextarea("user_$key", $label, $hint, $current_setting,
!$user->canEdit());
}
function inputBool($user, $key, $label, $hint='') {
global $VARS; $t = $VARS['template'];
$current_setting = $user->getConf($key)=='true';
$t->inputBool("user_$key", $label, $hint, $current_setting,
!$user->canEdit());
}
function inputArray($user, $key, $arr) {
global $VARS; $t = $VARS['template'];
$defaults = $user->getConfArray($key);
foreach ($arr as $value => $label) {
$t->inputBoolArray($key, $value, $label,
in_array($value, $defaults), !$user->canEdit());
}
}
function inputField($user, $arr) {
$fieldname = $arr[0];
$fieldlabel = $arr[1];
$fieldtype = $arr[2];
switch ($fieldtype) {
case 'text':
inputText($user, $fieldname, $fieldlabel, '');
break;
case 'textarea':
inputTextarea($user, $fieldname, $fieldlabel, '');
break;
case 'paragraph':
global $VARS; $t = $VARS['template'];
$t->inputP($fieldlabel);
break;
case 'checkbox':
inputBool($user, $fieldname, $fieldlabel, '');
break;
}
}
////////////////////////////////////////////////////////////////////////////////
$username = $user->getName();
$t->header("Users: $username");
$t->tag('h1', array(), ($user->canEdit()?'Edit':'View')." User $username
(UID: ".$user->getUID().")");
if ($user->canEdit()) {
$t->openTag('form', array('method'=>'post',
'action'=>$t->url("users/$username")));
} else {
$t->openTag('form');
}
$t->openFieldset("Login / Authentication");
// Username ////////////////////////////////////////////////////////////////////
if (isset($VARS['changed name']) && !$VARS['changed name']) {
$t->inputP("Error setting username to ".
"$new_name
. This is probably because".
" a user with that name already exists.",
true);
}
$t->inputText('auth_name','Username',
"This is the name you use to log in, but it is also a ".
"short name that is used in various places, think of it ".
"as a sort of Twitter name
.",
$user->getName(), !$user->canEdit());
// Password ////////////////////////////////////////////////////////////////////
if (@$VARS['pw_updated']===true) {
$t->inputP('Password successfully updated.');
}
if (@$VARS['pw mixmatch']===true) {
$t->inputP("Passwords don't match.", true);
}
if ($user->canEdit()) $t->inputNewPassword('auth_password','Reset Password');
////////////////////////////////////////////////////////////////////////////////
$t->closeFieldset();
$t->openFieldset("Contact");
// TODO: I should make this a setting for admins to set.
$hints = array('email'=>
"Right now you can only have one email address, ".
"but I'm working on making it so you can have ".
"multiple.",
'phone'=>
"A home phone number isn't much use here because it is ".
"used to text-message you (if you enable it), and ".
"contact you at competition."
);
$use_arr = array();
foreach ($CONTACT_METHODS as $method) {
inputText($user,
$method->addr_slug,
ucwords($method->addr_text),
$hints[$method->addr_slug]);
$use_arr[$method->verb_slug] = ucwords($method->verb_text);
}
$t->inputP("When I recieve a message, notify me using the following methods:");
inputArray($user, 'use', $use_arr);
$t->closeFieldSet();
foreach ($VARS['config_options'] as $groupname=>$options) {
$t->openFieldset($groupname);
foreach ($options as $option) {
inputField($user, $option);
}
$t->closeFieldset();
}
$t->openFieldSet('Groups');
$group_arr = array();
foreach ($VARS['groups'] as $group_name) {
$group_arr[$group_name] = ucwords($group_name);
}
inputArray($user, 'groups', $group_arr);
$t->closeFieldset();
if ($user->canEdit()) {
$t->tag('input', array('type'=>'submit', 'value'=>'Save'));
}
$t->closeTag('form');
$t->footer();