Added the option to display Pages links in the menu.
This commit is contained in:
parent
c2ef8ea7c4
commit
260d7369b1
@ -57,12 +57,14 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
$page_name = urlencode(trim(Input::instance()->post("page_name")));
|
||||
$page_title = Input::instance()->post("page_title");
|
||||
$page_code = Input::instance()->post("page_code");
|
||||
$display_menu = Input::instance()->post("display_menu");
|
||||
|
||||
// If $page_id is set, update an existing page.
|
||||
if (isset($page_id)) {
|
||||
$update_page = ORM::factory("static_page", $page_id);
|
||||
$update_page->title = $page_title;
|
||||
$update_page->html_code = $page_code;
|
||||
$update_page->display_menu = $display_menu;
|
||||
$update_page->save();
|
||||
message::success(t("Page %page_name updated", array("page_name" => $update_page->name)));
|
||||
log::success("pages", t("Page %page_name updated", array("page_name" => $update_page->name)));
|
||||
@ -81,6 +83,7 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
$new_page->name = $page_name;
|
||||
$new_page->title = $page_title;
|
||||
$new_page->html_code = $page_code;
|
||||
$new_page->display_menu = $display_menu;
|
||||
$new_page->save();
|
||||
message::success(t("Page %page_name created", array("page_name" => $page_name)));
|
||||
log::success("pages", t("Page %page_name created", array("page_name" => $page_name)));
|
||||
@ -92,7 +95,7 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t("Edit page");
|
||||
$view->content = new View("admin_pages_new.html");
|
||||
$view->content->form = $this->get_overwrite_page_form($existing_page[0]->id, $page_name, $page_title, $page_code);
|
||||
$view->content->form = $this->get_overwrite_page_form($existing_page[0]->id, $page_name, $page_title, $page_code, $display_menu);
|
||||
print $view;
|
||||
}
|
||||
}
|
||||
@ -196,13 +199,16 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
->label(t("Title"));
|
||||
$pages_group->textarea("page_code")
|
||||
->label(t("HTML Code"));
|
||||
$pages_group->checkbox("display_menu")
|
||||
->label(t("Display in menu?"))
|
||||
->checked(false);
|
||||
$pages_group->submit("save_page")
|
||||
->value(t("Save"));
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
private function get_overwrite_page_form($id, $name, $title, $html_code) {
|
||||
private function get_overwrite_page_form($id, $name, $title, $html_code, $display_menu) {
|
||||
// Generate a form for overwriting an existing page.
|
||||
$form = new Forge("admin/pages/savepage", "", "post",
|
||||
array("id" => "g-pages-admin-form"));
|
||||
@ -220,6 +226,9 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
$pages_group->textarea("page_code")
|
||||
->label(t("HTML Code"))
|
||||
->value($html_code);
|
||||
$pages_group->checkbox("display_menu")
|
||||
->label(t("Display in menu?"))
|
||||
->checked($display_menu);
|
||||
$pages_group->submit("save_page")
|
||||
->value(t("Save"));
|
||||
|
||||
@ -228,6 +237,6 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
|
||||
private function get_edit_page_form($existing_page) {
|
||||
// Generate a form for editing an existing page. Reuse the overwrite form for as it's basically the same thing.
|
||||
return ($this->get_overwrite_page_form($existing_page->id, $existing_page->name, $existing_page->title, $existing_page->html_code));
|
||||
return ($this->get_overwrite_page_form($existing_page->id, $existing_page->name, $existing_page->title, $existing_page->html_code, $existing_page->display_menu));
|
||||
}
|
||||
}
|
||||
|
@ -26,4 +26,19 @@ class pages_event_Core {
|
||||
->label(t("Pages Settings"))
|
||||
->url(url::site("admin/pages")));
|
||||
}
|
||||
|
||||
static function site_menu($menu, $theme) {
|
||||
$menu_pages = ORM::factory("static_page")
|
||||
->where("display_menu", "=", true)
|
||||
->order_by("title", "DESC")
|
||||
->find_all();
|
||||
if (count($menu_pages) > 0) {
|
||||
foreach ($menu_pages as $one_page) {
|
||||
$menu->add_after("home", Menu::factory("link")
|
||||
->id("pages-" . $one_page->id)
|
||||
->label($one_page->title)
|
||||
->url(url::site("pages/show/" . $one_page->name)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,11 +26,19 @@ class pages_installer {
|
||||
`name` varchar(255) default NULL,
|
||||
`title` varchar(255) default NULL,
|
||||
`html_code` text default NULL,
|
||||
`display_menu` boolean default 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY(`name`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
// Set the module version number.
|
||||
module::set_version("pages", 1);
|
||||
module::set_version("pages", 2);
|
||||
}
|
||||
static function upgrade($version) {
|
||||
$db = Database::instance();
|
||||
if ($version == 1) {
|
||||
$db->query("ALTER TABLE {static_pages} ADD COLUMN `display_menu` boolean default 0");
|
||||
module::set_version("pages", $version = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
name = "Pages"
|
||||
description = "Allows Gallery admins to create static pages."
|
||||
version = 1
|
||||
version = 2
|
||||
author_name = "rWatcher"
|
||||
author_url = "http://codex.gallery2.org/User:RWatcher"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:Pages"
|
||||
|
@ -57,12 +57,14 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
$page_name = urlencode(trim(Input::instance()->post("page_name")));
|
||||
$page_title = Input::instance()->post("page_title");
|
||||
$page_code = Input::instance()->post("page_code");
|
||||
$display_menu = Input::instance()->post("display_menu");
|
||||
|
||||
// If $page_id is set, update an existing page.
|
||||
if (isset($page_id)) {
|
||||
$update_page = ORM::factory("static_page", $page_id);
|
||||
$update_page->title = $page_title;
|
||||
$update_page->html_code = $page_code;
|
||||
$update_page->display_menu = $display_menu;
|
||||
$update_page->save();
|
||||
message::success(t("Page %page_name updated", array("page_name" => $update_page->name)));
|
||||
log::success("pages", t("Page %page_name updated", array("page_name" => $update_page->name)));
|
||||
@ -81,6 +83,7 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
$new_page->name = $page_name;
|
||||
$new_page->title = $page_title;
|
||||
$new_page->html_code = $page_code;
|
||||
$new_page->display_menu = $display_menu;
|
||||
$new_page->save();
|
||||
message::success(t("Page %page_name created", array("page_name" => $page_name)));
|
||||
log::success("pages", t("Page %page_name created", array("page_name" => $page_name)));
|
||||
@ -92,7 +95,7 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t("Edit page");
|
||||
$view->content = new View("admin_pages_new.html");
|
||||
$view->content->form = $this->get_overwrite_page_form($existing_page[0]->id, $page_name, $page_title, $page_code);
|
||||
$view->content->form = $this->get_overwrite_page_form($existing_page[0]->id, $page_name, $page_title, $page_code, $display_menu);
|
||||
print $view;
|
||||
}
|
||||
}
|
||||
@ -196,13 +199,16 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
->label(t("Title"));
|
||||
$pages_group->textarea("page_code")
|
||||
->label(t("HTML Code"));
|
||||
$pages_group->checkbox("display_menu")
|
||||
->label(t("Display in menu?"))
|
||||
->checked(false);
|
||||
$pages_group->submit("save_page")
|
||||
->value(t("Save"));
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
private function get_overwrite_page_form($id, $name, $title, $html_code) {
|
||||
private function get_overwrite_page_form($id, $name, $title, $html_code, $display_menu) {
|
||||
// Generate a form for overwriting an existing page.
|
||||
$form = new Forge("admin/pages/savepage", "", "post",
|
||||
array("id" => "g-pages-admin-form"));
|
||||
@ -220,6 +226,9 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
$pages_group->textarea("page_code")
|
||||
->label(t("HTML Code"))
|
||||
->value($html_code);
|
||||
$pages_group->checkbox("display_menu")
|
||||
->label(t("Display in menu?"))
|
||||
->checked($display_menu);
|
||||
$pages_group->submit("save_page")
|
||||
->value(t("Save"));
|
||||
|
||||
@ -228,6 +237,6 @@ class Admin_Pages_Controller extends Admin_Controller {
|
||||
|
||||
private function get_edit_page_form($existing_page) {
|
||||
// Generate a form for editing an existing page. Reuse the overwrite form for as it's basically the same thing.
|
||||
return ($this->get_overwrite_page_form($existing_page->id, $existing_page->name, $existing_page->title, $existing_page->html_code));
|
||||
return ($this->get_overwrite_page_form($existing_page->id, $existing_page->name, $existing_page->title, $existing_page->html_code, $existing_page->display_menu));
|
||||
}
|
||||
}
|
||||
|
@ -26,4 +26,19 @@ class pages_event_Core {
|
||||
->label(t("Pages Settings"))
|
||||
->url(url::site("admin/pages")));
|
||||
}
|
||||
|
||||
static function site_menu($menu, $theme) {
|
||||
$menu_pages = ORM::factory("static_page")
|
||||
->where("display_menu", "=", true)
|
||||
->order_by("title", "DESC")
|
||||
->find_all();
|
||||
if (count($menu_pages) > 0) {
|
||||
foreach ($menu_pages as $one_page) {
|
||||
$menu->add_after("home", Menu::factory("link")
|
||||
->id("pages-" . $one_page->id)
|
||||
->label($one_page->title)
|
||||
->url(url::site("pages/show/" . $one_page->name)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,11 +26,19 @@ class pages_installer {
|
||||
`name` varchar(255) default NULL,
|
||||
`title` varchar(255) default NULL,
|
||||
`html_code` text default NULL,
|
||||
`display_menu` boolean default 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY(`name`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
// Set the module version number.
|
||||
module::set_version("pages", 1);
|
||||
module::set_version("pages", 2);
|
||||
}
|
||||
static function upgrade($version) {
|
||||
$db = Database::instance();
|
||||
if ($version == 1) {
|
||||
$db->query("ALTER TABLE {static_pages} ADD COLUMN `display_menu` boolean default 0");
|
||||
module::set_version("pages", $version = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
name = "Pages"
|
||||
description = "Allows Gallery admins to create static pages."
|
||||
version = 1
|
||||
version = 2
|
||||
author_name = "rWatcher"
|
||||
author_url = "http://codex.gallery2.org/User:RWatcher"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:Pages"
|
||||
|
Reference in New Issue
Block a user