| @@ 796-828 (lines=33) @@ | ||
| 793 | return str_replace('/', DIRECTORY_SEPARATOR, $pathname); |
|
| 794 | } |
|
| 795 | // OSCOM v2.2rc2a compatibility |
|
| 796 | function getIpAddress() { |
|
| 797 | if ( function_exists('tep_get_ip_address') ) { |
|
| 798 | return tep_get_ip_address(); |
|
| 799 | } |
|
| 800 | global $HTTP_SERVER_VARS; |
|
| 801 | $ip_address = null; |
|
| 802 | $ip_addresses = array(); |
|
| 803 | if (isset($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']) && !empty($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'])) { |
|
| 804 | foreach ( array_reverse(explode(',', $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'])) as $x_ip ) { |
|
| 805 | $x_ip = trim($x_ip); |
|
| 806 | if ($this->isValidIpAddress($x_ip)) { |
|
| 807 | $ip_addresses[] = $x_ip; |
|
| 808 | } |
|
| 809 | } |
|
| 810 | } |
|
| 811 | if (isset($HTTP_SERVER_VARS['HTTP_CLIENT_IP']) && !empty($HTTP_SERVER_VARS['HTTP_CLIENT_IP'])) { |
|
| 812 | $ip_addresses[] = $HTTP_SERVER_VARS['HTTP_CLIENT_IP']; |
|
| 813 | } |
|
| 814 | if (isset($HTTP_SERVER_VARS['HTTP_X_CLUSTER_CLIENT_IP']) && !empty($HTTP_SERVER_VARS['HTTP_X_CLUSTER_CLIENT_IP'])) { |
|
| 815 | $ip_addresses[] = $HTTP_SERVER_VARS['HTTP_X_CLUSTER_CLIENT_IP']; |
|
| 816 | } |
|
| 817 | if (isset($HTTP_SERVER_VARS['HTTP_PROXY_USER']) && !empty($HTTP_SERVER_VARS['HTTP_PROXY_USER'])) { |
|
| 818 | $ip_addresses[] = $HTTP_SERVER_VARS['HTTP_PROXY_USER']; |
|
| 819 | } |
|
| 820 | $ip_addresses[] = $HTTP_SERVER_VARS['REMOTE_ADDR']; |
|
| 821 | foreach ( $ip_addresses as $ip ) { |
|
| 822 | if (!empty($ip) && $this->isValidIpAddress($ip)) { |
|
| 823 | $ip_address = $ip; |
|
| 824 | break; |
|
| 825 | } |
|
| 826 | } |
|
| 827 | return $ip_address; |
|
| 828 | } |
|
| 829 | // OSCOM v2.2rc2a compatibility |
|
| 830 | function isValidIpAddress($ip_address) { |
|
| 831 | if ( function_exists('tep_validate_ip_address') ) { |
|
| @@ 850-882 (lines=33) @@ | ||
| 847 | return str_replace('/', DIRECTORY_SEPARATOR, $pathname); |
|
| 848 | } |
|
| 849 | // OSCOM v2.2rc2a compatibility |
|
| 850 | function getIpAddress() { |
|
| 851 | if ( function_exists('tep_get_ip_address') ) { |
|
| 852 | return tep_get_ip_address(); |
|
| 853 | } |
|
| 854 | global $HTTP_SERVER_VARS; |
|
| 855 | $ip_address = null; |
|
| 856 | $ip_addresses = array(); |
|
| 857 | if (isset($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']) && !empty($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'])) { |
|
| 858 | foreach ( array_reverse(explode(',', $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'])) as $x_ip ) { |
|
| 859 | $x_ip = trim($x_ip); |
|
| 860 | if ($this->isValidIpAddress($x_ip)) { |
|
| 861 | $ip_addresses[] = $x_ip; |
|
| 862 | } |
|
| 863 | } |
|
| 864 | } |
|
| 865 | if (isset($HTTP_SERVER_VARS['HTTP_CLIENT_IP']) && !empty($HTTP_SERVER_VARS['HTTP_CLIENT_IP'])) { |
|
| 866 | $ip_addresses[] = $HTTP_SERVER_VARS['HTTP_CLIENT_IP']; |
|
| 867 | } |
|
| 868 | if (isset($HTTP_SERVER_VARS['HTTP_X_CLUSTER_CLIENT_IP']) && !empty($HTTP_SERVER_VARS['HTTP_X_CLUSTER_CLIENT_IP'])) { |
|
| 869 | $ip_addresses[] = $HTTP_SERVER_VARS['HTTP_X_CLUSTER_CLIENT_IP']; |
|
| 870 | } |
|
| 871 | if (isset($HTTP_SERVER_VARS['HTTP_PROXY_USER']) && !empty($HTTP_SERVER_VARS['HTTP_PROXY_USER'])) { |
|
| 872 | $ip_addresses[] = $HTTP_SERVER_VARS['HTTP_PROXY_USER']; |
|
| 873 | } |
|
| 874 | $ip_addresses[] = $HTTP_SERVER_VARS['REMOTE_ADDR']; |
|
| 875 | foreach ( $ip_addresses as $ip ) { |
|
| 876 | if (!empty($ip) && $this->isValidIpAddress($ip)) { |
|
| 877 | $ip_address = $ip; |
|
| 878 | break; |
|
| 879 | } |
|
| 880 | } |
|
| 881 | return $ip_address; |
|
| 882 | } |
|
| 883 | // OSCOM v2.2rc2a compatibility |
|
| 884 | function isValidIpAddress($ip_address) { |
|
| 885 | if ( function_exists('tep_validate_ip_address') ) { |
|