]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/theme_functions.php
Fixed for loading themes, no longer needed parameters removed
[mailer.git] / inc / libs / theme_functions.php
index d2e5da8b03344cfbb234edf509553cb8f239d698..eb85579a286784abf03ecd8802fac91a85a2cb96 100644 (file)
@@ -42,12 +42,18 @@ if (!defined('__SECURITY')) {
        require($INC);
 }
 
-// Create a selection box with installed and activated themes
-function generateThemeSelectionBox ($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 .= "&action=".$act;
-       if (!empty($wht)) $formAction .= "&what=".$wht;
+       $formAction = "{!URL!}/modules.php?module=" . $mod;
+       if (!empty($what)) $formAction .= "&what=" . $what;
 
        // Initialize array
        $themesArray = array(
@@ -55,10 +61,21 @@ function generateThemeSelectionBox ($mod, $act, $wht, $result) {
                'theme_name'   => array()  // Title
        );
 
+       // Only activated themes for the user
+       $add = " WHERE `theme_active`='Y'";
+
+       // Do we have admin?
+       if (IS_ADMIN()) $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
+               // Construct relative include file name
                $INC = sprintf("theme/%s/theme.php", SQL_ESCAPE($content['theme_path']));
+
+               // Load it's theme.php file if found
                if (isIncludeReadable($INC)) {
                        // And save all data in array
                        loadInclude($INC);
@@ -67,8 +84,8 @@ function generateThemeSelectionBox ($mod, $act, $wht, $result) {
                } // 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 = '';
@@ -85,7 +102,7 @@ function generateThemeSelectionBox ($mod, $act, $wht, $result) {
        );
 
        // Return generated selection
-       return LOAD_TEMPLATE("theme_select_form", true, $content);
+       return LOAD_TEMPLATE('theme_select_form', true, $content);
 }
 
 // Get version from name
@@ -93,11 +110,11 @@ function THEME_GET_VERSION ($name) {
        // Is the extension 'theme' installed?
        if (!EXT_IS_ACTIVE('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])) {
@@ -108,7 +125,7 @@ function THEME_GET_VERSION ($name) {
                incrementConfigEntry('cache_hits');
        } elseif (GET_EXT_VERSION('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?
@@ -151,7 +168,7 @@ function isThemeActive ($name) {
                incrementConfigEntry('cache_hits');
        } elseif (GET_EXT_VERSION('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?
@@ -170,7 +187,7 @@ function getCurrentThemeName () {
        // Is the extension 'theme' installed?
        if (!EXT_IS_ACTIVE('theme')) {
                // Then abort here
-               return "default";
+               return 'default';
        } // END - if
 
        // Get the Uni* name
@@ -185,7 +202,7 @@ function getCurrentThemeName () {
                incrementConfigEntry('cache_hits');
        } elseif (GET_EXT_VERSION('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
@@ -203,7 +220,7 @@ function getCurrentThemeName () {
 $GLOBALS['curr_theme'] = getCurrentTheme();
 
 // Check if new theme is selcted
-if ((REQUEST_ISSET_POST(('new_theme'))) && (REQUEST_POST('new_theme') != $GLOBALS['curr_theme'])) {
+if ((REQUEST_ISSET_POST('new_theme')) && (REQUEST_POST('new_theme') != $GLOBALS['curr_theme'])) {
        // Set new theme for guests
        $newTheme = REQUEST_POST('new_theme');
 
@@ -216,5 +233,5 @@ if ((REQUEST_ISSET_POST(('new_theme'))) && (REQUEST_POST('new_theme') != $GLOBAL
        ADD_INC_TO_POOL(sprintf("%stheme/%s/theme.php", constant('PATH'), $newTheme));
 } // END - if
 
-//
+// [EOF]
 ?>