| @@ -4,60 +4,10 @@ | ||
| 4 | 4 | die('HACKING ATTEMPT!'); |
| 5 | 5 | } |
| 6 | 6 | |
| 7 | 7 | include_once(LOGINIZER_DIR.'/lib/IPv6/IPv6.php'); |
| 8 | +include_once(LOGINIZER_DIR .'/common.php'); | |
| 8 | 9 | |
| 9 | -// Get the client IP | |
| 10 | -function _lz_getip(){ | |
| 11 | - if(isset($_SERVER["REMOTE_ADDR"])){ | |
| 12 | - return $_SERVER["REMOTE_ADDR"]; | |
| 13 | - }elseif(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ | |
| 14 | - return $_SERVER["HTTP_X_FORWARDED_FOR"]; | |
| 15 | - }elseif(isset($_SERVER["HTTP_CLIENT_IP"])){ | |
| 16 | - return $_SERVER["HTTP_CLIENT_IP"]; | |
| 17 | - } | |
| 18 | -} | |
| 19 | - | |
| 20 | -// Get the client IP | |
| 21 | -function lz_getip(){ | |
| 22 | - | |
| 23 | - global $loginizer; | |
| 24 | - | |
| 25 | - // Just so that we have something | |
| 26 | - $ip = _lz_getip(); | |
| 27 | - | |
| 28 | - $loginizer['ip_method'] = (int) @$loginizer['ip_method']; | |
| 29 | - | |
| 30 | - if(isset($_SERVER["REMOTE_ADDR"])){ | |
| 31 | - $ip = $_SERVER["REMOTE_ADDR"]; | |
| 32 | - } | |
| 33 | - | |
| 34 | - if(isset($_SERVER["HTTP_X_FORWARDED_FOR"]) && @$loginizer['ip_method'] == 1){ | |
| 35 | - if(strpos($_SERVER["HTTP_X_FORWARDED_FOR"], ',')){ | |
| 36 | - $temp_ip = explode(',', $_SERVER["HTTP_X_FORWARDED_FOR"]); | |
| 37 | - $ip = trim($temp_ip[0]); | |
| 38 | - }else{ | |
| 39 | - $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; | |
| 40 | - } | |
| 41 | - } | |
| 42 | - | |
| 43 | - if(isset($_SERVER["HTTP_CLIENT_IP"]) && @$loginizer['ip_method'] == 2){ | |
| 44 | - $ip = $_SERVER["HTTP_CLIENT_IP"]; | |
| 45 | - } | |
| 46 | - | |
| 47 | - if(@$loginizer['ip_method'] == 3 && isset($_SERVER[@$loginizer['custom_ip_method']])){ | |
| 48 | - $ip = $_SERVER[@$loginizer['custom_ip_method']]; | |
| 49 | - } | |
| 50 | - | |
| 51 | - // Hacking fix for X-Forwarded-For | |
| 52 | - if(!lz_valid_ip($ip)){ | |
| 53 | - return ''; | |
| 54 | - } | |
| 55 | - | |
| 56 | - return $ip; | |
| 57 | - | |
| 58 | -} | |
| 59 | - | |
| 60 | 10 | // Execute a select query and return an array |
| 61 | 11 | function lz_selectquery($query, $array = 0){ |
| 62 | 12 | global $wpdb; |
| 63 | 13 | |
| @@ -69,58 +19,8 @@ | ||
| 69 | 19 | return $result; |
| 70 | 20 | } |
| 71 | 21 | } |
| 72 | 22 | |
| 73 | -// Check if an IP is valid | |
| 74 | -function lz_valid_ip($ip){ | |
| 75 | - | |
| 76 | - if(empty($ip)){ | |
| 77 | - return false; | |
| 78 | - } | |
| 79 | - | |
| 80 | - // IPv6 | |
| 81 | - if(lz_valid_ipv6($ip)){ | |
| 82 | - return true; | |
| 83 | - } | |
| 84 | - | |
| 85 | - // IPv4 | |
| 86 | - if(!ip2long($ip) || !lz_valid_ipv4($ip)){ | |
| 87 | - return false; | |
| 88 | - } | |
| 89 | - | |
| 90 | - return true; | |
| 91 | -} | |
| 92 | - | |
| 93 | -function lz_valid_ipv4($ip){ | |
| 94 | - if(!preg_match('/^(\d){1,3}\.(\d){1,3}\.(\d){1,3}\.(\d){1,3}$/is', $ip) || substr_count($ip, '.') != 3){ | |
| 95 | - return false; | |
| 96 | - } | |
| 97 | - | |
| 98 | - $r = explode('.', $ip); | |
| 99 | - | |
| 100 | - foreach($r as $v){ | |
| 101 | - $v = (int) $v; | |
| 102 | - if($v > 255 || $v < 0){ | |
| 103 | - return false; | |
| 104 | - } | |
| 105 | - } | |
| 106 | - | |
| 107 | - return true; | |
| 108 | - | |
| 109 | -} | |
| 110 | - | |
| 111 | -function lz_valid_ipv6($ip){ | |
| 112 | - | |
| 113 | - $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}:))$/'; | |
| 114 | - | |
| 115 | - if(!preg_match($pattern, $ip)){ | |
| 116 | - return false; | |
| 117 | - } | |
| 118 | - | |
| 119 | - return true; | |
| 120 | - | |
| 121 | -} | |
| 122 | - | |
| 123 | 23 | // Check if a field is posted via POST else return default value |
| 124 | 24 | function lz_optpost($name, $default = ''){ |
| 125 | 25 | |
| 126 | 26 | if(!empty($_POST[$name])){ |
| @@ -244,9 +144,9 @@ | ||
| 244 | 144 | if(empty($error)){ |
| 245 | 145 | return true; |
| 246 | 146 | } |
| 247 | 147 | |
| 248 | - $error_string = '<b>Please fix the below error(s) :</b> <br />'; | |
| 148 | + $error_string = '<b>'.__('Please fix the below error(s)', 'loginizer').' :</b> <br />'; | |
| 249 | 149 | |
| 250 | 150 | foreach($error as $ek => $ev){ |
| 251 | 151 | $error_string .= '* '.$ev.'<br />'; |
| 252 | 152 | } |
| @@ -251,9 +151,9 @@ | ||
| 251 | 151 | $error_string .= '* '.$ev.'<br />'; |
| 252 | 152 | } |
| 253 | 153 | |
| 254 | 154 | echo '<div id="message" class="error"><p>' |
| 255 | - . __($error_string, 'loginizer') | |
| 155 | + . $error_string | |
| 256 | 156 | . '</p></div>'; |
| 257 | 157 | } |
| 258 | 158 | |
| 259 | 159 | // Report a notice |
| @@ -271,9 +171,9 @@ | ||
| 271 | 171 | }else{ |
| 272 | 172 | $notice_class = 'updated'; |
| 273 | 173 | } |
| 274 | 174 | |
| 275 | - $notice_string = '<b>Please check the below notice(s) :</b> <br />'; | |
| 175 | + $notice_string = '<b>'.__('Please check the below notice(s)', 'loginizer').' :</b> <br />'; | |
| 276 | 176 | |
| 277 | 177 | foreach($notice as $ek => $ev){ |
| 278 | 178 | $notice_string .= '* '.$ev.'<br />'; |
| 279 | 179 | } |
| @@ -278,9 +178,9 @@ | ||
| 278 | 178 | $notice_string .= '* '.$ev.'<br />'; |
| 279 | 179 | } |
| 280 | 180 | |
| 281 | 181 | echo '<div id="message" class="'.$notice_class.'"><p>' |
| 282 | - . __($notice_string, 'loginizer') | |
| 182 | + . $notice_string | |
| 283 | 183 | . '</p></div>'; |
| 284 | 184 | } |
| 285 | 185 | |
| 286 | 186 | // Convert an objext to array |
| @@ -690,9 +590,15 @@ | ||
| 690 | 590 | if(isAPI){ |
| 691 | 591 | target_url += "&lz_api=1"; |
| 692 | 592 | } |
| 693 | 593 | |
| 694 | - target_url += "&ref='.esc_url((is_ssl() ? 'https://' : 'http://').$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']).'" | |
| 594 | + let redirect_to = "'.(!empty($_GET['redirect_to']) ? wp_validate_redirect(esc_url($_GET['redirect_to'])) : '') .'"; | |
| 595 | + | |
| 596 | + if(redirect_to.length){ | |
| 597 | + target_url += "&ref="+redirect_to; | |
| 598 | + } else { | |
| 599 | + target_url += "&ref='.esc_url((is_ssl() ? 'https://' : 'http://').$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']).'" | |
| 600 | + } | |
| 695 | 601 | |
| 696 | 602 | if(lz_target_window == "same"){ |
| 697 | 603 | jQuery("#loginizer-social-loader-wrap").css("display", "flex"); |
| 698 | 604 | |
| @@ -734,9 +640,11 @@ | ||
| 734 | 640 | |
| 735 | 641 | } |
| 736 | 642 | |
| 737 | 643 | function loginizer_social_btn_login($return = false, $id = ''){ |
| 738 | - loginizer_social_btn($return, 'login'); | |
| 644 | + if(!loginizer_is_blacklisted()){ | |
| 645 | + loginizer_social_btn($return, 'login'); | |
| 646 | + } | |
| 739 | 647 | } |
| 740 | 648 | |
| 741 | 649 | function loginizer_get_social_error(){ |
| 742 | 650 | global $loginizer; |
| @@ -763,5 +671,5 @@ | ||
| 763 | 671 | |
| 764 | 672 | // Cleaning the error data |
| 765 | 673 | delete_site_transient($error_identifier); // Deleting the data |
| 766 | 674 | //setcookie('lz_social_error', '', time() - 300, COOKIEPATH, COOKIE_DOMAIN, is_ssl(), true); // have to delete |
| 767 | -} | |
| 675 | +} | |