summaryrefslogtreecommitdiff
path: root/app/php/web/BaseUrlDerivedFromBasePath.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/php/web/BaseUrlDerivedFromBasePath.php')
-rw-r--r--app/php/web/BaseUrlDerivedFromBasePath.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/app/php/web/BaseUrlDerivedFromBasePath.php b/app/php/web/BaseUrlDerivedFromBasePath.php
new file mode 100644
index 0000000..2da277f
--- /dev/null
+++ b/app/php/web/BaseUrlDerivedFromBasePath.php
@@ -0,0 +1,29 @@
+<?php
+
+trait BaseUrlDerivedFromBasePath {
+
+ public function init($config) {
+ if ($this->BaseUrl === NULL && $this->BasePath !== 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);
+ }
+
+}
+
+?>