Beispiel #1
0
/**
 * return the bug filter parameters for the specified user
 *
 * @param integer $p_user_id    A valid user identifier.
 * @param integer $p_project_id A valid project identifier.
 * @return array The user filter, or default filter if not valid.
 */
function user_get_bug_filter($p_user_id, $p_project_id = null)
{
    if (null === $p_project_id) {
        $t_project_id = helper_get_current_project();
    } else {
        $t_project_id = $p_project_id;
    }
    $t_view_all_cookie_id = filter_db_get_project_current($t_project_id, $p_user_id);
    $t_view_all_cookie = filter_db_get_filter($t_view_all_cookie_id, $p_user_id);
    $t_cookie_detail = explode('#', $t_view_all_cookie, 2);
    if (!isset($t_cookie_detail[1])) {
        return filter_get_default();
    }
    $t_filter = json_decode($t_cookie_detail[1], true);
    $t_filter = filter_ensure_valid_filter($t_filter);
    return $t_filter;
}
Beispiel #2
0
# for proxies that clear out HTTP_REFERER
if (!is_blank($c_ref)) {
    $t_redirect_url = $c_ref;
} else {
    if (!isset($_SERVER['HTTP_REFERER']) || is_blank($_SERVER['HTTP_REFERER'])) {
        $t_redirect_url = config_get('default_home_page');
    } else {
        $t_home_page = config_get('default_home_page');
        # Check that referrer matches our address after squashing case (case insensitive compare)
        $t_path = rtrim(config_get('path'), '/');
        if (preg_match('@^(' . $t_path . ')/(?:/*([^\\?#]*))(.*)?\\$@', $_SERVER['HTTP_REFERER'], $t_matches)) {
            $t_referrer_page = $t_matches[2];
            $t_param = $t_matches[3];
            # if view_all_bug_page, pass on filter
            if (strcasecmp('view_all_bug_page.php', $t_referrer_page) == 0) {
                $t_source_filter_id = filter_db_get_project_current($f_project_id);
                $t_redirect_url = 'view_all_set.php?type=4';
                if ($t_source_filter_id !== null) {
                    $t_redirect_url = 'view_all_set.php?type=3&source_query_id=' . $t_source_filter_id;
                }
            } else {
                if (stripos($t_referrer_page, '_page.php') !== false) {
                    switch ($t_referrer_page) {
                        case 'bug_view_page.php':
                        case 'bug_view_advanced_page.php':
                        case 'bug_update_page.php':
                        case 'bug_change_status_page.php':
                            $t_path = $t_home_page;
                            break;
                        default:
                            $t_path = $t_referrer_page . $t_param;