diff --git a/global/code/field_types/Password.class.php b/global/code/field_types/Password.class.php index a84db695..c2d55c08 100644 --- a/global/code/field_types/Password.class.php +++ b/global/code/field_types/Password.class.php @@ -7,10 +7,20 @@ class Password { + private static function getPhpProcessing() + { + $content =<<< END +\$field_name = \$vars["field_info"]["field_name"]; +\$password = \$vars["data"][\$field_name]; +\$encryptedPassword = \$General.encode(\$password); +return \$encryptedPassword; +END; + return $content; + } public static function get() { $password_edit_field =<<< END -<input type="password" name="{\$NAME}" value="{\$VALUE|escape}" class="cf_password" /> +<input type="password" name="{\$NAME}" value="{\$VALUE|escape}" class="cf_password" placeholder="password"/> {if \$comments} <div class="cf_field_comments">{\$comments}</div> {/if} @@ -33,7 +43,7 @@ public static function get() "view_field_php_function" => "", "view_field_smarty_markup" => "", "edit_field_smarty_markup" => $password_edit_field, - "php_processing" => "", + "php_processing" => getPhpProcessing(), "resources_css" => "input.cf_password {\r\n width: 120px;\r\n}", "resources_js" => "" ), diff --git a/global/smarty_plugins/function.edit_custom_field.php b/global/smarty_plugins/function.edit_custom_field.php index 69018ecc..03aec6bb 100644 --- a/global/smarty_plugins/function.edit_custom_field.php +++ b/global/smarty_plugins/function.edit_custom_field.php @@ -39,7 +39,11 @@ function smarty_function_edit_custom_field($params, &$smarty) // TODO make sense of this. Both are required in different contexts // - in form builder, review page - the latter is needed. - if (isset($field_info["submission_value"]) || is_null($field_info["submission_value"])) { + + // hide password + if($field_type_info["field_type_identifier"] == "password") + echo "********"; + else if (isset($field_info["submission_value"]) || is_null($field_info["submission_value"])) { echo $field_info["submission_value"]; } else { echo $field_info["submission_info"]["value"]; @@ -51,6 +55,7 @@ function smarty_function_edit_custom_field($params, &$smarty) } // now construct all available placeholders + // note that we don't send the encrypted value of password, instead "********" is sent $placeholders = array( "FORM_ID" => $form_id, "VIEW_ID" => $field_info["view_id"], @@ -58,7 +63,9 @@ function smarty_function_edit_custom_field($params, &$smarty) "FIELD_ID" => $field_info["field_id"], "NAME" => $field_info["field_name"], "COLNAME" => $field_info["col_name"], - "VALUE" => isset($field_info["submission_value"]) ? $field_info["submission_value"] : "", + "VALUE" => $curr_field_type["field_type_identifier"] != "password" ? + (isset($field_info["submission_value"]) ? $field_info["submission_value"] : "") + : "********", "SETTINGS" => $settings, "CONTEXTPAGE" => "edit_submission", "ACCOUNT_INFO" => Sessions::getWithFallback("account", array()),