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 ++++++++++++++++++++++++++++++++ central/trunk/includes/instadisc.php | 6 ++ central/trunk/theme/changedpassword.tpl | 13 ++++ central/trunk/theme/changepassword.tpl | 74 ++++++++++++++++++++ 4 files changed, 211 insertions(+) create mode 100644 central/trunk/changepassword.php create mode 100644 central/trunk/theme/changedpassword.tpl create mode 100644 central/trunk/theme/changepassword.tpl 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); +} + +?> diff --git a/central/trunk/includes/instadisc.php b/central/trunk/includes/instadisc.php index 96f4940..95aeb88 100644 --- a/central/trunk/includes/instadisc.php +++ b/central/trunk/includes/instadisc.php @@ -397,4 +397,10 @@ function instaDisc_cancelSubscription($username, $url) return false; } +function instaDisc_changePassword($username, $password) +{ + $setpass = "UPDATE users WHERE username = \"" . mysql_real_escape_string($username) . "\" SET password = \"" . mysql_real_escape_string(md5($password)) . "\""; + $setpass2 = mysql_query($setpass); +} + ?> diff --git a/central/trunk/theme/changedpassword.tpl b/central/trunk/theme/changedpassword.tpl new file mode 100644 index 0000000..c9ff252 --- /dev/null +++ b/central/trunk/theme/changedpassword.tpl @@ -0,0 +1,13 @@ + + + <!--SITENAME--> InstaDisc Central Server + + + +
+

InstaDisc Change Password

+ +

You've sucessfully changed your password. Make sure that you change it on your Client as well. Return to the User Panel +

+ + diff --git a/central/trunk/theme/changepassword.tpl b/central/trunk/theme/changepassword.tpl new file mode 100644 index 0000000..406cb40 --- /dev/null +++ b/central/trunk/theme/changepassword.tpl @@ -0,0 +1,74 @@ + + + <!--SITENAME--> InstaDisc Central Server + + + + +
+

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