diff --git a/code/Users.class.php b/code/Users.class.php index 151d1d9..227af56 100644 --- a/code/Users.class.php +++ b/code/Users.class.php @@ -122,7 +122,7 @@ public static function login($info, $L) $account_found = false; $submission_info = array(); foreach ($submissions as $submission) { - if ($submission[$password_col] == $info["password"]) { + if ($submission[$password_col] == General::encode($info["password"])) { $account_found = true; $submission_info = $submission; break; @@ -310,9 +310,19 @@ public static function sendPassword($form_id, $info, $L) $username = $submission_info[$username_col]; $field_info = Fields::getFormField($submission_account["password_field_id"]); + $password = General::generatePassword(); $password_col = $field_info["col_name"]; - $password = $submission_info[$password_col]; + $encrypted_password = General::encode($password); + // update the database with encrypted password + $db->query(" + UPDATE {PREFIX}form_{$form_id} + SET $password_col = :encrypted_password + WHERE submission_id = :submission_id + "); + $db->bind("encrypted_password", $encrypted_password); + $db->bind("submission_id", $submission_info["submission_id"]); + $db->execute(); // 1. build the email content $placeholders = array( diff --git a/templates/users/index.tpl b/templates/users/index.tpl index 2f9f18d..751befc 100644 --- a/templates/users/index.tpl +++ b/templates/users/index.tpl @@ -36,13 +36,16 @@ {foreach from=$fields item=curr_field} {assign var=field_id value=$curr_field.field_id} - - {$curr_field.field_title} {if $curr_field.is_required}*{/if} - - {edit_custom_field form_id=$form_id submission_id=$submission_id field_info=$curr_field field_types=$field_types - settings=$settings} - - + {* do not show password (more precisely - password hash *} + {if $curr_field.field_type_id != $password_type_id} + + {$curr_field.field_title} {if $curr_field.is_required}*{/if} + + {edit_custom_field form_id=$form_id submission_id=$submission_id field_info=$curr_field field_types=$field_types + settings=$settings} + + + {/if} {/foreach} {if $fields|@count > 0} diff --git a/users/index.php b/users/index.php index 8714b3c..e01557e 100644 --- a/users/index.php +++ b/users/index.php @@ -131,7 +131,8 @@ "word_yes", "phrase_validation_error", "word_close" - ) + ), + "password_type_id" => FieldTypes::getFieldTypeIdByIdentifier("password") ); $page_vars["head_string"] = <<< END