コード例 #1
0
ファイル: WarningModel.php プロジェクト: amanai/next24
 function add($user_id, $cause)
 {
     if (strlen(trim($cause))) {
         $userModel = new UserModel();
         $currentUser = Project::getUser()->getDbUser();
         $userModel->load($user_id);
         if ($userModel->id) {
             $banHistoryModel = new BanHistoryModel();
             $paramModel = new ParamModel();
             $n_warnings_to_ban = $paramModel->getParam("UserController", "N_WARNINGS_TO_BAN");
             $t_ban_time_sec = $paramModel->getParam("UserController", "T_BAN_TIME_SEC");
             $count_user_warnings = $this->getUserWarningCount($user_id);
             $this->clear();
             $this->user_id = (int) $user_id;
             $this->cause = $cause;
             $warning_id = $this->save();
             if ($userModel->warnings_fromlast_ban + 1 >= $n_warnings_to_ban) {
                 // пора банить
                 $subject = "Ваш аккаун заблокирован в системе Next24.ru";
                 $userModel->warnings_fromlast_ban = 0;
                 $userModel->banned = 1;
                 $userModel->banned_date = time();
                 $banHistoryModel->ban($user_id, $currentUser->id, $warning_id, date("Y-m-d H:i:s", time() + $t_ban_time_sec));
             } else {
                 $userModel->warnings_fromlast_ban = $userModel->warnings_fromlast_ban + 1;
                 $subject = "Администратор Next24.ru установил Вам предупреждение";
             }
             $userModel->save();
             $url_referer = $_SERVER['HTTP_REFERER'];
             $this->sendMessage((int) $user_id, $subject, $cause, $url_referer);
             return $warning_id;
         }
     }
     return 0;
 }
コード例 #2
0
ファイル: User.php プロジェクト: laiello/crindigan
 /**
  * Sets up the instance for a registered member.
  */
 public function setupMember()
 {
     $userId = $this->_session->userId;
     //$this->data = $this->_model->getUserInfo($userId);
     $this->_model->load($userId);
     $this->data['user_logouthash'] = sha1($this->id . sha1($this->salt) . sha1($this->name) . sha1(RPG::config('cookieSalt')));
 }
コード例 #3
0
ファイル: AdminUserController.php プロジェクト: amanai/next24
 function SaveAction()
 {
     $request = Project::getRequest();
     $user_id = (int) Project::getUser()->getDbUser()->id;
     $model = new UserModel();
     $model->load($request->id);
     $do_save = true;
     $this->_view->clearFlashMessages();
     if (!strlen(trim($request->login))) {
         $this->_view->addFlashMessage(FM::ERROR, "Не заполнено поле логин");
         $do_save = false;
     }
     if ($request->unbann) {
         $ban_model = new BanHistoryModel();
         $ban_model->unban($request->id, $user_id);
     }
     if ($request->bann) {
         if (strlen($request->warning)) {
             $ban_date = $request->ban_date;
             if (strlen($ban_date) && strtotime($ban_date) > time()) {
                 $warning_model = new WarningModel();
                 $warning_id = $warning_model->add($request->id, $request->warning);
                 $ban_model = new BanHistoryModel();
                 $ban_model->ban($request->id, $user_id, $warning_id, $request->ban_date);
             } else {
                 $this->_view->addFlashMessage(FM::ERROR, "Неверная дата бана");
                 $do_save = false;
             }
         } else {
             $this->_view->addFlashMessage(FM::ERROR, "Не заполнено предупреждение");
             $do_save = false;
         }
     }
     if ($do_save) {
         $this->_view->clearFlashMessages();
         $model->login = $request->login;
         $model->user_type_id = $request->user_group;
         if ($request->bann) {
             $model->banned = 1;
             $model->banned_date = strtotime($request->ban_date);
         } else {
             $model->banned = 0;
         }
         $ban_date = $request->ban_date;
         if (strlen($ban_date)) {
             //$ban_model = new Ban
         }
         $id = $model->save();
         $model = new UserTypeModel();
         $info = array();
         $info['group_list'] = $model->loadAll();
         $info['edit_controller'] = null;
         $info['edit_action'] = 'Edit';
         $this->makeUserList($info);
         $this->_view->AjaxList($info);
     }
     $this->_view->ajax();
 }
