function privatemsg_filter_get_filter in Privatemsg 7.2
Same name and namespace in other branches
- 6.2 privatemsg_filter/privatemsg_filter.module \privatemsg_filter_get_filter()
- 6 privatemsg_filter/privatemsg_filter.module \privatemsg_filter_get_filter()
- 7 privatemsg_filter/privatemsg_filter.module \privatemsg_filter_get_filter()
3 calls to privatemsg_filter_get_filter()
- privatemsg_filter_dropdown in privatemsg_filter/
privatemsg_filter.module - privatemsg_filter_form_privatemsg_list_alter in privatemsg_filter/
privatemsg_filter.module - Implements hook_form_FORM_ID_alter() to add a filter widget to the message listing pages.
- privatemsg_filter_query_privatemsg_list_alter in privatemsg_filter/
privatemsg_filter.module - Hook into the query builder to add the tagging info to the correct query
File
- privatemsg_filter/
privatemsg_filter.module, line 277 - Allows users to tag private messages and to filter based upon those tags.
Code
function privatemsg_filter_get_filter($account) {
$filter = array();
// Filtering by tags is either allowed if the user can use tags or he can
// filter.
if (privatemsg_user_access('filter private messages') || privatemsg_user_access('tag private messages')) {
if (isset($_GET['tags'])) {
$_GET['tags'] = urldecode($_GET['tags']);
$tag_data = privatemsg_filter_get_tags_data($account);
foreach (explode(',', $_GET['tags']) as $tag) {
if (isset($tag_data[$tag])) {
$filter['tags'][$tag] = $tag;
}
elseif (in_array($tag, $tag_data)) {
$filter['tags'][array_search($tag, $tag_data)] = array_search($tag, $tag_data);
}
}
}
}
// Users can only use the text search or search by author if they have the
// necessary permission.
if (privatemsg_user_access('filter private messages')) {
if (isset($_GET['author'])) {
list($filter['author']) = _privatemsg_parse_userstring($_GET['author']);
}
if (isset($_GET['search'])) {
$filter['search'] = $_GET['search'];
}
}
if (!empty($filter)) {
return $filter;
}
if (!empty($_SESSION['privatemsg_filter'])) {
return $_SESSION['privatemsg_filter'];
}
}