summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2010-01-13 06:44:31 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2010-01-13 06:44:31 +0000
commit85213d3bee5c4373f12378c3fa910f0e93e6d678 (patch)
treed97cce804430817ebc6217fb25fb69e09171bf50 /modules
parent83c97345e8eada544d7da4586e2c77db469ed5b1 (diff)
downloadbrdo-85213d3bee5c4373f12378c3fa910f0e93e6d678.tar.gz
brdo-85213d3bee5c4373f12378c3fa910f0e93e6d678.tar.bz2
#279851 by catch, et al: Replace LOWER() with db_select() and LIKE() where possible.
Diffstat (limited to 'modules')
-rw-r--r--modules/comment/comment.module2
-rw-r--r--modules/profile/profile.admin.inc7
-rw-r--r--modules/profile/profile.module3
-rw-r--r--modules/profile/profile.pages.inc12
-rw-r--r--modules/user/user.module10
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'])));
}
}