Adding status bar to the compose window
[squirrelmail.git] / functions / page_header.php
index 784e552853ec025fb63de323869a037313f12b22..fd072dc954176397bdc3dd8fa116a00aa9f2831a 100644 (file)
@@ -3,12 +3,12 @@
 /**
  * page_header.php
  *
- * Copyright (c) 1999-2003 The SquirrelMail Project Team
+ * Copyright (c) 1999-2004 The SquirrelMail Project Team
  * Licensed under the GNU GPL. For full terms see the file COPYING.
  *
  * Prints the page header (duh)
  *
- * $Id$
+ * @version $Id$
  * @package squirrelmail
  */
 
@@ -49,7 +49,7 @@ function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = TRUE
     
     if ($squirrelmail_language == 'ja_JP') {
         echo "<!-- \xfd\xfe -->\n";
-        echo '<meta http-equiv="Content-type" content="text/html; charset=euc-jp">' . "\n";
+        echo '<meta http-equiv="Content-type" content="text/html; charset=euc-jp" />' . "\n";
     }
     
     if ($do_hook) {
@@ -134,10 +134,10 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
     }
 
     if ($session) {
-       $compose_uri = $base_uri.'src/compose.php?mailbox='.urlencode($mailbox).'&amp;attachedmessages=true&amp;session='."$session";
+    $compose_uri = $base_uri.'src/compose.php?mailbox='.urlencode($mailbox).'&amp;attachedmessages=true&amp;session='."$session";
     } else {
         $compose_uri = $base_uri.'src/compose.php?newmessage=1';
-       $session = 0;
+    $session = 0;
     }
   
     if($javascript_on) { 
@@ -154,15 +154,29 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
                     if (!preg_match("/^[0-9]{3,4}$/", $compose_height)) {
                         $compose_height = '550';
                     }
+                    $js .= "function comp_in_new_form(comp_uri, button, myform) {\n".
+                           '   if (!comp_uri) {'."\n".
+                           '       comp_uri = "'.$compose_uri."\";\n".
+                           '   }'. "\n".
+                           '   comp_uri += "&" + button.name + "=1";'."\n".
+                           '   for ( var i=0; i < myform.elements.length; i++ ) {'."\n".
+                           '      if ( myform.elements[i].type == "checkbox"  && myform.elements[i].checked )'."\n".
+                           '         comp_uri += "&" + myform.elements[i].name + "=1";'."\n".
+                           '   }'."\n".
+                           '   var newwin = window.open(comp_uri' .
+                           ', "_blank",'.
+                           '"width='.$compose_width. ',height='.$compose_height.
+                           ',scrollbars=yes,resizable=yes,status=yes");'."\n".
+                           "}\n\n";
                     $js .= "function comp_in_new(comp_uri) {\n".
-                    "       if (!comp_uri) {\n".
-                    '           comp_uri = "'.$compose_uri."\";\n".
-                    '       }'. "\n".
-                         '    var newwin = window.open(comp_uri' .
-                         ', "_blank",'.
-                         '"width='.$compose_width. ',height='.$compose_height.
-                         ',scrollbars=yes,resizable=yes");'."\n".
-                         "}\n\n";
+                           "       if (!comp_uri) {\n".
+                           '           comp_uri = "'.$compose_uri."\";\n".
+                           '       }'. "\n".
+                           '    var newwin = window.open(comp_uri' .
+                           ', "_blank",'.
+                           '"width='.$compose_width. ',height='.$compose_height.
+                           ',scrollbars=yes,resizable=yes,status=yes");'."\n".
+                           "}\n\n";
                 }
 
                 // javascript for sending read receipts
@@ -170,7 +184,7 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
                     $js .= 'function sendMDN() {'."\n".
                            "    mdnuri=window.location+'&sendreceipt=1'; ".
                            "var newwin = window.open(mdnuri,'right');".
-                      "\n}\n\n";
+                       "\n}\n\n";
                 }
 
                 // if any of the above passes, add the JS tags too.
@@ -192,6 +206,12 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
             {
                 if ($reply_focus == 'select') $js .= "document.forms['compose'].body.select();}\n";
                 else if ($reply_focus == 'focus') $js .= "document.forms['compose'].body.focus();}\n";
+                else if ($reply_focus == 'none') $js .= "}\n";
+            }
+            // no reply focus also applies to composing new messages
+            else if ($reply_focus == 'none')
+            {
+                $js .= "}\n";
             }
             else
                 $js .= "var f = document.forms.length;\n".
