function notifications_subscriptions_build_filter_query in Notifications 6
Same name and namespace in other branches
- 6.4 notifications.manage.inc \notifications_subscriptions_build_filter_query()
- 6.2 notifications.manage.inc \notifications_subscriptions_build_filter_query()
- 6.3 notifications.manage.inc \notifications_subscriptions_build_filter_query()
Build query for node administration filters based on session.
1 call to notifications_subscriptions_build_filter_query()
- notifications_manage_subscriptions_form in ./
notifications.manage.inc - Administer user subscriptions
File
- ./
notifications.manage.inc, line 181 - Common functions for bulk management of subscriptions
Code
function notifications_subscriptions_build_filter_query($account = NULL) {
$filters = notifications_subscriptions_filters();
// Build query
$where = $args = array();
$join = '';
// If account passed, will be the first condition
if ($account) {
$where[] = "n.uid = %d";
$args[] = $account->uid;
}
foreach ($_SESSION['subscriptions_overview_filter'] as $index => $filter) {
list($key, $value) = $filter;
switch ($key) {
case 'status':
case 'send_interval':
$where[] = "n.{$key} = %d";
$args[] = $value;
break;
case 'send_method':
case 'type':
$where[] = "n.{$key} = '%s'";
$args[] = $value;
break;
}
$args[] = $value;
}
$where = count($where) ? 'WHERE ' . implode(' AND ', $where) : '';
return array(
'where' => $where,
'join' => $join,
'args' => $args,
);
}