Устаревшая функция

  • Автор темы falloman2
  • Дата начала
falloman2
Местный
Сообщения
48
Реакции
6
Всем привет, столкнулся с такой проблемой в "ФФ". при регистрации либо при приминениях настроек в аккаунте, вылитает такое сообщение об ошибке:

Deprecated: Function ereg() is deprecated in Z:\home\mining-farm.com\www\classes\_class.func.php on line 124

гугл мне сказал о том что это сообщение говорит о том функция "ereg" устарела, и ее можно заменить на "preg_match" и все будет работать, но вот только это не помогло((

 
Holod
Участник
Сообщения
326
Реакции
24
falloman2 написал(а):
Deprecated: Function ereg()
Функция ereg() всё равно используется, или это ошибка до того как поставил preg_match?
 
Holod
Участник
Сообщения
326
Реакции
24
+ не в одном месте надо preg_match употребить, а ещё в нескольких местах.
 
falloman2
Местный
Сообщения
48
Реакции
6
Holod написал(а):
Функция ereg() всё равно используется, или это ошибка до того как поставил preg_match?
ошибка вылизала и до того как прописал в этих двух строках "preg_match"
 
falloman2
Местный
Сообщения
48
Реакции
6
Holod написал(а):
Функция ereg() всё равно используется, или это ошибка до того как поставил preg_match?
и если функция ereg все равно на 5.3 еще срабатывает, то как лучше сделать? просто поставить заглушку на вывод ошибок?
 
Holod
Участник
Сообщения
326
Реакции
24
falloman2 написал(а):
и если функция ereg все равно на 5.3 еще срабатывает, то как лучше сделать? просто поставить заглушку на вывод ошибок?
Заглушка не лучший вариант, лучше покапайся ещё в инете.
 
falloman2
Местный
Сообщения
48
Реакции
6
Holod написал(а):
Заглушка не лучший вариант, лучше покапайся ещё в инете.
пытаюсь)) но что то не получается...
 
Andreys
Участник
Сообщения
576
Реакции
40
falloman2 написал(а):
Всем привет, столкнулся с такой проблемой в "ФФ". при регистрации либо при приминениях настроек в аккаунте, вылитает такое сообщение об ошибке:

Deprecated: Function ereg() is deprecated in Z:\home\mining-farm.com\www\classes\_class.func.php on line 124

