Ejemplo n.º 1
0
 /**
  * @param string $sFromFolder
  * @param string $sToFolder
  * @param array $aIndexRange
  * @param bool $bIndexIsUid
  * @param bool $bUseMoveSupported = false
  *
  * @return \MailSo\Mail\MailClient
  *
  * @throws \MailSo\Base\Exceptions\InvalidArgumentException
  * @throws \MailSo\Net\Exceptions\Exception
  * @throws \MailSo\Imap\Exceptions\Exception
  */
 public function MessageMove($sFromFolder, $sToFolder, $aIndexRange, $bIndexIsUid, $bUseMoveSupported = false)
 {
     if (0 === \strlen($sFromFolder) || 0 === \strlen($sToFolder) || !\is_array($aIndexRange) || 0 === \count($aIndexRange)) {
         throw new \MailSo\Base\Exceptions\InvalidArgumentException();
     }
     $this->oImapClient->FolderSelect($sFromFolder);
     if ($bUseMoveSupported && $this->oImapClient->IsSupported('MOVE')) {
         $this->oImapClient->MessageMove($sToFolder, \implode(',', $aIndexRange), $bIndexIsUid);
     } else {
         $this->oImapClient->MessageCopy($sToFolder, \implode(',', $aIndexRange), $bIndexIsUid);
         $this->MessageDelete($sFromFolder, $aIndexRange, $bIndexIsUid, true);
     }
     return $this;
 }