- /*
- 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 ();
- break;
- default:
- $js = '<script language="JavaScript" type="text/javascript">' .
- "\n<!--\n" .
- "function checkForm() {\n".
- "var f = document.forms.length;\n".
- "var i = 0;\n".
- "var pos = -1;\n".
- "while( pos == -1 && i < f ) {\n".
- "var e = document.forms[i].elements.length;\n".
- "var j = 0;\n".
- "while( pos == -1 && j < e ) {\n".
- "if ( document.forms[i].elements[j].type == 'text' ) {\n".
- "pos = j;\n".
- "}\n".
- "j++;\n".
- "}\n".
- "i++;\n".
- "}\n".
- "if( pos >= 0 ) {\n".
- "document.forms[i-1].elements[pos].focus();\n".
- "}\n".
- "$xtra\n".
- "}\n";
- if ($compose_new_win == '1') {
- $width= getPref($username, $datadir, 'editor_size', 76);
- if ($width < 65) {
- $pix_width = 560;
- }
- else {
- $width = (.9*$width);
- $pix_width = intval($width).'0';
- }
- $js .= "function comp_in_new() {\n".
- " var newwin = window.open(\"".$base_uri."src/compose.php\"".
- ", \"compose_window\", \"width=".$pix_width.",height=650".
- ",scrollbars=yes,resizable=yes\");\n".
- "}\n";
- }
- $js .= "// -->\n".
- "</script>\n";
- $onload = "onLoad=\"checkForm();\"";
- displayHtmlHeader ('Squirrelmail', $js);
- break;
+}
+
+/**
+ * Given a path to a SquirrelMail file, return a HTML link to it
+ *
+ * @param string path the SquirrelMail file to link to
+ * @param string text the link text
+ * @param string target the target frame for this link
+ */
+function makeInternalLink($path, $text, $target='') {
+ global $base_uri, $oTemplate;
+// sqgetGlobalVar('base_uri', $base_uri, SQ_SESSION);
+
+ // This is an inefficient hook and is only used by
+ // one plugin that still needs to patch this code,
+ // plus if we are templat-izing SM, visual hooks
+ // are not needed. However, I am leaving the code
+ // here just in case we find a good (non-visual?)
+ // use for the internal_link hook.
+ //
+ //do_hook('internal_link', $text);
+
+ return create_hyperlink($base_uri . $path, $text, $target);
+}
+
+/**
+ * Outputs a complete SquirrelMail page header, starting with <!doctype> and
+ * including the default menu bar. Uses displayHtmlHeader and takes
+ * JavaScript and locale settings into account.
+ *
+ * @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 displayPageHeader($color, $mailbox='', $sHeaderJs='', $sBodyTagJs = '') {