adding api doc
[squirrelmail.git] / plugins / mail_fetch / fetch.php
index 0cbbfc2edcbbe57b0df19a1cc6e440920b7c9189..2bb9d2d40e4a1b0295eebd27d3c9a04faec118b0 100644 (file)
@@ -3,12 +3,12 @@
 /**
  * mail_fetch/fetch.php
  *
- * Copyright (c) 1999-2004 The SquirrelMail Project Team
+ * Copyright (c) 1999-2005 The SquirrelMail Project Team
  * Licensed under the GNU GPL. For full terms see the file COPYING.
  *
  * Fetch code.
  *
- * $Id$
+ * @version $Id$
  * @package plugins
  * @subpackage mail_fetch
  */
@@ -154,9 +154,6 @@ sqgetGlobalVar('delimiter',  $delimiter,  SQ_SESSION);
         $mailfetch_login  = $mailfetch[$i_loop]['login'];
         $mailfetch_uidl   = $mailfetch[$i_loop]['uidl'];
         $mailfetch_subfolder = $mailfetch[$i_loop]['subfolder'];
-        if($mailfetch_subfolder == '') {
-            $mailfetch_subfolder == 'INBOX';
-        }
 
         $pop3 = new POP3($mailfetch_server, 60);
 
@@ -180,6 +177,12 @@ sqgetGlobalVar('delimiter',  $delimiter,  SQ_SESSION);
         Mail_Fetch_Status(_("Opening IMAP server"));
         $imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 10);
 
+        // check if destination folder is not set, is not subscribed and is not \noselect folder
+        if($mailfetch_subfolder == '' ||
+           ! mail_fetch_check_folder($imap_stream,$mailfetch_subfolder)) {
+            $mailfetch_subfolder = 'INBOX';
+        }
+
         Mail_Fetch_Status(_("Opening POP server"));
         $Count = $pop3->login($mailfetch_user, $mailfetch_pass);
         if (($Count == false || $Count == -1) && $pop3->ERROR != '') {
@@ -222,7 +225,7 @@ sqgetGlobalVar('delimiter',  $delimiter,  SQ_SESSION);
             Mail_Fetch_Status(_("Server does not support UIDL."));
 
         if ($mailfetch_lmos == 'on') {
-            Mail_Fetch_Status(_("Leaving Mail on Server..."));
+            Mail_Fetch_Status(_("Leaving mail on server..."));
         } else {
             Mail_Fetch_Status(_("Deleting messages from server..."));
         }
@@ -238,7 +241,7 @@ sqgetGlobalVar('delimiter',  $delimiter,  SQ_SESSION);
             while ( (!$MessArray) or (gettype($MessArray) != "array")) {
                  Mail_Fetch_Status(_("Oops, ") . $pop3->ERROR);
                  // re-connect pop3
-                 Mail_Fetch_Status(_("Server error...Disconnect"));
+                 Mail_Fetch_Status(_("Server error. Disconnect"));
                  $pop3->quit();
                  Mail_Fetch_Status(_("Reconnect from dead connection"));
                  if (!$pop3->connect($mailfetch_server)) {
@@ -289,7 +292,7 @@ sqgetGlobalVar('delimiter',  $delimiter,  SQ_SESSION);
 
                 if ($mailfetch_lmos != 'on') {
                    if( $pop3->delete($i) ) {
-                        Mail_Fetch_Status(_("Message ") . $i . _(" deleted from Remote Server!"));
+                        Mail_Fetch_Status(sprintf(_("Message %d deleted from remote server!"), $i));
                    } else {
                         Mail_Fetch_Status(_("Delete failed:") . htmlspecialchars($pop3->ERROR) );
                    }