/** * @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; }