Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
3 lars 1
<?php
2
    /**
3
     * @package   php_share
4
     * @author    Lars Tiefland <tiefland@weban.de>
5
     * @copyright 2009 Webagentur Niewerth
6
     * @license   propietary http://www.weban.de
7
     * @version   $Rev: 766 $
8
     * @filesource
9
     *
10
     */
11
 
12
    // SVN: $Id: weban_utils.class.php 766 2011-10-21 09:13:07Z tiefland $
13
 
14
    /**
15
     * Weban_Utils
16
     *
17
     * @package JPT
18
     * @author Webagentur Niewerth
19
     * @copyright 2011
20
     * @version $Id: weban_utils.class.php 766 2011-10-21 09:13:07Z tiefland $
21
     * @access public
22
     */
23
    class Weban_Utils
24
    {
25
        /**
26
         * Weban_Utils::clean_global_input()
27
         *
28
         * @param mixed $var
29
         * @param string $input
30
         * @param string $filter
31
         * @return
32
         */
33
        public static function clean_global_input( $var, $input = "post", $filter =
34
            "string" )
35
        {
36
            $escape = false;
37
            $strip = false;
38
            switch ( strtolower( $input ) )
39
            {
40
                case "post":
41
                    $input_type = INPUT_POST;
42
                    break;
43
                case "get":
44
                    $input_type = INPUT_GET;
45
                    break;
46
                case "cookie":
47
                    $input_type = INPUT_COOKIE;
48
                    break;
49
                case "server":
50
                    $input_type = INPUT_SERVER;
51
                    break;
52
                case "env":
53
                    $input_type = INPUT_ENV;
54
                    break;
55
                default:
56
                    trigger_error( "Invalid input type!\nPlease use only 'get' or'post'!",
57
                        E_USER_ERROR );
58
                    break;
59
            }
60
            switch ( strtolower( $filter ) )
61
            {
62
                case "string":
63
                    $escape = true;
64
                    $strip = true;
65
                    $ret = filter_input( $input_type, $var,
66
                        FILTER_SANITIZE_STRING );
67
                    break;
68
                case "int":
69
                    $ret = filter_input( $input_type, $var, FILTER_VALIDATE_INT );
70
                    break;
71
                case "float":
72
                    $ret = filter_input( $input_type, $var,
73
                        FILTER_VALIDATE_FLOAT, array( "decimal" => true ) );
74
                    break;
75
                case "email":
76
                    $escape = true;
77
                    $ret = filter_input( $input_type, $var,
78
                        FILTER_VALIDATE_EMAIL );
79
                    break;
80
                case "ip":
81
                    $ret = filter_input( $input_type, $var, FILTER_VALIDATE_IP );
82
                    break;
83
                default:
84
                    trigger_error( "Invalid filter type!\nPlease use only 'string','int','float','email' or 'ip'!",
85
                        E_USER_ERROR );
86
                    break;
87
            }
88
            if ( $strip === true )
89
            {
90
                $ret = strip_tags( $ret );
91
            }
92
            if ( $escape === true )
93
            {
94
                //$ret = mysql_real_escape_string( $ret );
95
            }
96
            return $ret;
97
        }
98
        /**
99
         * Weban_Utils::clean_input()
100
         *
101
         * @param mixed $var
102
         * @param string $filter
103
         * @return
104
         */
105
        public static function clean_input( $var, $filter = "string" )
106
        {
107
            $escape = false;
108
            $strip = false;
109
            switch ( strtolower( $filter ) )
110
            {
111
                case "string":
112
                    $escape = true;
113
                    $strip = true;
114
                    $ret = filter_var( $var, FILTER_SANITIZE_STRING );
115
                    break;
116
                case "int":
117
                    $ret = filter_var( $var, FILTER_VALIDATE_INT );
118
                    break;
119
                case "float":
120
                    $ret = filter_var( $var, FILTER_VALIDATE_FLOAT, array( "decimal" => true ) );
121
                    break;
122
                case "email":
123
                    $escape = true;
124
                    $ret = filter_var( $var, FILTER_VALIDATE_EMAIL );
125
                    break;
126
                case "ip":
127
                    $ret = filter_var( $var, FILTER_VALIDATE_IP );
128
                    break;
129
                default:
130
                    trigger_error( "Invalid filter type!\nPlease use only 'string','int','float','email' or 'ip'!",
131
                        E_USER_ERROR );
132
                    break;
133
            }
134
            if ( $strip === true )
135
            {
136
                $ret = strip_tags( $ret );
137
            }
138
            if ( $escape === true )
139
            {
140
                $ret = mysql_real_escape_string( $ret );
141
            }
142
            return $ret;
143
        }
144
 
145
        /**
146
         * Weban_Utils::clean_get_input()
147
         *
148
         * @param mixed $var
149
         * @param string $filter
150
         * @return
151
         */
152
        public static function clean_get_input( $var, $filter = "string" )
153
        {
154
            return Weban_Utils::clean_global_input( $var, "get", $filter );
155
        }
156
 
157
        /**
158
         * Weban_Utils::clean_post_input()
159
         *
160
         * @param mixed $var
161
         * @param string $filter
162
         * @return
163
         */
164
        public static function clean_post_input( $var, $filter = "string" )
165
        {
166
            return Weban_Utils::clean_global_input( $var, "post", $filter );
167
        }
168
    }
169
?>