/** * @return array */ public function AjaxMessageMove() { $sFromFolderFullNameRaw = (string) $this->getParamValue('Folder', ''); $sToFolderFullNameRaw = (string) $this->getParamValue('ToFolder', ''); $aUids = \ProjectSeven\Base\Utils::ExplodeIntUids((string) $this->getParamValue('Uids', '')); if (0 === strlen(trim($sFromFolderFullNameRaw)) || 0 === strlen(trim($sToFolderFullNameRaw)) || !is_array($aUids) || 0 === count($aUids)) { throw new \ProjectSeven\Exceptions\ClientException(\ProjectSeven\Notifications::InvalidInputParameter); } $oAccount = $this->getAccountFromParam(); try { $this->oApiMail->MessageMove( $oAccount, $sFromFolderFullNameRaw, $sToFolderFullNameRaw, $aUids); } catch (\MailSo\Imap\Exceptions\NegativeResponseException $oException) { $oResponse = /* @var $oResponse \MailSo\Imap\Response */ $oException->GetLastResponse(); throw new \ProjectSeven\Exceptions\ClientException(\ProjectSeven\Notifications::CanNotMoveMessageQuota, $oException, $oResponse instanceof \MailSo\Imap\Response ? $oResponse->Tag.' '.$oResponse->StatusOrIndex.' '.$oResponse->HumanReadable : ''); } catch (\Exception $oException) { throw new \ProjectSeven\Exceptions\ClientException(\ProjectSeven\Notifications::CanNotMoveMessage, $oException, $oException->getMessage()); } return $this->TrueResponse($oAccount, __FUNCTION__); }