гугл мне сказал о том что это сообщение говорит о том функция "ereg" устарела, и ее можно заменить на "preg_match" и все будет работать, но вот только это не помогло((
Ты код сюда выложи может кто исправит, я сам пару раз правил.
 
falloman2
Местный
Сообщения
48
Реакции
6
Andreys написал(а):
Ты код сюда выложи может кто исправит, я сам пару раз правил.
PHP:
<?PHP
class func{

    public $UserIP = "Undefined"; # IP пользователя
    public $UserCode = "Undefined"; # Код от IP
    public $TableID = -1; # ID таблицы
    public $UserAgent = "Undefined"; // Браузер пользователя

    /*======================================================================*\
    Function:    __construct
    Output:        Нет
    Descriiption: Выполняется при создании экземпляра класса
    \*======================================================================*/
    public function __construct(){
        $this->UserIP = $this->GetUserIp();
        $this->UserCode = $this->IpCode();
        $this->UserAgent = $this->UserAgent();
    }
   
    /*======================================================================*\
    Function:    __destruct
    Output:        Нет
    Descriiption: Уничтожение объекта
    \*======================================================================*/
    public function __destruct(){
   
    }
   
   
   
    /*======================================================================*\
    Function:    IpToLong
    Descriiption: Преобразует IP в целочисленное
    \*======================================================================*/
    public function IpToInt($ip){
   
        $ip = ip2long($ip);
        ($ip < 0) ? $ip+=4294967296 : true;
        return $ip;
    }
   
   
    /*======================================================================*\
    Function:    IpToLong
    Descriiption: Преобразует целочисленное в IP
    \*======================================================================*/
    public function IntToIP($int){
          return long2ip($int); 
    }
   
   
    /*======================================================================*\
    Function:    GetUserIp
    Output:        UserIp
    Descriiption: Определяет IP пользователя
    \*======================================================================*/
    public function GetUserIp(){
   
        if($this->UserIP == "Undefined"){
           
            if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND !empty($_SERVER['HTTP_X_FORWARDED_FOR']))
               {
               
            $client_ip = ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : ( ( !empty($_ENV['REMOTE_ADDR']) ) ? $_ENV['REMOTE_ADDR'] : "unknown" );
              $entries = split('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']);

              reset($entries);
               
                while (list(, $entry) = each($entries))
                {
                $entry = trim($entry);
                    if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) )
                     {
                   
                    $private_ip = array(
                          '/^0\./',
                          '/^127\.0\.0\.1/',
                          '/^192\.168\..*/',
                          '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',
                          '/^10\..*/');
       
                        $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
       
                        if ($client_ip != $found_ip)
                        {
                           $client_ip = $found_ip;
                           break;
                        }
                       
                    }
                   
                }
           
            $this->UserIP = $client_ip;
            return $client_ip;
           
            }else return ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : ( ( !empty($_ENV['REMOTE_ADDR']) ) ? $_ENV['REMOTE_ADDR'] : "unknown" );
       
        }else return $this->UserIP;
   
    }
   
   
    /*======================================================================*\
    Function:    IsLogin
    Output:        True / False
    Input:        Строка логина, Маска, Длина ("10, 25") && ("10")
    Descriiption: Проверяет правильность ввода логина
    \*======================================================================*/
    public function IsLogin($login, $mask = "^[a-zA-Z0-9]", $len = "{4,10}"){
       
        return (is_array($login)) ? false : (ereg("{$mask}{$len}$", $login)) ? $login : false;
   
    }
   
    /*======================================================================*\
    Function:    IsPassword
    Output:        True / False
    Input:        Строка пароля, Маска, Длина ("10, 25") && ("10")
    Descriiption: Проверяет правильность ввода пароля
    \*======================================================================*/
    public function IsPassword($password, $mask = "^[a-zA-Z0-9]", $len = "{4,20}"){
       
        return (is_array($password)) ? false : (ereg("{$mask}{$len}$", $password)) ? $password : false;
   
    }
   
   
    /*======================================================================*\
    Function:    IsWM
    Output:        True / False
    Input:        Реквизит, TYPE: 0 - WMID, 1 - WMR, 2 - WMZ, 3 - WME, 4 - WMU
    Descriiption: Проверяет правильность ввода пароля
    \*======================================================================*/
    public function IsWM($data, $type = 0){
       
        $FirstChar = array( 1 => "R",
                            2 => "Z",
                            3 => "E",
                            4 => "U");
       
        if(strlen($data) < 12 && strlen($data) > 12 && $type < 0 && $type > count($FirstChar)) return false;
            if($type == 0) return (is_array($data)) ? false : ( ereg("^[0-9]{12}$", $data) ? $data : false );
                if( substr(strtoupper($data),0,1) != $FirstChar[$type] or !ereg("^[0-9]{12}", substr($data,1)) ) return false;
           
            return $data;
    }
   
    /*======================================================================*\
    Function:    IsMail
    Output:        True / False
    Input:        Email
    Descriiption: Проверяет правильность ввода email адреса
    \*======================================================================*/
    public function IsMail($mail){
       
        if(is_array($mail) && empty($mail) && strlen($mail) > 255 && strpos($mail,'@') > 64) return false;
            return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $mail)) ? false : strtolower($mail);
           
    }
   
    /*======================================================================*\
    Function:    IpCode
    Output:        String, Example 255025502550255
    Input:        -
    Descriiption: Возвращает IP с замененными знаками "." на "0"
    \*======================================================================*/
    public function IpCode(){
       
        $arr_mask = explode(".",$this->GetUserIp());
        return $arr_mask[0].".".$arr_mask[1].".".$arr_mask[2].".0";

    }
   
    /*======================================================================*\
    Function:    GetTime
    Descriiption: Возвращаер дату
    \*======================================================================*/
    public function GetTime($tis = 0, $unix = true, $template = "d.m.Y H:i:s"){
       
        if($tis == 0){
            return ($unix) ? time() : date($template,time());
        }else return date($template,$unix);
    }
   
    /*======================================================================*\
    Function:    UserAgent
    Descriiption: Возвращает браузер пользователя
    \*======================================================================*/
    public function UserAgent(){
       
        return $this->TextClean($_SERVER['HTTP_USER_AGENT']);
       
    }
   
    /*======================================================================*\
    Function:    TextClean
    Descriiption: Очистка текста
    \*======================================================================*/
    public function TextClean($text){
       
        $array_find = array("`", "<", ">", "^", '"', "~", "\\");
        $array_replace = array("&#96;", "&lt;", "&gt;", "&circ;", "&quot;", "&tilde;", "");
       
       
       
        return str_replace($array_find, $array_replace, $text);
       
    }
   
    /*======================================================================*\
    Function:    ShowError
    Descriiption: Выводит список ошибок строкой
    \*======================================================================*/
    public function ShowError($errorArray = array(), $title = "Исправьте следующие ошибки"){
       
        if(count($errorArray) > 0){
       
        $string_a = "<div class='Error'><div class='ErrorTitle'>".$title."</div><ul>";
       
            foreach($errorArray as $number => $value){
               
                $string_a .= "<li>".($number+1)." - ".$value."</li>";
               
            }
           
        $string_a .= "</ul></div><BR />";
        return $string_a;
        }else return "Неизвестная ошибка :(";
       
    }
   
   
    /*======================================================================*\
    Function:    ComissionWm
    Descriiption: Возвращает комиссию WM
    \*======================================================================*/
    public function ComissionWm($sum, $com_payee, $com_payysys){
       
        $a = ceil(ceil($sum * $com_payee * 100) / 10000*100) / 100;
        $b = ceil(ceil($sum * str_replace("%","",$com_payysys) * 100) / 10000*100) / 100;
        return $a+$b;
    }
   
    /*======================================================================*\
    Function:    md5Password
    Descriiption: Возвращает md5_пароля
    \*======================================================================*/
    public function md5Password($pass){
        $pass = strtolower($pass);
        return md5("shark_md5"."-".$pass);
       
    }
   
   
   
    /*======================================================================*\
    Function:    ControlCode
    Descriiption: Возвращает контрольное число
    \*======================================================================*/
    public function ControlCode($time = 0){
       
        return ($time > 0) ? date("Ymd", $time) : date("Ymd");
       
    }
   
   
    /*======================================================================*\
    Function:    SumCalc
    Descriiption: Возвращает сумму овощей
    \*======================================================================*/
    public function SumCalc($per_h, $sum_tree, $last_sbor){
       
        if($last_sbor > 0){
       
            if($sum_tree > 0 AND $per_h > 0){
           
                $last_sbor = ($last_sbor < time()) ? (time() - $last_sbor) : 0;
           
                $per_sec = $per_h / 3600;
               
                return round( ($per_sec * $sum_tree) * $last_sbor);
               
            }else return 0;
       
        }else return 0;
       
    }
   
   
    /*======================================================================*\
    Function:    SellItems
    Descriiption: Выводит сумму и остаток
    \*======================================================================*/
    public function SellItems($all_items, $for_one_coin){
       
        if($all_items <= 0 OR $for_one_coin <= 0) return 0;
       
        return sprintf("%.2f", ($all_items / $for_one_coin));
       
    }
   
   

}
?>
 
Andreys
Участник
Сообщения
576
Реакции
40
  • #10
Вот человек прям буквально понял) выложил весь код).
Надо было только строчку в которой ошибка.)
Я примерно н а угад понял что в этой строчке ?
return (is_array($password)) ? false : (ereg("{$mask}{$len}$", $password)) ? $password : false;
вот ниже изменил ее вроде должно работать.

return (is_array($password)) ? false : (preg_match("\{mask}{$len}$\i", $password)) ? $password : false;
 
falloman2
Местный
Сообщения
48
Реакции
6
  • #11
теперь вот что выдает:
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in Z:\home\mining-farm.com\www\classes\_class.func.php on line 112

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in Z:\home\mining-farm.com\www\classes\_class.func.php on line 124[/QUOTE]
 
Последнее редактирование:
Andreys
Участник
Сообщения
576
Реакции
40
  • #12
Последнее редактирование:
Сверху