From f3b4b4e4543090e400981d3d5555774ecbb3fe9d Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Thu, 27 Aug 2015 17:25:07 +0200 Subject: [PATCH] Fixes on fields for show errors properly --- src/CoreFields/EmailField.php | 2 +- src/CoreFields/PasswordField.php | 15 +++++++++++++-- src/CoreFields/PrimaryField.php | 2 +- src/ModelForm.php | 19 ++++++++++++++++--- src/Webmodel.php | 5 ++++- 5 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/CoreFields/EmailField.php b/src/CoreFields/EmailField.php index e3a5cfe..e6192f2 100644 --- a/src/CoreFields/EmailField.php +++ b/src/CoreFields/EmailField.php @@ -50,7 +50,7 @@ class EmailField extends PhangoField { else { - $this->std_error.='Email format error'; + $this->std_error='Email format error'; return ''; diff --git a/src/CoreFields/PasswordField.php b/src/CoreFields/PasswordField.php index f05f877..1bf0744 100644 --- a/src/CoreFields/PasswordField.php +++ b/src/CoreFields/PasswordField.php @@ -35,9 +35,13 @@ class PasswordField extends CharField { } + /* $token_pass=Utils::generate_random_password(); $hash_password=$token_pass.'_'.sha1($token_pass.'_'.$value); + */ + + $hash_password=password_hash($value, PASSWORD_DEFAULT); return $hash_password; @@ -50,8 +54,8 @@ class PasswordField extends CharField { //If pass have _ check if work fine... - $token_pass=preg_replace('/(.*)[_].*/', '$1', $hash_password_check); - + //$token_pass=preg_replace('/(.*)[_].*/', '$1', $hash_password_check); + /* $hash_password=$token_pass.'_'.sha1($token_pass.'_'.$value); if($hash_password==$hash_password_check) @@ -59,6 +63,13 @@ class PasswordField extends CharField { return true; + }*/ + + if(password_verify($value, $hash_password_check)) + { + + return true; + } return false; diff --git a/src/CoreFields/PrimaryField.php b/src/CoreFields/PrimaryField.php index 5afc787..fdbd373 100644 --- a/src/CoreFields/PrimaryField.php +++ b/src/CoreFields/PrimaryField.php @@ -22,7 +22,7 @@ class PrimaryField extends PhangoField { * Initial label for the field. The label is used for create forms from a PhangoField. */ - public $label=""; + public $label="#ID"; /** * Boolean value that is used for check if the field is required for fill a row in the db model. diff --git a/src/ModelForm.php b/src/ModelForm.php index 8ef668b..c0bbddd 100644 --- a/src/ModelForm.php +++ b/src/ModelForm.php @@ -327,7 +327,7 @@ class ModelForm { { $form->std_error=$form->field->std_error; - + } else { @@ -390,9 +390,9 @@ class ModelForm { if(isset($arr_form[$name_field])) { - if($arr_form[$name_field]->field->std_error!='' && $show_error==1) + if($show_error==1) { - + /* if($arr_form[$name_field]->std_error!='') { @@ -406,7 +406,20 @@ class ModelForm { $arr_form[$name_field]->std_error=$arr_form[$name_field]->field->std_error; + }*/ + + if($arr_form[$name_field]->field->std_error!='') + { + + $arr_form[$name_field]->std_error=$arr_form[$name_field]->field->std_error; + } + /*else + { + + + + }*/ } diff --git a/src/Webmodel.php b/src/Webmodel.php index 9e1f4d3..5399db6 100644 --- a/src/Webmodel.php +++ b/src/Webmodel.php @@ -608,6 +608,7 @@ class Webmodel { { $this->std_error.=I18n::lang('error_model', 'cant_insert', 'Can\'t insert').' '; + ModelForm::pass_errors_to_form($this); return 0; } @@ -621,6 +622,7 @@ class Webmodel { else { + ModelForm::pass_errors_to_form($this); $this->std_error.=I18n::lang('error_model', 'cant_insert', 'Can\'t insert').' '; return 0; @@ -734,6 +736,7 @@ class Webmodel { { $this->std_error.=I18n::lang('error_model', 'cant_update', 'Can\'t update').' '; + ModelForm::pass_errors_to_form($this); return 0; } @@ -747,7 +750,7 @@ class Webmodel { else { //Validation of $post fail, add error to $model->std_error - + ModelForm::pass_errors_to_form($this); $this->std_error.=I18n::lang('error_model', 'cant_update', 'Can\'t update').' '; return 0;