diff --git a/src/CoreFields/PasswordField.php b/src/CoreFields/PasswordField.php new file mode 100644 index 0000000..09f203e --- /dev/null +++ b/src/CoreFields/PasswordField.php @@ -0,0 +1,69 @@ + +* @file +* @package ExtraFields +* +*/ + +namespace PhangoApp\PhaModels\CoreFields; +use PhangoApp\PhaUtils\Utils; + +class PasswordField extends CharField { + + + function __construct($size=255) + { + + $this->size=$size; + $this->form='PasswordForm'; + + } + + public function check($value) + { + + $value=trim($value); + + if($value=='') + { + + return ''; + + } + + $token_pass=Utils::generate_random_password(); + + $hash_password=$token_pass.'_'.sha1($token_pass.'_'.$value); + + return $hash_password; + + } + + //I load the password with the username and check here. + + static public function check_password($value, $hash_password_check) + { + + //If pass have _ check if work fine... + + $token_pass=preg_replace('/(.*)[_].*/', '$1', $hash_password_check); + + $hash_password=$token_pass.'_'.sha1($token_pass.'_'.$value); + + if($hash_password==$hash_password_check) + { + + return true; + + } + + return false; + + } + +} + +?> \ No newline at end of file