]> git.mxchange.org Git - mailer.git/blobdiff - inc/functions.php
Introduceed new extension ext-server_name which has been extracted from
[mailer.git] / inc / functions.php
index a240205c2816c7bfa2355f19448b205e4ff41496..d5d9226e38b4b6980eefed23818ef2d9daa41882 100644 (file)
@@ -11,7 +11,7 @@
  * Kurzbeschreibung  : Viele Nicht-Datenbank-Funktionen                 *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2015 by Mailer Developer Team                   *
+ * Copyright (c) 2009 - 2016 by Mailer Developer Team                   *
  * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -2865,5 +2865,101 @@ function translatePhpExtension ($extension) {
        return '{--PHP_EXTENSION_' . strtoupper($extension) . '--}';
 }
 
+// Loads stylesheet files in different ways, depending on output mode
+function loadStyleSheets () {
+       // Default styles
+       $stylesList = array(
+               'general.css',
+               'ajax.css',
+       );
+
+       // Add stylesheet for installation
+       if ((isInstaller())) {
+               array_push($stylesList, 'install.css');
+       } // END - if
+
+       // When no CSS output-mode is set, set it to file-output
+       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 ((isCssOutputMode()) || (getCssPhp() == 'DIRECT')) {
+               // Load CSS files
+               $stylesList = merge_array($stylesList, getExtensionCssFiles());
+
+               // Generate base path
+               $basePath = getBasePathFromTheme($currentTheme);
+
+               // Output inclusion lines
+               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)) {
+                               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': // Output contents
+                                               $GLOBALS['__page_header'] .= removeDeprecatedComment(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 = getBasePathFromTheme(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, removeDeprecatedComment($OUT));
+       } else {
+               // Now we load all CSS files from css.php!
+               $OUT = '<link rel="stylesheet" type="text/css" href="{%url=css.php';
+
+               if ((isInstaller())) {
+                       // Default theme first
+                       $OUT .= '?theme=' . getCurrentTheme() . '&amp;installing=1';
+               } else {
+                       // Add version + a number to bypass caching problems
+                       $OUT .= '?ver={?FULL_VERSION?}&amp;cb={?CACHE_BUSTER?}';
+               }
+
+               // Close tag
+               $GLOBALS['__page_header'] .= $OUT . '%}{%ext,version=sql_patches%}" />';
+       }
+}
+
 // [EOF]
 ?>