diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-01-13 06:44:31 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-01-13 06:44:31 +0000 |
commit | 85213d3bee5c4373f12378c3fa910f0e93e6d678 (patch) | |
tree | d97cce804430817ebc6217fb25fb69e09171bf50 | |
parent | 83c97345e8eada544d7da4586e2c77db469ed5b1 (diff) | |
download | brdo-85213d3bee5c4373f12378c3fa910f0e93e6d678.tar.gz brdo-85213d3bee5c4373f12378c3fa910f0e93e6d678.tar.bz2 |
#279851 by catch, et al: Replace LOWER() with db_select() and LIKE() where possible.
-rw-r--r-- | modules/comment/comment.module | 2 | ||||
-rw-r--r-- | modules/profile/profile.admin.inc | 7 | ||||
-rw-r--r-- | modules/profile/profile.module | 3 | ||||
-rw-r--r-- | modules/profile/profile.pages.inc | 12 | ||||
-rw-r--r-- | modules/user/user.module | 10 |
5 files changed, 22 insertions, 12 deletions
diff --git a/modules/comment/comment.module b/modules/comment/comment.module index 0b3fc2d8c..691c1421b 100644 --- a/modules/comment/comment.module +++ b/modules/comment/comment.module @@ -1990,7 +1990,7 @@ function comment_form_validate($form, &$form_state) { $query = db_select('users', 'u'); $query->addField('u', 'uid', 'uid'); $taken = $query - ->where('LOWER(name) = :name', array(':name' => $form_state['values']['name'])) + ->condition('name', db_like($form_state['values']['name']), 'LIKE') ->countQuery() ->execute() ->fetchField(); diff --git a/modules/profile/profile.admin.inc b/modules/profile/profile.admin.inc index 7503bcaa3..72708a55a 100644 --- a/modules/profile/profile.admin.inc +++ b/modules/profile/profile.admin.inc @@ -421,7 +421,12 @@ function profile_field_delete_submit($form, &$form_state) { */ function profile_admin_settings_autocomplete($string) { $matches = array(); - $result = db_query_range("SELECT category FROM {profile_field} WHERE LOWER(category) LIKE LOWER(:category)", 0, 10, array(':category' => $string . '%')); + $result = db_select('profile_field') + ->fields('profile_field', array('category')) + ->condition('category', db_like($string) . '%', 'LIKE') + ->range(0, 10) + ->execute(); + foreach ($result as $data) { $matches[$data->category] = check_plain($data->category); } diff --git a/modules/profile/profile.module b/modules/profile/profile.module index 244c8804d..38642d538 100644 --- a/modules/profile/profile.module +++ b/modules/profile/profile.module @@ -610,8 +610,7 @@ function _profile_get_fields($category, $register = FALSE) { $query->condition('register', 1); } else { - // Use LOWER(:category) instead of PHP's strtolower() to avoid UTF-8 conversion issues. - $query->where('LOWER(category) = LOWER(:category)', array(':category' => $category)); + $query->condition('category', db_like($category), 'LIKE'); } if (!user_access('administer users')) { $query->condition('visibility', PROFILE_HIDDEN, '<>'); diff --git a/modules/profile/profile.pages.inc b/modules/profile/profile.pages.inc index 9bb406bb4..bfc23e221 100644 --- a/modules/profile/profile.pages.inc +++ b/modules/profile/profile.pages.inc @@ -125,10 +125,14 @@ function profile_autocomplete($field, $string) { $matches = array(); $autocomplete_field = (bool) db_query_range("SELECT 1 FROM {profile_field} WHERE fid = :fid AND autocomplete = 1", 0, 1, array(':fid' => $field))->fetchField(); if ($autocomplete_field) { - $values = db_query_range("SELECT value FROM {profile_value} WHERE fid = :fid AND LOWER(value) LIKE LOWER(:value) GROUP BY value ORDER BY value ASC", 0, 10, array( - ':fid' => $field, - ':value' => $string . '%', - ))->fetchCol(); + $values = db_select('profile_value') + ->fields('profile_value', array('value')) + ->condition('fid', $field) + ->condition('value', db_like($string) . '%', 'LIKE') + ->groupBy('value') + ->orderBy('value') + ->range(0, 10) + ->execute()->fetchCol(); foreach ($values as $value) { $matches[$value] = check_plain($value); } diff --git a/modules/user/user.module b/modules/user/user.module index 0b7c17a93..e33da5de8 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -750,9 +750,11 @@ function user_access($string, $account = NULL) { * @return boolean TRUE for blocked users, FALSE for active. */ function user_is_blocked($name) { - $deny = db_query("SELECT name FROM {users} WHERE status = 0 AND name = LOWER(:name)", array(':name' => $name))->fetchObject(); - - return $deny; + return db_select('users') + ->fields('users', array('name')) + ->condition('name', db_like($name), 'LIKE') + ->condition('status', 0) + ->execute()->fetchObject(); } /** @@ -1054,7 +1056,7 @@ function user_account_form_validate($form, &$form_state) { if ($error = user_validate_name($form_state['values']['name'])) { form_set_error('name', $error); } - elseif ((bool) db_query_range("SELECT 1 FROM {users} WHERE uid <> :uid AND LOWER(name) = LOWER(:name)", 0, 1, array(':uid' => $account->uid, ':name' => $form_state['values']['name']))->fetchField()) { + elseif ((bool) db_select('users')->fields('users', array('uid'))->condition('uid', $account->uid, '<>')->condition('name', db_like($form_state['values']['name']), 'LIKE')->range(0, 1)->execute()->fetchField()) { form_set_error('name', t('The name %name is already taken.', array('%name' => $form_state['values']['name']))); } } |