Esempio n. 1
0
 /**
  * @param string $sName
  * @param bool $bFindWithWildCard = false
  * @param bool $bCheckDisabled = true
  *
  * @return \RainLoop\Model\Domain|null
  */
 public function Load($sName, $bFindWithWildCard = false, $bCheckDisabled = true)
 {
     $mResult = null;
     $sDisabled = '';
     $sFoundedValue = '';
     $sRealFileName = $this->codeFileName($sName);
     if (\file_exists($this->sDomainPath . '/disabled')) {
         $sDisabled = @\file_get_contents($this->sDomainPath . '/disabled');
     }
     if (\file_exists($this->sDomainPath . '/' . $sRealFileName . '.ini') && (!$bCheckDisabled || 0 === \strlen($sDisabled) || false === \strpos(',' . $sDisabled . ',', ',' . \MailSo\Base\Utils::IdnToAscii($sName, true) . ','))) {
         $aDomain = \RainLoop\Utils::CustomParseIniFile($this->sDomainPath . '/' . $sRealFileName . '.ini');
         // fix misspellings (#119)
         if (\is_array($aDomain)) {
             if (isset($aDomain['smpt_host'])) {
                 $aDomain['smtp_host'] = $aDomain['smpt_host'];
             }
             if (isset($aDomain['smpt_port'])) {
                 $aDomain['smtp_port'] = $aDomain['smpt_port'];
             }
             if (isset($aDomain['smpt_secure'])) {
                 $aDomain['smtp_secure'] = $aDomain['smpt_secure'];
             }
             if (isset($aDomain['smpt_auth'])) {
                 $aDomain['smtp_auth'] = $aDomain['smpt_auth'];
             }
         }
         //---
         $mResult = \RainLoop\Model\Domain::NewInstanceFromDomainConfigArray($sName, $aDomain);
     } else {
         if ($bFindWithWildCard) {
             $sNames = $this->getWildcardDomainsLine();
             if (0 < \strlen($sNames)) {
                 if (\RainLoop\Plugins\Helper::ValidateWildcardValues(\MailSo\Base\Utils::IdnToUtf8($sName, true), $sNames, $sFoundedValue) && 0 < \strlen($sFoundedValue)) {
                     if (!$bCheckDisabled || 0 === \strlen($sDisabled) || false === \strpos(',' . $sDisabled . ',', ',' . $sFoundedValue . ',')) {
                         $mResult = $this->Load($sFoundedValue, false);
                     }
                 }
             }
         }
     }
     return $mResult;
 }