From 7ac2bb7013d30bca3a0e16b7a5693d2c10a4bdf9 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Fri, 18 Aug 2017 00:06:44 +0200 Subject: [PATCH] Improve compatibility between 'user' and 'password policy tab' modules --- modules/password_policy/password_policy.module | 13 ++++++++++++- modules/user/user.module | 3 ++- modules/user/user.pages.inc | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/modules/password_policy/password_policy.module b/modules/password_policy/password_policy.module index ce19fe4..cf735dd 100644 --- a/modules/password_policy/password_policy.module +++ b/modules/password_policy/password_policy.module @@ -513,7 +513,18 @@ function password_policy_cron() { } // Get all users' last password change time. We don't touch blocked accounts - $result = db_query("SELECT u.uid AS uid, u.created AS created_u, p.created AS created_p, e.pid AS pid, e.warning AS warning, e.unblocked AS unblocked FROM {users} u LEFT JOIN {password_policy_history} p ON u.uid = p.uid LEFT JOIN {password_policy_expiration} e ON u.uid = e.uid WHERE u.uid > 0 AND u.status = 1 ORDER BY p.created ASC"); + $result = db_query(' + SELECT u.uid AS uid, + u.created AS created_u, + p.created AS created_p, + e.pid AS pid, + e.warning AS warning, + e.unblocked AS unblocked + FROM {users} u + LEFT JOIN {password_policy_history} p ON u.uid = p.uid + LEFT JOIN {password_policy_expiration} e ON u.uid = e.uid + WHERE u.uid > 0 AND u.status = 1 ORDER BY p.created ASC + '); while ($row = db_fetch_object($result)) { if ($row->uid == 1 && !variable_get('password_policy_admin', 0)) continue; diff --git a/modules/user/user.module b/modules/user/user.module index 2162395..6cd3afa 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -1145,7 +1145,8 @@ function user_menu() { if (($categories = _user_categories($empty_account)) && (count($categories) > 1)) { foreach ($categories as $key => $category) { // 'account' is already handled by the MENU_DEFAULT_LOCAL_TASK. - if ($category['name'] != 'account') { + // 'password' is handled by password_policy_password_tab module if it is installed. + if ($category['name'] != 'account' && (!module_exists('password_policy_password_tab') || $category['name'] != 'password')) { $items['user/%user_category/edit/'. $category['name']] = array( 'title callback' => 'check_plain', 'title arguments' => array($category['title']), diff --git a/modules/user/user.pages.inc b/modules/user/user.pages.inc index 917aa0a..6a2ec94 100644 --- a/modules/user/user.pages.inc +++ b/modules/user/user.pages.inc @@ -42,7 +42,7 @@ function user_pass() { function user_pass_validate($form, &$form_state) { $name = trim($form_state['values']['name']); - + // Try to load by email. $account = user_load(array('mail' => $name, 'status' => 1));