Example #1
0
 public function SystemSecurity()
 {
     $bDoSave = true;
     if (CApi::getCsrfToken('p7admToken') === CPost::get('txtToken')) {
         if (CPost::Has('txtNewPassword') && CPost::Has('txtConfirmNewPassword')) {
             $oWebmailApi = CApi::Manager('webmail');
             if (!$oWebmailApi->validateAdminPassword(trim(CPost::get('txtOldPassword')))) {
                 $bDoSave = false;
                 $this->LastError = CM_PASSWORDS_INVALID_OLD;
             } else {
                 if ((string) CPost::get('txtNewPassword') !== (string) CPost::get('txtConfirmNewPassword')) {
                     $bDoSave = false;
                     $this->LastError = CM_PASSWORDS_NOT_MATCH;
                 } else {
                     if (AP_DUMMYPASSWORD !== (string) CPost::get('txtNewPassword')) {
                         $this->oSettings->SetConf('Common/AdminPassword', md5(trim(CPost::get('txtNewPassword'))));
                     }
                 }
             }
             if ($bDoSave) {
                 if (CPost::Has('txtUserName')) {
                     $this->oSettings->SetConf('Common/AdminLogin', CPost::get('txtUserName'));
                 }
                 $this->saveSettingsXmlWithMessage();
             }
         }
     } else {
         $this->LastError = CApi::I18N('API/INVALID_TOKEN');
     }
 }
Example #2
0
 protected function initUpdateDomainByPost(CDomain &$oDomain)
 {
     $oDomain->OverrideSettings = CPost::GetCheckBox('chOverrideSettings');
     if (CPost::Has('txtIncomingMailHost') && CPost::Has('txtOutgoingMailHost') && CPost::Has('txtIncomingMailPort') && CPost::Has('txtOutgoingMailPort')) {
         $oDomain->IncomingMailServer = CPost::get('txtIncomingMailHost');
         $oDomain->IncomingMailPort = CPost::get('txtIncomingMailPort');
         $oDomain->IncomingMailUseSSL = CPost::GetCheckBox('chIncomingUseSSL');
         $oDomain->OutgoingMailServer = CPost::get('txtOutgoingMailHost');
         $oDomain->OutgoingMailPort = CPost::get('txtOutgoingMailPort');
         $oDomain->OutgoingMailUseSSL = CPost::GetCheckBox('chOutgoingUseSSL');
     }
     if (CPost::Has('radioAuthType')) {
         $oDomain->OutgoingMailAuth = EnumConvert::FromPost(CPost::get('radioAuthType'), 'ESMTPAuthType');
     }
     if (CPost::Has('txtOutgoingMailLogin') && CPost::Has('txtOutgoingMailPassword')) {
         $oDomain->OutgoingMailLogin = CPost::get('txtOutgoingMailLogin');
         if ((string) AP_DUMMYPASSWORD !== (string) CPost::get('txtOutgoingMailPassword')) {
             $oDomain->OutgoingMailPassword = CPost::get('txtOutgoingMailPassword', '');
         }
     }
     if (CPost::Has('selIncomingMailProtocol')) {
         $oDomain->IncomingMailProtocol = EnumConvert::FromPost(CPost::get('selIncomingMailProtocol'), 'EMailProtocol');
     }
     //		if ($oDomain->OverrideSettings || $oDomain->IsDefaultDomain)
     //		{
     //			$oDomain->ExternalHostNameOfDAVServer = CPost::Get('txtExternalHostNameOfDAVServer', $oDomain->ExternalHostNameOfDAVServer);
     //			$oDomain->ExternalHostNameOfLocalImap = CPost::Get('txtExternalHostNameOfLocalImap', $oDomain->ExternalHostNameOfLocalImap);
     //			$oDomain->ExternalHostNameOfLocalSmtp = CPost::Get('txtExternalHostNameOfLocalSmtp', $oDomain->ExternalHostNameOfLocalSmtp);
     //		}
     if ($oDomain->OverrideSettings) {
         // General
         $oDomain->Url = (string) CPost::get('txtWebDomain', $oDomain->Url);
         $oDomain->AllowUsersChangeEmailSettings = CPost::GetCheckBox('chAllowUsersAccessAccountsSettings');
         $oDomain->AllowNewUsersRegister = !CPost::GetCheckBox('chAllowNewUsersRegister');
         // Webmail
         $oDomain->AllowWebMail = CPost::GetCheckBox('chEnableWebmail');
         $oDomain->MailsPerPage = CPost::get('selMessagesPerPage', $oDomain->MailsPerPage);
         $oDomain->AutoCheckMailInterval = CPost::get('selAutocheckMail', $oDomain->AutoCheckMailInterval);
         if (CPost::Has('radioLayout')) {
             $oDomain->Layout = EnumConvert::FromPost(CPost::get('radioLayout'), 'ELayout');
         }
         // Address Book
         $oDomain->AllowContacts = CPost::GetCheckBox('chEnableAddressBook');
         $oDomain->ContactsPerPage = CPost::get('selContactsPerPage', $oDomain->ContactsPerPage);
     }
 }
