X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fpage_header.php;h=1d2734be24b34bd57f2e12767a97773a38c78ed3;hp=26e8f61ceed698176d46685b922b71a3d13fa46b;hb=ec291321c8699ff8f0735c96dc6c0b013da6cdc1;hpb=715225af1f3ef09897a7c1db61acdeb0ba842455 diff --git a/functions/page_header.php b/functions/page_header.php index 26e8f61c..1d2734be 100644 --- a/functions/page_header.php +++ b/functions/page_header.php @@ -11,23 +11,33 @@ * $Id$ */ -// Always set up the language before calling these functions +require_once('../functions/strings.php'); +require_once('../functions/imap_utf7_decode_local.php'); +require_once('../functions/html.php'); +require_once('../class/html.class'); + +/* Always set up the language before calling these functions */ function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = TRUE ) { - global $theme_css; + global $theme_css, $custom_css, $base_uri; - echo '' . - "\n\n\n\n"; + echo '' . + "\n\n\n\n"; + if ( !isset( $custom_css ) || $custom_css == 'none' ) { if ($theme_css != '') { - echo "\n"; - } - - if( $do_hook ) { - do_hook ("generic_header"); + echo ""; } + } else { + echo ''; + } - echo "$title$xtra\n\n"; + if ($do_hook) { + do_hook ("generic_header"); + } + + echo "\n$title$xtra\n\n"; } function displayInternalLink($path, $text, $target='') { @@ -40,74 +50,175 @@ function displayInternalLink($path, $text, $target='') { echo ''.$text.''; } -function displayPageHeader($color, $mailbox) { - - global $delimiter, $hide_sm_attributions, $base_uri, $PHP_SELF; +function displayPageHeader($color, $mailbox, $xtra='', $session=false) { - displayHtmlHeader (); + global $delimiter, $hide_sm_attributions, $base_uri, $PHP_SELF, $frame_top, + $compose_new_win, $username, $datadir, $compose_width, $compose_height, + $attachemessages, $session; $module = substr( $PHP_SELF, ( strlen( $PHP_SELF ) - strlen( $base_uri ) ) * -1 ); + if ($qmark = strpos($module, '?')) { + $module = substr($module, 0, $qmark); + } + if (!isset($frame_top)) { + $frame_top = '_top'; + } /* Locate the first displayable form element */ + + if ($session != false) { + $compose_uri = 'src/compose.php?mailbox='. urlencode($mailbox).'&attachedmessages=true&session='."$session"; + } else { + $compose_uri = 'src/compose.php?newmessage=1'; + $session = 0; + } + switch ( $module ) { - case 'src/search.php': - $pos = getPref($data_dir, $username, 'search_pos', 0 ) - 1; - $onload = "onLoad=\"document.forms[$pos].elements[2].focus();\""; + case 'src/read_body.php': + if ($compose_new_win == '1') { + if (!preg_match("/^[0-9]{3,4}$/", $compose_width)) { + $compose_width = '640'; + } + if (!preg_match("/^[0-9]{3,4}$/", $compose_height)) { + $compose_height = '550'; + } + $js = "\n".'\n"; + displayHtmlHeader ('Squirrelmail', $js); + } + displayHtmlHeader(); + $onload = $xtra; break; + case 'src/compose.php': + $js = '\n"; + $onload = "onLoad=\"checkForm();\""; + displayHtmlHeader ('Squirrelmail', $js); + break; + default: - echo ' - - '; + $js .= "// -->\n". + "\n"; $onload = "onLoad=\"checkForm();\""; + displayHtmlHeader ('Squirrelmail', $js); break; } - echo "\n\n"; - + echo "\n\n"; /** Here is the header and wrapping table **/ - $shortBoxName = readShortMailboxName($mailbox, $delimiter); - echo "\n" - . "\n" - . " \n" - . " \n" - . " \n" - . " \n" - . " \n" - . " \n" + . html_tag( 'td', '', 'right' ) ."\n"; + displayInternalLink ('src/signout.php', _("Sign Out"), $frame_top); + echo "\n" + . " \n" + . html_tag( 'tr', '', '', $color[4] ) ."\n" + . html_tag( 'td', '', 'left' ) ."\n"; $urlMailbox = urlencode($mailbox); - displayInternalLink ("src/compose.php?mailbox=$urlMailbox", _("Compose"), 'right'); + if ($compose_new_win == '1') { + echo "". _("Compose"). ''; + } + else { + displayInternalLink ("src/compose.php?mailbox=$urlMailbox", _("Compose"), 'right'); + } echo "  \n"; displayInternalLink ("src/addressbook.php", _("Addresses"), 'right'); echo "  \n"; @@ -122,12 +233,267 @@ function checkForm() { do_hook("menuline"); - echo " \n" + . html_tag( 'td', '', 'right' ) ."\n"; echo ($hide_sm_attributions ? ' ' : - "SquirrelMail\n"); - echo " \n". - " \n". - "
\n" - . ' ' . _("Current Folder") . ": $shortBoxName \n" - . " \n"; - displayInternalLink ('src/signout.php', _("Sign Out"), '_top'); - echo "
\n"; + $shortBoxName = imap_utf7_decode_local( + readShortMailboxName($mailbox, $delimiter)); + if ( $shortBoxName == 'INBOX' ) { + $shortBoxName = _("INBOX"); + } + echo "\n" + . html_tag( 'table', '', '', $color[4], 'border="0" width="100%" cellspacing="0" cellpadding="2"' ) ."\n" + . html_tag( 'tr', '', '', $color[9] ) ."\n" + . html_tag( 'td', '', 'left' ) ."\n"; + if ( $shortBoxName <> '' && strtolower( $shortBoxName ) <> 'none' ) { + echo ' ' . _("Current Folder") . ": $shortBoxName \n"; + } else { + echo ' '; + } + echo "
\n"; + echo "
\n\n"; + 'SquirrelMail'); + echo "\n". + " \n". + "\n\n"; +} + +/* blatently copied/truncated/modified from the above function */ +function compose_Header($color, $mailbox) { + + global $delimiter, $hide_sm_attributions, $base_uri, $PHP_SELF, $frame_top, $compose_new_win; + + + $module = substr( $PHP_SELF, ( strlen( $PHP_SELF ) - strlen( $base_uri ) ) * -1 ); + if (!isset($frame_top)) { + $frame_top = '_top'; + } + + /* + Locate the first displayable form element + */ + 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; + + } + + echo "\n\n"; +} + +function initPage () { + + global $theme_css, $custom_css, $base_uri; + $page = new html(); + $page->addChild('!DOCTYPE','','','','', + array('HTML','PUBLIC', '"-//W3C//DTD HTML 4.0 Transitional//EN"')); + $html = new html('html'); + $html->addChild('HTML'); + return $page; +} + +function initHead ($title = 'SquirrelMail') { + global $use_css, $compose_new_win, $compose_width, $compose_height, + $base_uri; + + $head = new html('head'); + $head->addChild('title', $title); + if ($use_css) { + $head->addChild('link','','','','', + array('REL' => 'stylesheet', 'TYPE' => 'text/css', + 'HREF' => $base_uri .'/css/read_body.css')); + } + if ($compose_new_win == '1') { + if (!preg_match("/^[0-9]{3,4}$/", $compose_width)) { + $compose_width = '640'; + } + if (!preg_match("/^[0-9]{3,4}$/", $compose_height)) { + $compose_height = '550'; + } + $js = "function comp_in_new(new_mes, comp_uri) {\n". + ' if (new_mes) { '."\n". + " comp_uri = \"".$base_uri."src/compose.php?newmessage=1\";\n". + ' } else { '."\n". + " if (comp_uri =='') {\n". + ' comp_uri = "'.$base_uri.$compose_uri."\";\n". + ' }'. "\n". + ' }'. "\n". + ' var newwin = window.open(comp_uri' . + ', "_blank", + "width='.$compose_width.",height=$compose_height". + ",scrollbars=yes,resizable=yes\");\n". + "}\n"; + $head->scriptAdd($js); + } + return $head; +} + +function initBody($color, $javascript='') { + global $use_css; + + if (!$use_css) { + $body = new html('body','','','','', + array('bgcolor' => $color[4], 'text' => $color[8], 'link' => $color[7], + 'vlink' => $color[7], 'alink' => $color[7]), $javascript); + } else { + $body = new html('body','','','','','',$javascript); + } + return $body; +} + + +function getTop($color, $mailbox) { + + global $use_css, $languages, $squirrelmail_language, $frame_top, + $delimiter, $base_uri; + + if ( isset( $languages[$squirrelmail_language]['DIR']) ) { + $dir = $languages[$squirrelmail_language]['DIR']; + } else { + $dir = 'ltr'; + } + + if ( $dir == 'ltr' ) { + $rgt = 'right'; + $lft = 'left'; + } else { + $rgt = 'left'; + $lft = 'right'; + } + + + + if (!$use_css) { + $tbl_ar = array('bgcolor' => $color[4], 'border' => 0, 'width' => '100%', + 'cellspacing' => 0, 'cellpadding' => 2); + $row_ar = array('bgcolor' => $color[9]); + $col_ar = array('align' => $lft); + } else { + $tbl_ar = array('border' => 0, + 'cellspacing' => 0, 'cellpadding' => 2); + $row_ar = ''; + $col_ar = array('align' => $lft); + } + + $shortBoxName = imap_utf7_decode_local( + readShortMailboxName($mailbox, $delimiter)); + if ( $shortBoxName == 'INBOX' ) { + $shortBoxName = _("INBOX"); + } + + $top = new html('table','','','tp','tp',$tbl_ar); + $row = new html('tr','','','tp_r','tp_r',$row_ar); + + if ( $shortBoxName <> '' && strtolower( $shortBoxName ) <> 'none' ) { + $row->addChild('td',_("Current Folder") .':','','tp_c','tp_mbx_k', + array('align' => $lft)); + $row->addChild('td',$shortBoxName .' ',array('b'=>true),'tp_c', + 'tp_mbx_v',array('align' => $lft)); + } + $col = new html('td','','','tp_c','tp_so',array('align' => $rgt)); + if ($frame_top) { + $lnk_ar = array('href' => $base_uri.'src/signout.php', 'target' => $frame_top); + } else { + $lnk_ar = array('href' => $base_uri.'src/signout.php'); + } + $col->addChild('a', _("Sign Out"),array('b'=>true),'','',$lnk_ar); + $row->htmlAdd($col); + $top->htmlAdd($row); + + return $top; +} + +function getMenu($color,$mailbox) { + global $use_css, $languages, $squirrelmail_language, $frame_top, $base_uri, + $compose_new_win,$hide_sm_attributions; + + $urlMailbox = urlencode($mailbox); + + if ( isset( $languages[$squirrelmail_language]['DIR']) ) { + $dir = $languages[$squirrelmail_language]['DIR']; + } else { + $dir = 'ltr'; + } + + if ( $dir == 'ltr' ) { + $rgt = 'right'; + $lft = 'left'; + } else { + $rgt = 'left'; + $lft = 'right'; + } + + if (!$use_css) { + $tbl_ar = array('bgcolor' => $color[4], 'border' => 0, 'width' => '100%', + 'cellspacing' => 0, 'cellpadding' => 2); + $row_ar = array('bgcolor' => $color[4]); + $col_ar = array('align' => $lft); + } else { + $tbl_ar = array('border' => 0, + 'cellspacing' => 0, 'cellpadding' => 2); + $row_ar = ''; + $col_ar = array('align' => $lft); + } + + $menu = new html('table','','','mn','mn',$tbl_ar); + $row = new html('tr','','','mn','mn_r',$row_ar); + $col = new html('td','','','mn','mn_c',$col_ar); + $delimiter = new html('','  '); + if ($compose_new_win == '1') { + $col->addChild('a',_("Compose"),'','mn_c','mn_co', + array('href' => 'javascript:void(0)'), + array('onclick'=>'comp_in_new(true,"")')); + } else { + $col->addChild('a',_("Compose"),'','mn_c','mn_co', + array('href' => $base_uri.'src/compose.php?mailbox='.$urlMailbox, + 'target' => 'right')); + } + $col->htmlAdd($delimiter); + $col->addChild('a',_("Addresses"),'','mn_c','mn_ad', + array('href' => $base_uri.'src/addressbook.php', + 'target' => 'right')); + $col->htmlAdd($delimiter); + $col->addChild('a',_("Folders"),'','mn_c','mn_fo', + array('href' => $base_uri.'src/folders.php', + 'target' => 'right')); + $col->htmlAdd($delimiter); + + $col->addChild('a',_("Options"),'','mn_c','mn_op', + array('href' => $base_uri.'src/options.php', + 'target' => 'right')); + $col->htmlAdd($delimiter); + $col->addChild('a',_("Search"),'','mn_c','mn_se', + array('href' => $base_uri.'src/search.php?mailbox='.$urlMailbox, + 'target' => 'right')); + $col->htmlAdd($delimiter); + $col->addChild('a',_("Help"),'','mn_c','mn_he', + array('href' => $base_uri.'src/help.php', + 'target' => 'right')); + + do_hook("menuline"); + $row->htmlAdd($col); + if (!$hide_sm_attributions) { + $col = new html('td','','','mn','mn_sm',array('align'=>$rgt)); + $col->addChild('a','SquirrelMail','','','', + array('href'=>'http://www.squirrelmail.org','target'=>'_blank')); + $row->htmlAdd($col); + } + $menu->htmlAdd($row); + return $menu; } -?> \ No newline at end of file +?>