public function onDispatch(FrontController $sender, $action) { if ($action == 'unsubscribe') { $request = FrontController::getRequest(); if ($request->get('hash') === $this->_getSubscribeHash($request->get('e'), $request->get('u'), $request->get('s'))) { $st = Statement::getById($request->getClean('s'), FrontController::getUser()); if (empty($st)) { $sender->msg('Error', 'Запрашиваемой идеи не найдено'); } $user = new stdClass(); $user->name = ''; $user->user_id = $request->getClean('u'); $user->email = $request->get('e'); $st->removeSubscriber($user); $sender->msg('Подписка', 'Вы были удачно отписаны от рассылки'); } else { $sender->msg('Error', 'Ошибка проверки хеша'); } return false; } return true; }
public function deleteAction() { $statement_id = $this->_request->getClean('statement_id'); if (!$statement_id) { return $this->renderText('{"result":"error", "code":1}'); } if (!in_array($this->_user->user_group, $this->_config['moder_groups']) && !in_array($this->_user->user_id, $this->_config['moders'])) { return $this->renderText('{"result":"error", "code":5}'); } $st = Statement::getById($statement_id, $this->_user); $st->delete(); return $this->renderText('{"result":"ok"}'); }
/** * * @return Statement */ public function getStatement() { return Statement::getById($this->getStatementId()); }