diff options
author | emkael <emkael@tlen.pl> | 2016-04-19 16:08:36 +0200 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2016-04-19 16:08:36 +0200 |
commit | abd4940ea913e9dddc8d143d00fe1003c7bc9b6b (patch) | |
tree | 116e7152f57208e16dba50130d07812792ef4a48 | |
parent | e2fa585a286675b6f0561d51e5c09ca87ddc381b (diff) |
* asset manager that derives default asset url from asset base path
-rw-r--r-- | app/php/application.xml | 1 | ||||
-rw-r--r-- | app/php/caches.xml | 3 | ||||
-rw-r--r-- | app/php/components/AssetManager.php | 29 | ||||
-rw-r--r-- | app/php/components/config.xml | 7 |
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> |