Added 'no focus' option for compose screen
[squirrelmail.git] / functions / page_header.php
index 9999df71b6083b968aeb5cb966cda3ef65443fae..134d82549999088d7c9c43ed4d2cfd23afdb6ba8 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
  */
 
@@ -87,14 +87,10 @@ ECHO;
  * @param string target the target frame for this link
  */
 function makeInternalLink($path, $text, $target='') {
-    global $use_frames;
     sqgetGlobalVar('base_uri', $base_uri, SQ_SESSION);
-    if (isset($use_frames) && $use_frames) {
-        if ($target != '')
-            $target = " target=\"$target\"";
-    } else 
-       $target='';
-
+    if ($target != '') {
+        $target = " target=\"$target\"";
+    }
     $hooktext = do_hook_function('internal_link',$text);
     if ($hooktext != '')
         $text = $hooktext;
@@ -124,7 +120,8 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
     global $hide_sm_attributions, $PHP_SELF, $frame_top,
            $compose_new_win, $compose_width, $compose_height,
            $attachemessages, $provider_name, $provider_uri,
-           $javascript_on, $default_use_mdn, $mdn_user_support;
+           $javascript_on, $default_use_mdn, $mdn_user_support,
+           $startMessage;
 
     sqgetGlobalVar('base_uri', $base_uri, SQ_SESSION );
     sqgetGlobalVar('delimiter', $delimiter, SQ_SESSION );
@@ -137,10 +134,10 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
     }
 
     if ($session) {
-       $compose_uri = $base_uri.'src/compose.php?mailbox='.urlencode($mailbox).'&attachedmessages=true&session='."$session";
+    $compose_uri = $base_uri.'src/compose.php?mailbox='.urlencode($mailbox).'&attachedmessages=true&session='."$session";
     } else {
         $compose_uri = $base_uri.'src/compose.php?newmessage=1';
-       $session = 0;
+    $session = 0;
     }
   
     if($javascript_on) { 
@@ -157,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");'."\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");'."\n".
+                           "}\n\n";
                 }
 
                 // javascript for sending read receipts
@@ -173,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.
@@ -195,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".
@@ -215,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;   
@@ -244,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';
@@ -255,9 +272,9 @@ 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.
@@ -266,7 +283,7 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
 
                 }
             $js .= "// -->\n". "</script>\n";
-       
+    
             $onload = 'onload="checkForm();"';
             displayHtmlHeader ('SquirrelMail', $js);
             break;   
@@ -279,11 +296,9 @@ 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";
-    noframes_top();
-
     /** 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");
     }
@@ -306,17 +321,17 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
                                  : html_tag( 'td', '', 'left' ) )
         . "\n";
     $urlMailbox = urlencode($mailbox);
-    echo makeComposeLink('src/compose.php?mailbox='.$urlMailbox);
+    echo makeComposeLink('src/compose.php?mailbox='.$urlMailbox.'&amp;startMessage='.$startMessage);
     echo "&nbsp;&nbsp;\n";
-    displayInternalLink ('src/addressbook.php', _("Addresses"), 'right');
+    displayInternalLink ('src/addressbook.php', _("Addresses"));
     echo "&nbsp;&nbsp;\n";
-    displayInternalLink ('src/folders.php', _("Folders"), 'right');
+    displayInternalLink ('src/folders.php', _("Folders"));
     echo "&nbsp;&nbsp;\n";
-    displayInternalLink ('src/options.php', _("Options"), 'right');
+    displayInternalLink ('src/options.php', _("Options"));
     echo "&nbsp;&nbsp;\n";
-    displayInternalLink ("src/search.php?mailbox=$urlMailbox", _("Search"), 'right');
+    displayInternalLink ("src/search.php?mailbox=$urlMailbox", _("Search"));
     echo "&nbsp;&nbsp;\n";
-    displayInternalLink ('src/help.php', _("Help"), 'right');
+    displayInternalLink ('src/help.php', _("Help"));
     echo "&nbsp;&nbsp;\n";
 
     do_hook('menuline');
@@ -371,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".
@@ -392,7 +413,7 @@ function compose_Header($color, $mailbox) {
                     "}\n".
                 "}\n";
             $js .= "// -->\n".
-                "</script>\n";
+                 "</script>\n";
             $onload = 'onload="checkForm();"';
             displayHtmlHeader (_("Compose"), $js);
             break;   
@@ -404,8 +425,6 @@ function compose_Header($color, $mailbox) {
     }
 
     echo "<body text=\"$color[8]\" bgcolor=\"$color[4]\" link=\"$color[7]\" vlink=\"$color[7]\" alink=\"$color[7]\" $onload>\n\n";
-
-
 }
 
-?>
\ No newline at end of file
+?>