public function DomainsMainEdit(ap_Table_Screen &$oScreen) { $sDomainSkin = $sDomainLang = $sDomainZone = ''; /* @var $oDomain CDomain */ $oDomain =& $this->oAdminPanel->GetMainObject('domain_edit'); if ($oDomain) { $oScreen->Data->SetValue('hiddenDomainId', $oDomain->IdDomain); $oScreen->Data->SetValue('classHideDefault', $oDomain->IsDefaultDomain ? 'wm_hide' : ''); $oScreen->Data->SetValue('classHideNotDefault', $oDomain->IsDefaultDomain ? '' : 'wm_hide'); $oScreen->Data->SetValue('classHideOverrideSettings', 0 < $oDomain->IdTenant ? 'wm_hide' : ''); $oScreen->Data->SetValue('classHideSsl', $this->oModule->HasSslSupport() ? '' : 'wm_hide'); $oScreen->Data->SetValue('chOverrideSettings', $oDomain->OverrideSettings); $sDomainSkin = $oDomain->DefaultSkin; $sDomainLang = $oDomain->DefaultLanguage; $sDomainZone = $oDomain->DefaultTimeZone; $sDefaultTab = $oDomain->DefaultTab; $oScreen->Data->SetValue('txtSiteName', $oDomain->SiteName); $oScreen->Data->SetValue('radioTimeFormat12', ETimeFormat::F12 === $oDomain->DefaultTimeFormat); $oScreen->Data->SetValue('radioTimeFormat24', ETimeFormat::F24 === $oDomain->DefaultTimeFormat); $oScreen->Data->SetValue('optDateFormatDDMonthYYYY', EDateFormat::DD_MONTH_YYYY === $oDomain->DefaultDateFormat); $oScreen->Data->SetValue('optDateFormatMMDDYY', EDateFormat::MMDDYY === $oDomain->DefaultDateFormat); $oScreen->Data->SetValue('optDateFormatDDMMYY', EDateFormat::DDMMYY === $oDomain->DefaultDateFormat); $oScreen->Data->SetValue('optDateFormatMMDDYYYY', EDateFormat::MMDDYYYY === $oDomain->DefaultDateFormat); $oScreen->Data->SetValue('optDateFormatDDMMYYYY', EDateFormat::DDMMYYYY === $oDomain->DefaultDateFormat); } $sSkinsOptions = ''; $aSkins = $this->oModule->GetSkinList(); if (is_array($aSkins)) { foreach ($aSkins as $sSkin) { $sSelected = $sSkin === $sDomainSkin ? ' selected="selected"' : ''; $sSkinsOptions .= '<option value="' . ap_Utils::AttributeQuote($sSkin) . '"' . $sSelected . '>' . ap_Utils::EncodeSpecialXmlChars($sSkin) . '</option>'; } $oScreen->Data->SetValue('selSkinsOptions', $sSkinsOptions); } $sTabsOptions = ''; $aTabs = $this->oModule->GetTabList($oDomain); if (is_array($aTabs)) { foreach ($aTabs as $sKeyTab => $sValueTab) { $sSelected = $sKeyTab === $sDefaultTab ? ' selected="selected"' : ''; $sTabsOptions .= '<option value="' . ap_Utils::AttributeQuote($sKeyTab) . '"' . $sSelected . '>' . ap_Utils::EncodeSpecialXmlChars($sValueTab) . '</option>'; } $oScreen->Data->SetValue('selTabsOptions', $sTabsOptions); } $sLanguageOptions = ''; $aLangs = $this->oModule->GetLangsList(); if (is_array($aLangs)) { foreach ($aLangs as $sLang) { $sSelected = $sLang === $sDomainLang ? ' selected="selected"' : ''; $sLanguageOptions .= '<option value="' . ap_Utils::AttributeQuote($sLang) . '"' . $sSelected . '>' . ap_Utils::EncodeSpecialXmlChars($sLang) . '</option>'; } $oScreen->Data->SetValue('selLanguageOptions', $sLanguageOptions); } $sTimeZoneOptions = ''; $aTimeZones = $this->oModule->GetTimeZoneList(); if (is_array($aTimeZones)) { foreach ($aTimeZones as $iIndex => $aTimeZone) { $sSelected = (int) $sDomainZone === (int) $iIndex ? ' selected="selected"' : ''; $sTimeZoneOptions .= '<option value="' . ap_Utils::AttributeQuote($iIndex) . '"' . $sSelected . '>' . ap_Utils::EncodeSpecialXmlChars($aTimeZone) . '</option>'; } $oScreen->Data->SetValue('selTimeZone', $sTimeZoneOptions); } }
function _getListHtml() { $return = ''; if (count($this->_headers) > 0) { $nobrArray = array('Email', 'Last Login'); $cnt = count($this->_list); if ($cnt > 0 && $cnt <= $this->_linePerPage) { foreach ($this->_list as $href => $value) { $return .= ' <tr id="' . ap_Utils::AttributeQuote(urlencode($href)) . '" class="wm_inbox_read_item"> <td id="none" class="wm_inbox_none"> <input name="chCollection[]" type="checkbox" value="' . ap_Utils::AttributeQuote($href) . '" class="wm_checkbox" /> </td>'; $headerKeys = array_keys($this->_headers); foreach ($headerKeys as $name) { if (isset($value[$name])) { $nobrStr0 = $nobrStr1 = ''; if (in_array($name, $nobrArray)) { $nobrStr0 = '<nobr>'; $nobrStr1 = '</nobr>'; } $pretext = $name == 'Email' ? '' : ''; $return .= ' <td></td> <td class="wm_inbox_from_subject" style="overflow:hidden;"> ' . $nobrStr0 . $pretext . $this->_lightStr($name, $value[$name], $this->_light) . $nobrStr1 . ' </td> '; } else { $return .= ' <td></td> <td class="wm_inbox_from_subject" style="padding-left: 4px;"> </td> '; } } $return .= ' </tr>'; } } else { if ($cnt == 0) { $return .= '<tr><td colspan="' . (count($this->_headers) * 2 + 1) . '"><div class="wm_inbox_info_message">' . $this->_null_message . '</div></td></tr>'; } else { $return .= '<tr><td colspan="' . (count($this->_headers) * 2 + 1) . '"><div class="wm_inbox_info_message">ERROR</div></td></tr>'; } } } return $return; }
function ContentClass() { echo ap_Utils::AttributeQuote($this->_logo); }
/** * @param string $sName * @return string */ function GetInputValue($sName) { return ap_Utils::AttributeQuote($this->GetValueAsString($sName)); }
/** * @param string $sLogin * @param string $sPassword * @return bool */ public function AuthLogin($sLogin, $sPassword) { $oSettings = null; $oSettings =& CApi::GetSettings(); $sDemoLogin = CApi::GetConf('demo.adminpanel.login', ''); $sLogin = trim($sLogin); $sPassword = trim($sPassword); if (empty($sLogin) || empty($sPassword)) { return false; } if ($oSettings->GetConf('Common/AdminLogin') === $sLogin && $this->oWebmailApi->validateAdminPassword($sPassword)) { $this->setAdminAccessType(AP_SESS_AUTH_TYPE_SUPER_ADMIN); return true; } else { if (CApi::GetConf('demo.adminpanel.enable', false) && 0 < strlen($sDemoLogin) && $sDemoLogin === CPost::get('AdmloginInput')) { $this->setAdminAccessType(AP_SESS_AUTH_TYPE_SUPER_ADMIN_ONLYREAD); return true; } else { if ($this->oAdminPanel->PType() && $this->oAdminPanel->RType()) { $iTenantId = $this->oAdminPanel->CallModuleFunction('CProModule', 'GetTenantIdByLoginPassword', array($sLogin, $sPassword)); if (0 < $iTenantId) { $oTenant = $this->oAdminPanel->CallModuleFunction('CProModule', 'getTenantById', array($iTenantId)); if ($oTenant) { /* @var $oTenant CTenant */ if (0 < $oTenant->Expared && $oTenant->Expared < \time()) { $sDesc = '<div style="display: block; margin: 0px auto; font: 11pt Verdana,sans-serif; width: 340px; padding: 20px; color: #777;">'; $sDesc .= '<h2 style="color: #D35A5A; font-weight: normal; font-size: 16pt;">' . CAPi::I18N('ADMIN_PANEL/YOUR_SUBSCRIPTION_IS_EXPIRED') . '</h2>'; if (0 < strlen($oTenant->PayUrl)) { $sDesc .= '<p>' . CAPi::I18N('ADMIN_PANEL/TO_RENEW_FOLLOW_LINK') . ' <a target="_blank" href="' . ap_Utils::AttributeQuote($oTenant->PayUrl) . '">' . $oTenant->PayUrl . '</a></p>'; } $sDesc .= '</div>'; CSession::Set('SESSION_LOGIN_WARNING', $sDesc); return true; } $this->setAdminAccessType(AP_SESS_AUTH_TYPE_TENANT); $this->setTenantAccessId($iTenantId); return true; } } } } } return false; }
/** * @return void */ public function Write() { $sActiv = ''; $sOptions = ''; $iC = 0; $iLimit = 999; $bHide = false; foreach ($this->aList as $mIndex => $aValue) { if (1 < count($aValue)) { $sActiv = $iC === 0 ? '<a class="l1" title="' . ap_Utils::AttributeQuote($aValue[0]) . '" href="javascript:void(0);"><div class="link ' . $aValue[1] . '"><div>' . $aValue[0] . '</div></div>' : $sActiv; $addClass = empty($this->sSelectedItem) && $iC === 0 || $mIndex == $this->sSelectedItem ? ' SelectedDomain' : ''; $iC++; $sActiv = $mIndex == $this->sSelectedItem ? '<a class="l1" title="' . ap_Utils::AttributeQuote($aValue[0]) . '" href="javascript:void(0);"><div class="link ' . $aValue[1] . '"><div>' . $aValue[0] . '</div></div>' : $sActiv; if (!$bHide) { $mHref = AP_INDEX_FILE . '?tab=' . ap_Utils::AttributeQuote($this->sTag) . '&filter=' . ap_Utils::AttributeQuote($mIndex); $sOptions .= '<a class="l2" title="' . ap_Utils::AttributeQuote($aValue[0]) . '" href="' . $mHref . '"><div class="' . $aValue[1] . $addClass . '">' . $aValue[0] . '</div></a>'; } if ($iLimit === $iC) { $sOptions .= '<div style="text-align: center; margin: 2px;">...</div>'; $bHide = true; } } } echo 0 === count($this->aList) ? '' : ' <div style="float: left; height: 16px; padding: 4px;"><span>' . $this->sName . ':</span></div> <div class="menu_select"> ' . $sActiv . '<!--[if gte IE 7]><!--></a><!--<![endif]--> <div class="dd"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td> ' . $sOptions . ' </td> </tr> </table> </div> <!--[if lte IE 6]></a><![endif]--> </div>'; }
/** * @param ap_Screen_Data $data * @param Account $account */ function ScreenDataFromAccount(&$_data, &$_account, $_isNewAccount = false) { $_data->SetValue('txtIncomingLogin', $_account->MailIncLogin); if (!$_isNewAccount) { if (strlen($_account->MailIncPassword) > 0) { $_data->SetValue('txtIncomingPassword', AP_DUMMYPASSWORD); } if (strlen($_account->MailOutPassword) > 0) { $_data->SetValue('txtSmtpPassword', AP_DUMMYPASSWORD); } } $_data->SetValue('selectMailProtocolPop3', $_account->MailProtocol == WM_MAILPROTOCOL_POP3); $_data->SetValue('selectMailProtocolImap4', $_account->MailProtocol == WM_MAILPROTOCOL_IMAP4); $_data->SetValue('txtIncomingMail', $_account->MailIncHost); $_data->SetValue('txtSmtpServer', $_account->MailOutHost); $_data->SetValue('intIncomingPort', (int) $_account->MailIncPort); $_data->SetValue('intSmtpPort', (int) $_account->MailOutPort); $_data->SetValue('intLimitMailbox', (int) ceil($_account->MailboxLimit / 1024)); $_data->SetValue('txtFriendlyName', $_account->FriendlyName); $_data->SetValue('txtEmail', $_account->Email); $_quotaJs = ''; if ($this->_settings->TakeImapQuota) { $_quotaJs .= ' var TakeImapQuota = true; '; $_data->SetValue('intTakeImapQuota', (int) ($_account->ImapQuota === 1)); } else { $_quotaJs .= ' var TakeImapQuota = false; '; $_data->SetValue('classTakeImapQuota', 'wm_hide'); } if ($_account->ImapQuota === -1) { $_data->SetValue('infoTakeImapQuotaText', '<br />(IMAP quota is not supported by the server.)'); $_quotaJs .= ' SetDisabled(document.getElementById("intTakeImapQuota"), true, true); '; } if (strlen($_quotaJs) > 0) { $_data->SetValue('infoTakeImapQuotaJs', '<script> ' . $_quotaJs . ' </script>'); } $_data->SetValue('txtSmtpLogin', $_account->MailOutLogin); $_data->SetValue('txtKeepMsgsDays', $_account->MailsOnServerDays); $_data->SetValue('chkUseSmtpAuth', $_account->MailOutAuthentication); $_data->SetValue('chkUseFriendlyName', $_account->UseFriendlyName); $_data->SetValue('chkGetMailAtLogin', $_account->GetMailAtLogin); $_data->SetValue('chkAllowDM', $_account->AllowDirectMode); $_data->SetValue('chkAllowChangeEmail', $_account->AllowChangeSettings); $_data->SetValue('chkUserEnabled', !$_account->Deleted); switch ($_account->MailMode) { case WM_MAILMODE_DeleteMessagesFromServer: $_data->SetValue('radioDelRecvMsgs', true); break; case WM_MAILMODE_LeaveMessagesOnServer: $_data->SetValue('radioLeaveMsgs', true); break; case WM_MAILMODE_KeepMessagesOnServer: $_data->SetValue('radioLeaveMsgs', true); $_data->SetValue('chkKeepMsgs', true); break; case WM_MAILMODE_DeleteMessageWhenItsRemovedFromTrash: $_data->SetValue('radioLeaveMsgs', true); $_data->SetValue('chkDelMsgsSrv', true); break; case WM_MAILMODE_KeepMessagesOnServerAndDeleteMessageWhenItsRemovedFromTrash: $_data->SetValue('radioLeaveMsgs', true); $_data->SetValue('chkKeepMsgs', true); $_data->SetValue('chkDelMsgsSrv', true); break; } $_folderSyncType = $_data->GetValueAsInt('folderSyncType'); if ($_folderSyncType == WM_FOLDERSYNC_NewHeadersOnly || $_folderSyncType == WM_FOLDERSYNC_AllHeadersOnly) { $_data->SetValue('synchronizeSelect1', true); } else { if ($_folderSyncType == WM_FOLDERSYNC_DirectMode) { $_data->SetValue('synchronizeSelect5', true); } else { $_data->SetValue('synchronizeSelect3', true); } } if ($_folderSyncType == WM_FOLDERSYNC_AllHeadersOnly || $_folderSyncType == WM_FOLDERSYNC_AllEntireMessages) { $_data->SetValue('chkDelMsgsDB', true); } // Advanced $_data->SetValue('txtMessagesPerPage', $_account->MailsPerPage); $_data->SetValue('txtContactsPerPage', $_account->ContactsPerPage); $_data->SetValue('intDisableRichEditor', !$_account->AllowDhtmlEditor); $_data->SetValue('intMessageListWithPreviewPane', $_account->ViewMode == WM_VIEW_MODE_PREVIEW_PANE || $_account->ViewMode == WM_VIEW_MODE_PREVIEW_PANE_NO_IMG); $_data->SetValue('intAlwaysShowPictures', $_account->ViewMode == WM_VIEW_MODE_PREVIEW_PANE || $_account->ViewMode == WM_VIEW_MODE_WITHOUT_PREVIEW_PANE); $_skins =& $this->GetSkinsList(); $_skinsString = ''; foreach ($_skins as $_skin) { $_selected = $_skin == $_account->DefaultSkin ? ' selected="selected"' : ''; $_skinsString .= '<option value="' . ap_Utils::AttributeQuote($_skin) . '"' . $_selected . '>' . ap_Utils::EncodeSpecialXmlChars($_skin) . '</option>' . AP_CRLF; } $_data->SetValue('txtDefaultSkin', $_skinsString); $_charsets =& $this->GetCharsetsList(); $_charsetsString = ''; foreach ($_charsets as $_charset) { $_selected = $_charset[0] == $_account->DefaultIncCharset ? ' selected="selected"' : ''; $_charsetsString .= '<option value="' . ap_Utils::AttributeQuote($_charset[0]) . '"' . $_selected . '>' . ap_Utils::EncodeSpecialXmlChars($_charset[1]) . '</option>' . AP_CRLF; } $_data->SetValue('txtDefaultUserCharset', $_charsetsString); $_timezones =& $this->GetTimeZoneList(); $_timezonesString = ''; foreach ($_timezones as $_timezoneKey => $_timezoneValue) { $_selected = $_timezoneKey == $_account->DefaultTimeZone ? ' selected="selected"' : ''; $_timezonesString .= '<option value="' . ap_Utils::AttributeQuote($_timezoneKey) . '"' . $_selected . '>' . ap_Utils::EncodeSpecialXmlChars($_timezoneValue) . '</option>' . AP_CRLF; } $_data->SetValue('txtDefaultTimeZone', $_timezonesString); $_langs =& $this->GetLangsList(); $_langsString = ''; foreach ($_langs as $_lang) { $_selected = $_lang == $_account->DefaultLanguage ? ' selected="selected"' : ''; $_langsString .= '<option value="' . ap_Utils::AttributeQuote($_lang) . '"' . $_selected . '>' . ap_Utils::EncodeSpecialXmlChars($_lang) . '</option>' . AP_CRLF; } $_data->SetValue('txtDefaultLanguage', $_langsString); if ($_account->Aliases && count($_account->Aliases) > 0) { $text = ''; foreach ($_account->Aliases as $value) { $text .= '<option value="' . ap_Utils::AttributeQuote($value) . '">' . ap_Utils::EncodeSpecialXmlChars($value) . '</option>'; } if (strlen($text) > 0) { $_data->SetValue('AliasesListDDL', $text); $text = ''; } } if ($_account->Forwards && count($_account->Forwards) > 0) { $text = ''; foreach ($_account->Forwards as $value) { $text .= '<option value="' . ap_Utils::AttributeQuote($value) . '">' . ap_Utils::EncodeSpecialXmlChars($value) . '</option>'; } if (strlen($text) > 0) { $_data->SetValue('ForwardsListDDL', $text); $text = ''; } } }