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(); }
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']); } } }