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); }