From 75f1fa5c96dfdc2c34f4c660c67db350b5875001 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sun, 7 Sep 2008 15:37:58 +0000 Subject: Series: Added change password form Refs #53 --- series/core/trunk/admin/chpwd.php | 132 ++++++++++++++++++++++++++++ series/core/trunk/theme/changedpassword.tpl | 13 +++ series/core/trunk/theme/changepassword.tpl | 74 ++++++++++++++++ 3 files changed, 219 insertions(+) create mode 100644 series/core/trunk/admin/chpwd.php create mode 100644 series/core/trunk/theme/changedpassword.tpl create mode 100644 series/core/trunk/theme/changepassword.tpl diff --git a/series/core/trunk/admin/chpwd.php b/series/core/trunk/admin/chpwd.php new file mode 100644 index 0000000..2f5368d --- /dev/null +++ b/series/core/trunk/admin/chpwd.php @@ -0,0 +1,132 @@ + 0) + { + showForm($_POST['old'], $_POST['new'], $_POST['confirm'], $errors); + } else { + instaDisc_changePassword( $_POST['new']); + + $template = new FITemplate('changedpassword'); + $template->add('SITENAME', instaDisc_getConfig('siteName')); + $template->display(); + } + } +} else { + header('Location: index.php'); +} + +function showForm($old, $new, $confirm, $errors) +{ + $template = new FITemplate('changepassword'); + $template->add('SITENAME', instaDisc_getConfig('siteName')); + + if (isset($errors[1])) + { + $template->adds_block('ERROR', array('ex'=>'1')); + + foreach ($errors as $name => $value) + { + $template->adds_block('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_block(strtoupper($id) . '_ERRS', array( 'NAME' => $name, + 'VALUE' => $value['msg'])); + } + } +} + +function addError(&$numOfErrors, &$errors, $field, $msg) +{ + $numOfErrors++; + $errors[$numOfErrors] = array('field' => $field, 'msg' => $msg); +} + +?> diff --git a/series/core/trunk/theme/changedpassword.tpl b/series/core/trunk/theme/changedpassword.tpl new file mode 100644 index 0000000..9d5b153 --- /dev/null +++ b/series/core/trunk/theme/changedpassword.tpl @@ -0,0 +1,13 @@ + + + <!--SITENAME--> InstaDisc Series Control + + + +
+

InstaDisc Change Password

+ +

You've sucessfully changed your password. Return to the ACP +

+ + diff --git a/series/core/trunk/theme/changepassword.tpl b/series/core/trunk/theme/changepassword.tpl new file mode 100644 index 0000000..50ae3c6 --- /dev/null +++ b/series/core/trunk/theme/changepassword.tpl @@ -0,0 +1,74 @@ + + + <!--SITENAME--> InstaDisc Series Control + + + + +
+

InstaDisc Change Password

+ +

If you would like to change your password, please fill out the form below. +

+ +
+ + +
Uh oh! Validation errors!

+

    + + + +
  1. + + + +
+
+ + +
+ Password Details + +
+ +

* + +

+ + + + +
+ +
+ +

* + +

+ + + + +
+ + +
+ +
+ +
+
+ + -- cgit 1.4.1