Example #3
0
 protected function initDbSettings()
 {
     $this->oSettings->SetConf('Common/DBType', 'PostgreSQL' === CPost::get('chSqlType') ? EDbType::PostgreSQL : EDbType::MySQL);
     if (CPost::Has('txtSqlLogin')) {
         $this->oSettings->SetConf('Common/DBLogin', CPost::get('txtSqlLogin'));
     }
     if (CPost::Has('txtSqlPassword') && API_DUMMY !== (string) CPost::get('txtSqlPassword')) {
         $this->oSettings->SetConf('Common/DBPassword', CPost::get('txtSqlPassword'));
     }
     if (CPost::Has('txtSqlName')) {
         $this->oSettings->SetConf('Common/DBName', CPost::get('txtSqlName'));
     }
     if (CPost::Has('txtSqlSrc')) {
         $this->oSettings->SetConf('Common/DBHost', CPost::get('txtSqlSrc'));
     }
     if (CPost::Has('prefixString')) {
         $this->oSettings->SetConf('Common/DBPrefix', CPost::get('prefixString'));
     }
     $this->oSettings->SaveToXml();
 }
Example #4
0
 public function SystemSecurity()
 {
     $bDoSave = true;
     if (CPost::Has('txtNewPassword') && CPost::Has('txtConfirmNewPassword')) {
         if ((string) CPost::Get('txtNewPassword') !== (string) CPost::Get('txtConfirmNewPassword')) {
             $bDoSave = false;
             $this->LastError = CM_PASSWORDS_NOT_MATCH;
         } else {
             if (AP_DUMMYPASSWORD !== (string) CPost::Get('txtNewPassword')) {
                 $this->oSettings->SetConf('Common/AdminPassword', md5(trim(CPost::Get('txtNewPassword'))));
             }
         }
         if ($bDoSave) {
             if (CPost::Has('txtUserName')) {
                 $this->oSettings->SetConf('Common/AdminLogin', CPost::Get('txtUserName'));
             }
             $this->saveSettingsXmlWithMessage();
         }
     }
 }
Example #5
0
 protected function initUpdateDomainByPost(CDomain &$oDomain)
 {
     $oDomain->OverrideSettings = 0 < $oDomain->IdTenant ? true : CPost::GetCheckBox('chOverrideSettings');
     if ($oDomain->OverrideSettings) {
         // Regional settings and domain branding (moved from "webmail" module)
         $oDomain->SiteName = CPost::Get('txtSiteName', $oDomain->SiteName);
         $oDomain->AllowUsersChangeInterfaceSettings = CPost::GetCheckBox('chAllowUsersAccessInterfaveSettings');
         $sSelSkin = CPost::Get('selSkin', '');
         if (!empty($sSelSkin)) {
             $aSkins = $this->oModule->GetSkinList();
             if (is_array($aSkins) && in_array($sSelSkin, $aSkins)) {
                 $oDomain->DefaultSkin = $sSelSkin;
             }
         }
         $sSelLanguage = CPost::Get('selLanguage', '');
         if (!empty($sSelLanguage)) {
             $aLangs = $this->oModule->GetLangsList();
             if (is_array($aLangs) && in_array($sSelLanguage, $aLangs)) {
                 $oDomain->DefaultLanguage = $sSelLanguage;
             }
         }
         $sSelTimeZone = CPost::Get('selTimeZone', null);
         if (null !== $sSelTimeZone) {
             $aTimeZones = $this->oModule->GetTimeZoneList();
             if (is_array($aTimeZones) && isset($aTimeZones[(int) $sSelTimeZone])) {
                 $oDomain->DefaultTimeZone = $sSelTimeZone;
             }
         }
         if (CPost::Has('radioTimeFormat')) {
             $oDomain->DefaultTimeFormat = EnumConvert::FromPost(CPost::Get('radioTimeFormat'), 'ETimeFormat');
         }
         if (CPost::Has('selDateformat')) {
             $oDomain->DefaultDateFormat = CPost::Get('selDateformat');
         }
     }
 }
Example #6
0
 /**
  * @return void
  */
 protected function initAuth()
 {
     $this->iAuthType = AP_SESS_AUTH_TYPE_NONE;
     if ((isset($_GET['login']) || isset($_POST['login'])) && (CPost::Has('AdmloginInput') || CGet::Has('AdmloginInput')) && CPost::Has('AdmpasswordInput')) {
         $sAdmloginInput = CPost::Get('AdmloginInput');
         if (CGet::Has('AdmloginInput')) {
             $sAdmloginInput = CGet::Get('AdmloginInput');
         }
         $sLoginSuffix = CPost::Get('LoginSuffix', '');
         if (CGet::Has('LoginSuffix')) {
             $sLoginSuffix = CGet::Get('LoginSuffix', '');
         }
         if ($this->CallModuleFunction('CCommonModule', 'AuthLogin', array($sAdmloginInput . $sLoginSuffix, CPost::Get('AdmpasswordInput')))) {
             CApi::Location(AP_INDEX_FILE . '?enter');
         } else {
             CSession::Destroy();
             CApi::Location(AP_INDEX_FILE . '?auth_error');
         }
         exit;
     } else {
         if ($this->bSessionIsStarted) {
             $this->CallModuleFunction('CCommonModule', 'AuthCheckSet');
             if ($this->IsTenantAuthType()) {
                 $aTabs =& $this->GetTabs();
                 $aNewTabs = array();
                 foreach ($aTabs as $aTabValue) {
                     if (in_array($aTabValue[0], array(CApi::I18N('ADMIN_PANEL/TABNAME_COMMON'), CApi::I18N('ADMIN_PANEL/TABNAME_DOMAINS'), CApi::I18N('ADMIN_PANEL/TABNAME_USERS')))) {
                         $aNewTabs[] = $aTabValue;
                     }
                 }
                 $aTabs = $aNewTabs;
             }
         } else {
             CSession::Destroy();
             CApi::Location(AP_INDEX_FILE . '?sess_error');
             exit;
         }
     }
 }