Prepend SM_PATH to $icon_theme_path since it is no longer returned by the template...
[squirrelmail.git] / include / load_prefs.php
index 8a68404d7709727a15023d9a9c4525eaea8935de..8b12b66b3a889198f499e744cc606edaedcf940b 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,14 +71,18 @@ while (!$found_theme && $k < count($user_themes)) {
         $found_theme = true;
     $k++;
 }
+$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 (!$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 );
@@ -102,7 +111,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');
@@ -127,7 +136,7 @@ if (!$found_theme) {
  *       theme to use.  If the admin has disabled icons, or the user has
  *       set the icon theme to "None," no icons will be used.
  */
-$icon_theme_path = (!$use_icons || $icon_theme=='none') ? NULL : ($icon_theme == 'template' ? Template::calculate_template_images_directory($sTemplateID) : $icon_theme);
+$icon_theme_path = (!$use_icons || $icon_theme=='none') ? NULL : ($icon_theme == 'template' ? SM_PATH . Template::calculate_template_images_directory($sTemplateID) : $icon_theme);
 
 // show (or not) flag and unflag buttons on mailbox list screen
 $show_flag_buttons = getPref($data_dir, $username, 'show_flag_buttons', SMPREF_ON );