<?php
/************************************************************************
- * MXChange v0.2.1 Start: 08/29/2003 *
- * =============== Last change: 12/03/2004 *
+ * Mailer v0.2.1-FINAL Start: 08/29/2003 *
+ * =================== Last change: 12/03/2004 *
* *
* -------------------------------------------------------------------- *
* File : stylesheet.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Style-Sheets werden hier abgelegt *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
* -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
************************************************************************/
// Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
-{
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
+if (!defined('__SECURITY')) {
+ die();
}
// Default styles
-$STYLES = array(
- "general.css",
+$stylesList = array(
+ 'general.css',
+ 'ajax.css',
);
// Add stylesheet for installation
-if ((basename($_SERVER['PHP_SELF']) == "install.php") || (!isBooleanConstantAndTrue('mxchange_installed')) || (isset($_GET['installing']))) $STYLES[] = "install.css";
+if ((isInstallationPhase())) {
+ array_push($stylesList, 'install.css');
+} // END - if
// When no CSS output-mode is set, set it to file-output
-if (empty($_CONFIG['css_php'])) $_CONFIG['css_php'] = "FILE";
+if (!isConfigEntrySet('css_php')) {
+ setConfigEntry('css_php', 'FILE');
+} // END - if
+
+// Get current theme
+$currentTheme = getCurrentTheme();
+
+// Has the theme changed?
+if ($currentTheme != getSession('mailer_theme')) {
+ // Then set it
+ setMailerTheme($currentTheme);
+} // END - if
// Output CSS files or content or link to css.php ?
-if (($CSS == "1") || ($_CONFIG['css_php'] == "DIRECT"))
-{
+if ((isCssOutputMode()) || (getCssPhp() == 'DIRECT')) {
// Load CSS files
- if (is_array($EXT_CSS_FILES))
- {
- // Load extension's CSS files
- foreach ($EXT_CSS_FILES as $value) $STYLES[] = $value;
- }
+ $stylesList = merge_array($stylesList, getExtensionCssFiles());
- // Create missing configuration file
- if (!function_exists('GET_CURR_THEME')) {
- // Dummy for e.g. down database links
- function GET_CURR_THEME () {
- return "default";
- }
- }
+ // Generate base path
+ $basePath = sprintf("%stheme/%s/css/", getPath(), $currentTheme);
// Output inclusion lines
- foreach ($STYLES as $value)
- {
+ foreach ($stylesList as $value) {
// Only include found CSS files (to reduce 404 requests)
- $BASE = sprintf("%stheme/%s/css/", PATH, GET_CURR_THEME());
- $file = $BASE.$value;
+ $FQFN = $basePath . $value;
// Do include only existing files and whose are not empty
- if ((file_exists($file)) && (filesize($file) > 0)) {
- switch ($_CONFIG['css_php']) {
- case "DIRECT":
- OUTPUT_HTML("<link rel=\"stylesheet\" type=\"text/css\" href=\"".URL."/".$BASE."\" />");
+ if ((isFileReadable($FQFN)) && (filesize($FQFN) > 0)) {
+ switch (getCssPhp()) {
+ case 'DIRECT': // Just link them (unsupported)
+ $GLOBALS['__page_header'] .= '<link rel="stylesheet" type="text/css" href="{%url=theme/' . getCurrentTheme() . '/' . $value . '%}" />';
break;
- case "FILE":
- $load = implode("", file($file));
- OUTPUT_HTML($load);
+ case 'FILE': // Output contents
+ $GLOBALS['__page_header'] .= readFromFile($FQFN);
break;
- }
- }
- }
+
+ default: // Invalid mode!
+ reportBug(__FILE__, __LINE__, sprintf("Invalid css_php value %s detected.", getCssPhp()));
+ break;
+ } // END - switch
+ } // END - if
+ } // END - foreach
+} elseif ((isHtmlOutputMode()) || (getCssPhp() == 'INLINE')) {
+ // Load CSS files
+ $stylesList = merge_array($stylesList, getExtensionCssFiles());
+
+ // Generate base path
+ $basePath = sprintf("%stheme/%s/css/", getPath(), getCurrentTheme());
+
+ // Output inclusion lines
+ $OUT = '';
+ foreach ($stylesList as $value) {
+ // Only include found CSS files (to reduce 404 requests)
+ $FQFN = $basePath . $value;
+
+ // Do include only existing files and whose are not empty
+ if ((isFileReadable($FQFN)) && (filesize($FQFN) > 0)) {
+ // Load CSS content
+ $OUT .= readFromFile($FQFN);
+ } // END - if
+ } // END - foreach
+
+ // Load template
+ $GLOBALS['__page_header'] .= loadTemplate('css_inline', TRUE, $OUT);
} else {
// Now we load all CSS files from css.php!
- OUTPUT_HTML("<link rel=\"stylesheet\" type=\"text/css\" href=\"".URL."/css.php", false);
- if (isBooleanConstantAndTrue('mxchange_installing')) {
+ $OUT = '<link rel="stylesheet" type="text/css" href="{%url=css.php';
+ if ((isInstallationPhase())) {
// Default theme first
- $NEW_THEME = "default";
- if (!empty($_GET['theme'])) $NEW_THEME = $_GET['theme'];
- if (!empty($_POST['theme'])) $NEW_THEME = $_POST['theme'];
- OUTPUT_HTML("?theme=".$NEW_THEME."&installing=1", false);
+ $OUT .= '?theme=' . getCurrentTheme() . '&installing=1';
+ } else {
+ // Add SVN revision to bypass caching problems
+ $OUT .= '?rev=' . getCurrentRepositoryRevision();
}
- OUTPUT_HTML("\" />");
+
+ // Close tag
+ $GLOBALS['__page_header'] .= $OUT . '%}{%ext,version=sql_patches%}" />';
}
-//
+// [EOF]
?>