PluginProbe
Loginizer / 1.0.1
Loginizer v1.0.1
2.1.0 2.0.9 2.0.8 1.9.8 1.9.9 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 trunk 1.0 1.0.1 1.0.2 1.1.0 1.1.1 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 All 74 releases
← All changes | functions.php +190 -325 1.3.41.0.1 View file →
@@ -1,325 +1,190 @@
1 -<?php
2 -
3 -include_once(LOGINIZER_DIR.'/IPv6/IPv6.php');
4 -
5 -// Get the client IP
6 -function _lz_getip(){
7 - if(isset($_SERVER["REMOTE_ADDR"])){
8 - return $_SERVER["REMOTE_ADDR"];
9 - }elseif(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
10 - return $_SERVER["HTTP_X_FORWARDED_FOR"];
11 - }elseif(isset($_SERVER["HTTP_CLIENT_IP"])){
12 - return $_SERVER["HTTP_CLIENT_IP"];
13 - }
14 -}
15 -
16 -// Get the client IP
17 -function lz_getip(){
18 -
19 - global $loginizer;
20 -
21 - // Just so that we have something
22 - $ip = _lz_getip();
23 -
24 - $loginizer['ip_method'] = (int) @$loginizer['ip_method'];
25 -
26 - if(isset($_SERVER["REMOTE_ADDR"])){
27 - $ip = $_SERVER["REMOTE_ADDR"];
28 - }
29 -
30 - if(isset($_SERVER["HTTP_X_FORWARDED_FOR"]) && @$loginizer['ip_method'] == 1){
31 - $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
32 - }
33 -
34 - if(isset($_SERVER["HTTP_CLIENT_IP"]) && @$loginizer['ip_method'] == 2){
35 - $ip = $_SERVER["HTTP_CLIENT_IP"];
36 - }
37 -
38 - return $ip;
39 -
40 -}
41 -
42 -// Execute a select query and return an array
43 -function lz_selectquery($query, $array = 0){
44 - global $wpdb;
45 -
46 - $result = $wpdb->get_results($query, 'ARRAY_A');
47 -
48 - if(empty($array)){
49 - return current($result);
50 - }else{
51 - return $result;
52 - }
53 -}
54 -
55 -// Check if an IP is valid
56 -function lz_valid_ip($ip){
57 -
58 - // IPv6
59 - if(lz_valid_ipv6($ip)){
60 - return true;
61 - }
62 -
63 - // IPv4
64 - if(!ip2long($ip)){
65 - return false;
66 - }
67 -
68 - return true;
69 -}
70 -
71 -function lz_valid_ipv6($ip){
72 -
73 - $pattern = '/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/';
74 -
75 - if(!preg_match($pattern, $ip)){
76 - return false;
77 - }
78 -
79 - return true;
80 -
81 -}
82 -
83 -// Check if a field is posted via POST else return default value
84 -function lz_optpost($name, $default = ''){
85 -
86 - if(!empty($_POST[$name])){
87 - return lz_inputsec(lz_htmlizer(trim($_POST[$name])));
88 - }
89 -
90 - return $default;
91 -}
92 -
93 -// Check if a field is posted via GET else return default value
94 -function lz_optget($name, $default = ''){
95 -
96 - if(!empty($_GET[$name])){
97 - return lz_inputsec(lz_htmlizer(trim($_GET[$name])));
98 - }
99 -
100 - return $default;
101 -}
102 -
103 -// Check if a field is posted via GET or POST else return default value
104 -function lz_optreq($name, $default = ''){
105 -
106 - if(!empty($_REQUEST[$name])){
107 - return lz_inputsec(lz_htmlizer(trim($_REQUEST[$name])));
108 - }
109 -
110 - return $default;
111 -}
112 -
113 -// For filling in posted values
114 -function lz_POSTval($name, $default = ''){
115 -
116 - return (!empty($_POST) ? (!isset($_POST[$name]) ? '' : $_POST[$name]) : $default);
117 -
118 -}
119 -
120 -function lz_POSTchecked($name, $default = false){
121 -
122 - return (!empty($_POST) ? (isset($_POST[$name]) ? 'checked="checked"' : '') : (!empty($default) ? 'checked="checked"' : ''));
123 -
124 -}
125 -
126 -function lz_POSTselect($name, $value, $default = false){
127 -
128 - if(empty($_POST)){
129 - if(!empty($default)){
130 - return 'selected="selected"';
131 - }
132 - }else{
133 - if(isset($_POST[$name])){
134 - if(trim($_POST[$name]) == $value){
135 - return 'selected="selected"';
136 - }
137 - }
138 - }
139 -
140 -}
141 -
142 -function lz_inputsec($string){
143 -
144 - if(!get_magic_quotes_gpc()){
145 -
146 - $string = addslashes($string);
147 -
148 - }else{
149 -
150 - $string = stripslashes($string);
151 - $string = addslashes($string);
152 -
153 - }
154 -
155 - // This is to replace ` which can cause the command to be executed in exec()
156 - $string = str_replace('`', '\`', $string);
157 -
158 - return $string;
159 -
160 -}
161 -
162 -function lz_htmlizer($string){
163 -
164 - $string = htmlentities($string, ENT_QUOTES, 'UTF-8');
165 -
166 - preg_match_all('/(&amp;#(\d{1,7}|x[0-9a-fA-F]{1,6});)/', $string, $matches);//r_print($matches);
167 -
168 - foreach($matches[1] as $mk => $mv){
169 - $tmp_m = lz_entity_check($matches[2][$mk]);
170 - $string = str_replace($matches[1][$mk], $tmp_m, $string);
171 - }
172 -
173 - return $string;
174 -
175 -}
176 -
177 -function lz_entity_check($string){
178 -
179 - //Convert Hexadecimal to Decimal
180 - $num = ((substr($string, 0, 1) === 'x') ? hexdec(substr($string, 1)) : (int) $string);
181 -
182 - //Squares and Spaces - return nothing
183 - $string = (($num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num < 0x20) ? '' : '&#'.$num.';');
184 -
185 - return $string;
186 -
187 -}
188 -
189 -// Check if a checkbox is selected
190 -function lz_is_checked($post){
191 -
192 - if(!empty($_POST[$post])){
193 - return true;
194 - }
195 - return false;
196 -}
197 -
198 -// Reoort an error
199 -function lz_report_error($error = array()){
200 -
201 - if(empty($error)){
202 - return true;
203 - }
204 -
205 - $error_string = '<b>Please fix the below error(s) :</b> <br />';
206 -
207 - foreach($error as $ek => $ev){
208 - $error_string .= '* '.$ev.'<br />';
209 - }
210 -
211 - echo '<div id="message" class="error"><p>'
212 - . __($error_string, 'loginizer')
213 - . '</p></div>';
214 -}
215 -
216 -// Report a notice
217 -function lz_report_notice($notice = array()){
218 -
219 - global $wp_version;
220 -
221 - if(empty($notice)){
222 - return true;
223 - }
224 -
225 - // Which class do we have to use ?
226 - if(version_compare($wp_version, '3.8', '<')){
227 - $notice_class = 'updated';
228 - }else{
229 - $notice_class = 'updated';
230 - }
231 -
232 - $notice_string = '<b>Please check the below notice(s) :</b> <br />';
233 -
234 - foreach($notice as $ek => $ev){
235 - $notice_string .= '* '.$ev.'<br />';
236 - }
237 -
238 - echo '<div id="message" class="'.$notice_class.'"><p>'
239 - . __($notice_string, 'loginizer')
240 - . '</p></div>';
241 -}
242 -
243 -// Convert an objext to array
244 -function lz_objectToArray($d){
245 -
246 - if(is_object($d)){
247 - $d = get_object_vars($d);
248 - }
249 -
250 - if(is_array($d)){
251 - return array_map(__FUNCTION__, $d); // recursive
252 - }elseif(is_object($d)){
253 - return lz_objectToArray($d);
254 - }else{
255 - return $d;
256 - }
257 -}
258 -
259 -// Sanitize variables
260 -function lz_sanitize_variables($variables = array()){
261 -
262 - if(is_array($variables)){
263 - foreach($variables as $k => $v){
264 - $variables[$k] = trim($v);
265 - $variables[$k] = escapeshellcmd($v);
266 - }
267 - }else{
268 - $variables = escapeshellcmd(trim($variables));
269 - }
270 -
271 - return $variables;
272 -}
273 -
274 -// Is multisite ?
275 -function lz_is_multisite() {
276 -
277 - if(function_exists('get_site_option') && function_exists('is_multisite') && is_multisite()){
278 - return true;
279 - }
280 -
281 - return false;
282 -}
283 -
284 -// Generate a random string
285 -function lz_RandomString($length = 10){
286 - $characters = '0123456789abcdefghijklmnopqrstuvwxyz';
287 - $charactersLength = strlen($characters);
288 - $randomString = '';
289 - for($i = 0; $i < $length; $i++){
290 - $randomString .= $characters[rand(0, $charactersLength - 1)];
291 - }
292 - return $randomString;
293 -}
294 -
295 -function lz_print($array){
296 -
297 - echo '<pre>';
298 - print_r($array);
299 - echo '</pre>';
300 -
301 -}
302 -
303 -function lz_cleanpath($path){
304 - $path = str_replace('\\\\', '/', $path);
305 - $path = str_replace('\\', '/', $path);
306 - $path = str_replace('//', '/', $path);
307 - return rtrim($path, '/');
308 -}
309 -
310 -// Returns the Numeric Value of results Per Page
311 -function lz_get_page($get = 'page', $resperpage = 50){
312 -
313 - $resperpage = (!empty($_REQUEST['reslen']) && is_numeric($_REQUEST['reslen']) ? (int) lz_optreq('reslen') : $resperpage);
314 -
315 - if(lz_optget($get)){
316 - $pg = (int) lz_optget($get);
317 - $pg = $pg - 1;
318 - $page = ($pg * $resperpage);
319 - $page = ($page <= 0 ? 0 : $page);
320 - }else{
321 - $page = 0;
322 - }
323 - return $page;
324 -}
325 -
1 +<?php
2 +
3 +// Get the client IP
4 +function lz_getip(){
5 + if(isset($_SERVER["REMOTE_ADDR"])){
6 + return $_SERVER["REMOTE_ADDR"];
7 + }elseif(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
8 + return $_SERVER["HTTP_X_FORWARDED_FOR"];
9 + }elseif(isset($_SERVER["HTTP_CLIENT_IP"])){
10 + return $_SERVER["HTTP_CLIENT_IP"];
11 + }
12 +}
13 +
14 +// Execute a select query and return an array
15 +function lz_selectquery($query, $array = 0){
16 + global $wpdb;
17 +
18 + $result = $wpdb->get_results($query, 'ARRAY_A');
19 +
20 + if(empty($array)){
21 + return current($result);
22 + }else{
23 + return $result;
24 + }
25 +}
26 +
27 +// Check if an IP is valid
28 +function lz_valid_ip($ip){
29 +
30 + if(!ip2long($ip)){
31 + return false;
32 + }
33 + return true;
34 +}
35 +
36 +// Check if a field is posted via POST else return default value
37 +function lz_optpost($name, $default = ''){
38 +
39 + if(!empty($_POST[$name])){
40 + return lz_inputsec(lz_htmlizer(trim($_POST[$name])));
41 + }
42 +
43 + return $default;
44 +}
45 +
46 +// Check if a field is posted via GET else return default value
47 +function lz_optget($name, $default = ''){
48 +
49 + if(!empty($_GET[$name])){
50 + return lz_inputsec(lz_htmlizer(trim($_GET[$name])));
51 + }
52 +
53 + return $default;
54 +}
55 +
56 +// Check if a field is posted via GET or POST else return default value
57 +function lz_optreq($name, $default = ''){
58 +
59 + if(!empty($_REQUEST[$name])){
60 + return lz_inputsec(lz_htmlizer(trim($_REQUEST[$name])));
61 + }
62 +
63 + return $default;
64 +}
65 +
66 +function lz_inputsec($string){
67 +
68 + if(!get_magic_quotes_gpc()){
69 +
70 + $string = addslashes($string);
71 +
72 + }else{
73 +
74 + $string = stripslashes($string);
75 + $string = addslashes($string);
76 +
77 + }
78 +
79 + // This is to replace ` which can cause the command to be executed in exec()
80 + $string = str_replace('`', '\`', $string);
81 +
82 + return $string;
83 +
84 +}
85 +
86 +function lz_htmlizer($string){
87 +
88 + $string = htmlentities($string, ENT_QUOTES, 'UTF-8');
89 +
90 + $string = preg_replace('/(&amp;#(\d{1,7}|x[0-9a-fA-F]{1,6});)/e', 'entity_check(\\2);', $string);
91 +
92 + return $string;
93 +
94 +}
95 +
96 +// Check if a checkbox is selected
97 +function lz_is_checked($post){
98 +
99 + if(!empty($_POST[$post])){
100 + return true;
101 + }
102 + return false;
103 +}
104 +
105 +// Reoort an error
106 +function lz_report_error($error = array()){
107 +
108 + if(empty($error)){
109 + return true;
110 + }
111 +
112 + $error_string = '<b>Please fix the below error(s) :</b> <br />';
113 +
114 + foreach($error as $ek => $ev){
115 + $error_string .= '* '.$ev.'<br />';
116 + }
117 +
118 + echo '<div id="message" class="error"><p>'
119 + . __($error_string, 'loginizer')
120 + . '</p></div>';
121 +}
122 +
123 +// Report a notice
124 +function lz_report_notice($notice = array()){
125 +
126 + global $wp_version;
127 +
128 + if(empty($notice)){
129 + return true;
130 + }
131 +
132 + // Which class do we have to use ?
133 + if(version_compare($wp_version, '3.8', '<')){
134 + $notice_class = 'updated';
135 + }else{
136 + $notice_class = 'updated';
137 + }
138 +
139 + $notice_string = '<b>Please check the below notice(s) :</b> <br />';
140 +
141 + foreach($notice as $ek => $ev){
142 + $notice_string .= '* '.$ev.'<br />';
143 + }
144 +
145 + echo '<div id="message" class="'.$notice_class.'"><p>'
146 + . __($notice_string, 'loginizer')
147 + . '</p></div>';
148 +}
149 +
150 +// Convert an objext to array
151 +function lz_objectToArray($d){
152 +
153 + if(is_object($d)){
154 + $d = get_object_vars($d);
155 + }
156 +
157 + if(is_array($d)){
158 + return array_map(__FUNCTION__, $d); // recursive
159 + }elseif(is_object($d)){
160 + return lz_objectToArray($d);
161 + }else{
162 + return $d;
163 + }
164 +}
165 +
166 +// Sanitize variables
167 +function lz_sanitize_variables($variables = array()){
168 +
169 + if(is_array($variables)){
170 + foreach($variables as $k => $v){
171 + $variables[$k] = trim($v);
172 + $variables[$k] = escapeshellcmd($v);
173 + }
174 + }else{
175 + $variables = escapeshellcmd(trim($variables));
176 + }
177 +
178 + return $variables;
179 +}
180 +
181 +// Is multisite ?
182 +function lz_is_multisite() {
183 +
184 + if(function_exists('get_site_option') && function_exists('is_multisite') && is_multisite()){
185 + return true;
186 + }
187 +
188 + return false;
189 +}
190 +