function privatemsg_filter_create_get_query in Privatemsg 6
Same name and namespace in other branches
- 6.2 privatemsg_filter/privatemsg_filter.module \privatemsg_filter_create_get_query()
- 7.2 privatemsg_filter/privatemsg_filter.module \privatemsg_filter_create_get_query()
- 7 privatemsg_filter/privatemsg_filter.module \privatemsg_filter_create_get_query()
1 call to privatemsg_filter_create_get_query()
- privatemsg_filter_dropdown_submit in privatemsg_filter/
privatemsg_filter.module
File
- privatemsg_filter/
privatemsg_filter.module, line 432 - Allows users to tag private messages and to filter based upon those tags.
Code
function privatemsg_filter_create_get_query($filter) {
$query = array();
if (isset($filter['tags']) && !empty($filter['tags'])) {
$ids = array();
foreach ($filter['tags'] as $tag) {
if ((int) $tag > 0) {
$ids[] = $tag;
}
else {
$query['tags'][] = $tag;
}
}
$sql = 'SELECT pmt.tag FROM {pm_tags} pmt WHERE pmt.tag_id IN (' . implode(', ', $filter['tags']) . ')';
$result = db_query($sql);
while ($row = db_fetch_object($result)) {
$query['tags'][] = $row->tag;
}
if (isset($query['tags'])) {
$query['tags'] = implode(',', $query['tags']);
}
}
if (isset($filter['author']) && !empty($filter['author'])) {
foreach ($filter['author'] as $author) {
if (is_object($author) && isset($author->uid) && isset($author->name)) {
$query['author'][] = $author->name;
}
elseif ($author_obj = user_load($author)) {
$query['author'][] = $author_obj->name;
}
}
if (isset($query['author'])) {
$query['author'] = implode(',', $query['author']);
}
}
if (isset($filter['search']) && !empty($filter['search'])) {
$query['search'] = $filter['search'];
}
return $query;
}