aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/account.php27
-rw-r--r--include/js_strings.php2
2 files changed, 27 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
diff --git a/include/js_strings.php b/include/js_strings.php
index 8de789b33..e9892ea72 100644
--- a/include/js_strings.php
+++ b/include/js_strings.php
@@ -6,6 +6,8 @@ function js_strings() {
'$comment' => t('Comment'),
'$showmore' => t('show more'),
'$showfewer' => t('show fewer'),
+ '$pwshort' => t("Password too short"),
+ '$pwnomatch' => t("Passwords do not match"),
'$t01' => ((t('timeago.prefixAgo') != 'timeago.prefixAgo') ? t('timeago.prefixAgo') : 'null'),
'$t02' => ((t('timeago.suffixAgo') != 'timeago.suffixAgo') ? t('timeago.suffixAgo') : 'null'),