Added basic support for message highlighting. Note that this needs quite
[squirrelmail.git] / functions / imap_general.php
index 7adb2258cf888616cf75d2491841632750b19b4f..07fca8914032f733d06370061e1b1e1882b3f224 100755 (executable)
@@ -1,4 +1,4 @@
-<?
+<?php
    /**
     **  imap.php
     **
       global $color;
 
       $read = fgets ($imap_stream, 1024);
+//             echo "<small><tt><font color=cc0000>$read</font></tt></small><br>";
       $counter = 0;
       while ((substr($read, 0, strlen("$pre OK")) != "$pre OK") &&
              (substr($read, 0, strlen("$pre BAD")) != "$pre BAD") &&
              (substr($read, 0, strlen("$pre NO")) != "$pre NO")) {
          $data[$counter] = $read;
          $read = fgets ($imap_stream, 1024);
+//                     echo "<small><tt><font color=cc0000>$read</font></tt></small><br>";
          $counter++;
       }       
       if (substr($read, 0, strlen("$pre OK")) == "$pre OK") {
@@ -97,7 +99,7 @@
                               <td bgcolor=dcdcdc>
                                  <font color=cc0000>
                                  <center>
-                                 <? echo _("ERROR") ?>
+                                 <?php echo _("ERROR") ?>
                                  </center>
                                  </font>
                               </td>
                            <tr>
                               <td>
                                  <center>
-                                 <? echo _("Unknown user or password incorrect.") ?><br>
-                                 <a href="login.php"><? echo _("Click here to try again") ?></a>
+                                 <?php echo _("Unknown user or password incorrect.") ?><br>
+                                 <a href="login.php"><?php echo _("Click here to try again") ?></a>
                                  </center>
                               </td>
                            </tr>
                         </center>
                      </body>
                   </html>
-               <?
+               <?php
+               session_destroy();
                exit;
             } else {
                echo "Unknown error: $read<br>";
     **  Returns the delimeter between mailboxes:  INBOX/Test, or INBOX.Test... 
     ******************************************************************************/
    function sqimap_get_delimiter ($imap_stream) {
-      fputs ($imap_stream, ". LSUB \"\" *\r\n");
+      fputs ($imap_stream, ". LIST \"INBOX\" \"\"\r\n");
       $read = sqimap_read_data($imap_stream, ".", true, $a, $b);
       $quote_position = strpos ($read[0], "\"");
       $delim = substr ($read[0], $quote_position+1, 1);
    /******************************************************************************
     **  Returns the number of unseen messages in this folder 
     ******************************************************************************/
-   function sqimap_unseen_messages ($imap_stream, &$num_unseen) {
-      fputs ($imap_stream, "a001 SEARCH UNSEEN NOT DELETED\r\n");
+   function sqimap_unseen_messages ($imap_stream, &$num_unseen, $mailbox) {
+      //fputs ($imap_stream, "a001 SEARCH UNSEEN NOT DELETED\r\n");
+      fputs ($imap_stream, "a001 STATUS \"$mailbox\" (UNSEEN)\r\n");
       $read_ary = sqimap_read_data ($imap_stream, "a001", true, $result, $message);
       $unseen = false;
       
-      if (strlen($read_ary[0]) > 10) {
-         $unseen = true;
-         $ary = explode (" ", $read_ary[0]);
-         $num_unseen = count($ary) - 2;
-      } else {
-         $unseen = false;
-         $num_unseen = 0;
-      }
-
-      return $unseen;
+               $read_ary[0] = trim($read_ary[0]);
+               return substr($read_ary[0], strrpos($read_ary[0], " ")+1, (strlen($read_ary[0]) - strrpos($read_ary[0], " ") - 2)); 
    }