Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 function DeleteParamAction()
 {
     $request = Project::getRequest();
     $model = new ParamModel();
     $model->delete($request->id);
     Project::getResponse()->redirect($request->createUrl('AdminParameter', 'EditGroup', array('id' => $request->cid)));
 }
Esempio n. 3
0
 public function checkForUserBans($user)
 {
     $banHistoryModel = new BanHistoryModel();
     $paramModel = new ParamModel();
     if ($user['banned'] || $banHistoryModel->isBanned($user['id'])) {
         // если забанен , проверить может уже все
         $t_ban_time_sec = $paramModel->getParam("UserController", "T_BAN_TIME_SEC");
         if (time() > $user['banned_date'] + $t_ban_time_sec) {
             $this->load($user['id']);
             $this->banned = 0;
             $this->save();
             $banHistoryModel->unban($user['id'], 1);
         } else {
             Project::getSecurityManager()->logout();
             Project::getResponse()->redirect(Project::getRequest()->createUrl('User', 'Login', null, false) . "/error:ban/login:" . $user['login']);
         }
     }
 }
Esempio n. 4
0
 public function getCommonParam($param_name, $default = null)
 {
     $model = new ParamModel();
     $param_value = $model->getParam(null, $param_name);
     return $param_value === null ? $default : $param_value;
 }