A lot while() conditions rewritten to SQL_FETCHARRAY(), see bug #107, @TODO tags...
[mailer.git] / inc / libs / theme_functions.php
index e97d767..f8fd66d 100644 (file)
@@ -37,46 +37,50 @@ if (!defined('__SECURITY')) {
        require($INC);
 }
 
-function THEME_SELECTION_BOX($mod, $act, $wht, $result) {
+// Create a selection box with installed and activated themes
+function THEME_SELECTION_BOX ($mod, $act, $wht, $result) {
        // Construction URL
-       $FORM = "{!URL!}/modules.php?module=".$mod;
-       if (!empty($act)) $FORM .= "&action=".$act;
-       if (!empty($wht))   $FORM .= "&what=".$wht;
-       define('__FORM_VALUE', $FORM);
+       $formAction = "{!URL!}/modules.php?module=".$mod;
+       if (!empty($act)) $formAction .= "&action=".$act;
+       if (!empty($wht)) $formAction .= "&what=".$wht;
 
        // Initialize array
-       $THEMES = array(
+       $themesArray = array(
                'theme_unix'   => array(), // Unix name from filesystem
                'theme_name'   => array()  // Title
        );
 
        // Load all themes
-       while (list($theme) = SQL_FETCHROW($result)) {
+       while ($content = SQL_FETCHARRAY($result)) {
                // Load it's theme.php file
-               $INC = sprintf("theme/%s/theme.php", SQL_ESCAPE($theme));
+               $INC = sprintf("theme/%s/theme.php", SQL_ESCAPE($content['theme_path']));
                if (INCLUDE_READABLE($INC)) {
                        // And save all data in array
                        LOAD_INC($INC);
-                       $THEMES['theme_unix'][] = $theme;
-                       $THEMES['theme_name'][] = $THEME_NAME;
+                       $themesArray['theme_unix'][] = $content['theme_path'];
+                       $themesArray['theme_name'][] = $THEME_NAME;
                } // END - if
        } // END - while
 
        // Sort whole array by title
-       array_pk_sort($THEMES, array("theme_name"));
+       array_pk_sort($themesArray, array("theme_name"));
 
        // Construct selection form for the box template
        $OUT = "";
-       foreach ($THEMES['theme_unix'] as $key => $theme) {
+       foreach ($themesArray['theme_unix'] as $key => $theme) {
                $OUT .= "  <option value=\"".$theme."\"";
                if ($theme == GET_CURR_THEME()) $OUT .= " selected=\"selected\"";
-               $OUT .= ">".$THEMES['theme_name'][$key]."</option>\n";
+               $OUT .= ">".$themesArray['theme_name'][$key]."</option>\n";
        } // END - foreach
 
+       // Remember content
+       $content = array(
+               'form_action' => $formAction,
+               'selection'   => $OUT
+       );
+
        // Return generated selection
-       define('__THEME_SELECTION_OPTIONS', $OUT);
-       $OUT = LOAD_TEMPLATE("theme_select_form", true);
-       return $OUT;
+       return LOAD_TEMPLATE("theme_select_form", true, $content);
 }
 
 // Get version from name