-
- for ($i = 0;$i < count($boxes); $i++) {
- if ($boxes[$i]['visible'] == true) {
- $mailbox = $boxes[$i]['formatted'];
- $mblevel = substr_count($boxes[$i]['unformatted'], $delimeter) + 1;
-
- /* Create the prefix for the folder name and link. */
- $prefix = str_repeat(' ',$mblevel);
- if (isset($collapse_folders) && $collapse_folders && $boxes[$i]['parent']) {
- $prefix = str_replace(' ',' ',substr($prefix,0,strlen($prefix)-2));
- $prefix .= create_collapse_link($i) . ' ';
- } else {
- $prefix = str_replace(' ',' ',$prefix);
- }
- $line = "<NOBR><TT>$prefix</TT>";
-
- /* Add the folder name and link. */
- if (in_array('noselect', $boxes[$i]['flags'])) {
- $line .= "<FONT COLOR=\"$color[10]\">";
- if (ereg("^( *)([^ ]*)", $mailbox, $regs)) {
- $line .= str_replace(' ', ' ', $mailbox);
- }
- $line .= '</FONT>';
- } else {
- $line .= formatMailboxName($imapConnection, $boxes[$i], $delimeter);
- }
+}
+
+
+
+
+/* -------------------- MAIN ------------------------ */
+
+global $delimiter, $default_folder_prefix, $left_size;
+
+// open a connection on the imap port (143)
+$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 10); // the 10 is to hide the output
+
+/**
+ * Using stristr since older preferences may contain "None" and "none".
+ */
+if (isset($left_refresh) && ($left_refresh != '') &&
+ !stristr($left_refresh, "none")){
+ $xtra = "\n<META HTTP-EQUIV=\"Expires\" CONTENT=\"Thu, 01 Dec 1994 16:00:00 GMT\">\n" .
+ "<META HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">\n".
+ "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"$left_refresh;URL=left_main.php\">\n";
+} else {
+ $xtra = '';
+}
+
+/**
+ * $advanced_tree and $oldway are boolean vars which are default set to default
+ * SM behaviour.
+ * Setting $oldway to false causes left_main.php to use the new experimental
+ * way of getting the mailbox-tree.
+ * Setting $advanced tree to true causes SM to display a experimental
+ * mailbox-tree with dhtml behaviour.
+ * It only works on browsers which supports css and javascript. The used
+ * javascript is experimental and doesn't support all browsers. It is tested on
+ * IE6 an Konquerer 3.0.0-2.
+ * In the function ListAdvancedBoxes there is another var $use_folder_images.
+ * setting this to true is only usefull if the images exists in ../images.
+ *
+ * Feel free to experiment with the code and report bugs and enhancements
+ * to marc@its-projects.nl
+ **/
+
+$advanced_tree = false; /* set this to true if you want to see a nicer mailboxtree */
+$oldway = true; /* default SM behaviour */
+
+if ($advanced_tree) {
+$xtra .= <<<ECHO
+<script language="Javascript" TYPE="text/javascript">
+
+<!--
+
+ function hidechilds(el) {
+ id = el.id +".0";
+ form_id = "mbx[" + el.id +"F]";
+ if (document.all) {
+ ele = document.all[id];
+ if (ele) {
+ if(ele.style.display == "none") {
+ ele.style.display = "block";
+ ele.style.visibility = "visible"
+ document.all[el.id].src="../images/minus.gif";
+ document.all[form_id].value=0;
+ } else {
+ ele.style.display = "none";
+ ele.style.visibility = "hidden"
+ document.all[el.id].src="../images/plus.gif";
+ document.all[form_id].value=1;
+ }
+ }
+ } else if (document.getElementById) {
+ id = el.id+".0";
+ ele = document.getElementById(id);
+ img_ele = document.getElementById(el.id);
+ if (ele) {
+ if(ele.style.display == "none") {
+ ele.style.display = "block";
+ ele.style.visibility = "visible"
+ img_ele.src="../images/minus.gif";
+ document.getElementById(form_id).value=0;
+ } else {
+ ele.style.display = "none";
+ ele.style.visibility = "hidden"
+ img_ele.src="../images/plus.gif";
+ document.getElementById(form_id).value=1;
+ }
+ }
+ }
+ }
+
+ function preload() {
+ if (!document.images) return;
+ var ar = new Array();
+ var arguments = preload.arguments;
+ for (var i = 0; i<arguments.length; i++) {
+ ar[i] = new Image();
+ ar[i].src = arguments[i];
+ }
+ }
+
+ function changerowcolor(el,on) {
+ id = el.id;
+ECHO;
+$xtra.= "\nvar color1 = \"$color[0]\";\n".
+ "var color2 = \"$color[9]\";\n";
+$xtra .= <<<ECHO
+ if (document.all) {
+ if(!on) {
+ document.all[id].style.background = color1;
+ } else {
+ document.all[id].style.background = color2;
+ }
+ } else if (document.getElementById) {
+ if (!on) {
+ document.getElementById(id).style.background=color1;
+ } else {
+ document.getElementById(id).style.background=color2;
+
+ }
+ }
+ }
+
+ function buttonover(el,on) {
+ if (!on) {
+ el.style.borderColor="blue";}
+ else {
+ el.style.borderColor="orange";}
+ }
+
+ function buttonclick(el,on) {
+ if (!on) {
+ el.style.border="groove"}
+ else {
+ el.style.border="ridge";}
+ }
+
+ function hideframe(hide) {
+
+ECHO;
+$xtra .= " left_size = \"$left_size\";\n";
+$xtra .= <<<ECHO
+ if (document.all) {
+ masterf = window.parent.document.all["fs1"];
+ leftf = window.parent.document.all["left"];
+ leftcontent = document.all["leftframe"];
+ leftbutton = document.all["showf"];
+ } else if (document.getElementById) {
+ masterf = window.parent.document.getElementById("fs1");
+ leftf = window.parent.document.getElementById("left");
+ leftcontent = document.getElementById("leftframe");
+ leftbutton = document.getElementById("showf");
+ } else {
+ return false;
+ }
+ if(hide) {
+ new_col = calc_col("20");
+ masterf.cols = new_col;
+ document.body.scrollLeft=0;
+ document.body.style.overflow='hidden';
+ leftcontent.style.display = 'none';
+ leftbutton.style.display='block';
+ } else {
+ masterf.cols = calc_col(left_size);
+ document.body.style.overflow='';
+ leftbutton.style.display='none';
+ leftcontent.style.display='block';
+
+ }
+ }
+
+ function calc_col(c_w) {