public function renderComment(Comment $comm, $template) { $vars = array('id' => $comm->getId(), 'username' => $comm->getUsername(), 'text' => $comm->getText(), 'date' => date('j.m.Y H:i', $comm->getDate()), 'ip' => $comm->getIpAddress()); $user = FrontController::getUser(); $config = FrontController::$config; if (in_array($this->_user->user_group, $config['moder_groups']) || in_array($this->_user->user_id, $config['moders']) || ($user->user_id == $comm->getUserId() && $comm->getUserId() || $user->ip_address == $comm->getIpAddress() && $comm->getDate() > time() - $config['owner_comment_del_time'])) { $blocks['perm_del'] = true; } return $this->render($template, $vars, $blocks); }
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; }
/** * * @param int $id * @param stdClass $user * @return Statement|null */ public static function getById($id, stdClass $user = null) { if (!$user) { $user = FrontController::getUser(); } $row = self::$db->super_query("SELECT s.*, l.id AS isset FROM " . PREFIX . "_statement AS s\n LEFT OUTER JOIN " . PREFIX . "_statement_log AS l\n ON l.statement_id=s.id AND (l.user_id={$user->user_id} OR l.ip_address='" . $user->ip_address . "')\n WHERE s.id=" . $id); if ($row) { return new self($row); } else { return null; } }