summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/controllers/admin_themes.php39
-rw-r--r--core/helpers/core_installer.php4
-rw-r--r--core/libraries/Theme_View.php2
-rw-r--r--core/views/admin_themes.html.php82
-rw-r--r--themes/admin_default/css/screen.css67
-rw-r--r--themes/admin_default/theme.info2
-rw-r--r--themes/default/theme.info2
7 files changed, 115 insertions, 83 deletions
diff --git a/core/controllers/admin_themes.php b/core/controllers/admin_themes.php
index 6f2eeaf7..8d810bb7 100644
--- a/core/controllers/admin_themes.php
+++ b/core/controllers/admin_themes.php
@@ -19,43 +19,14 @@
*/
class Admin_Themes_Controller extends Admin_Controller {
public function index() {
- $this->regular();
- }
-
- public function regular() {
$view = new Admin_View("admin.html");
$view->content = new View("admin_themes.html");
- $view->content->menu = $this->_get_menu();
- $view->content->title = _("Regular Themes");
- $view->content->type = "regular";
- $view->content->active = module::get_var("core", "active_theme");
+ $view->content->admin = module::get_var("core", "active_admin_theme");
+ $view->content->site = module::get_var("core", "active_site_theme");
$view->content->themes = $this->_get_themes();
print $view;
}
- public function admin() {
- $view = new Admin_View("admin.html");
- $view->content = new View("admin_themes.html");
- $view->content->menu = $this->_get_menu();
- $view->content->title = _("Admin Themes");
- $view->content->type = "admin";
- $view->content->active = module::get_var("core", "active_admin_theme");
- $view->content->themes = $this->_get_themes();
- print $view;
- }
-
- private function _get_menu() {
- return Menu::factory("root")
- ->append(Menu::factory("link")
- ->id("regular")
- ->label(t("Regular Theme"))
- ->url(url::site("admin/themes/regular")))
- ->append(Menu::factory("link")
- ->id("admin")
- ->label(t("Admin Theme"))
- ->url(url::site("admin/themes/admin")));
- }
-
private function _get_themes() {
$themes = array();
foreach (scandir(THEMEPATH) as $theme_name) {
@@ -94,13 +65,13 @@ class Admin_Themes_Controller extends Admin_Controller {
module::set_var("core", "active_admin_theme", $theme_name);
message::success(t("Successfully changed your site theme to <b>{{theme_name}}</b>",
array("theme_name" => $info->name)));
- } else if ($type == "regular" && $info->regular) {
- module::set_var("core", "active_theme", $theme_name);
+ } else if ($type == "site" && $info->site) {
+ module::set_var("core", "active_site_theme", $theme_name);
message::success(t("Successfully changed your admin theme to <b>{{theme_name}}</b>",
array("theme_name" => $info->name)));
}
- url::redirect("admin/themes/$type");
+ url::redirect("admin/themes");
}
public function edit_form($theme_name) {
diff --git a/core/helpers/core_installer.php b/core/helpers/core_installer.php
index c45c497c..20edd47d 100644
--- a/core/helpers/core_installer.php
+++ b/core/helpers/core_installer.php
@@ -190,7 +190,7 @@ class core_installer {
$root->save();
access::add_item($root);
- module::set_var("core", "active_theme", "default");
+ module::set_var("core", "active_site_theme", "default");
module::set_var("core", "active_admin_theme", "admin_default");
module::set_var("core", "page_size", 9);
module::set_var("core", "thumb_size", 200);
@@ -224,7 +224,7 @@ class core_installer {
"missing_graphics_toolkit");
}
- // Instantiate default themes (regular and admin)
+ // Instantiate default themes (site and admin)
foreach (array("default", "admin_default") as $theme_name) {
$theme_info = new ArrayObject(parse_ini_file(THEMEPATH . $theme_name . "/theme.info"),
ArrayObject::ARRAY_AS_PROPS);
diff --git a/core/libraries/Theme_View.php b/core/libraries/Theme_View.php
index 64023aa6..38e8e056 100644
--- a/core/libraries/Theme_View.php
+++ b/core/libraries/Theme_View.php
@@ -32,7 +32,7 @@ class Theme_View_Core extends View {
public function __construct($name, $page_type) {
parent::__construct($name);
- $this->theme_name = module::get_var("core", "active_theme");
+ $this->theme_name = module::get_var("core", "active_site_theme");
if (user::active()->admin) {
$this->theme_name = Input::instance()->get("theme", $this->theme_name);
}
diff --git a/core/views/admin_themes.html.php b/core/views/admin_themes.html.php
index 5e10a803..e9266831 100644
--- a/core/views/admin_themes.html.php
+++ b/core/views/admin_themes.html.php
@@ -1,50 +1,72 @@
<?php defined("SYSPATH") or die("No direct script access.") ?>
<script type="text/javascript">
- var load_url = '<?= url::site("admin/themes/__TYPE__") ?>';
- var load = function(type) {
- $("#gThemePane").load(load_url.replace('__TYPE__', type));
- }
-
var select_url = "<?= url::site("admin/themes/choose") ?>";
select = function(type, id) {
$.post(select_url, {"type": type, "id": id, "csrf": '<?= access::csrf_token() ?>'},
function() { load(type) });
}
</script>
+
<div id="gAdminThemes">
<h1> <?= t("Theme Administration") ?> </h1>
- <div id="gThemeTabs">
- <?= $menu ?>
- </div>
+ <p>
+ <?= t("Gallery allows you to choose a theme for your site, as well as a theme for the administration interface. Click a theme to preview and activate it.") ?>
+ </p>
+
+ <div id="gSiteTheme">
+ <h2> <?= t("Site theme") ?> </h2>
+ <div class="gBlock selected">
+ <img src="<?= url::file("themes/{$site}/thumbnail.png") ?>"
+ alt="<?= $themes[$active]->name ?>" />
+ <h3> <?= $themes[$site]->name ?> </h3>
+ <p>
+ <?= $themes[$site]->description ?>
+ </p>
+ </div>
- <div id="gThemePane">
- <h1> <?= $title ?> </h1>
- <div id="gSelectedTheme">
- <h2> <?= t("Selected theme") ?> </h2>
+ <h2> <?= t("Available site themes") ?> </h2>
+ <div id="gAvailableSiteThemes">
+ <? foreach ($themes as $id => $info): ?>
+ <? if (!$info->site) continue ?>
+ <? if ($id == $site) continue ?>
<div class="gBlock">
- <img src="<?= url::file("themes/{$active}/thumbnail.png") ?>"
- alt="<?= $themes[$active]->name ?>" />
- <h3> <?= $themes[$active]->name ?> </h3>
- <p>
- <?= $themes[$active]->description ?>
- </p>
+ <a href="<?= url::site("admin/themes/preview/site/$id") ?>" class="gDialogLink" title="<?= t("Theme Preview: {{theme_name}}", array("theme_name" => $info->name)) ?>">
+ <img src="<?= url::file("themes/{$id}/thumbnail.png") ?>"
+ alt="<?= $info->name ?>" />
+ <h3> <?= $info->name ?> </h3>
+ <p>
+ <?= $info->description ?>
+ </p>
+ </a>
</div>
+ <? endforeach ?>
+ </div>
+ </div>
+
+ <div id="gAdminTheme">
+ <h2> <?= t("Admin theme") ?> </h2>
+ <div class="gBlock selected">
+ <img src="<?= url::file("themes/{$admin}/thumbnail.png") ?>"
+ alt="<?= $themes[$admin]->name ?>" />
+ <h3> <?= $themes[$admin]->name ?> </h3>
+ <p>
+ <?= $themes[$admin]->description ?>
+ </p>
</div>
- <div id="gAvailableThemes">
- <h2> <?= t("Available themes") ?> </h2>
- <p><?= t("Change the look of your Gallery with one of the following available themes. Click to preview and activate.") ?></p>
+ <h2> <?= t("Available admin themes") ?> </h2>
+ <div id="gAvailableAdminThemes">
<? foreach ($themes as $id => $info): ?>
- <? if (!$info->$type) continue ?>
- <? if ($id == $active) continue ?>
+ <? if (!$info->admin) continue ?>
+ <? if ($id == $admin) continue ?>
<div class="gBlock">
- <a href="<?= url::site("admin/themes/preview/$type/$id") ?>" class="gDialogLink" title="<?= t("Theme Preview: {{theme_name}}", array("theme_name" => $info->name)) ?>">
- <h3> <?= $info->name ?> </h3>
- <img src="<?= url::file("themes/{$id}/thumbnail.png") ?>"
- alt="<?= $info->name ?>" />
- <p>
- <?= $info->description ?>
- </p>
+ <a href="<?= url::site("admin/themes/preview/admin/$id") ?>" class="gDialogLink" title="<?= t("Theme Preview: {{theme_name}}", array("theme_name" => $info->name)) ?>">
+ <img src="<?= url::file("themes/{$id}/thumbnail.png") ?>"
+ alt="<?= $info->name ?>" />
+ <h3> <?= $info->name ?> </h3>
+ <p>
+ <?= $info->description ?>
+ </p>
</a>
</div>
<? endforeach ?>
diff --git a/themes/admin_default/css/screen.css b/themes/admin_default/css/screen.css
index 06ebc582..ce5f471e 100644
--- a/themes/admin_default/css/screen.css
+++ b/themes/admin_default/css/screen.css
@@ -107,26 +107,18 @@
margin-right: 1em;
}
-#gAdminThemes #gSelectedTheme img {
- float: left;
- margin-right: 1em;
-}
-
-#gAdminThemes #gSelectedTheme div.gBlock,
#gAdminGraphics #gSelectedToolkit div.gBlock {
width: 700px;
height: 140px;
background: #cfc;
}
-#gAdminGraphics .gBlock,
-#gAdminThemes .gBlock {
+#gAdminGraphics .gBlock {
background: #fff;
padding: 1em;
}
-#gAdminGraphics #gAvailableToolkits .gBlock,
-#gAdminThemes #gAvailableThemes .gBlock {
+#gAdminGraphics #gAvailableToolkits .gBlock {
clear: none;
cursor: pointer;
float: left;
@@ -145,16 +137,63 @@
cursor: default !important;
}
-#gAdminGraphics #gAvailableToolkits .gBlock:hover,
-#gAdminThemes #gAvailableThemes .gBlock:hover {
+#gAdminGraphics #gAvailableToolkits .gBlock:hover {
background: #eee;
}
-#gAdminGraphics a,
-#gAdminThemes a {
+#gAdminGraphics a {
color: #333;
}
#gAdminGraphics #gAvailableToolkits .gBlock {
cursor: pointer;
}
+
+
+#gAdminThemes #gAdminTheme,
+#gAdminThemes #gSiteTheme {
+ width: 400px;
+ float: left;
+}
+
+#gAdminThemes #gAdminTheme {
+ padding-left: 40px;
+}
+
+
+#gAdminThemes #gSelectedTheme img {
+ float: left;
+ margin-right: 1em;
+}
+
+#gAdminThemes .selected {
+ background: #cfc !important;
+}
+
+#gAdminThemes .gBlock {
+ width: 328px;
+ height: 140px;
+ background: #fff;
+ padding: 1em;
+ text-align: center;
+}
+
+#gAdminThemes .gBlock {
+ clear: none;
+ cursor: pointer;
+ float: left;
+ text-align: center;
+ width: 328px;
+ height: 200px;
+}
+
+#gAvailableSiteThemes .gBlock:hover,
+#gAvailableAdminThemes .gBlock:hover {
+ background: #eee;
+}
+
+#gAdminThemes a {
+ color: #333;
+ text-decoration: none;
+}
+
diff --git a/themes/admin_default/theme.info b/themes/admin_default/theme.info
index 59fe88f4..d21b0ff5 100644
--- a/themes/admin_default/theme.info
+++ b/themes/admin_default/theme.info
@@ -3,4 +3,4 @@ description = A crisp Site Administration theme with soft colors and drop down m
version = 1
author = Gallery Team
admin = 1
-regular = 0
+site = 0
diff --git a/themes/default/theme.info b/themes/default/theme.info
index 30817e28..71e8a740 100644
--- a/themes/default/theme.info
+++ b/themes/default/theme.info
@@ -2,5 +2,5 @@ name = Gallery Default
description = A crisp and distinctive theme that uses large fonts and icons for easy navigation and an enjoyable browsing experience.
version = 1
author = Gallery Team
-regular = 1
+site = 1
admin = 0