Exemplo n.º 1
0
function fn_stat_build_query($params, $override)
{
    $params = fn_array_merge($params, $override);
    unset($params['selected_section']);
    return fn_build_query($params);
}
Exemplo n.º 2
0
/**
 * Init search view
 *
 * @param string $object object to init view for
 * @param array $params request parameters
 * @return array filtered params
 */
function fn_init_view($object, $params)
{
    if (!empty($params['skip_view']) || AREA != 'A') {
        return $params;
    }
    $auth =& $_SESSION['auth'];
    // Save view
    if (ACTION == 'save_view' && !empty($params['new_view'])) {
        $name = $params['new_view'];
        $update_view_id = empty($params['update_view_id']) ? 0 : $params['update_view_id'];
        unset($params['dispatch'], $params['page'], $params['new_view'], $params['update_view_id']);
        $data = array('object' => $object, 'name' => $name, 'params' => serialize($params), 'user_id' => $auth['user_id']);
        if ($update_view_id) {
            db_query("UPDATE ?:views SET ?u WHERE view_id = ?i", $data, $update_view_id);
            $params['view_id'] = $update_view_id;
        } else {
            $params['view_id'] = db_query("REPLACE INTO ?:views ?e", $data);
        }
        $params['dispatch'] = CONTROLLER . '.' . MODE;
        fn_redirect(INDEX_SCRIPT . '?' . fn_build_query($params));
    } elseif (ACTION == 'delete_view' && !empty($params['view_id'])) {
        db_query("DELETE FROM ?:views WHERE view_id = ?i", $params['view_id']);
    } elseif (ACTION == 'reset_view') {
        db_query("UPDATE ?:views SET active = 'N' WHERE user_id = ?i AND object = ?s", $auth['user_id'], $object);
    }
    // Save search filter in session
    $condition = !empty($params['view_id']) ? db_quote("view_id = ?i", $params['view_id']) : db_quote("user_id = ?i AND object = ?s AND active = 'Y'", $auth['user_id'], $object);
    $data = db_get_row("SELECT params, view_id FROM ?:views WHERE ?p", $condition);
    if (!empty($data)) {
        $params['view_id'] = $data['view_id'];
        $params = fn_array_merge($params, unserialize($data['params']));
        db_query("UPDATE ?:views SET active = IF(view_id = ?i, 'Y', 'N') WHERE user_id = ?i AND object = ?s", $data['view_id'], $auth['user_id'], $object);
    }
    return $params;
}
Exemplo n.º 3
0
/**
 * Build query from the array
 *
 * @param array $array data to build query from
 * @param string $query part of query to attach new data
 * @param string $prefix prefix
 * @return string well-formed query
 */
function fn_build_query($array, $query = '', $prefix = '')
{
    if (!is_array($array)) {
        return false;
    }
    foreach ($array as $k => $v) {
        if (is_array($v)) {
            $query = fn_build_query($v, $query, rawurlencode(empty($prefix) ? "{$k}" : $prefix . "[{$k}]"));
        } else {
            $query .= (!empty($query) ? '&' : '') . (empty($prefix) ? $k : $prefix . rawurlencode("[{$k}]")) . '=' . rawurlencode($v);
        }
    }
    return $query;
}