function global_filter_user_login in Views Global Filter 7
Same name and namespace in other branches
- 8 global_filter.module \global_filter_user_login()
Implements hook_user_login().
Set global filters from the user profile, if present.
Supports both core and Profile2 profiles.
File
- ./
global_filter.module, line 126 - global_filter.module
Code
function global_filter_user_login(&$edit, $account, $category) {
$previous_session_filters = global_filter_get_session_value();
$is_set_from_profile = global_filter_get_module_parameter('set_from_profile_on_login', TRUE);
foreach (global_filter_get_parameter(NULL) as $key => $filter) {
if (!empty($filter['name'])) {
$name = $filter['name'];
if ($is_set_from_profile) {
$default = global_filter_user_profile_field($name, $account);
if (isset($default)) {
global_filter_debug(t('Global Filter %name: copying default from user profile...', array(
'%name' => $name,
)));
global_filter_set_on_session($name, $default);
continue;
}
}
if (isset($previous_session_filters[$name])) {
$default = $previous_session_filters[$name];
global_filter_debug(t('Global Filter %name: no value on user profile (or not requested), so using value from previous session: %value', array(
'%name' => $name,
'%value' => is_array($default) ? implode('+', $default) : (empty($default) ? t('"all"') : $default),
)));
}
else {
$default = global_filter_get_global_default($key);
global_filter_debug(t('Global Filter %name: no value on previous session or user profile (or not requested), so using global default...', array(
'%name' => $name,
)));
global_filter_set_on_session($name, $default);
}
}
}
}