Exemple #1
0
 function doAssignment($distributeMethod, $ieid, $folder, $uids, $users)
 {
     global $app_strings;
     $users = explode(",", $users);
     $emailIds = explode($app_strings['LBL_EMAIL_DELIMITER'], $uids);
     $out = "";
     if ($folder != 'sugar::Emails') {
         $emailIds = array();
         $uids = explode($app_strings['LBL_EMAIL_DELIMITER'], $uids);
         $ie = new InboundEmail();
         $ie->retrieve($ieid);
         $messageIndex = 1;
         // dealing with an inbound email data so we need to import an email and then
         foreach ($uids as $uid) {
             $ie->mailbox = $folder;
             $ie->connectMailserver();
             $msgNo = $uid;
             if (!$ie->isPop3Protocol()) {
                 $msgNo = imap_msgno($ie->conn, $uid);
             } else {
                 $msgNo = $ie->getCorrectMessageNoForPop3($uid);
             }
             if (!empty($msgNo)) {
                 if ($ie->importOneEmail($msgNo, $uid)) {
                     $emailIds[] = $ie->email->id;
                     $ie->deleteMessageOnMailServer($uid);
                     //$ie->retrieve($ieid);
                     //$ie->connectMailserver();
                     $ie->mailbox = $folder;
                     $ie->deleteMessageFromCache($uids[] = $uid);
                 } else {
                     $out = $out . "Message No : " . $messageIndex . " failed. Reason : Message already imported \r\n";
                 }
             }
             $messageIndex++;
         }
         // for
     }
     // if
     if (count($emailIds) > 0) {
         $this->doDistributionWithMethod($users, $emailIds, $distributeMethod);
     }
     // if
     return $out;
 }
 public function getCorrectMessageNoForPop3($id)
 {
     $inboundEmail = new InboundEmail();
     $inboundEmail->retrieve($id);
     $result = $inboundEmail->getCorrectMessageNoForPop3('100');
     $this->assertEquals(-1, $result);
     $result = $inboundEmail->getCorrectMessageNoForPop3('1');
     $this->assertEquals(-1, $result);
 }