Need to instantiate template object earlier so user prefs css theme selection can...
authorpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Mon, 9 Oct 2006 07:07:52 +0000 (07:07 +0000)
committerpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Mon, 9 Oct 2006 07:07:52 +0000 (07:07 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@11871 7612ce4b-ef26-0410-bec9-ea0150e637f0

include/init.php
include/load_prefs.php

index f58bf5460b1067108e5dfbf5545a047fbb899a06..fb0cc536ecdd5fab1ff33936ffb81449bed279c3 100644 (file)
@@ -315,7 +315,7 @@ switch ($sInitLocation) {
             }
         }
 
-// FIXME: do we need/want to check here for actual presence of template sets?
+// FIXME: do we need/want to check here for actual (physical) presence of template sets?
         // selected template not available, fall back to default template
         //
         if (!$found_templateset) {
@@ -540,7 +540,12 @@ if (!isset($sTemplateID)) {
     $sTemplateID = Template::get_default_template_set();
     $icon_theme_path = !$use_icons ? NULL : Template::calculate_template_images_directory($sTemplateID);
 }
-$oTemplate = Template::construct_template($sTemplateID);
+
+// template object may have already been constructed in load_prefs.php
+//
+if (empty($oTemplate)) {
+    $oTemplate = Template::construct_template($sTemplateID);
+}
 
 // We want some variables to always be available to the template
 $always_include = array('sTemplateID', 'icon_theme_path', 'javascript_on');
index d054641337a38e1a279921098e7a506570fe1de8..3d0997a39f886108e11b1fa15779b79273f9f7db 100644 (file)
@@ -35,6 +35,11 @@ $custom_css = getPref($data_dir, $username, 'custom_css', 'none' );
 $sDefaultTemplateID = Template::get_default_template_set();
 $sTemplateID = getPref($data_dir, $username, 'sTemplateID', $sDefaultTemplateID);
 
+// need to build this object now because it is used below to validate
+// user css theme choice
+//
+$oTemplate = Template::construct_template($sTemplateID);
+
 // check user prefs template selection against templates actually available
 //
 $found_templateset = false;
@@ -66,22 +71,11 @@ while (!$found_theme && $k < count($user_themes)) {
         $found_theme = true;
     $k++;
 }
-/**
- * $oTemplate is not instantiated when this is called, so we need to devise
- * a method of fething a list of tempalte-provided alt stylesheets to validate
- * against.  For now, we assume that it is always found.
- * 
- * FIXME: fix this.
-PL: See include/init.php commit from 2 days ago, Template class should be
-    loaded before this file is, so the commented-out code below will probably 
-    work
-SB: Nope, still get errors.
- */
-#$template_themes = $oTemplate->get_alternative_stylesheets();
-#while (!$found_theme && (list($path, $name) = each($template_themes))) {
-#    if ('t_'.$path == $chosen_theme_path)
-#        $found_theme = true;
-#}
+$template_themes = $oTemplate->get_alternative_stylesheets();
+while (!$found_theme && (list($path, $name) = each($template_themes))) {
+    if ('t_'.$path == $chosen_theme_path)
+        $found_theme = true;
+}
 if (substr($chosen_theme, 0, 2) == 't_')
     $found_theme = true;
     
@@ -89,10 +83,8 @@ if (!$found_theme || $chosen_theme == 'none') {
     $chosen_theme_path = NULL;
 }
 
-/* PL: Steve, is this commented out because it is part of the old system being removed?
-       Let's just remove it then... no?
-   
-   SB: Holding on to incase I need to reference later.  Will remove eventually. :)
+/* ----- SB: Holding on to the following code incase I need to reference later.  
+       Will remove eventually. :)
    
 $theme = ( !isset($theme) ? array() : $theme );
 $color = ( !isset($color) ? array() : $color );
@@ -121,7 +113,7 @@ if (isset($chosen_theme) && $found_theme && (file_exists($chosen_theme))) {
     }
 }
 
-*/
+------ */
 
 // user's icon theme, if using icons
 $icon_theme = getPref($data_dir, $username, 'icon_theme');