@@ -212,9 +232,9 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
                         "document.forms[i-1].elements[pos].focus();\n".
                     "}\n".
                 "}\n";
-           
+        
             $js .= "// -->\n".
-                "</script>\n";
+                 "</script>\n";
             $onload = 'onload="checkForm();"';
             displayHtmlHeader ('SquirrelMail', $js);
             break;   
@@ -241,9 +261,9 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
                     "if( pos >= 0 ) {\n".
                         "document.forms[i-1].elements[pos].focus();\n".
                     "}\n".
-               "$xtra\n".
+            "$xtra\n".
                 "}\n";
-           
+        
                 if ($compose_new_win == '1') {
                     if (!preg_match("/^[0-9]{3,4}$/", $compose_width)) {
                         $compose_width = '640';
@@ -252,18 +272,18 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
                         $compose_height = '550';
                     }
                     $js .= "function comp_in_new(comp_uri) {\n".
-                    "       if (!comp_uri) {\n".
-                        '           comp_uri = "'.$compose_uri."\";\n".
-                    '       }'. "\n".
+                         "       if (!comp_uri) {\n".
+                         '           comp_uri = "'.$compose_uri."\";\n".
+                         '       }'. "\n".
                          '    var newwin = window.open(comp_uri' .
                          ', "_blank",'.
                          '"width='.$compose_width. ',height='.$compose_height.
-                         ',scrollbars=yes,resizable=yes");'."\n".
+                         ',scrollbars=yes,resizable=yes,status=yes");'."\n".
                          "}\n\n";
 
                 }
             $js .= "// -->\n". "</script>\n";
-       
+    
             $onload = 'onload="checkForm();"';
             displayHtmlHeader ('SquirrelMail', $js);
             break;   
@@ -277,8 +297,8 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
 
     echo "<body text=\"$color[8]\" bgcolor=\"$color[4]\" link=\"$color[7]\" vlink=\"$color[7]\" alink=\"$color[7]\" $onload>\n\n";
     /** Here is the header and wrapping table **/
-    $shortBoxName = imap_utf7_decode_local(
-                     readShortMailboxName($mailbox, $delimiter));
+    $shortBoxName = htmlspecialchars(imap_utf7_decode_local(
+                     readShortMailboxName($mailbox, $delimiter)));
     if ( $shortBoxName == 'INBOX' ) {
         $shortBoxName = _("INBOX");
     }
@@ -301,7 +321,7 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
                                  : html_tag( 'td', '', 'left' ) )
         . "\n";
     $urlMailbox = urlencode($mailbox);
-    echo makeComposeLink('src/compose.php?mailbox='.$urlMailbox.'&startMessage='.$startMessage);
+    echo makeComposeLink('src/compose.php?mailbox='.$urlMailbox.'&amp;startMessage='.$startMessage);
     echo "&nbsp;&nbsp;\n";
     displayInternalLink ('src/addressbook.php', _("Addresses"));
     echo "&nbsp;&nbsp;\n";
@@ -327,7 +347,7 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
         echo "</td>\n";
     }
     echo "   </tr>\n".
-        "</table><br>\n\n";
+        "</table><br />\n\n";
 }
 
 /**
@@ -366,6 +386,12 @@ function compose_Header($color, $mailbox) {
             {
                 if ($reply_focus == 'select') $js .= "document.forms['compose'].body.select();}\n";
                 else if ($reply_focus == 'focus') $js .= "document.forms['compose'].body.focus();}\n";
+                else if ($reply_focus == 'none') $js .= "}\n";
+            }
+            // no reply focus also applies to composing new messages
+            else if ($reply_focus == 'none')
+            {
+                $js .= "}\n";
             }
             else
                 $js .= "var f = document.forms.length;\n".
@@ -387,7 +413,7 @@ function compose_Header($color, $mailbox) {
                     "}\n".
                 "}\n";
             $js .= "// -->\n".
-                "</script>\n";
+                 "</script>\n";
             $onload = 'onload="checkForm();"';
             displayHtmlHeader (_("Compose"), $js);
             break;