From eb911443aaee63f414cd95de4dabf60e2f14a994 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 16 Aug 2012 00:51:03 -0700 Subject: more zregister cleanup and theme separation --- include/account.php | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'include/account.php') diff --git a/include/account.php b/include/account.php index 91891ab23..652048e29 100644 --- a/include/account.php +++ b/include/account.php @@ -12,7 +12,8 @@ function check_account_email($email) { $result = array('error' => false, 'message' => ''); - // Caution: empty email isn't counted as an error in this function. Check emptiness separately. + // Caution: empty email isn't counted as an error in this function. + // Check for empty value separately. if(! strlen($email)) return $result; @@ -32,10 +33,25 @@ function check_account_email($email) { if($result['message']) $result['error'] = true; - return $result; + $arr = array('email' => $email, 'result' => $result); + call_hooks('check_account_email', $arr); + + return $arr['result']; } +function check_account_password($password) { + $result = array('error' => false, 'message' => ''); + + // The only validation we perform by default is pure Javascript to + // check minimum length and that both entered passwords match. + // Use hooked functions to perform complexity requirement checks. + + $arr = array('password' => $password, 'result' => $result); + call_hooks('check_account_password', $arr); + return $arr['result']; + +} function create_account($arr) { @@ -77,6 +93,13 @@ function create_account($arr) { return $result; } + $password_result = check_account_password($password); + + if(! $password_result['error']) { + $result['message'] = $password_result['message']; + return $result; + } + $password_encoded = hash('whirlpool',$password); $r = q("INSERT INTO account -- cgit v1.2.3