/** * Обновляет данные пользователя * @return bool */ public function update() { $inCore = cmsCore::getInstance(); if (!$user_id){ $this->id = 0; $this->ip = $_SERVER['REMOTE_ADDR']; $this->is_admin = 0; $this->group_id = self::getGuestGroupId(); return true; } $info = $this->loadUser($user_id); if (!$info){ return false; } foreach($info as $key=>$value){ $this->{$key} = $value; } if (!file_exists(PATH.'/images/users/avatars/small/'.$this->imageurl) || !$this->imageurl){ $this->imageurl = 'nopic.jpg'; } $this->id = (int)$user_id; $this->checkBan(); return true; }
Строчка $this->ip = $_SERVER['REMOTE_ADDR'];
Я так понял тут IPшку берет. Проблема 100% не в скриптах, а в криво настроенном сервере.
public function loadUser($user_id) { $inDB = cmsDatabase::getInstance(); $inCore = cmsCore::getInstance(); $sql = "SELECT u.*, g.is_admin is_admin, p.imageurl as imageurl FROM cms_users u INNER JOIN cms_user_groups g ON g.id = u.group_id INNER JOIN cms_user_profiles p ON p.user_id = u.id WHERE u.id='$user_id' AND u.is_deleted = 0 AND u.is_locked = 0 LIMIT 1"; $result = $inDB->query($sql); if($inDB->num_rows($result) !== 1) { return false; } $info = $inDB->fetch_assoc($result); $info['ip'] = $_SERVER['REMOTE_ADDR']; return $info; }
причем здесь инстант?????Как выяснилось, ИНСТАНТ обрабатывает IP клиентов при условии
единственный и правильный способ получить ip адрес клиента это $_SERVER['REMOTE_ADDR']. точка.
у вас там совсем неучи работают видимо, меняйте хостера.