public function get_actions_tree_links() { $lang = LangLoader::get('common', 'newsletter'); $tree = new ModuleTreeLinks(); $manage_newsletter_link = new AdminModuleLink($lang['newsletter.streams.manage'], NewsletterUrlBuilder::manage_streams()); $manage_newsletter_link->add_sub_link(new AdminModuleLink($lang['newsletter.streams.manage'], NewsletterUrlBuilder::manage_streams())); $manage_newsletter_link->add_sub_link(new AdminModuleLink($lang['stream.add'], NewsletterUrlBuilder::add_stream())); $tree->add_link($manage_newsletter_link); $tree->add_link(new AdminModuleLink(LangLoader::get_message('configuration', 'admin'), NewsletterUrlBuilder::configuration())); $tree->add_link(new ModuleLink($lang['newsletter-add'], NewsletterUrlBuilder::add_newsletter(), NewsletterAuthorizationsService::default_authorizations()->create_newsletters())); $tree->add_link(new ModuleLink($lang['newsletter.archives'], NewsletterUrlBuilder::archives(), NewsletterAuthorizationsService::default_authorizations()->read_archives())); return $tree; }
public function execute(HTTPRequestCustom $request) { if (!NewsletterAuthorizationsService::default_authorizations()->moderation_subscribers()) { NewsletterAuthorizationsService::get_errors()->moderation_subscribers(); } $id = $request->get_getint('id', 0); $this->init(); $verificate_is_edit = PersistenceContext::get_querier()->count(NewsletterSetup::$newsletter_table_subscribers, "WHERE id = '" . $id . "' AND user_id = -1") > 0; if (!$this->subscriber_exist($id) || !$verificate_is_edit) { $controller = new UserErrorController(LangLoader::get_message('error', 'status-messages-common'), LangLoader::get_message('error-subscriber-not-existed', 'common', 'newsletter')); DispatchManager::redirect($controller); } $this->build_form($id); $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #'); $tpl->add_lang($this->lang); if ($this->submit_button->has_been_submited() && $this->form->validate()) { $this->save($id); $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('process.success', 'status-messages-common'), MessageHelper::SUCCESS, 4)); } $tpl->put('FORM', $this->form->display()); return $this->build_response($tpl); }
public function execute(HTTPRequestCustom $request) { if (!NewsletterAuthorizationsService::default_authorizations()->create_newsletters()) { NewsletterAuthorizationsService::get_errors()->create_newsletters(); } $type = $request->get_value('type', ''); $this->init(); $this->build_form($type); $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #'); $tpl->add_lang($this->lang); if ($this->submit_button->has_been_submited() && $this->form->validate()) { $this->send_mail($type); $tpl->put('MSG', MessageHelper::display($this->lang['newsletter.message.success.add'], MessageHelper::SUCCESS, 5)); } else { if ($this->send_test_button->has_been_submited() && $this->form->validate()) { $this->send_test($type); $tpl->put('MSG', MessageHelper::display($this->lang['newsletter.success-send-test'], MessageHelper::SUCCESS, 5)); } } $tpl->put('FORM', $this->form->display()); return $this->build_response($tpl, $type); }
private function check_authorizations() { if (!NewsletterAuthorizationsService::default_authorizations()->create_newsletters()) { NewsletterAuthorizationsService::get_errors()->create_newsletters(); } }