summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-11-19 11:56:05 -0800
committerTim Almdal <tnalmdal@shaw.ca>2009-11-19 11:56:05 -0800
commit05b5a2c9ed9e5c3ed05eec8748f4bebc381993c4 (patch)
tree27c04669fe535293795a9e5455ae96b6b250d548 /modules/gallery/helpers
parent630099364515fd0fd0453b4b548048c8a32c831c (diff)
Revert "Revert "Use call_user_func instead of call_user_func_array as we don't need to pass the parameters by reference.""
This reverts commit 630099364515fd0fd0453b4b548048c8a32c831c.
Diffstat (limited to 'modules/gallery/helpers')
-rw-r--r--modules/gallery/helpers/gallery_event.php21
-rw-r--r--modules/gallery/helpers/gallery_installer.php21
-rw-r--r--modules/gallery/helpers/theme.php62
3 files changed, 67 insertions, 37 deletions
diff --git a/modules/gallery/helpers/gallery_event.php b/modules/gallery/helpers/gallery_event.php
index 3139951f..88f4a67b 100644
--- a/modules/gallery/helpers/gallery_event.php
+++ b/modules/gallery/helpers/gallery_event.php
@@ -245,11 +245,7 @@ class gallery_event_Core {
->id("themes")
->label(t("Theme choice"))
->url(url::site("admin/themes")))
- ->append(Menu::factory("link")
- ->id("theme_options")
- ->label(t("Theme options"))
- ->url(url::site("admin/theme_options")))
- ->append(Menu::factory("link")
+ ->append(Menu::factory("link")
->id("sidebar")
->label(t("Manage sidebar"))
->url(url::site("admin/sidebar"))))
@@ -260,6 +256,21 @@ class gallery_event_Core {
->id("maintenance")
->label(t("Maintenance"))
->url(url::site("admin/maintenance")));
+
+ $theme_name = theme::$site;
+ $theme_helper = THEMEPATH . "$theme_name/helpers/{$theme_name}.php";
+ if (file_exists($theme_helper)) {
+ require_once($theme_helper);
+
+ if (method_exists($theme_name, "get_admin_form")) {
+ $info = theme::get_info($theme_name);
+ $menu->get("appearance_menu")
+ ->add_after("themes", Menu::factory("link")
+ ->id("theme_options")
+ ->label(t("%name options", array("name" => $info->name)))
+ ->url(url::site("admin/theme_options")));
+ }
+ }
return $menu;
}
diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php
index 57a5ee9f..4051c6e9 100644
--- a/modules/gallery/helpers/gallery_installer.php
+++ b/modules/gallery/helpers/gallery_installer.php
@@ -226,9 +226,9 @@ class gallery_installer {
module::set_var("gallery", "active_site_theme", "wind");
module::set_var("gallery", "active_admin_theme", "admin_wind");
- module::set_var("gallery", "page_size", 9);
- module::set_var("gallery", "thumb_size", 200);
- module::set_var("gallery", "resize_size", 640);
+ module::set_var("wind", "page_size", 9);
+ module::set_var("wind", "thumb_size", 200);
+ module::set_var("wind", "resize_size", 640);
module::set_var("gallery", "default_locale", "en_US");
module::set_var("gallery", "image_quality", 75);
module::set_var("gallery", "image_sharpen", 15);
@@ -265,10 +265,10 @@ class gallery_installer {
module::set_var("gallery", "date_format", "Y-M-d");
module::set_var("gallery", "date_time_format", "Y-M-d H:i:s");
module::set_var("gallery", "time_format", "H:i:s");
- module::set_var("gallery", "show_credits", 1);
+ module::set_var("wind", "show_credits", 1);
// @todo this string needs to be picked up by l10n_scanner
module::set_var("gallery", "credits", "Powered by <a href=\"%url\">Gallery %version</a>");
- module::set_version("gallery", 19);
+ module::set_version("gallery", 20);
}
static function upgrade($version) {
@@ -432,6 +432,17 @@ class gallery_installer {
module::clear_var("gallery", "blocks_site.sidebar");
module::set_version("gallery", $version = 19);
}
+
+ // Move the theme related variables into the current theme
+ if ($version == 19) {
+ foreach (array("page_size", "thumb_size", "resize_size", "header_text",
+ "footer_text", "show_credits") as $var) {
+ $value = module::get_var("gallery", $var);
+ theme::set_var($var, $value);
+ module::clear_var("gallery", $var);
+ }
+ module::set_version("gallery", $version = 20);
+ }
}
static function uninstall() {
diff --git a/modules/gallery/helpers/theme.php b/modules/gallery/helpers/theme.php
index 16ed104e..c7b773d1 100644
--- a/modules/gallery/helpers/theme.php
+++ b/modules/gallery/helpers/theme.php
@@ -24,6 +24,9 @@
* Note: by design, this class does not do any permission checking.
*/
class theme_Core {
+ public static $site;
+ public static $admin;
+
/**
* Load the active theme. This is called at bootstrap time. We will only ever have one theme
* active for any given request.
@@ -35,39 +38,16 @@ class theme_Core {
$path = "/" . $input->get("kohana_uri");
}
+ self::$site = module::get_var("gallery", "active_site_theme");
+ self::$admin = module::get_var("gallery", "active_admin_theme");
if (!(identity::active_user()->admin && $theme_name = $input->get("theme"))) {
- $theme_name = module::get_var(
- "gallery",
- $path == "/admin" || !strncmp($path, "/admin/", 7) ?
- "active_admin_theme" : "active_site_theme");
+ $theme_name = $path == "/admin" || !strncmp($path, "/admin/", 7) ? self::$admin : self::$site;
}
$modules = Kohana::config("core.modules");
array_unshift($modules, THEMEPATH . $theme_name);
Kohana::config_set("core.modules", $modules);
}
- static function get_edit_form_admin() {
- $form = new Forge("admin/theme_options/save/", "", null, array("id" =>"g-theme-options-form"));
- $group = $form->group("edit_theme");
- $group->input("page_size")->label(t("Items per page"))->id("g-page-size")
- ->rules("required|valid_digit")
- ->value(module::get_var("gallery", "page_size"));
- $group->input("thumb_size")->label(t("Thumbnail size (in pixels)"))->id("g-thumb-size")
- ->rules("required|valid_digit")
- ->value(module::get_var("gallery", "thumb_size"));
- $group->input("resize_size")->label(t("Resized image size (in pixels)"))->id("g-resize-size")
- ->rules("required|valid_digit")
- ->value(module::get_var("gallery", "resize_size"));
- $group->textarea("header_text")->label(t("Header text"))->id("g-header-text")
- ->value(module::get_var("gallery", "header_text"));
- $group->textarea("footer_text")->label(t("Footer text"))->id("g-footer-text")
- ->value(module::get_var("gallery", "footer_text"));
- $group->checkbox("show_credits")->label(t("Show site credits"))->id("g-footer-text")
- ->checked(module::get_var("gallery", "show_credits"));
- $group->submit("")->value(t("Save"));
- return $form;
- }
-
static function get_info($theme_name) {
$theme_name = preg_replace("/[^\w]/", "", $theme_name);
$file = THEMEPATH . "$theme_name/theme.info";
@@ -77,5 +57,33 @@ class theme_Core {
return $theme_info;
}
-}
+ /**
+ * Get a variable from the active theme
+ * @param string $name
+ * @param string $default_value
+ * @return the value
+ */
+ static function get_var($name, $default_value=null) {
+ return module::get_var(self::$site, $name, $default_value);
+ }
+
+ /**
+ * Store a variable for active theme
+ * @param string $module_name
+ * @param string $name
+ * @param string $value
+ */
+ static function set_var($name, $value) {
+ module::set_var(self::$site, $name, $value);
+ }
+
+ /**
+ * Remove a variable for this module.
+ * @param string $module_name
+ * @param string $name
+ */
+ static function clear_var($name) {
+ module::clear_var(self::$site, $name);
+ }
+}