Don't open multiple IMAP connections when building reply headers during send
[squirrelmail.git] / class / template / Template.class.php
index b0104584faee2ed913aef14d54ff724ff947d339..31244fd6eb60fad81e4f070588803b7d2d774206 100644 (file)
@@ -712,6 +712,8 @@ class Template
       * are catalogued; for identically named files, the file earlier
       * in the hierarchy (closest to this template set) is used.
       *
+      * Refuses to traverse directories called ".svn"
+      *
       * @param string $template_set_id The template set in which to
       *                                search for files
       * @param array  $file_list       The file list so far to be added
@@ -743,6 +745,12 @@ class Template
             $directory = $template_base_dir;
         }
 
+
+        // bail if we have been asked to traverse a Subversion directory
+        //
+        if (strpos($directory, '/.svn') === strlen($directory) - 5) return $file_list;
+
+
         $files_and_dirs = list_files($directory, '', FALSE, TRUE, FALSE, TRUE);
 
         // recurse for all the subdirectories in the template set
@@ -1186,9 +1194,10 @@ class Template
         $return_array = array();
         foreach ($css_directories as $directory) {
 
-            // CVS directories are not wanted
+            // CVS and SVN directories are not wanted
             //
-            if (strpos($directory, '/CVS') === strlen($directory) - 4) continue;
+            if ((strpos($directory, '/CVS') === strlen($directory) - 4)
+             || (strpos($directory, '/.svn') === strlen($directory) - 5)) continue;
 
             $pretty_name = ucwords(str_replace('_', ' ', basename($directory)));
 
@@ -1411,9 +1420,9 @@ FIXME: We could make the incoming array more complex so it can
         } else {
 
             $aPluginOutput = array();
+            $temp = array(&$aPluginOutput, &$this);
             $aPluginOutput = concat_hook_function('template_construct_' . $file,
-                                                  $temp=array(&$aPluginOutput, &$this),
-                                                  TRUE);
+                                                  $temp, TRUE);
             $this->assign('plugin_output', $aPluginOutput);
 
             //$output = $this->apply_template($template);