diff --git a/3.0/modules/default_sort/controllers/admin_default_sort.php b/3.0/modules/default_sort/controllers/admin_default_sort.php new file mode 100644 index 00000000..2e8d75f3 --- /dev/null +++ b/3.0/modules/default_sort/controllers/admin_default_sort.php @@ -0,0 +1,56 @@ +_get_form(); + + if (request::method() == "post") { + access::verify_csrf(); + + if ($form->validate()) { + module::set_var("default_sort", "default_sort_column", $_POST['sort_column']); + module::set_var("default_sort", "default_sort_direction", $_POST['sort_direction']); + + message::success(t("Settings have been saved")); + url::redirect("admin/default_sort"); + } else { + message::error(t("There was a problem with the submitted form. Please check your values and try again.")); + } + } + + print $this->_get_view(); + } + + private function _get_view($form = null) { + $v = new Admin_View("admin.html"); + $v->page_title = t("Gallery 3 :: Set Default Sort Order for New Albums"); + + $v->content = new View("admin_default_sort.html"); + $v->content->form = empty($form) ? $this->_get_form() : $form; + + return $v; + } + + private function _get_form() { + $form = new Forge("admin/default_sort", "", "post", array("id" => "g-admin-default_sort-form")); + + $group = $form->group("sort_order")->label(t("Sort Order")); + + $group ->dropdown("sort_column") + ->id(t("sort_column")) + ->label(t("Sort by")) + ->options(array_merge(array("none" => t("None")), album::get_sort_order_options())) + ->selected(module::get_var("default_sort", "default_sort_column", "none")); + + $group ->dropdown("sort_direction") + ->id(t("sort_direction")) + ->label(t("Sort by")) + ->options(array("none" => t("None"), "ASC" => t("Ascending"), "DESC" => t("Descending"))) + ->selected(module::get_var("default_sort", "default_sort_direction", "none")); + + $form->submit("submit")->value(t("Save")); + return $form; + } +} + +# vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab: diff --git a/3.0/modules/default_sort/helpers/default_sort.php b/3.0/modules/default_sort/helpers/default_sort.php new file mode 100644 index 00000000..992cd9d3 --- /dev/null +++ b/3.0/modules/default_sort/helpers/default_sort.php @@ -0,0 +1,6 @@ +get("settings_menu") + ->append(Menu::factory("link") + ->id("default_sort_menu") + ->label(t("Default Sort Order")) + ->url(url::site("admin/default_sort"))); + } + + static function item_created($item) { + if ($item->is_album()) { + if (($s = module::get_var("default_sort", "default_sort_column", ""))) + $item->sort_column = $s; + + if (($s = module::get_var("default_sort", "default_sort_direction", ""))) + $item->sort_order = $s; + + $item->save(); + } + } +} + +# vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab: diff --git a/3.0/modules/default_sort/helpers/default_sort_installer.php b/3.0/modules/default_sort/helpers/default_sort_installer.php new file mode 100644 index 00000000..fc212701 --- /dev/null +++ b/3.0/modules/default_sort/helpers/default_sort_installer.php @@ -0,0 +1,29 @@ + + +
+

+ +

+ +
+ +
+