aboutsummaryrefslogtreecommitdiffstats
path: root/include/account.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/account.php')
-rw-r--r--include/account.php27
1 files changed, 25 insertions, 2 deletions
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