Ach ja,
hier der Code für die "domain-config.php"
Code:
<?php
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
/**
* WebMechanic Joomla Tuneup Utility "Dynamic Host Configuration"
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* This work is licensed under a Creative Commons License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/2.0/de/
* or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
*
* @version 0.0.2 $Id$
* @package JoomlaTuneups
* @license http://creativecommons.org/licenses/by-nc/2.0/de/
* @author CirTap <ct@webmechanic.biz>
*/
/**
* Anpassen von Joomla! Konfigurations-Variablen in Abhaengigkeit
* der aktuellen Sub-Domain fuer zeemes.de
* Datei speichern als 'config-domains.php' im Joomla-Root.
*
* Im Administrator, Global Configuration ist eine der Domains als Vorgabe
* einzutragen sowie das hierzu passende Template als Standard festzulegen.
Damit dieser Skript automatisch geladen wird muss
/administrator/components/com_config/admin.config.php
modifiziert werden.
Als Vorgabe wird der Dateiname 'config-domains.php' genommen.
Diese Änderung sorgt dafür, dass die Datei automatisch geladen
wird und die Änderungen allen Skripten im Frontend bekannt sind.
$config .= $row->getVarText();
$config .= "setlocale (LC_TIME, \$mosConfig_locale);\n";
zu
$config .= $row->getVarText();
// Domainspezifische Aenderungen
$config .= "@include('config-domains.php');\n";
$config .= "setlocale (LC_TIME, \$mosConfig_locale);\n";
Verwenden des Cache.
Werden verschiedene Domains/Templates aber eine Datenbank verwendet UND
der Joomla-Cache aktiviert, ist eine weitere Änderung an der Datei
/includes/joomla.php
erforderlich. Die Änderung sorgt für eindeutige Cache-Dateien.
Hierfür ist zu ändern: class mosCache, function &getCache(), ca. Zeile 324
$options = array(
'cacheDir' => $mosConfig_cachepath . '/',
'caching' => $mosConfig_caching,
'defaultGroup' => $group . $GLOBALS['mosConfig_live_site'],
'lifeTime' => $mosConfig_cachetime
);
Viel Spaß,
CirTap
*/
// Einfacher Test ob der Joomla! Administrator am Start ist.
// Wenn ja, wird der Script hier beendet
if (strstr($_SERVER['REQUEST_URI'], '/administrator') !== false) {
return;
}
// NICHT ÄNDERN!
// Arbeitskopie von $mosConfig_live_site
$jos_url = parse_url($mosConfig_live_site);
// NICHT ÄNDERN!
// Berechnen des Host- bzw. Domain-Namen.
// Alte Browser und HTTP 1.0 "user agents" senden HTTP_HOST nicht.
// $jos_host wird hier als Vorgabe aus den Vorgabewerten ermittelt.
// 1. $_SERVER['HTTP_HOST'] entspricht dem vom Browser gesendeten Domain-Namen
// 2. $jos_url['host'] Domainname aus $mosConfig_live_site
// 3. $_SERVER['SERVER_NAME'] ist der "echte" Name des Web-Servers.
if (isset($_SERVER['HTTP_HOST'])) {
$jos_host = strtolower($_SERVER['HTTP_HOST']);
} else {
$jos_host = isset($jos_url['host']) ? $jos_url['host'] : $_SERVER['SERVER_NAME'];
}
/**
* Basis-Konfiguration
*
* Pro (Sub-)Domain (Hostname) entsprechende "case" Blöcke anlegen.
* WICHTIG! Wenn eine Webseite sowohl über 'domain1.de' als auch
* ueber 'www.domain1.de' erreichbar ist müssen BEIDE Namen
* eingetragen werden.
*
* Hier können (theoretisch) alle Variable aus configuration.php zur
* Laufzeit umgestellt bzw. anpasst werden.
*
* BESONDERE VARIABLEN:
* - $jos_template = Name des Unterordners in /templates/ fuer das zu verwendende
* Template einer Domain. Die Umschaltung erfolgt automatische
* durch den integrierten "Template-Wechsler" von Joomla.
*/
switch ($jos_host) {
case "domain1.de":
case "www.domain1.de":
$jos_template = 'template1';
break;
case "domain2.de":
case "www.domain2.de":
$jos_template = 'template2';
break;
case "shop.domain1.de":
$jos_template = 'shop-template';
break;
default:
$jos_template = '';
/* andere werte behalten ihre Vorgaben aus configuration.php */
}
/* ENDE DER Basis-Konfiguration */
// "Dynamic Web-Site"
// Der Wert von $mosConfig_live_site wird dynamisch an die aktive (Sub-)Domain
// angepasst unter Beruecksichtigung von SSL- und Proxy-Verbindungen.
// Protokoll-Art
if ( isset($_SERVER["SSL_PROTOCOL"]) ) {
$mosConfig_live_site = 'https://';
} else {
$mosConfig_live_site = 'http://';
}
// Hostname:
$mosConfig_live_site .= $jos_host;
// IP-Port z.B. via Proxies
if ($_SERVER["SERVER_PORT"] !=80 && $_SERVER["SERVER_PORT"] != 443) {
$mosConfig_live_site .= ':' . $_SERVER["SERVER_PORT"];
}
// ggf. Pfadname dahinter:
$mosConfig_live_site .= @$jos_url['path'];
// Simuliert das Formular des Template-Wechsler
if (!empty($jos_template)) $_REQUEST['jos_change_template'] = $jos_template;
?>
also viel spass....
beste grüße floxworld
dereventstylist.de - the art of marketing & communication
Lesezeichen