diff --git a/3.0/modules/content_warning/controllers/admin_content_warning.php b/3.0/modules/content_warning/controllers/admin_content_warning.php new file mode 100644 index 00000000..18f4bebc --- /dev/null +++ b/3.0/modules/content_warning/controllers/admin_content_warning.php @@ -0,0 +1,62 @@ +_get_view(); + } + + public function handler() { + access::verify_csrf(); + + $form = $this->_get_form(); + + if ($form->validate()) { + module::set_var("content_warning", "title", $form->content_warning->inputs["title"]->value); + module::set_var("content_warning", "message", $form->content_warning->inputs["message"]->value); + module::set_var("content_warning", "enter_link_text", $form->content_warning->inputs["enter_link_text"]->value); + //module::set_var("content_warning", "enter_link_url", $form->content_warning->inputs["enter_link_url"]->value); + module::set_var("content_warning", "exit_link_text", $form->content_warning->inputs["exit_link_text"]->value); + module::set_var("content_warning", "exit_link_url", $form->content_warning->inputs["exit_link_url"]->value); + url::redirect("admin/content_warning"); + } + print $this->_get_view($form); + } + + private function _get_view($form=null) { + $v = new Admin_View("admin.html"); + $v->content = new View("admin_content_warning.html"); + $v->content->form = empty($form) ? $this->_get_form() : $form; + return $v; + } + + private function _get_form() { + $form = new Forge("admin/content_warning/handler", "", "post", + array("id" => "gAdminContentWerning")); + $group = $form->group("content_warning"); + $group->input("title")->label(t('Title (Will be displayed within H3)'))->rules("required")->value(module::get_var("content_warning", "title")); + $group->textarea("message")->label(t('Message (you can use HTML tags)'))->rules("required")->value(module::get_var("content_warning", "message")); + $group->input("enter_link_text")->label(t('Enter Label'))->rules("required")->value(module::get_var("content_warning", "enter_link_text")); + //$group->input("enter_link_url")->label(t('Enter Url (Leave empty to redirect to the previous page)'))->value(module::get_var("content_warning", "enter_link_url")); + $group->input("exit_link_text")->label(t('Exit Label'))->rules("required")->value(module::get_var("content_warning", "exit_link_text")); + $group->input("exit_link_url")->label(t('Exit Url'))->rules("required")->value(module::get_var("content_warning", "exit_link_url")); + + $group->submit("submit")->value(t("Save")); + return $form; + } +} \ No newline at end of file diff --git a/3.0/modules/content_warning/controllers/content_warning.php b/3.0/modules/content_warning/controllers/content_warning.php new file mode 100644 index 00000000..4d4be6af --- /dev/null +++ b/3.0/modules/content_warning/controllers/content_warning.php @@ -0,0 +1,27 @@ +get("settings_menu") + ->append(Menu::factory("link") + ->id("content_warning_menu") + ->label(t("Content Warning")) + ->url(url::site("admin/content_warning"))); + } +} diff --git a/3.0/modules/content_warning/helpers/content_warning_installer.php b/3.0/modules/content_warning/helpers/content_warning_installer.php new file mode 100644 index 00000000..6c0df195 --- /dev/null +++ b/3.0/modules/content_warning/helpers/content_warning_installer.php @@ -0,0 +1,41 @@ + + + + + '; + return $h; + } + + static function page_top($theme) { + $cw = ' +
+
+

'.module::get_var("content_warning", "title").'

+
+

'.nl2br(module::get_var("content_warning", "message")).'

+
+
+ + +
+
+ '; + if(!isset($_COOKIE['cw_agree'])) { + return $cw; + } + } +} \ No newline at end of file diff --git a/3.0/modules/content_warning/jqModal.css b/3.0/modules/content_warning/jqModal.css new file mode 100644 index 00000000..02698748 --- /dev/null +++ b/3.0/modules/content_warning/jqModal.css @@ -0,0 +1,65 @@ +/* jqModal base Styling courtesy of; + Brice Burgess */ + +/* The Window's CSS z-index value is respected (takes priority). If none is supplied, + the Window's z-index value will be set to 3000 by default (via jqModal.js). */ + +.jqmWindow { + display: none; + position: fixed; + top: 5%; + left: 5%; + /*margin-left: -500px;*/ + width: 90%; + height: 90%; + background-color: #EEE; + color: #333; + border: 1px solid black; + padding: 12px; +} + +.jqmOverlay { + background-color: #000; +} + +/* Background iframe styling for IE6. Prevents ActiveX bleed-through (