<script type="text/javascript">
//<![CDATA[
var SID_ARG_2ND = '{@SID_ARG_2ND_NOT_ENCODED}';
- var RELATIVE_WCF_DIR = '{@RELATIVE_WCF_DIR}';
+ var RELATIVE_WCF_DIR = '{@$__wcf->getPath('wcf')}';
var SECURITY_TOKEN = '{@SECURITY_TOKEN}';
//]]>
</script>
-<script type="text/javascript" src="{@RELATIVE_WCF_DIR}js/3rdParty/jquery.min.js"></script>
-<script type="text/javascript" src="{@RELATIVE_WCF_DIR}js/3rdParty/jquery-ui.min.js"></script>
-<script type="text/javascript" src="{@RELATIVE_WCF_DIR}js/3rdParty/jquery.tools.min.js"></script>
-<script type="text/javascript" src="{@RELATIVE_WCF_DIR}js/WCF.js"></script>
+<script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/3rdParty/jquery.min.js"></script>
+<script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/3rdParty/jquery-ui.min.js"></script>
+<script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/3rdParty/jquery.tools.min.js"></script>
+<script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.js"></script>
<script type="text/javascript">
//<![CDATA[
WCF.User.init({@$__wcf->user->userID}, '{@$__wcf->user->username|encodeJS}');
<!-- Stylesheets -->
<style type="text/css">
- @import url("{@RELATIVE_WCF_DIR}acp/style/wcf.css") screen;
+ @import url("{@$__wcf->getPath('wcf')}acp/style/wcf.css") screen;
{*
- @import url("{@RELATIVE_WCF_DIR}acp/style/style-{@$__wcf->getLanguage()->getPageDirection()}.css") screen;
+ @import url("{@$__wcf->getPath('wcf')}acp/style/style-{@$__wcf->getLanguage()->getPageDirection()}.css") screen;
- @import url("{@RELATIVE_WCF_DIR}acp/style/print.css") print;
+ @import url("{@$__wcf->getPath('wcf')}acp/style/print.css") print;
*}
{event name='stylesheetImport'}
+++ /dev/null
-<script type="text/javascript" src="{@RELATIVE_WCF_DIR}js/ImageViewer.class.js"></script>
-<script type="text/javascript">
- //<![CDATA[
- // when the window is fully loaded, add image viewer
- Event.observe(window, 'load', function() {
- new ImageViewer($$('.enlargable'), {
- langCaption : '{lang}wcf.imageViewer.caption{/lang}',
- langPrevious : '{lang}wcf.imageViewer.previous{/lang}',
- langNext : '{lang}wcf.imageViewer.next{/lang}',
- langPlay : '{lang}wcf.imageViewer.play{/lang}',
- langPause : '{lang}wcf.imageViewer.pause{/lang}',
- langEnlarge : '{lang}wcf.imageViewer.enlarge{/lang}',
- langClose : '{lang}wcf.imageViewer.close{/lang}',
- imgBlankSrc : '{@RELATIVE_WCF_DIR}images/imageViewer/blank.png',
- imgMenuSrc : '{@RELATIVE_WCF_DIR}images/imageViewer/menu.png',
- imgPlaySrc : '{icon}imageViewer/playM.png{/icon}',
- imgPreviousSrc : '{icon}imageViewer/previousM.png{/icon}',
- imgNextSrc : '{icon}imageViewer/nextM.png{/icon}',
- imgEnlargeSrc : '{icon}imageViewer/enlargeM.png{/icon}',
- imgPauseSrc : '{icon}imageViewer/pauseM.png{/icon}',
- imgCloseSrc : '{icon}imageViewer/closeM.png{/icon}',
- imgPlayHoverSrc : '{icon}imageViewer/playHoverM.png{/icon}',
- imgPreviousHoverSrc : '{icon}imageViewer/previousHoverM.png{/icon}',
- imgNextHoverSrc : '{icon}imageViewer/nextHoverM.png{/icon}',
- imgEnlargeHoverSrc : '{icon}imageViewer/enlargeHoverM.png{/icon}',
- imgPauseHoverSrc : '{icon}imageViewer/pauseHoverM.png{/icon}',
- imgCloseHoverSrc : '{icon}imageViewer/closeHoverM.png{/icon}'
- });
- });
-//]]>
-</script>
\ No newline at end of file
+++ /dev/null
-<script type="text/javascript" src="{@RELATIVE_WCF_DIR}js/ImageViewer.class.js"></script>
-<script type="text/javascript">
- //<![CDATA[
- // when the dom is fully loaded, add image viewer
- document.observe("dom:loaded", function() {
- new ImageViewer($$('.enlargable'), {
- langCaption : '{lang}wcf.imageViewer.caption{/lang}',
- langPrevious : '{lang}wcf.imageViewer.previous{/lang}',
- langNext : '{lang}wcf.imageViewer.next{/lang}',
- langPlay : '{lang}wcf.imageViewer.play{/lang}',
- langPause : '{lang}wcf.imageViewer.pause{/lang}',
- langEnlarge : '{lang}wcf.imageViewer.enlarge{/lang}',
- langClose : '{lang}wcf.imageViewer.close{/lang}',
- imgBlankSrc : '{@RELATIVE_WCF_DIR}images/imageViewer/blank.png',
- imgMenuSrc : '{@RELATIVE_WCF_DIR}images/imageViewer/menu.png',
- imgPlaySrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/playM.png',
- imgPreviousSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/previousM.png',
- imgNextSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/nextM.png',
- imgEnlargeSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/enlargeM.png',
- imgPauseSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/pauseM.png',
- imgCloseSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/closeM.png',
- imgPlayHoverSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/playHoverM.png',
- imgPreviousHoverSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/previousHoverM.png',
- imgNextHoverSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/nextHoverM.png',
- imgEnlargeHoverSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/enlargeHoverM.png',
- imgPauseHoverSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/pauseHoverM.png',
- imgCloseHoverSrc : '{@RELATIVE_WCF_DIR}icon/imageViewer/closeHoverM.png'
- });
- });
-//]]>
-</script>
\ No newline at end of file
* @category Community Framework
*/
class WCF {
+ /**
+ * list of currently loaded applications
+ * @var array<wcf\system\application\IApplication>
+ */
+ protected $applications = array();
+
/**
* list of autoload directories
* @var array
$application = ApplicationHandler::getInstance()->getActiveApplication();
$this->loadApplication($application);
+ // register primary application
+ $abbreviation = ApplicationHandler::getInstance()->getAbbreviation($application->packageID);
+ $this->applications[$abbreviation] = $application;
+
// start dependent applications
$applications = ApplicationHandler::getInstance()->getDependentApplications();
foreach ($applications as $application) {
// assign base tag
$this->getTPL()->assign('baseHref', $application->domainName . $application->domainPath);
}
+
+ // register application
+ $this->applications[$abbreviation] = $application;
}
/**
if (!defined('ENABLE_BENCHMARK') || ENABLE_BENCHMARK) return true;
return false;
}
+
+ /**
+ * Returns domain path for given application.
+ *
+ * @param string $abbreviation
+ * @return string
+ */
+ public function getPath($abbreviation = 'wcf') {
+ if (empty($this->applications)) {
+ $this->applications = array(
+ 'wcf' => new Application(1)
+ );
+ }
+
+ if (!isset($this->applications[$abbreviation])) {
+ $abbreviation = 'wcf';
+ }
+
+ return $this->applications[$abbreviation]->domainName . $this->applications[$abbreviation]->domainPath;
+ }
}
<item name="wcf.acp.cronjob.className"><![CDATA[Klassenname]]></item>
<item name="wcf.acp.cronjob.data"><![CDATA[Allgemeine Daten]]></item>
<item name="wcf.acp.cronjob.timing"><![CDATA[Zeitsteuerung]]></item>
- <item name="wcf.acp.cronjob.intro"><![CDATA[Das Anlegen von Cronjobs (zeitgesteuerten Aufgaben) erfordert eine genaue Kenntnis der Crontab-Syntax auf unixähnlichen Systemen. Weiterführende Informationen dazu erhalten Sie auf dieser Website: <a href="{@RELATIVE_WCF_DIR}acp/dereferrer.php?url={"http://www.unixgeeks.org/security/newbie/unix/cron-1.html"|rawurlencode}" class="externalURL">Newbie: Intro to cron</a>]]></item>
+ <item name="wcf.acp.cronjob.intro"><![CDATA[Das Anlegen von Cronjobs (zeitgesteuerten Aufgaben) erfordert eine genaue Kenntnis der Crontab-Syntax auf unixähnlichen Systemen. Weiterführende Informationen dazu erhalten Sie auf dieser Website: <a href="{@$__wcf->getPath('wcf')}acp/dereferrer.php?url={"http://www.unixgeeks.org/security/newbie/unix/cron-1.html"|rawurlencode}" class="externalURL">Newbie: Intro to cron</a>]]></item>
<item name="wcf.acp.cronjob.execute"><![CDATA[Cronjob jetzt ausführen]]></item>
<item name="wcf.acp.cronjob.className.error.doesNotExist"><![CDATA[Eine Klasse mit dem angegeben Namen existiert nicht.]]></item>
<item name="wcf.acp.cronjob.timing.error.notValid"><![CDATA[Das Zeitformat ist ungültig.]]></item>
<item name="wcf.acp.cronjob.className"><![CDATA[Class name]]></item>
<item name="wcf.acp.cronjob.data"><![CDATA[General information]]></item>
<item name="wcf.acp.cronjob.timing"><![CDATA[Schedule]]></item>
- <item name="wcf.acp.cronjob.intro"><![CDATA[Configuring cron jobs (automatized scheduled tasks) requires distinct knowledge of the crontab syntax on Unix based systems. More information about this topic can be obtained on the following Webpage: <a href="{@RELATIVE_WCF_DIR}acp/dereferrer.php?url={"http://www.unixgeeks.org/security/newbie/unix/cron-1.html"|rawurlencode}" class="externalURL">Newbie: Intro to cron</a>.]]></item>
+ <item name="wcf.acp.cronjob.intro"><![CDATA[Configuring cron jobs (automatized scheduled tasks) requires distinct knowledge of the crontab syntax on Unix based systems. More information about this topic can be obtained on the following Webpage: <a href="{@$__wcf->getPath('wcf')}acp/dereferrer.php?url={"http://www.unixgeeks.org/security/newbie/unix/cron-1.html"|rawurlencode}" class="externalURL">Newbie: Intro to cron</a>.]]></item>
<item name="wcf.acp.cronjob.execute"><![CDATA[Execute cron job now]]></item>
<item name="wcf.acp.cronjob.className.error.doesNotExist"><![CDATA[There is no class with the given name.]]></item>
<item name="wcf.acp.cronjob.timing.error.notValid"><![CDATA[The timings you have set are invalid.]]></item>