From 9aec4d669f8d9efb74372e3755131e042c62761f Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Fri, 15 Aug 2008 18:39:18 +0000 Subject: Central: Add change password Refs #25 and closes #35 --- central/trunk/changepassword.php | 118 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 central/trunk/changepassword.php (limited to 'central/trunk/changepassword.php') diff --git a/central/trunk/changepassword.php b/central/trunk/changepassword.php new file mode 100644 index 0000000..bdbcf6e --- /dev/null +++ b/central/trunk/changepassword.php @@ -0,0 +1,118 @@ + 0) + { + showForm($_POST['old'], $_POST['new'], $_POST['confirm'], $errors); + } else { + instaDisc_changePassword($_SESSION['username'], $_POST['new']); + + $template = new FITemplate('changedpassword'); + $template->add('SITENAME', instaDisc_getConfig('siteName')); + $template->display(); + } +} + +function showForm($old, $new, $confirm, $errors) +{ + $template = new FITemplate('changepassword'); + $template->add('SITENAME', instaDisc_getConfig('siteName')); + + if (isset($errors[1])) + { + $template->adds('ERROR', array('ex'=>'1')); + + foreach ($errors as $name => $value) + { + $template->adds('ERRORS', array( 'NAME' => $name, + 'MSG' => $value['msg'])); + } + } + + $template->add('OLD_ERR', ifErrors($errors, 'old')); + $template->add('NEW_ERR', ifErrors($errors, 'new')); + $template->add('CONFIRM_ERR', ifErrors($errors, 'confirm')); + + doErrors($template, $errors, 'old'); + doErrors($template, $errors, 'new'); + doErrors($template, $errors, 'confirm'); + + $template->add('OLD', $old); + $template->add('NEW', $new); + $template->add('CONFIRM', $confirm); + + $template->display(); +} + +function ifErrors($errors, $id) +{ + foreach ($errors as $name => $value) + { + if ($value['field'] == $id) + { + return ' error'; + } + } + + return ''; +} + +function doErrors($template, $errors, $id) +{ + foreach ($errors as $name => $value) + { + if ($value['field'] == $id) + { + $template->adds(strtoupper($id) . '_ERRS', array( 'NAME' => $name, + 'VALUE' => $value['msg'])); + } + } +} + +function addError(&$numOfErrors, &$errors, $field, $msg) +{ + $numOfErrors++; + $errors[$numOfErrors] = array('field' => $field, 'msg' => $msg); +} + +?> -- cgit 1.4.1