Exemple #1
0
 /**
  * @return string
  */
 public function OutLogin()
 {
     $sLogin = $this->sLogin;
     if ($this->oDomain->OutShortLogin()) {
         $sLogin = \MailSo\Base\Utils::GetAccountNameFromEmail($this->sLogin);
     }
     return $sLogin;
 }
 /**
  * @param \RainLoop\Model\Domain $oDomain
  *
  * @return bool
  */
 public function Save(\RainLoop\Model\Domain $oDomain)
 {
     $sRealFileName = $this->codeFileName($oDomain->Name());
     if ($this->oCacher) {
         $this->oCacher->Delete($this->wildcardDomainsCacheKey());
     }
     $mResult = \file_put_contents($this->sDomainPath . '/' . $sRealFileName . '.ini', $oDomain->ToIniString());
     return \is_int($mResult) && 0 < $mResult;
 }
Exemple #3
0
 /**
  * @param \RainLoop\Actions $oActions
  * @param string $sNameForTest = ''
  *
  * @return \RainLoop\Model\Domain | null
  */
 public function LoadOrCreateNewFromAction(\RainLoop\Actions $oActions, $sNameForTest = '')
 {
     $oDomain = null;
     if ($this->bAdmin) {
         $bCreate = '1' === (string) $oActions->GetActionParam('Create', '0');
         $sName = (string) $oActions->GetActionParam('Name', '');
         $sIncHost = (string) $oActions->GetActionParam('IncHost', '');
         $iIncPort = (int) $oActions->GetActionParam('IncPort', 143);
         $iIncSecure = (int) $oActions->GetActionParam('IncSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
         $bIncShortLogin = '******' === (string) $oActions->GetActionParam('IncShortLogin', '0');
         $bUseSieve = '1' === (string) $oActions->GetActionParam('UseSieve', '0');
         $bSieveAllowRaw = '1' === (string) $oActions->GetActionParam('SieveAllowRaw', '0');
         $sSieveHost = (string) $oActions->GetActionParam('SieveHost', '');
         $iSievePort = (int) $oActions->GetActionParam('SievePort', 4190);
         $iSieveSecure = (int) $oActions->GetActionParam('SieveSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
         $sOutHost = (string) $oActions->GetActionParam('OutHost', '');
         $iOutPort = (int) $oActions->GetActionParam('OutPort', 25);
         $iOutSecure = (int) $oActions->GetActionParam('OutSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
         $bOutShortLogin = '******' === (string) $oActions->GetActionParam('OutShortLogin', '0');
         $bOutAuth = '1' === (string) $oActions->GetActionParam('OutAuth', '1');
         $bOutUsePhpMail = '1' === (string) $oActions->GetActionParam('OutUsePhpMail', '0');
         $sWhiteList = (string) $oActions->GetActionParam('WhiteList', '');
         if (0 < \strlen($sName) && 0 < strlen($sNameForTest) && false === \strpos($sName, '*')) {
             $sNameForTest = '';
         }
         if (0 < strlen($sName) || 0 < strlen($sNameForTest)) {
             $oDomain = 0 < strlen($sNameForTest) ? null : $this->Load($sName);
             if ($oDomain instanceof \RainLoop\Model\Domain) {
                 if ($bCreate) {
                     throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::DomainAlreadyExists);
                 } else {
                     $oDomain->UpdateInstance($sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin, $bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure, $sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutUsePhpMail, $sWhiteList);
                 }
             } else {
                 $oDomain = \RainLoop\Model\Domain::NewInstance(0 < strlen($sNameForTest) ? $sNameForTest : $sName, $sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin, $bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure, $sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutUsePhpMail, $sWhiteList);
             }
         }
         if ($oDomain) {
             $oDomain->SetSieveAllowRaw($bSieveAllowRaw);
         }
     }
     return $oDomain;
 }