Exemple #1
0
 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);
     }
 }
Exemple #2
0
    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;
    }
Exemple #3
0
 function ContentClass()
 {
     echo ap_Utils::AttributeQuote($this->_logo);
 }
Exemple #4
0
 /**
  * @param string $sName
  * @return string
  */
 function GetInputValue($sName)
 {
     return ap_Utils::AttributeQuote($this->GetValueAsString($sName));
 }
Exemple #5
0
 /**
  * @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;
 }
Exemple #6
0
    /**
     * @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>';
    }
Exemple #7
0
 /**
  * @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 = '';
         }
     }
 }