]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/theme_functions.php
ext was missing, fixed error message
[mailer.git] / inc / libs / theme_functions.php
index cd6d4ce3a2ce49e4c7f971c0cda33c09b469e418..70a219910271e1932314abd0a53475009f0059a1 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 12/03/2004 *
- * ===============                              Last change: 12/13/2004 *
+ * Mailer v0.2.1-FINAL                                Start: 12/03/2004 *
+ * ===================                          Last change: 12/13/2004 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : theme-manager.php                                *
@@ -17,7 +17,7 @@
  * Needs to be in all Files and every File needs "svn propset           *
  * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
 
 // Some security stuff...
 if (!defined('__SECURITY')) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
+       die();
 }
 
-// Create a selection box with installed and activated themes
-function THEME_SELECTION_BOX ($mod, $act, $wht, $result) {
+// Create a selection box with installed and activated themes or all if admin
+function generateThemeSelectionBox () {
+       // Init variables and fill them if set
+       $what = '';
+       $mod = getModule();
+       if (isWhatSet()) {
+               $what = getWhat();
+       } // END - if
+
        // Construction URL
-       $formAction = "{!URL!}/modules.php?module=".$mod;
-       if (!empty($act)) $formAction .= "&amp;action=".$act;
-       if (!empty($wht)) $formAction .= "&amp;what=".$wht;
+       $formAction = "{?URL?}/modules.php?module=" . $mod;
+       if (!empty($what)) $formAction .= "&amp;what=" . $what;
 
        // Initialize array
        $themesArray = array(
@@ -55,26 +60,37 @@ function THEME_SELECTION_BOX ($mod, $act, $wht, $result) {
                'theme_name'   => array()  // Title
        );
 
+       // Only activated themes for the user
+       $add = " WHERE `theme_active`='Y'";
+
+       // Do we have admin?
+       if (isAdmin()) $add = '';
+
+       // Select all themes we want
+       $result = SQL_QUERY("SELECT `theme_path`, `theme_name` FROM `{?_MYSQL_PREFIX?}_themes`".$add." ORDER BY `theme_name` ASC", __FILE__, __LINE__);
+
        // Load all themes
        while ($content = SQL_FETCHARRAY($result)) {
-               // Load it's theme.php file
-               $INC = sprintf("theme/%s/theme.php", SQL_ESCAPE($content['theme_path']));
-               if (INCLUDE_READABLE($INC)) {
+               // Construct relative include file name
+               $inc = sprintf("theme/%s/theme.php", secureString($content['theme_path']));
+
+               // Load it's theme.php file if found
+               if (isIncludeReadable($inc)) {
                        // And save all data in array
-                       LOAD_INC($INC);
+                       loadInclude($inc);
                        $themesArray['theme_unix'][] = $content['theme_path'];
-                       $themesArray['theme_name'][] = $THEME_NAME;
+                       $themesArray['theme_name'][] = $GLOBALS['theme_data']['name'];
                } // END - if
        } // END - while
 
-       // Sort whole array by title
-       array_pk_sort($themesArray, array("theme_name"));
+       // Free the result
+       SQL_FREERESULT($result);
 
        // Construct selection form for the box template
-       $OUT = "";
+       $OUT = '';
        foreach ($themesArray['theme_unix'] as $key => $theme) {
                $OUT .= "  <option value=\"".$theme."\"";
-               if ($theme == GET_CURR_THEME()) $OUT .= " selected=\"selected\"";
+               if ($theme == getCurrentTheme()) $OUT .= ' selected="selected"';
                $OUT .= ">".$themesArray['theme_name'][$key]."</option>\n";
        } // END - foreach
 
@@ -85,19 +101,19 @@ function THEME_SELECTION_BOX ($mod, $act, $wht, $result) {
        );
 
        // Return generated selection
-       return LOAD_TEMPLATE("theme_select_form", true, $content);
+       return loadTemplate('theme_select_form', true, $content);
 }
 
 // Get version from name
-function THEME_GET_VERSION ($name) {
-       // Is the extension "theme" installed?
-       if (!EXT_IS_ACTIVE("theme")) {
+function getThemeVersion ($name) {
+       // Is the extension 'theme' installed?
+       if (!isExtensionActive('theme')) {
                // Then abort here
-               return "!.!";
+               return '!.!';
        } // END - if
 
-       // Default version "number"
-       $cver = "?.?";
+       // Default version 'number'
+       $cver = '?.?';
 
        // Is the cache entry there?
        if (isset($GLOBALS['cache_array']['themes']['theme_ver'][$name])) {
@@ -105,10 +121,10 @@ function THEME_GET_VERSION ($name) {
                $cver = $GLOBALS['cache_array']['themes']['theme_ver'][$name];
 
                // Count up
-               incrementConfigEntry('cache_hits');
-       } elseif (GET_EXT_VERSION("cache") != "0.1.8") {
+               incrementStatsEntry('cache_hits');
+       } elseif (getExtensionVersion('cache') != '0.1.8') {
                // Load version from database
-               $result = SQL_QUERY_ESC("SELECT theme_ver FROM `{!_MYSQL_PREFIX!}_themes` WHERE theme_path='%s' LIMIT 1",
+               $result = SQL_QUERY_ESC("SELECT `theme_ver` FROM `{?_MYSQL_PREFIX?}_themes` WHERE `theme_path`='%s' LIMIT 1",
                        array($name), __FUNCTION__, __LINE__);
 
                // Entry found?
@@ -126,15 +142,15 @@ function THEME_GET_VERSION ($name) {
 }
 
 // Checks wether a theme is found in db
-function THEME_CHECK_EXIST ($name) {
+function ifThemeExists ($name) {
        // Get theme and is it not nul?
-       return (THEME_GET_ID($name) > 0);
+       return (getThemeId($name) > 0);
 }
 
 // Checks if a theme is active
-function THEME_IS_ACTIVE ($name) {
-       // Is the extension "theme" installed?
-       if (!EXT_IS_ACTIVE("theme")) {
+function isThemeActive ($name) {
+       // Is the extension 'theme' installed?
+       if (!isExtensionActive('theme')) {
                // Then abort here
                return false;
        } // END - if
@@ -145,13 +161,13 @@ function THEME_IS_ACTIVE ($name) {
        // Is the cache entry there?
        if (isset($GLOBALS['cache_array']['themes']['theme_active'][$name])) {
                // Get the version from cache
-               $active = ($GLOBALS['cache_array']['themes']['theme_active'][$name] == "Y");
+               $active = ($GLOBALS['cache_array']['themes']['theme_active'][$name] == 'Y');
 
                // Count up
-               incrementConfigEntry('cache_hits');
-       } elseif (GET_EXT_VERSION("cache") != "0.1.8") {
+               incrementStatsEntry('cache_hits');
+       } elseif (getExtensionVersion('cache') != '0.1.8') {
                // Check if current theme is already imported or not
-               $result = SQL_QUERY_ESC("SELECT theme_active FROM `{!_MYSQL_PREFIX!}_themes` WHERE theme_path='%s' AND theme_active='Y' LIMIT 1",
+               $result = SQL_QUERY_ESC("SELECT `theme_active` FROM `{?_MYSQL_PREFIX?}_themes` WHERE `theme_path`='%s' AND `theme_active`='Y' LIMIT 1",
                        array($name), __FUNCTION__, __LINE__);
 
                // Is the theme active and installed?
@@ -166,15 +182,15 @@ function THEME_IS_ACTIVE ($name) {
 }
 
 // Gets current human-readable theme name
-function GET_CURR_THEME_NAME () {
-       // Is the extension "theme" installed?
-       if (!EXT_IS_ACTIVE("theme")) {
+function getCurrentThemeName () {
+       // Is the extension 'theme' installed?
+       if (!isExtensionActive('theme')) {
                // Then abort here
-               return "default";
+               return 'default';
        } // END - if
 
        // Get the Uni* name
-       $name = GET_CURR_THEME();
+       $name = getCurrentTheme();
 
        // Is the cache entry there?
        if (isset($GLOBALS['cache_array']['themes']['theme_name'][$name])) {
@@ -182,10 +198,10 @@ function GET_CURR_THEME_NAME () {
                $name = $GLOBALS['cache_array']['themes']['theme_name'][$name];
 
                // Count up
-               incrementConfigEntry('cache_hits');
-       } elseif (GET_EXT_VERSION("cache") != "0.1.8") {
+               incrementStatsEntry('cache_hits');
+       } elseif (getExtensionVersion('cache') != '0.1.8') {
                // Check if current theme is already imported or not
-               $result = SQL_QUERY_ESC("SELECT theme_name FROM `{!_MYSQL_PREFIX!}_themes` WHERE theme_path='%s' AND theme_active='Y' LIMIT 1",
+               $result = SQL_QUERY_ESC("SELECT `theme_name` FROM `{?_MYSQL_PREFIX?}_themes` WHERE `theme_path`='%s' AND `theme_active`='Y' LIMIT 1",
                        array($name), __FUNCTION__, __LINE__);
 
                // Load theme name
@@ -199,22 +215,23 @@ function GET_CURR_THEME_NAME () {
        return $name;
 }
 
-// Initialize variables
-$GLOBALS['curr_theme'] = GET_CURR_THEME();
+// Filter for generic handling of theme change
+function FILTER_HANDLE_THEME_CHANGE () {
+       // Check if new theme is selcted
+       if ((isPostRequestElementSet('new_theme')) && (postRequestElement('new_theme') != getCurrentTheme())) {
+               // Set new theme for guests
+               $newTheme = postRequestElement('new_theme');
 
-// Check if new theme is selcted
-if ((REQUEST_ISSET_POST(('new_theme'))) && (REQUEST_POST('new_theme') != $GLOBALS['curr_theme'])) {
-       // Set new theme for guests
-       $newTheme = REQUEST_POST('new_theme');
+               // Change to new theme
+               setTheme($newTheme);
 
-       // Change to new theme
-       set_session('mxchange_theme', $newTheme);
+               // Remove current from array
+               removeIncludeFromPool('theme', sprintf("theme/%s/theme.php", getCurrentTheme()));
 
-       // Remove current from array and set new
-       $theme = sprintf("%stheme/%s/theme.php", constant('PATH'), $GLOBALS['curr_theme']);
-       unset($INC_POOL[array_search($theme, $INC_POOL)]);
-       $INC_POOL[] = sprintf("%stheme/%s/theme.php", constant('PATH'), $newTheme);
-} // END - if
+               // Add new theme
+               addIncludeToPool('theme', sprintf("theme/%s/theme.php", $newTheme));
+       } // END - if
+}
 
-//
+// [EOF]
 ?>