コード例 #4
0
 /**
  * If there is valid user logged in it returns a loaded instance of it
  * @return UserModel If there is a valid logged in user, false otherwise
  */
 public static function getLoggedInUser()
 {
     if (!isset($_SESSION['user_id'])) {
         return false;
     }
     $user_id = (int) $_SESSION['user_id'];
     if (!self::$__logged_user instanceof self) {
         self::$__logged_user = new self($user_id);
     }
     if (!self::$__logged_user->isLoaded()) {
         if (!self::$__logged_user->load()) {
             unset($_SESSION['user_id']);
             unset(self::$__logged_user);
             return false;
         }
     }
     return self::$__logged_user;
 }
コード例 #5
0
ファイル: UserModel.php プロジェクト: hackergarage/ThaFrame
 /**
  * @param string $name
  * @return UserModel
  */
 public static function getUserByName($name)
 {
     $DbConnection = DbConnection::getInstance();
     $Config = Config::getInstance();
     $sql = "SELECT {$Config->user_table_id} FROM {$Config->user_table} WHERE name='{$name}' LIMIT 1";
     if (!($user_id = $DbConnection->getOneValue($sql))) {
         return false;
     }
     $User = new UserModel($Config->user_table, (int) $user_id);
     $User->load();
     return $User;
 }
コード例 #6
0
ファイル: MessagesModel.php プロジェクト: amanai/next24
 function sendMessage($form, $to, $subject, $body, $avatar = false, $allow_html = true)
 {
     if ($allow_html) {
         $this->header = $subject;
         $this->m_text = $body;
     } else {
         $this->header = stripslashes(htmlspecialchars($subject));
         $this->m_text = stripslashes(htmlspecialchars($body));
     }
     $this->send_date = date("Y-m-d H:i:s");
     $this->author_id = $form;
     $this->recipient_id = $to;
     if (!$avatar) {
         $user = new UserModel();
         $user->load($from);
         $this->avatar_id = $user->getUserAvatar($user->id);
         $this->avatar_id = $this->avatar_id['id'];
     } else {
         $this->avatar_id = $avatar;
     }
     $this->is_read = 0;
     $this->is_deleted = 0;
     $messageId = $this->save();
     return $messageId;
 }
コード例 #7
0
 public function reset($key)
 {
     if (isset($key)) {
         $user = UserModel::load()->get(array(array('Reset_token', '=', $key)));
         if ($user) {
             if ($user[0]->Status_ID == 0) {
                 UserModel::load()->update(array('Status_ID' => 1), $user[0]->ID);
                 Session::set('SUCCESS', 'User activated!');
                 Redirect::to($this->url);
             } elseif ($user[0]->Status_ID == 1) {
                 Session::set('WARNING', 'User already activated!');
                 Redirect::to($this->url);
             } elseif ($user[0]->Status_ID == 2) {
                 Session::set('ERRORS', 'User blocked!');
                 Redirect::to($this->url);
             }
         }
         Session::set('ERRORS', 'User key invalid!');
         Redirect::to($this->url);
     }
 }
コード例 #8
0
 public function validateAction()
 {
     $Request = Request::getInstance();
     $user_id = $Request->user_id;
     $given_code = rawurldecode($Request->code);
     $User = new UserModel((int) $user_id);
     $User->load();
     if (!$User->validateCode($given_code)) {
         $this->gotoPage('/user', 'The validation code is invalid!');
     }
     $User->role = 'registered';
     $User->save();
     $this->gotoPage("/user", "Congratulations, now you are fully registered!<br/>please login");
 }
コード例 #9
0
 public function testRowsCanBeRemoved2()
 {
     UserModel::insert('dave', array('email' => '*****@*****.**', 'name' => 'Dave', 'age' => 33));
     $dave = UserModel::load('dave');
     $this->assertEquals($dave->email, '*****@*****.**');
     $this->assertEquals($dave->name, 'Dave');
     $this->assertEquals($dave->age, 33);
     $dave->delete();
     $dave2 = UserModel::load('dave');
     $this->assertNull($dave2);
 }