function simplenews_build_subscription_filter_query in Simplenews 6
Same name and namespace in other branches
- 5 simplenews.module \simplenews_build_subscription_filter_query()
- 6.2 includes/simplenews.admin.inc \simplenews_build_subscription_filter_query()
- 7.2 includes/simplenews.admin.inc \simplenews_build_subscription_filter_query()
- 7 includes/simplenews.admin.inc \simplenews_build_subscription_filter_query()
Build query for subscription filters based on session var content.
Return value
array of SQL query parts array('where' => $where, 'join' => $join, 'args' => $args)
1 call to simplenews_build_subscription_filter_query()
- simplenews_subscription_list_form in ./
simplenews.admin.inc - Build the form for admin subscription.
File
- ./
simplenews.admin.inc, line 1141 - Newsletter admin, subscription admin, simplenews settings
Code
function simplenews_build_subscription_filter_query() {
// Variables $args and $join are currently not used but left in for future extensions
$where = $args = array();
$join = '';
// Build query
if (isset($_SESSION['simplenews_subscriptions_filter'])) {
foreach ($_SESSION['simplenews_subscriptions_filter'] as $key => $value) {
switch ($key) {
case 'newsletter':
if ($value != 'all') {
list($key, $value) = explode('-', $value, 2);
$where[] = 's.' . $key . ' = ' . $value;
}
break;
case 'email':
if (!empty($value)) {
$where[] = "ss.mail LIKE '%%" . db_escape_string($value) . "%%'";
}
break;
}
$args[] = $value;
}
}
// All conditions are combined with AND
$where = empty($where) ? '' : ' AND ' . implode(' AND ', $where);
return array(
'where' => $where,
'join' => $join,
'args' => $args,
);
}