classes/bfw/Request.php
author Markus Broeker<broeker.markus@googlemail.com>
Sun, 14 Feb 2016 19:01:17 +0100
changeset 42 015d3f02d4e8
parent 39 8b4f9c6136f4
permissions -rw-r--r--
Startseite mit Video
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
     1
<?php
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
     2
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
     3
/**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
     4
 * Copyright(C) 2015 Markus Bröker<broeker.markus@googlemail.com>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
     5
 *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
     6
 */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
     7
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
     8
namespace bfw;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
     9
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    10
use Logger;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    11
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    12
/**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    13
 * Class Request
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    14
 */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    15
class Request {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    16
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    17
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    18
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    19
     * @var Logger
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    20
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    21
    protected $logger = null;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    22
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    23
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    24
     * Default Constructor
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    25
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    26
    public function __construct() {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    27
        $this->logger = Logger::getLogger('__CLASS__');
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    28
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    29
        $this->initSession();
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    30
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    31
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    32
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    33
     * <b>Initialisiert die Session für das jeweilige Projekt</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    34
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    35
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    36
    public function initSession() {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    37
        if (!isset($_SESSION['prefix'])) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    38
            $_SESSION['prefix'] = array(
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    39
                'get' => array(),
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    40
                'session' => array(),
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    41
                'isLoggedIn' => false,
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    42
                'user_id' => 1,
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    43
                'group_id' => 1,
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    44
                'error' => '',
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    45
                'msg' => '',
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    46
                'lastpage' => 'home',
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    47
            );
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    48
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    49
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    50
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    51
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    52
     * Liefert die komplette URL des jeweiligen Requests
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    53
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    54
     * @return string
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    55
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    56
    public static function getUrl() {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    57
        return sprintf("%s%s", self::getBaseUrl(), $_SERVER['REQUEST_URI']);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    58
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    59
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    60
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    61
     * Liefert die Basis-URL des jeweiligen Projekts
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    62
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    63
     * @return string
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    64
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    65
    public static function getBaseUrl() {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    66
        return sprintf("%s://%s", isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http', $_SERVER['SERVER_NAME']);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    67
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    68
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    69
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    70
     * <b>Liefert einen gefilterten 'session' Wert
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    71
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    72
     * Hierbei handelt es sich um einen zuvor gespeicherten POST-Wert,
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    73
     * der in ['prefix']['session'] gelandet ist...
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    74
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    75
     * @param $param
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    76
     * @param string $default
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    77
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    78
     * @return string
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    79
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    80
    public static function session($param, $default = '') {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    81
        if (isset($_SESSION['prefix']['session'][$param])) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    82
            return $_SESSION['prefix']['session'][$param];
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    83
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    84
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    85
        return $default;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    86
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    87
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    88
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    89
     * <b>Liefert einen gefilterten 'get' Wert
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    90
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    91
     * Hierbei handelt es sich um einen zuvor gespeicherten POST-Wert,
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    92
     * der in ['prefix']['session'] geladet ist...
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    93
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    94
     * @param $param
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    95
     * @param string $default
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    96
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    97
     * @return string
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    98
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
    99
    public static function getParameter($param, $default = '') {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   100
        if (isset($_SESSION['prefix']['get'][$param])) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   101
            return $_SESSION['prefix']['get'][$param];
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   102
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   103
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   104
        return $default;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   105
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   106
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   107
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   108
     * <b>Holt einen Session Wert aus dem jeweiligen Prefix</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   109
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   110
     * @param $key
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   111
     * @param string $default
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   112
     * @param null $storage
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   113
     * @return string
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   114
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   115
    public static function getKey($key, $default = '', $storage = null) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   116
        if ($storage != null) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   117
            return $_SESSION['prefix'][$storage][$key];
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   118
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   119
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   120
        if (isset($_SESSION['prefix'][$key])) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   121
            return $_SESSION['prefix'][$key];
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   122
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   123
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   124
        return $default;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   125
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   126
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   127
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   128
     * <b>Löscht einen Get-Wert aus dem jeweiligen Prefix</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   129
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   130
     * @param $key
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   131
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   132
    public static function deleteParameterKey($key) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   133
        unset($_SESSION['prefix']['get'][$key]);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   134
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   135
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   136
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   137
     * <b>Löscht einen Session Wert aus dem jeweiligen Prefix</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   138
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   139
     * @param $key
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   140
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   141
    public static function deleteKey($key) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   142
        unset($_SESSION['prefix'][$key]);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   143
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   144
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   145
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   146
     * <b>Prüft, ob der aktuelle Request einen POST enthält</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   147
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   148
     * @return bool
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   149
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   150
    public static function hasPost() {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   151
        return (count($_POST) != 0);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   152
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   153
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   154
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   155
     * Keine Warnung, keine Gnade
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   156
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   157
    public function destroySession() {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   158
        unset($_SESSION['prefix']);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   159
        @session_destroy();
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   160
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   161
        $this->initSession();
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   162
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   163
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   164
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   165
     * <b>Bei jedem Seitenaufruf werden die GET/Post Anfragen in der Session separiert gespeichert</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   166
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   167
     * Struktur:
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   168
     *    GET Sachen ins 'get' array
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   169
     *   POST Sachen ins 'session' array
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   170
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   171
    public function keepRequestData() {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   172
        foreach ($_GET as $key => $value) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   173
            $filteredKey = $this->filter($key);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   174
            $filteredValue = $this->filter($value);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   175
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   176
            $_SESSION['prefix']['get'][$filteredKey] = $filteredValue;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   177
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   178
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   179
        foreach ($_POST as $key => $value) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   180
            $filteredKey = $this->filter($key);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   181
            $filteredValue = $this->filter($value);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   182
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   183
            $_SESSION['prefix']['session'][$filteredKey] = $filteredValue;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   184
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   185
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   186
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   187
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   188
     * <b>Statische Filtermethode für beliebige Strings/Array of Strings</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   189
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   190
     * filter_input kann nur mit GET/POST umgehen, diese Methode mit Allem.
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   191
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   192
     * @param string $param
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   193
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   194
     * @return string|array
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   195
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   196
    public static function filter($param) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   197
        if (is_array($param)) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   198
            $filtered = array();
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   199
            foreach ($param as $key => $value) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   200
                $filtered[self::filter($key)] = self::filter($value);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   201
            }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   202
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   203
            return $filtered;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   204
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   205
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   206
        return htmlspecialchars($param, ENT_QUOTES, 'utf-8');
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   207
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   208
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   209
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   210
     * <b>Setzt einen neuen Session Wert ins jeweilige Prefix</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   211
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   212
     * @param $key
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   213
     * @param $value
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   214
     * @param $storage
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   215
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   216
    public function setKey($key, $value, $storage = null) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   217
        if ($storage != null) {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   218
            $_SESSION['prefix'][$storage][self::filter($key)] = self::filter($value);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   219
        } else {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   220
            $_SESSION['prefix'][self::filter($key)] = self::filter($value);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   221
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   222
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   223
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   224
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   225
     * <b>Interne Debug-Funktion zum Anzeigen der Session Struktur</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   226
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   227
     * Beliebige URL mit ?debug=1 aufrufen und der Debug Mechanismus ist aktiviert.
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   228
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   229
     * @return string
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   230
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   231
    public function printSession() {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   232
        $this->logger->info(sprintf('SESSION: %s', print_r($_SESSION['prefix'], true)));
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   233
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   234
        if ($this->get('debug') == '') {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   235
            return '';
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   236
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   237
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   238
        return "<br /><pre>" . print_r($_SESSION['prefix'], true) . "</pre>";
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   239
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   240
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   241
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   242
     * <b>Liefert einen gefilterten GET-Wert</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   243
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   244
     * @param $param
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   245
     * @param $default
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   246
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   247
     * @return string
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   248
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   249
    public function get($param, $default = '') {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   250
        $value = filter_input(INPUT_GET, $param);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   251
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   252
        if ($value == '') {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   253
            return $default;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   254
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   255
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   256
        return $value;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   257
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   258
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   259
    /**
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   260
     * <b>Liefert einen gefilterten POST-Wert</b>
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   261
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   262
     * @param $param
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   263
     * @param $default
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   264
     *
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   265
     * @return string
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   266
     */
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   267
    public function post($param, $default = '') {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   268
        $value = filter_input(INPUT_POST, $param);
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   269
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   270
        if ($value == '') {
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   271
            return $default;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   272
        }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   273
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   274
        return $value;
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   275
    }
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   276
8b4f9c6136f4 Umstellung auf LF
Markus Broeker<broeker.markus@googlemail.com>
parents: 31
diff changeset
   277
}