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; } } //////////////////////////////////////////////////////////////////////////////// if (count($users)>1) { $t->header("Users: $username"); } else { $t->header("User: $username"); } foreach($users as $user) { $username = $user->getName(); $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();