summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2016-04-19 16:08:36 +0200
committeremkael <emkael@tlen.pl>2016-04-19 16:08:36 +0200
commitabd4940ea913e9dddc8d143d00fe1003c7bc9b6b (patch)
tree116e7152f57208e16dba50130d07812792ef4a48
parente2fa585a286675b6f0561d51e5c09ca87ddc381b (diff)
* asset manager that derives default asset url from asset base path
-rw-r--r--app/php/application.xml1
-rw-r--r--app/php/caches.xml3
-rw-r--r--app/php/components/AssetManager.php29
-rw-r--r--app/php/components/config.xml7
4 files changed, 37 insertions, 3 deletions
diff --git a/app/php/application.xml b/app/php/application.xml
index ed9ce70..591ee66 100644
--- a/app/php/application.xml
+++ b/app/php/application.xml
@@ -12,6 +12,7 @@
<include file="Application.url.config" />
<include file="Application.pages.config" />
+ <include file="Application.components.config" />
<include file="Application.controls.config" />
<modules>
diff --git a/app/php/caches.xml b/app/php/caches.xml
index 90e3e35..8a88717 100644
--- a/app/php/caches.xml
+++ b/app/php/caches.xml
@@ -2,8 +2,5 @@
<configuration>
<modules>
<module id="cache" class="System.Caching.TDbCache" />
- <module id="asset" class="System.Web.TAssetManager"
- BasePath="Web._assets"
- BaseUrl="_assets" />
</modules>
</configuration>
diff --git a/app/php/components/AssetManager.php b/app/php/components/AssetManager.php
new file mode 100644
index 0000000..1094917
--- /dev/null
+++ b/app/php/components/AssetManager.php
@@ -0,0 +1,29 @@
+<?php
+
+class AssetManager extends TAssetManager {
+
+ public function init($config) {
+ if ($this->BaseUrl === NULL) {
+ $appWebPath = preg_replace(
+ '#' . $this->Application->Request->ApplicationUrl . '$#',
+ '',
+ $this->Application->Request->ApplicationFilePath
+ );
+ $appBaseUrl = preg_replace(
+ '#^' . $appWebPath . '#',
+ '',
+ dirname($this->Application->Request->ApplicationFilePath)
+ );
+ $this->BaseUrl = $appBaseUrl
+ . preg_replace(
+ '#^' . Prado::getPathOfNamespace('Web') . '#',
+ '',
+ $this->BasePath
+ );
+ }
+ parent::init($config);
+ }
+
+}
+
+?>
diff --git a/app/php/components/config.xml b/app/php/components/config.xml
new file mode 100644
index 0000000..0c28e23
--- /dev/null
+++ b/app/php/components/config.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <modules>
+ <module id="asset" class="Application.components.AssetManager"
+ BasePath="Web._assets" />
+ </modules>
+</configuration>