public function execute(HTTPRequestCustom $request)
 {
     AppContext::get_session()->csrf_get_protect();
     $message = $this->get_message($request);
     $this->check_authorizations($message);
     ShoutboxService::delete('WHERE id=:id', array('id' => $message->get_id()));
     AppContext::get_response()->redirect($request->get_url_referrer() ? $request->get_url_referrer() : ShoutboxUrlBuilder::home(), LangLoader::get_message('shoutbox.message.success.delete', 'common', 'shoutbox'));
 }
 public function __construct($view, $title_page)
 {
     parent::__construct($view);
     $lang = LangLoader::get('common', 'shoutbox');
     $this->set_title($lang['module_title']);
     $this->add_link(LangLoader::get_message('configuration', 'admin-common'), ShoutboxUrlBuilder::configuration());
     $env = $this->get_graphical_environment();
     $env->set_page_title($title_page, $lang['module_title']);
 }
 private function generate_response()
 {
     $page = AppContext::get_request()->get_getint('page', 1);
     $response = new SiteDisplayResponse($this->view);
     $graphical_environment = $response->get_graphical_environment();
     $graphical_environment->set_page_title($this->lang['module_title']);
     $graphical_environment->get_seo_meta_data()->set_canonical_url(ShoutboxUrlBuilder::home($page));
     $breadcrumb = $graphical_environment->get_breadcrumb();
     $breadcrumb->add($this->lang['module_title'], ShoutboxUrlBuilder::home($page));
     return $response;
 }
 private function generate_response(View $tpl)
 {
     $message = $this->get_message();
     $page = AppContext::get_request()->get_getint('page', 1);
     $response = new SiteDisplayResponse($tpl);
     $graphical_environment = $response->get_graphical_environment();
     $breadcrumb = $graphical_environment->get_breadcrumb();
     $breadcrumb->add($this->lang['module_title'], ShoutboxUrlBuilder::home($page));
     if ($message->get_id() === null) {
         $graphical_environment->set_page_title($this->lang['shoutbox.add'], $this->lang['module_title']);
         $breadcrumb->add($this->lang['shoutbox.add'], ShoutboxUrlBuilder::add());
         $graphical_environment->get_seo_meta_data()->set_canonical_url(ShoutboxUrlBuilder::add());
     } else {
         $graphical_environment->set_page_title($this->lang['shoutbox.edit'], $this->lang['module_title']);
         $breadcrumb->add($this->lang['shoutbox.edit'], ShoutboxUrlBuilder::edit($message->get_id(), $page));
         $graphical_environment->get_seo_meta_data()->set_canonical_url(ShoutboxUrlBuilder::edit($message->get_id(), $page));
     }
     return $response;
 }
 public function get_actions_tree_links()
 {
     $tree = new ModuleTreeLinks();
     $tree->add_link(new AdminModuleLink(LangLoader::get_message('configuration', 'admin-common'), ShoutboxUrlBuilder::configuration()));
     return $tree;
 }
 public function get_array_tpl_vars($page = 1)
 {
     $user = $this->get_author_user();
     $user_group_color = User::get_group_color($user->get_groups(), $user->get_level(), true);
     return array('C_EDIT' => $this->is_authorized_to_edit(), 'C_DELETE' => $this->is_authorized_to_delete(), 'C_AUTHOR_EXIST' => $user->get_id() != User::VISITOR_LEVEL, 'C_USER_GROUP_COLOR' => !empty($user_group_color), 'ID' => $this->id, 'CONTENTS' => FormatingHelper::second_parse(stripslashes($this->contents)), 'DATE' => $this->creation_date->format(Date::FORMAT_DAY_MONTH_YEAR_HOUR_MINUTE), 'DATE_DAY' => $this->creation_date->get_day(), 'DATE_MONTH' => $this->creation_date->get_month(), 'DATE_YEAR' => $this->creation_date->get_year(), 'DATE_ISO8601' => $this->creation_date->format(Date::FORMAT_ISO8601), 'PSEUDO' => $this->login ? $this->login : $user->get_display_name(), 'USER_LEVEL_CLASS' => UserService::get_level_class($user->get_level()), 'USER_GROUP_COLOR' => $user_group_color, 'U_ANCHOR' => ShoutboxUrlBuilder::home($page, $this->id)->rel(), 'U_AUTHOR_PROFILE' => UserUrlBuilder::profile($this->get_author_user()->get_id())->rel(), 'U_EDIT' => ShoutboxUrlBuilder::edit($this->id, $page)->rel(), 'U_DELETE' => ShoutboxUrlBuilder::delete($this->id)->rel());
 }