summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorSteven Wittens <steven@10.no-reply.drupal.org>2004-09-24 20:04:54 +0000
committerSteven Wittens <steven@10.no-reply.drupal.org>2004-09-24 20:04:54 +0000
commiteecbda5635a1621e323d8b7328a253ff945cb96c (patch)
tree2d9955bde9e20c96f6af333406faf8e53830202d /modules
parent309b41180374df7ef88342ae6efaa19fdb518dd7 (diff)
downloadbrdo-eecbda5635a1621e323d8b7328a253ff945cb96c.tar.gz
brdo-eecbda5635a1621e323d8b7328a253ff945cb96c.tar.bz2
- Fixing user_load() to use sprintf db_query syntax. Uglier, but safer.
Diffstat (limited to 'modules')
-rw-r--r--modules/user.module15
-rw-r--r--modules/user/user.module15
2 files changed, 22 insertions, 8 deletions
diff --git a/modules/user.module b/modules/user.module
index d780cd6df..d616f21b3 100644
--- a/modules/user.module
+++ b/modules/user.module
@@ -44,18 +44,25 @@ function user_load($array = array()) {
// Dynamically compose a SQL query:
$query = '';
+ $params = array();
foreach ($array as $key => $value) {
if ($key == 'pass') {
- $query .= "u.$key = '". md5($value) ."' AND ";
+ $query .= "u.$key = '%s' AND ";
+ $params[] = md5($value);
}
else if ($key == 'uid') {
- $query .= "u.uid = ". check_query($value) ." AND ";
+ $query .= "u.uid = %d AND ";
+ $params[] = $value;
}
else {
- $query .= "LOWER(u.$key) = '". strtolower(check_query($value)) ."' AND ";
+ $query .= "LOWER(u.$key) = '%s' AND ";
+ $params[] = strtolower($value);
}
}
- $result = db_query_range("SELECT u.* FROM {users} u WHERE $query u.status < 3", 0, 1);
+ array_unshift($params, "SELECT u.* FROM {users} u WHERE $query u.status < 3");
+ $params[] = 0;
+ $params[] = 1;
+ $result = call_user_func_array('db_query_range', $params);
if (db_num_rows($result)) {
$user = db_fetch_object($result);
diff --git a/modules/user/user.module b/modules/user/user.module
index d780cd6df..d616f21b3 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -44,18 +44,25 @@ function user_load($array = array()) {
// Dynamically compose a SQL query:
$query = '';
+ $params = array();
foreach ($array as $key => $value) {
if ($key == 'pass') {
- $query .= "u.$key = '". md5($value) ."' AND ";
+ $query .= "u.$key = '%s' AND ";
+ $params[] = md5($value);
}
else if ($key == 'uid') {
- $query .= "u.uid = ". check_query($value) ." AND ";
+ $query .= "u.uid = %d AND ";
+ $params[] = $value;
}
else {
- $query .= "LOWER(u.$key) = '". strtolower(check_query($value)) ."' AND ";
+ $query .= "LOWER(u.$key) = '%s' AND ";
+ $params[] = strtolower($value);
}
}
- $result = db_query_range("SELECT u.* FROM {users} u WHERE $query u.status < 3", 0, 1);
+ array_unshift($params, "SELECT u.* FROM {users} u WHERE $query u.status < 3");
+ $params[] = 0;
+ $params[] = 1;
+ $result = call_user_func_array('db_query_range', $params);
if (db_num_rows($result)) {
$user = db_fetch_object($result);