function _user_relationship_process_query_argument in User Relationships 5.2
Same name and namespace in other branches
- 5.3 user_relationships_api/user_relationships_api.module \_user_relationship_process_query_argument()
- 6 user_relationships_api/user_relationships_api.module \_user_relationship_process_query_argument()
Helper function to process the various argument types allowed
1 call to _user_relationship_process_query_argument()
- _user_relationships_generate_query in ./
user_relationships.module - Helper function to generate queries from a list of parameters
File
- ./
user_relationships.module, line 373
Code
function _user_relationship_process_query_argument($key, &$value) {
if ($key == 'between') {
return array(
_user_relationship_process_query_argument(NULL, $value[0]),
_user_relationship_process_query_argument(NULL, $value[1]),
);
}
if (is_array($value)) {
if (count($value) == 1) {
$value = array_shift($value);
return _user_relationship_process_query_argument($key, $value);
}
else {
$value = implode(',', $value);
return 'IN (%s)';
}
}
else {
if (is_numeric($value) || is_bool($value)) {
$value = (int) $value;
return '= %d';
}
else {
if (preg_match('/([<>=]{1,2})\\s*(.+)/', $value, $matches)) {
$marker = "'%s'";
$value = $matches[3];
if (is_numeric($value)) {
$marker = '%d';
$value = (int) $value;
}
return "{$matches[1]} {$marker}";
}
else {
return "= '%s'";
}
}
}
}