summaryrefslogtreecommitdiff
path: root/core/libraries
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-03-20 14:59:55 +0000
committerTim Almdal <tnalmdal@shaw.ca>2009-03-20 14:59:55 +0000
commit48c022e8cbcc027cec20aa0b6657a2c784df5ad8 (patch)
treebc061c16abe10d96f387394af44804857dbe8ed6 /core/libraries
parentacfb81d940a50ec018613946e30f63c623b8c5db (diff)
Rather than moving the themeroller and all of its associated files
into each theme. I chose to create methods Theme_View::file($path) and Admin_View::file($path). These methods check for a theme override file in the theme and return a link to it if it exists. So to override the themeroller files. just create a lib/themeroller in the theme and the files will be picked up.
Diffstat (limited to 'core/libraries')
-rw-r--r--core/libraries/Admin_View.php5
-rw-r--r--core/libraries/Theme_View.php6
2 files changed, 10 insertions, 1 deletions
diff --git a/core/libraries/Admin_View.php b/core/libraries/Admin_View.php
index 9ca585d2..e88b01ee 100644
--- a/core/libraries/Admin_View.php
+++ b/core/libraries/Admin_View.php
@@ -45,6 +45,11 @@ class Admin_View_Core extends View {
return $absolute_url ? url::abs_file($arg) : url::file($arg);
}
+ public function file($path) {
+ $theme_path = "themes/{$this->theme_name}/$path";
+ return url::file(file_exists($theme_path) ? $theme_path : $path);
+ }
+
public function display($page_name, $view_class="View") {
return new $view_class($page_name);
}
diff --git a/core/libraries/Theme_View.php b/core/libraries/Theme_View.php
index 84d86b0b..fba61afe 100644
--- a/core/libraries/Theme_View.php
+++ b/core/libraries/Theme_View.php
@@ -46,7 +46,6 @@ class Theme_View_Core extends View {
if ($maintenance_mode) {
message::warning(t("This site is currently in maintenance mode"));
}
-
}
public function url($path, $absolute_url=false) {
@@ -54,6 +53,11 @@ class Theme_View_Core extends View {
return $absolute_url ? url::abs_file($arg) : url::file($arg);
}
+ public function file($path) {
+ $theme_path = "themes/{$this->theme_name}/$path";
+ return url::file(file_exists($theme_path) ? $theme_path : $path);
+ }
+
public function item() {
return $this->item;
}