PluginProbe
Loginizer / 1.0
Loginizer v1.0
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
loginizer / functions.php

functions.php in Loginizer 1.0, at functions.php

219 lines 4.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 // Get the value of option from lz_options table
15 function lz_get_option($option_name, $default = ''){
16
17 global $wpdb;
18
19 $result = lz_selectquery("SELECT `option_value` FROM `".$wpdb->prefix."lz_options` WHERE `option_name` = '".$option_name."';");
20
21 if(!empty($result['option_value'])){
22 return $result['option_value'];
23 }
24
25 return $default;
26 }
27
28 // Update the value of an option in lz_options table
29 function lz_update_option($option_name, $value){
30
31 global $wpdb;
32
33 $result = $wpdb->query("INSERT INTO `".$wpdb->prefix."lz_options` SET `option_name` = '".$option_name."', `option_value` = '".$value."', `updated` = '".time()."' ON DUPLICATE KEY UPDATE `option_value` = '".$value."', `updated` = '".time()."';");
34
35 if(empty($result)){
36 return false;
37 }
38
39 return true;
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 if(!ip2long($ip)){
59 return false;
60 }
61 return true;
62 }
63
64 // Check if a field is posted via POST else return default value
65 function lz_optpost($name, $default = ''){
66
67 if(!empty($_POST[$name])){
68 return lz_inputsec(lz_htmlizer(trim($_POST[$name])));
69 }
70
71 return $default;
72 }
73
74 // Check if a field is posted via GET else return default value
75 function lz_optget($name, $default = ''){
76
77 if(!empty($_GET[$name])){
78 return lz_inputsec(lz_htmlizer(trim($_GET[$name])));
79 }
80
81 return $default;
82 }
83
84 // Check if a field is posted via GET or POST else return default value
85 function lz_optreq($name, $default = ''){
86
87 if(!empty($_REQUEST[$name])){
88 return lz_inputsec(lz_htmlizer(trim($_REQUEST[$name])));
89 }
90
91 return $default;
92 }
93
94 function lz_inputsec($string){
95
96 if(!get_magic_quotes_gpc()){
97
98 $string = addslashes($string);
99
100 }else{
101
102 $string = stripslashes($string);
103 $string = addslashes($string);
104
105 }
106
107 // This is to replace ` which can cause the command to be executed in exec()
108 $string = str_replace('`', '\`', $string);
109
110 return $string;
111
112 }
113
114 function lz_htmlizer($string){
115
116 $string = htmlentities($string, ENT_QUOTES, 'UTF-8');
117
118 $string = preg_replace('/(&amp;#(\d{1,7}|x[0-9a-fA-F]{1,6});)/e', 'entity_check(\\2);', $string);
119
120 return $string;
121
122 }
123
124 // Check if a checkbox is selected
125 function lz_is_checked($post){
126
127 if(!empty($_POST[$post])){
128 return true;
129 }
130 return false;
131 }
132
133 // Reoort an error
134 function lz_report_error($error = array()){
135
136 if(empty($error)){
137 return true;
138 }
139
140 $error_string = '<b>Please fix the below error(s) :</b> <br />';
141
142 foreach($error as $ek => $ev){
143 $error_string .= '* '.$ev.'<br />';
144 }
145
146 echo '<div id="message" class="error"><p>'
147 . __($error_string, 'loginizer')
148 . '</p></div>';
149 }
150
151 // Report a notice
152 function lz_report_notice($notice = array()){
153
154 global $wp_version;
155
156 if(empty($notice)){
157 return true;
158 }
159
160 // Which class do we have to use ?
161 if(version_compare($wp_version, '3.8', '<')){
162 $notice_class = 'updated';
163 }else{
164 $notice_class = 'updated';
165 }
166
167 $notice_string = '<b>Please check the below notice(s) :</b> <br />';
168
169 foreach($notice as $ek => $ev){
170 $notice_string .= '* '.$ev.'<br />';
171 }
172
173 echo '<div id="message" class="'.$notice_class.'"><p>'
174 . __($notice_string, 'loginizer')
175 . '</p></div>';
176 }
177
178 // Convert an objext to array
179 function lz_objectToArray($d){
180
181 if(is_object($d)){
182 $d = get_object_vars($d);
183 }
184
185 if(is_array($d)){
186 return array_map(__FUNCTION__, $d); // recursive
187 }elseif(is_object($d)){
188 return lz_objectToArray($d);
189 }else{
190 return $d;
191 }
192 }
193
194 // Sanitize variables
195 function lz_sanitize_variables($variables = array()){
196
197 if(is_array($variables)){
198 foreach($variables as $k => $v){
199 $variables[$k] = trim($v);
200 $variables[$k] = escapeshellcmd($v);
201 }
202 }else{
203 $variables = escapeshellcmd(trim($variables));
204 }
205
206 return $variables;
207 }
208
209 // Is multisite ?
210 function lz_is_multisite() {
211
212 if(function_exists('get_site_option') && function_exists('is_multisite') && is_multisite()){
213 return true;
214 }
215
216 return false;
217 }
218
219 ?>