base-href is not set on runtime
authorAlexander Ebert <ebert@woltlab.com>
Wed, 12 Oct 2011 17:09:32 +0000 (19:09 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Wed, 12 Oct 2011 17:09:32 +0000 (19:09 +0200)
wcfsetup/install/files/acp/templates/header.tpl
wcfsetup/install/files/lib/system/WCFACP.class.php

index f062abc09708990493034a3a9f4377e8e9b91e0c..881bafa104a45384c0e765a1bb593be77cf6c80b 100644 (file)
@@ -1,6 +1,7 @@
 <!DOCTYPE html>
 <html dir="{@$__wcf->getLanguage()->getPageDirection()}" lang="{@$__wcf->getLanguage()->getFixedLanguageCode()}">
 <head>
+       <base href="{$baseHref}" />
        <meta charset="utf-8" />
        <title>{if $pageTitle|isset}{@$pageTitle}{else}{lang}wcf.global.pageTitle{/lang}{/if} - {lang}wcf.acp{/lang}</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
index 938b2d627b122dde8a86ede8e22fd3bd3636d2f7..a2dbd8df4793a761a7fc968764797d220b5286a2 100644 (file)
@@ -85,7 +85,19 @@ class WCFACP extends WCF {
        protected function assignDefaultTemplateVariables() {
                parent::assignDefaultTemplateVariables();
                
+               // base tag is determined on runtime
+               $phpSelf = $_SERVER['PHP_SELF'];
+               if (isset($_SERVER['PATH_INFO'])) {
+                       // strip path info
+                       $phpSelf = str_replace($_SERVER['PATH_INFO'], '', $phpSelf);
+               }
+               if (($pos = strpos($phpSelf, 'index.php')) !== false) {
+                       // strip index.php
+                       $phpSelf = substr($phpSelf, 0, $pos);
+               }
+               
                self::getTPL()->assign(array(
+                       'baseHref' => $phpSelf,
                        'quickAccessPackages' => $this->getQuickAccessPackages(),
                        //'timezone' => util\DateUtil::getTimezone()
                ));