X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fpage_header.php;h=5a294420550a218f04f40dfdac2fc1fd174e061d;hb=bfa54da754a946c7083726efb809dd6d89b11cc8;hp=8014dd2918f9cfbc4082d09ab5360d2e99c87cb5;hpb=8b5c49cd37e4dc685dd99221aaa5046220563fd9;p=squirrelmail.git
diff --git a/functions/page_header.php b/functions/page_header.php
index 8014dd29..5a294420 100644
--- a/functions/page_header.php
+++ b/functions/page_header.php
@@ -41,7 +41,8 @@ function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = true
} else {
echo '';
}
- echo "\n\n" . html_tag( 'html' ,'' , '', '', 'lang="'.$squirrelmail_language.'"' ) . "\n
\n";
+ echo "\n" . html_tag( 'html' ,'' , '', '', 'lang="'.$squirrelmail_language.'"' ) .
+ "\n\n";
/*
* Add closing / to link and meta elements only after switching to xhtml 1.0 Transitional.
@@ -56,6 +57,8 @@ function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = true
$base_uri . 'themes/css/'.$custom_css.'">';
}
+ echo '';
+
if ($squirrelmail_language == 'ja_JP') {
/*
* force correct detection of charset, when browser does not follow
@@ -67,12 +70,11 @@ function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = true
echo "\n";
echo '' . "\n";
}
-
if ($do_hook) {
do_hook('generic_header');
}
- echo "\n$title$xtra\n";
+ echo "$title\n$xtra\n";
/* work around IE6's scrollbar bug */
echo <<' .
- "\n\n\n";
- }
-
- displayHtmlHeader ('SquirrelMail', $js);
- $onload = $xtra;
- break;
- case 'src/compose.php':
- $js = '\n";
- $onload = 'onload="checkForm();"';
- displayHtmlHeader ('SquirrelMail', $js);
- break;
-
- case 'src/right_main.php':
-// following code graciously stolen from phpMyAdmin project at:
-// http://www.phpmyadmin.net
- $js = << exits
- if ((thePointerColor == '' && theMarkColor == '')
- || typeof(theRow.style) == 'undefined') {
- return false;
- }
-
- // 2. Gets the current row and exits if the browser can't get it
- if (typeof(document.getElementsByTagName) != 'undefined') {
- theCells = theRow.getElementsByTagName('td');
- }
- else if (typeof(theRow.cells) != 'undefined') {
- theCells = theRow.cells;
- }
- else {
- return false;
- }
-
- // 3. Gets the current color...
- var rowCellsCnt = theCells.length;
- var domDetect = null;
- var currentColor = null;
- var newColor = null;
- // 3.1 ... with DOM compatible browsers except Opera that does not return
- // valid values with "getAttribute"
- if (typeof(window.opera) == 'undefined'
- && typeof(theCells[0].getAttribute) != 'undefined') {
- currentColor = theCells[0].getAttribute('bgcolor');
- domDetect = true;
- }
- // 3.2 ... with other browsers
- else {
- currentColor = theCells[0].style.backgroundColor;
- domDetect = false;
- } // end 3
-
- // 3.3 ... Opera changes colors set via HTML to rgb(r,g,b) format so fix it
- if (currentColor.indexOf("rgb") >= 0)
- {
- var rgbStr = currentColor.slice(currentColor.indexOf('(') + 1,
- currentColor.indexOf(')'));
- var rgbValues = rgbStr.split(",");
- currentColor = "#";
- var hexChars = "0123456789ABCDEF";
- for (var i = 0; i < 3; i++)
- {
- var v = rgbValues[i].valueOf();
- currentColor += hexChars.charAt(v/16) + hexChars.charAt(v%16);
- }
- }
-
- // 4. Defines the new color
- // 4.1 Current color is the default one
- if (currentColor == ''
- || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
- if (theAction == 'over' && thePointerColor != '') {
- newColor = thePointerColor;
- }
- else if (theAction == 'click' && theMarkColor != '') {
- newColor = theMarkColor;
- marked_row[theRowNum] = true;
- // deactivated onclick marking of the checkbox because it's also executed
- // when an action (clicking on the checkbox itself) on a single item is
- // performed. Then the checkbox would get deactived, even though we need
- // it activated. Maybe there is a way to detect if the row was clicked,
- // and not an item therein...
- //document.getElementById('msg[' + theRowNum + ']').checked = true;
- }
- }
- // 4.1.2 Current color is the pointer one
- else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
- && (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {
- if (theAction == 'out') {
- newColor = theDefaultColor;
- }
- else if (theAction == 'click' && theMarkColor != '') {
- newColor = theMarkColor;
- marked_row[theRowNum] = true;
- //document.getElementById('msg[' + theRowNum + ']').checked = true;
- }
- }
- // 4.1.3 Current color is the marker one
- else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
- if (theAction == 'click') {
- newColor = (thePointerColor != '')
- ? thePointerColor
- : theDefaultColor;
- marked_row[theRowNum] = (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])
- ? true
- : null;
- //document.getElementById('msg[' + theRowNum + ']').checked = false;
- }
- } // end 4
-
- // 5. Sets the new color...
- if (newColor) {
- var c = null;
- // 5.1 ... with DOM compatible browsers except Opera
- if (domDetect) {
- for (c = 0; c < rowCellsCnt; c++) {
- theCells[c].setAttribute('bgcolor', newColor, 0);
- } // end for
- }
- // 5.2 ... with other browsers
- else {
- for (c = 0; c < rowCellsCnt; c++) {
- theCells[c].style.backgroundColor = newColor;
- }
- }
- } // end 5
-
- return true;
-} // end of the 'setPointer()' function
-EOS;
- $js = "\n".'\n";
- $onload = '';
- displayHtmlHeader ('SquirrelMail', $js);
- break;
-
- default:
- $js = '\n";
-
- $onload = 'onload="checkForm();"';
- displayHtmlHeader ('SquirrelMail', $js);
- break;
-
+ if( $javascript_on || strpos($sHeaderJs, 'new_js_autodetect_results.value') ) {
+ $sJsBlock = '' ."\n";
+ if ($sHeaderJs) {
+ $sJsBlock .= "\n\n";
}
- } else {
+ displayHtmlHeader ('SquirrelMail', $sJsBlock);
+ } else {
/* do not use JavaScript */
displayHtmlHeader ('SquirrelMail');
- $onload = '';
+ $sBodyTagJs = '';
}
- echo "\n\n";
+ echo "\n\n";
+
/** Here is the header and wrapping table **/
$shortBoxName = htmlspecialchars(imap_utf7_decode_local(
readShortMailboxName($mailbox, $delimiter)));
@@ -509,6 +195,8 @@ EOS;
: html_tag( 'td', '', 'left' ) )
. "\n";
$urlMailbox = urlencode($mailbox);
+ $startMessage = (int)$startMessage;
+
echo makeComposeLink('src/compose.php?mailbox='.$urlMailbox.'&startMessage='.$startMessage);
echo " \n";
displayInternalLink ('src/addressbook.php', _("Addresses"));
@@ -547,75 +235,30 @@ EOS;
*
* @param array color the array of theme colors
* @param string mailbox the current mailbox name to display
+ * @param string sHeaderJs javascipt code to be inserted in a script block in the header
+ * @param string sBodyTagJs js events to be inserted in the body tag
* @return void
*/
-function compose_Header($color, $mailbox) {
-
+function compose_Header($color, $mailbox, $sHeaderJs='', $sBodyTagJs = 'onload="checkForm();"') {
global $javascript_on;
-
/*
* Locate the first displayable form element (only when JavaScript on)
*/
if($javascript_on) {
- global $base_uri, $PHP_SELF, $data_dir, $username;
-
- $module = substr( $PHP_SELF, ( strlen( $PHP_SELF ) - strlen( $base_uri ) ) * -1 );
-
- switch ( $module ) {
- case 'src/search.php':
- $pos = getPref($data_dir, $username, 'search_pos', 0 ) - 1;
- $onload = "onload=\"document.forms[$pos].elements[2].focus();\"";
- displayHtmlHeader (_("Compose"));
- break;
- default:
- $js = '\n";
- $onload = 'onload="checkForm();"';
- displayHtmlHeader (_("Compose"), $js);
- break;
+ if ($sHeaderJs) {
+ $sJsBlock = "\n\n";
+ } else {
+ $sJsBlock = '';
}
+ $sJsBlock .= "\n" . '' ."\n";
+ displayHtmlHeader (_("Compose"), $sJsBlock);
} else {
/* javascript off */
displayHtmlHeader(_("Compose"));
$onload = '';
}
-
- echo "\n\n";
+ echo "\n\n";
}
-
-?>
+?>
\ No newline at end of file