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