This commit is contained in:
cutemeli
2025-12-22 10:35:30 +00:00
parent 0bfc6c8425
commit 5ce7ca2c5d
38927 changed files with 0 additions and 4594700 deletions

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<body id="screenshots" class="sid-popup">
<?= $this->requireJs('app/app-image/gallery', [
'renderTo' => 'screenshots',
'id' => 'imageGallery',
'cls' => 'screenshots-block',
'images' => $this->images,
]) ?>
</body>

View File

@@ -1,19 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="<?php echo $this->element->getId();?>">
<?php echo $this->content; ?>
</div>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
new Jsw.AddRemoveDynamicSubForm({
applyTo: '<?php echo $this->element->getId();?>',
addButtonId: '<?php echo $this->buttonsPrefix; ?>-buttonAddItem',
addButtonTitle: <?php echo $this->jsLmsg('smb.components.forms.aps.install.addItem');?>,
removeButtonId: '<?php echo $this->buttonsPrefix; ?>-buttonRemoveItem',
removeButtonTitle: <?php echo $this->jsLmsg('smb.components.forms.aps.install.removeItem');?>
});
});
//]]>
</script>

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="uploadFiles">
<?php echo $this->content; ?>
</div>
<?= $this->requireJs('app/backup/upload-files', [
'applyTo' => 'uploadFiles',
'addButtonId' => 'upload-uploadFiles-buttonAddFile',
'removeButtonId' => 'remove-upload-file-button-wrapper',
]) ?>

View File

@@ -1,118 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form ?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
var repositories = document.querySelectorAll('input[id^=backup-content-repository]');
var confAndContent = document.getElementById('backup-content-content-configuration_and_content');
var mailContent = document.getElementById('backup-content-content_type-backup_content_mail');
var fileContent = document.getElementById('backup-content-content_type-backup_content_file');
var databaseContent = document.getElementById('backup-content-content_type-backup_content_database');
var incrementalTypeControlState = function () {
var repository;
if (1 === repositories.length) {
repository = repositories[0].value;
} else {
repositories.forEach(function (item){
if (item.checked) {
repository = item.value;
}
});
}
if ((confAndContent && confAndContent.checked)
|| ((mailContent && mailContent.checked) || (fileContent && fileContent.checked))
) {
if (document.getElementById('backup-content-incrementalTypeRadio-incremental').checked) {
document.getElementById('backup-content-incremental').value = 1;
}
document.querySelectorAll('div[id^=backup-content-incrementalTypeRadio]').forEach(function (el) {
el.style.display = '';
});
document.querySelectorAll('div[id^=backup-content-incrementalTypeText]').forEach(function (el) {
el.style.display = 'none';
});
} else {
document.querySelectorAll('div[id^=backup-content-incrementalTypeRadio]').forEach(function (el) {
el.style.display = 'none';
});
document.querySelectorAll('div[id^=backup-content-incrementalTypeText]').forEach(function (el) {
el.style.display = '';
});
document.getElementById('backup-content-incremental').value = 0;
}
document.querySelectorAll('div[id^=backup-content-split_backup_size]').forEach(function (el) {
el.style.display = 'local' === repository ? 'none' : '';
});
document.querySelectorAll('div[id^=backup-content-remote_storage-form-row]').forEach(function (el) {
el.style.display = 'local' === repository ? 'none' : '';
});
};
var contentControlState = function() {
var comment = document.getElementById('backup-settings-comment');
var conf = document.getElementById('backup-content-content-configuration');
if (conf && conf.checked) {
comment.innerHTML = conf.parentNode.querySelector('label').innerHTML.trim();
} else if (confAndContent && confAndContent.checked) {
comment.innerHTML = confAndContent.parentNode.querySelector('label').innerHTML.trim();
} else if (mailContent && mailContent.checked && fileContent && fileContent.checked && databaseContent && databaseContent.checked) {
comment.innerHTML = <?= $this->jsLmsg('components.forms.backup.subform.backupAll'); ?>;
} else if (mailContent && mailContent.checked && fileContent && !fileContent.checked && databaseContent && !databaseContent.checked) {
comment.innerHTML = <?= $this->jsLmsg('components.forms.backup.subform.backupMail'); ?>;
} else if (fileContent && fileContent.checked && databaseContent && databaseContent.checked && (!mailContent || !mailContent.checked)) {
comment.innerHTML = <?= $this->jsLmsg('components.forms.backup.subform.backupVhost'); ?>;
} else if (fileContent && fileContent.checked && databaseContent && !databaseContent.checked && (!mailContent || !mailContent.checked)) {
comment.innerHTML = <?= $this->jsLmsg('components.forms.backup.subform.backupFile'); ?>;
} else if (fileContent && fileContent.checked && databaseContent && !databaseContent.checked && mailContent && mailContent.checked) {
comment.innerHTML = <?= $this->jsLmsg('components.forms.backup.subform.backupMailFile'); ?>;
} else if (fileContent && !fileContent.checked && databaseContent && databaseContent.checked && (!mailContent || !mailContent.checked)) {
comment.innerHTML = <?= $this->jsLmsg('components.forms.backup.subform.backupDatabase'); ?>;
} else if (fileContent && !fileContent.checked && databaseContent && databaseContent.checked && mailContent && mailContent.checked) {
comment.innerHTML = <?= $this->jsLmsg('components.forms.backup.subform.backupMailDatabase'); ?>;
} else {
comment.innerHTML = <?= $this->jsLmsg('components.forms.backup.subform.backupConfiguration'); ?>;
}
};
var excludeFilesState = function () {
var checkbox = document.getElementById('backup-settings-excludeFilesMasterCheckbox');
var rows = [
checkbox.closest('.form-row'),
document.getElementById('backup-settings-exclude_logs').closest('.form-row')
];
if (checkbox.checked) {
rows.push(document.getElementById('backup-settings-exclude_files-form-row'));
}
rows.forEach(function (el) {
el.style.display = fileContent.checked ? '' : 'none';
});
};
document.querySelectorAll('input[id^=backup-content-incrementalTypeRadio]').forEach(function (el) {
el.addEventListener('click', function () {
document.getElementById('backup-content-incremental').value = 'incremental' === this.value ? 1 : 0;
});
});
document.querySelectorAll('input[id^=backup-content-content]').forEach(function (el) {
el.addEventListener('change', incrementalTypeControlState);
el.addEventListener('change', contentControlState);
el.addEventListener('change', excludeFilesState);
});
repositories.forEach(function (el) {
el.addEventListener('click', incrementalTypeControlState);
});
incrementalTypeControlState();
contentControlState();
excludeFilesState();
});
//]]>
</script>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>

View File

@@ -1,17 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
function checkUploadFileStatus() {
if (document.getElementById('ipMappingFile').value) {
Jsw.getComponent('btn-uploadMappingFile').enable();
}
}
document.getElementById('ipMappingFile').addEventListener('change', checkUploadFileStatus);
});
//]]>
</script>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>

View File

@@ -1,20 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?= $this->requireJs('app/backup/list', [
'searchFilters' => $this->backupList->getSearchFilterConfig(),
'data' => $this->backupList->fetchData(),
'urls' => $this->urls,
'showDownloadColumn' => $this->backupList->showDownloadColumn(),
'isDownloadEnabled' => $this->backupList->isDownloadEnabled(),
'showUploadButton' => $this->showUploadButton,
'showSettingsButton' => $this->showSettingsButton,
'showFtpSettingsButton' => $this->showFtpSettingsButton,
'showBackupButton' => $this->showBackupButton,
'showRemoveButton' => $this->showRemoveButton,
'showScheduleButton' => $this->showScheduleButton,
'showSystemNotesColumn' => true,
'showCommentColumn' => true,
'downloadDump' => 'true' === $this->downloadDump,
'downloadData' => $this->downloadData,
]) ?>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form ?>

View File

@@ -1,58 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
new Jsw.Panel({
renderTo: 'securitySettings',
renderMode: 'top',
cls: 'tools-list-box',
items: [{
componentType: 'Jsw.ListContainer',
cls: 'tools-list',
itemClass: 'tools-item',
items: <?php echo json_encode($this->buttons) ?>
}]
});
});
//]]>
</script>
<div id="securitySettings" class="form-box">
<?php if ($this->isAnyConfigured): ?>
<div class="box-area">
<div class="title ">
<div class="title-area">
<h3>
<span><?php echo $this->lmsg('securitySettingsTitle'); ?></span>
</h3>
</div>
</div>
<div class="content">
<div class="content-area">
<div id="secureBackup-content-area">
<p><?php echo $this->lmsg('securitySettingsDescription'); ?></p>
</div>
</div>
</div>
<table class="form-table form-limits" width="100%" cellspacing="0">
<tr class="form-row">
<td class="field-name nowrap">
<?php echo $this->lmsg('passwordProtection'); ?>
</td>
<td>
<?php if ($this->passwordProtection): ?>
<img class="b-indent-icon" src="<?php echo $this->skinUrl('/icons/16/plesk/ok.png'); ?>" alt="" />
<?php echo $this->lmsg('enabled'); ?>
<?php else: ?>
<img class="b-indent-icon" src="<?php echo $this->skinUrl('/icons/16/plesk/off.png'); ?>" alt="" />
<?php echo $this->lmsg('disabled'); ?>
<?php endif; ?>
[<a href="<?php echo $this->baseUrl($this->urls['securitySettings']); ?>"><?php echo $this->lmsg('change'); ?></a>]
</td>
</tr>
</table>
</div>
<?php endif; ?>
</div>

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>
<?= $this->requireJs('app/backup/restore', [
'type' => $this->type,
'disableRestore' => (int)$this->disableRestore,
'taskStatuses' => $this->taskStatuses,
'urls' => $this->urls,
]) ?>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form ?>

View File

@@ -1,24 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
use \Plesk\Plesk\Base\Utils\SizeFormatter;
?>
<table cellspacing="0" class="popup-data-table">
<tr>
<th><?php echo $this->lmsg('thisSize') ?></th>
<td><?php echo \Plesk_Base_Utils_String::safeForHtml(SizeFormatter::formatPretty($this->thisSize, true)) ?></td>
</tr>
<tr>
<th><?php echo $this->lmsg('prevSize') ?></th>
<td><?php echo \Plesk_Base_Utils_String::safeForHtml(SizeFormatter::formatPretty($this->prevSize, true)) ?></td>
</tr>
<tr>
<th><?php echo $this->lmsg('baseSize') ?></th>
<td><?php echo \Plesk_Base_Utils_String::safeForHtml(SizeFormatter::formatPretty($this->baseSize, true)) ?></td>
</tr>
<tr>
<th><b><?php echo $this->lmsg('totalSize') ?><b></th>
<td><b><?php echo \Plesk_Base_Utils_String::safeForHtml(SizeFormatter::formatPretty($this->totalSize, true)) ?><b></td>
</tr>
</table>

View File

@@ -1,116 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="form-box">
<div class="title">
<div class="title-area"><h3><span><?php echo $this->lmsg('detailsSection'); ?></span></h3></div>
</div>
<?php foreach ($this->taskProperties as $name => $value): ?>
<div class="form-row">
<div class="field-name">
<?php echo $this->lmsg('property' . ucfirst($name)); ?>
</div>
<div class="field-value">
<div class="text-value" id="<?php echo $name ?>"><?php echo $this->escape($value); ?></div>
</div>
</div>
<?php endforeach; ?>
<?php if ('working' == $this->taskStatus): ?>
<div class="form-row">
<div class="field-name">
<?php echo $this->lmsg('propertyProgress'); ?>
</div>
<div class="field-value">
<div class="text-value">
<div class="progress-box">
<div class="progress progress-sm">
<div class="progress-bar" id="taskProgress" style="width: <?php echo $this->progress; ?>%"></div>
</div>
<div class="progress-label" id="taskProgressText"><?php echo $this->progress; ?>%</div>
</div>
</div>
</div>
</div>
<?php endif; ?>
</div>
<div id="errorLogSection" class="form-box" <?php if ('finished' != $this->taskStatus) echo 'style="display:none"'?>>
<div class="title">
<div class="title-area"><h3><span><?php echo $this->lmsg('errorLogSection'); ?></span></h3></div>
</div>
<div id="errorLog"><?php if ('finished' == $this->taskStatus) echo $this->errorLog; ?></div>
</div>
<div class="btns-box">
<div class="box-area">
<div class="form-row">
<div class="field-name"></div>
<div class="field-value">
<button id="btn-ok" class="btn action"></button>
<button id="btn-stop" class="btn"></button>
<input type="hidden" name="hidden" value="" id="hidden">
<!-- ability to submit form via Enter -->
<input type="image" src="<?= $this->skinUrl('/images/blank.gif') ?>" style="border: 0; height: 0; width: 0; position: absolute;">
</div>
</div>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
new Jsw.CommandButton({
applyTo: 'btn-ok',
title: <?php echo $this->jsLmsg('ok'); ?>,
cls: 'btn',
name: 'ok',
value: '',
description: '',
disabled: false,
handler: function(event) { Jsw.redirect('<?php echo $this->urls['list'] ?>'); }
});
new Jsw.CommandButton({
applyTo: 'btn-stop',
title: <?php echo $this->jsLmsg('stop'); ?>,
cls: 'btn',
name: 'stop',
value: '',
description: '',
disabled: <?php echo 'working' == $this->taskStatus ? 'false': 'true' ?>,
handler: function(event) { Jsw.redirectPost('<?php echo $this->urls['stopTask'] ?>'); }
});
function taskDetailsAjaxUpdate() {
Jsw.api.get(<?= $this->jsEscape($this->ajaxUpdateUrl) ?>)
.then(function (response) {
var taskStatus = response.taskStatus;
if (taskStatus === 'working') {
document.getElementById('taskProgress').style.width = response.progress + '%';
document.getElementById('taskProgressText').innerHTML = response.progress + '%';
document.getElementById('currentOperation').innerHTML = response.currentOperation;
setTimeout(function () {
taskDetailsAjaxUpdate();
}, 1000);
} else {
Jsw.getComponent('btn-stop').disable();
if (document.getElementById('taskProgress')) {
document.getElementById('taskProgress').style.width = '100%';
document.getElementById('taskProgressText').innerHTML = '100%';
document.getElementById('currentOperation').innerHTML = '';
}
if (response.errorLog) {
document.getElementById('errorLogSection').style.display = '';
document.getElementById('errorLog').innerHTML = response.errorLog;
}
}
});
}
taskDetailsAjaxUpdate();
});
//]]>
</script>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->textLog ?>

View File

@@ -1,28 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->masterCheckbox('urlTarget-internal', ['urlTarget-noFrame'], true, false) ?>
<script type="text/javascript">
//<![CDATA[
(function () {
function updateUrlPartsSettings() {
var place = document.getElementById('place').value;
var allowedPlaces = <?php echo json_encode($this->form->urlParamsAllowedPlaces) ?>;
Object.keys(allowedPlaces).forEach(function (urlParam) {
if (allowedPlaces[urlParam].indexOf(place) === -1) {
document.getElementById('urlParams-' + urlParam).disabled = true;
} else {
document.getElementById('urlParams-' + urlParam).disabled = false;
}
});
}
document.getElementById('place').addEventListener('change', updateUrlPartsSettings);
updateUrlPartsSettings();
document.getElementById('text').focus();
})();
//]]>
</script>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form ?>

View File

@@ -1,15 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>
<?php
$serviceWeb = $this->form->getSubForm('settings')->getElement('serviceWeb');
if ($serviceWeb) {
echo $this->masterCheckbox(
$serviceWeb->getId(),
array($this->form->getSubForm('settings')->getElement('seoRedirect')->getId()),
true,
false
);
}
?>

View File

@@ -1,152 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->form; ?>
<script type="text/javascript">
//<![CDATA[
(function () {
// show/hide primitives
function hideHosting() {
document.getElementById('hostingSettings-root').disabled = true;
document.getElementById('hostingSettings').style.display = 'none';
}
function showHosting() {
document.getElementById('hostingSettings-root').disabled = false;
document.getElementById('hostingSettings').style.display = '';
}
function hideForwarding() {
document.getElementById('forwardingSettings-forwardTo').disabled = true;
document.getElementById('forwardingSettings').style.display = 'none';
}
function showForwarding() {
document.getElementById('forwardingSettings-forwardTo').disabled = false;
document.getElementById('forwardingSettings').style.display = '';
}
// handlers
function hostingActive() {
hideForwarding();
showHosting();
}
function forwardingActive() {
hideHosting();
showForwarding();
}
function noneActive() {
hideHosting();
hideForwarding();
}
function onHostingTypeChange() {
var hostingType = document.querySelector('select[name="hostingType[hosting]"]');
if (!hostingType) {
return;
}
switch (hostingType.value) {
case 'hosting':
hostingActive();
break;
case 'forwarding':
forwardingActive();
break;
case 'none':
noneActive();
break;
}
}
document.querySelector('select[name="hostingType[hosting]"]').addEventListener('change', onHostingTypeChange);
onHostingTypeChange();
if (!document.getElementById('domainInfo')) {
return;
}
var newWebspaceTargetControls = ['domainInfo'];
var existingWebspaceTargetControls = ['hostingType', 'hostingSettings', 'forwardingSettings'];
if (document.getElementById('dnsSettings')) {
existingWebspaceTargetControls.push('dnsSettings');
}
if (document.getElementById('mailSettings')) {
existingWebspaceTargetControls.push('mailSettings');
}
function showNewWebspaceOptions() {
newWebspaceTargetControls.forEach(function (id) {
document.getElementById(id).style.display = '';
});
existingWebspaceTargetControls.forEach(function (id) {
document.getElementById(id).style.display = 'none';
});
}
function showExistingWebspaceOptions() {
newWebspaceTargetControls.forEach(function (id) {
document.getElementById(id).style.display = 'none';
});
existingWebspaceTargetControls.forEach(function (id) {
document.getElementById(id).style.display = '';
});
onHostingTypeChange();
if (document.getElementById('hostingSettings-root')) {
Jsw.fireCustomEvent(document.getElementById('hostingSettings-root'), 'value:change');
}
}
if (document.getElementById('domainName-targetWebspace')) {
showNewWebspaceOptions();
} else if (Jsw.getComponent('domainName-webspace')){
function onWebspaceChange() {
var subscriptionLookUp = Jsw.getComponent('domainName-webspace');
if (subscriptionLookUp.getValue() === 'new') {
showNewWebspaceOptions();
} else {
showExistingWebspaceOptions();
}
}
// Temporary workaround for custom prototype's event 'component:change'
Jsw.getComponent('domainName-webspace').addEventObserver('dataavailable', onWebspaceChange);
onWebspaceChange();
}
if (document.getElementById('domainName-assignToCustomer')) {
function onCustomerChange() {
if (document.getElementById('customerInfo')) {
document.getElementById('customerInfo').style.display = (document.getElementById('domainName-assignToCustomer').checked
&& (!Jsw.getComponent('domainName-customer') || Jsw.getComponent('domainName-customer').getValue() === 'new')) ? '' : 'none';
}
}
function onAssignToCustomerChange() {
var assignToCustomer = document.getElementById('domainName-assignToCustomer').checked;
if (document.getElementById('domainName-customer-form-row')) {
document.getElementById('domainName-customer-form-row').style.display = assignToCustomer ? '' : 'none';
}
if (document.getElementById('domainName-webspace-form-row')) {
document.getElementById('domainName-webspace-form-row').style.display = assignToCustomer ? 'none' : '';
}
if (assignToCustomer) {
showNewWebspaceOptions();
} else if (Jsw.getComponent('domainName-webspace')) {
onWebspaceChange();
}
onCustomerChange();
}
if (Jsw.getComponent('domainName-customer')) {
// Temporary workaround for custom prototype's event 'component:change'
Jsw.getComponent('domainName-customer').addEventObserver('dataavailable', onCustomerChange);
}
document.getElementById('domainName-assignToCustomer').addEventListener('click', onAssignToCustomerChange);
onAssignToCustomerChange();
}
})();
//]]>
</script>

View File

@@ -1,19 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
new Jsw.Panel({
cls: 'tools-box',
renderTo: 'main',
renderMode: 'top',
items: [{
componentType: 'Jsw.Hint',
hint: '<?php echo Plesk_Base_Utils_String::safeForJs( $this->form->lmsg('formGeneralHint') . (Os::factory()->isUnix() ? ' ' . $this->form->lmsg('formGeneralHintAdditional') : '')); ?>',
expandable: true
}]
});
//]]>
</script>
<?php echo $this->form; ?>

View File

@@ -1,21 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="app"></div>
<script>window.__INITIAL_DATA__ = <?=json_encode([
'locale' => Zend_Registry::get('translate')->getSection('controllers.error.error'),
'code' => (string)($this->exception instanceof PleskException
? $this->exception->getHttpCode()
: ($this->exception instanceof \Slim\Exception\HttpSpecializedException ? $this->exception->getCode() : 500)),
'noRepairKit' => !$this->repairKitUrl,
'kbArticleUrl' => $this->kbArticleUrl,
'exception' => [
'type' => get_class($this->exception),
'message' => $this->exception->getMessage(),
'file' => $this->showDetails ? $this->exception->getFile() : basename($this->exception->getFile()),
'line' => $this->exception->getLine(),
'stackTrace' => $this->stackTrace,
'codeFragment' => $this->codeFragment,
],
])?></script>
<script type="text/javascript" src="<?=$this->cacheStamp('/error_docs/app.js')?>"></script>

View File

@@ -1,26 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="frameWrapper">
<iframe allowtransparency="true" id="pageIframe" src="<?php echo $this->escape($this->pageUrl); ?>" width="100%" height="400" frameborder="0" scrolling="auto" style="display: block;"></iframe>
</div>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(() => {
const resizeBlocks = () => {
let frameHeight = document.body.clientHeight
- Element.cumulativeOffset(document.getElementById('frameWrapper'))[1]
- parseInt(Element.getStyle(document.querySelector('.pul-layout__main-inner'), 'paddingBottom'));
if (document.querySelector('.pul-layout__footer')) {
frameHeight -= Element.getHeight(document.querySelector('.pul-layout__footer'));
}
document.getElementById('pageIframe').style.height = frameHeight + 'px';
};
resizeBlocks();
window.addEventListener('resize', resizeBlocks);
});
//]]>
</script>

View File

@@ -1,4 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->element->getElement('domainOutgoingMessages')->render($this); ?>

View File

@@ -1,278 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
var updateControlsState = function (objectType, objectId, showLastPeak) {
var url = '/outgoing-mail/messages/type/' + objectType + '/id/' + objectId + '/date/';
if (!showLastPeak) {
url += document.getElementById('outgoingMailMessagesDate').value;
}
new Ajax.Request(Jsw.prepareUrl(url), {
method: 'get',
onCreate: function () {
document.getElementById('outgoingMailMessagesResult').innerHTML = (
'<div class="ajax-loading">' +
<?php echo $this->jsLmsg('loading'); ?> +
'</div>'
);
},
onSuccess: function (transport) {
if ('' == transport.responseText) {
return;
}
Jsw.render(document.getElementById('outgoingMailMessagesResult'), transport.responseText, 'inner');
var currentElement = document.getElementById('exceeding-attempts-hint-item-' + objectType + '-' + objectId);
var popupElement = document.getElementById('outgoingMailMessagesPopup');
var pos = Element.cumulativeOffset(currentElement);
var elWidth = Element.getWidth(popupElement);
var elHeight = Element.getHeight(popupElement);
var leftPos = (pos[0] - elWidth);
var topPos = (pos[1] - (elHeight / 2) + 18);
var topOffset = 0;
var marginTop = parseFloat(popupElement.style.marginTop);
var dimensions = document.viewport.getDimensions();
var viewportOffset = currentElement.getBoundingClientRect();
var popupBottom = (elHeight / 2 + 2 * Math.abs(marginTop) + viewportOffset.top);
var popupTop = popupBottom - elHeight;
var offset = dimensions.height - popupBottom;
if (offset < 0) {
topPos += offset;
topOffset -= offset;
if (topPos < 0) {
topPos = 0;
topOffset -= topPos;
}
} else {
if (topPos < 0) {
topOffset = topPos;
topPos = 0;
if (marginTop < 0 ) {
topOffset += marginTop;
topPos = Math.abs(marginTop);
}
} else {
if (popupTop < 0) {
topPos -= popupTop;
topOffset += popupTop;
}
}
}
popupElement.classList.remove('collapsed');
popupElement.style.left = leftPos + 'px';
popupElement.style.top = topPos + 'px';
var arrowElement = document.querySelector('.arrow');
arrowElement.style.top = '50%';
if (topOffset != 0) {
var topPercent = 50 * (elHeight + 2 * topOffset) / elHeight;
arrowElement.style.top = topPercent.toFixed(2) + '%';
}
},
});
};
var showMessagesStats = function (event) {
event.preventDefault();
var ids = this.id.replace('exceeding-attempts-hint-item-', '').split('-');
var dateElement = document.getElementById('outgoingMailMessagesDate');
var handleDateChange = function () {
updateControlsState(ids[0], ids[1]);
};
if (dateElement._handleDateChange) {
dateElement.removeEventListener('change', dateElement._handleDateChange);
}
dateElement.addEventListener('change', handleDateChange);
dateElement._handleDateChange = handleDateChange;
updateControlsState(ids[0], ids[1], true);
document.getElementById('outgoingMailMessagesPopup').classList.remove('collapsed', false);
};
new Jsw.Panel({
cls: 'list-box',
renderTo: 'main',
items: [
new Jsw.Hint({
hint: <?php echo $this->hint
? $this->jsLmsg($this->hint, ['periodValue' => $this->periodValue, 'mailServerSettingsLink' => $this->mailServerSettingsLink ])
: $this->jsLmsg($this->listType . ($this->isAdmin ? 'HintAdmin' : 'HintClient'), ['periodValue' => $this->periodValue, 'mailServerSettingsLink' => $this->mailServerSettingsLink ]);
?>
}),
new Jsw.List({
id: 'admin-outgoing-mail-<?php echo $this->listType;?>-list',
searchOveral: 'name',
searchFilters: <?php echo Zend_Json::encode($this->list->getSearchFilterConfig()); ?>,
data: <?php echo Zend_Json::encode($this->list->fetchData()); ?>,
dataUrl: '/outgoing-mail/list-data/type/<?php echo $this->listType;?>',
columns: [
{
header: <?php echo $this->list->jsLmsg('name');?>,
sortable: true,
dataIndex: 'name',
renderer: function (item) {
<?php if ('general' != $this->listType): ?>
return '<a href="' + Jsw.prepareUrl('/outgoing-mail/detail/type/' + item.objectType + '/id/' + item.id) + '">' + Jsw.escapeHtml(item.name) + '</a>';
<?php endif ?>
var icon = '';
switch (item.objectType) {
case 'mbox': icon = '<?php echo $this->skinUrl('/icons/16/plesk/mail.png') ?>'; break;
case 'domain': icon = '<?php echo $this->skinUrl('/icons/16/plesk/domain.png') ?>'; break;
case 'subscription': icon = '<?php echo $this->skinUrl('/icons/16/plesk/subs.png') ?>'; break;
}
var link = (
'<span class="b-indent-icon">' +
'<img src="' + icon + '" alt="" title="">' +
'</span> ' +
'<a href="' + Jsw.prepareUrl('/outgoing-mail/detail/type/' + item.objectType + '/id/' + item.id) + '">' +
Jsw.escapeHtml(item.name) +
'</a>'
);
return '<div class="b-indent">' + link + '</div>';
},
}, {
header: <?php echo $this->list->jsLmsg('maxOutgoingMessages');?>,
sortable: true,
dataIndex: 'maxOutgoingMessages',
renderer: function (item) {
var maxOutgoingMessages = 0 > item.maxOutgoingMessages
? <?php echo $this->list->jsLmsg('limitValueUnlimited');?> : item.maxOutgoingMessages;
if (!item.isSpeciallySpecified) {
return maxOutgoingMessages;
}
var limitHintId = 'limit-hint-item-' + Jsw.escapeHtml(item.objectType) + '-' + item.id;
return '<a class="toggler limit-hint-info" id="' + limitHintId + '" href="#">' + maxOutgoingMessages + '</a>'
},
}, {
header: <?php echo $this->list->jsLmsg('numOfExceedingAttempts');?>,
sortable: true,
dataIndex: 'numOfExceedingAttempts',
renderer: function (item) {
if (0 == item.numOfExceedingAttempts) {
return '-';
}
var exceedingAttemptsHintId = 'exceeding-attempts-hint-item-' + Jsw.escapeHtml(item.objectType) + '-' + item.id;
return (
'<a class="toggler exceeding-attempts-hint-info" id="' + exceedingAttemptsHintId + '" href="#">' +
item.numOfExceedingAttempts +
'</a>'
);
},
}, {
header: <?php echo $this->list->jsLmsg('lastAttemptAt');?>,
sortable: true,
dataIndex: 'lastAttemptAt',
renderer: function (item) {
if (!item.lastAttemptAt) {
return '-';
}
return Jsw.escapeHtml(item.lastAttemptAt);
},
}, {
header: <?php echo $this->list->jsLmsg('mailStatus');?>,
sortable: false,
dataIndex: 'mailStatus',
renderer: function (item) {
var status = 'ok';
var statusIcon = '<?php echo $this->skinUrl('/icons/16/plesk/ok.png') ?>';
var statusMsg = <?php echo $this->list->jsLmsg('mailStatusSending');?>;
var statusDescription = <?php echo $this->list->jsLmsg('mailStatusSendingDesc');?>;
if (!item.isSending) {
status = 'att';
statusIcon = '<?php echo $this->skinUrl('/icons/16/plesk/att.png') ?>';
statusMsg = <?php echo $this->list->jsLmsg('mailStatusNotSending');?>;
statusDescription = <?php echo $this->list->jsLmsg('mailStatusNotSendingDesc');?>;
}
var link = (
'<div class="b-indent">' +
'<span class="b-indent-icon">' +
'<span class="tooltipData">' + Jsw.escapeHtml(statusDescription) + '</span>' +
'<img src="' + statusIcon + '" alt="' + status + '" title="">' +
'</span> ' +
'<nobr>' + Jsw.escapeHtml(statusMsg) + '</nobr>' +
'</div>'
);
return link;
}
}
],
<?php if ($this->isAdmin): ?>
operations: [
{
componentType: 'Jsw.SmallButton',
title: <?php echo $this->jsLmsg('refreshButton'); ?>,
addCls: 'sb-refresh',
href: '/outgoing-mail/refresh/type/' + '<?php echo $this->listType; ?>'
}
],
<?php endif;?>
onRedraw: function () {
document.querySelectorAll('a.toggler.exceeding-attempts-hint-info').forEach(function (hintElement) {
hintElement.addEventListener('click', showMessagesStats)
});
document.querySelectorAll('a.toggler.limit-hint-info').forEach(function (hintElement) {
var ids = hintElement.id.replace('limit-hint-item-', '').split('-');
new Jsw.DynamicPopupHint.Instance({
title: <?php echo $this->jsLmsg('controllers.outgoing-mail.limit-hint.title'); ?>,
waitMsg: <?php echo $this->jsLmsg('controllers.outgoing-mail.limit-hint.waitMessage'); ?>,
url: '/outgoing-mail/limit-hint/objId/' + ids[1] + '/objType/' + ids[0],
placement: 'right',
target: hintElement.id,
});
});
},
}),
],
});
document.getElementById('outgoingMailMessagesPopup').querySelector('.close').addEventListener('click', function () {
document.getElementById('outgoingMailMessagesPopup').classList.toggle('collapsed');
});
});
//]]>
</script>
<div class="popup-box left outgoing-messages-stats collapsed" id="outgoingMailMessagesPopup" >
<table class="popup-wrapper" cellspacing="0"><tbody><tr><td class="popup-container">
<div class="c1"><div class="c2"><div class="c3"><div class="c4"><div class="c5">
<div class="popup-heading">
<div class="heading-area">
<span class="close"></span>
<h4><span><?php echo $this->lmsg('messagesByDay'); ?></span></h4>
</div>
</div>
<div class="popup-content">
<div class="popup-content-area">
<span class="arrow"></span>
<table class="bar-chart-table" id="outgoingMailMessagesHead" cellspacing="0">
<thead>
<tr>
<td colspan="2"><?php echo $this->lmsg('selectDay'); ?> :</td>
<td class="bar-chart-table-data">
<select class="f-max-size" name="outgoingMailMessagesDate" id="outgoingMailMessagesDate">
<?php foreach($this->messagesDates as $date): ?>
<option value="<?php echo $date;?>"><?php echo ldate(strtotime($date));?></option>
<?php endforeach; ?>
</select>
</td>
</tr>
<tr><td colspan="3"><hr></td></tr>
</thead>
<tbody id="outgoingMailMessagesResult"></tbody>
</table>
</div>
</div>
</div></div></div></div></div>
</td></tr></tbody></table>
</div>

View File

@@ -1,47 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<table class="bar-chart-table" id="outgoingMailMessagesHead" cellspacing="0">
<thead>
<tr>
<td colspan="2"><?php echo $this->lmsg('selectDay'); ?> :</td>
<td class="bar-chart-table-data">
<select class="f-max-size" name="outgoingMailMessagesDate" id="outgoingMailMessagesDate">
<?php foreach($this->messagesDates as $date): ?>
<option value="<?php echo $date;?>"><?php echo ldate(strtotime($date));?></option>
<?php endforeach; ?>
</select>
</td>
</tr>
<tr class="separator"><td colspan="3"><hr></td></tr>
</thead>
<tbody id="outgoingMailMessagesResult"></tbody>
</table>
<script type="text/javascript">
//<![CDATA[
(function () {
var updateControlsState = function () {
var date = document.getElementById('outgoingMailMessagesDate').value;
new Ajax.Request(Jsw.prepareUrl('/outgoing-mail/messages/type/<?php echo $this->type; ?>/id/<?php echo $this->objectId; ?>/date/' + date), {
method: 'get',
onCreate: function() {
document.getElementById('outgoingMailMessagesResult').innerHTML = (
'<div class="ajax-loading">' +
<?php echo $this->jsLmsg('loading'); ?> +
'</div>'
);
},
onSuccess: function(transport) {
if ('' == transport.responseText) {
return;
}
document.getElementById('outgoingMailMessagesResult').innerHTML = transport.responseText;
}
});
};
updateControlsState();
document.getElementById('outgoingMailMessagesDate').addEventListener('change', updateControlsState);
})();
//]]>
</script>

View File

@@ -1,39 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="form-row">
<div class="field-name"><?php echo $this->lmsg('attemptsIntervalsTitle'); ?></div>
<div class="filed-value">
<select name="outgoingMailPeaksInterval" id="outgoingMailPeaksInterval">
<?php foreach($this->intervals as $value => $title): ?>
<option value="<?php echo $value;?>"><?php echo $title;?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<div id="outgoingMailPeaksResult" ></div>
<script type="text/javascript">
//<![CDATA[
(function () {
var updateControlsState = function () {
var interval = document.getElementById('outgoingMailPeaksInterval').value;
new Ajax.Request(Jsw.prepareUrl('/outgoing-mail/peaks/type/<?php echo $this->type; ?>/id/<?php echo $this->objectId; ?>/interval/' + interval), {
method: 'get',
onCreate: function () {
document.getElementById('outgoingMailPeaksResult').innerHTML = (
'<div class="ajax-loading">' +
<?php echo $this->jsLmsg('loading'); ?> +
'</div>'
);
},
onSuccess: function (transport) {
document.getElementById('outgoingMailPeaksResult').innerHTML = transport.responseText;
},
});
};
updateControlsState();
document.getElementById('outgoingMailPeaksInterval').addEventListener('change', updateControlsState);
})();
//]]>
</script>

View File

@@ -1,21 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php if (!empty($this->warningMessages)):?>
<?php
$link = $this->warningPostfixData['link'];
$text = $this->warningPostfixData['text'];
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
var text = '<span class="title">' + <?= $this->jsLmsg('components.status.warning'); ?> + ': </span>';
<?php foreach($this->warningMessages as $warning):?>
text += <?= $this->jsEscape($warning); ?> + '<br/>';
<?php endforeach; ?>
text += '<br><a href="' + <?= $this->jsEscape($link); ?> + '">' + <?= $this->jsEscape($text); ?> + '</a>';
Jsw.addStatusMessage('warning', text);
});
//]]>
</script>
<?php endif; ?>

View File

@@ -1,117 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php
if ($this->tabs) {
echo $this->partial('partials/tabs.phtml', ['tabs' => $this->tabs, 'renderTo' => 'main']);
}
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
var generalItems = (function() {
var status = 'ok';
var statusIcon = '<?php echo $this->skinUrl('/icons/16/plesk/ok.png') ?>';
var statusMsg = <?php echo $this->jsLmsg('mailStatusSending');?>;
var statusDescription = <?php echo $this->jsLmsg('mailStatusSendingDesc');?>;
<?php if (!$this->mailStatus): ?>
status = 'att';
statusIcon = '<?php echo $this->skinUrl('/icons/16/plesk/att.png') ?>';
statusMsg = <?php echo $this->jsLmsg('mailStatusNotSending');?>;
statusDescription = <?php echo $this->jsLmsg('mailStatusNotSendingDesc');?>;
<?php endif;?>
var currentStatus = (
'<div class="b-indent">'
+ '<span class="b-indent-icon">'
+ '<span class="tooltipData">' + Jsw.escapeHtml(statusDescription) + '</span>'
+ '<img src="' + statusIcon + '" alt="' + status + '" title="">'
+ '</span> '
+ '<nobr>' + Jsw.escapeHtml(statusMsg) + '</nobr>'
+ '</div>'
);
var generalItems = [
{
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsLmsg('mailStatus'); ?>,
value: currentStatus
},
{
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsLmsg('currentLimit'); ?>,
value: <?php echo $this->jsLmsg('currentLimitValue', ['value' => $this->currentLimitValue]); ?>
}
];
<?php if ('' != $this->changeLimitUrl): ?>
generalItems.push ({
componentType: 'Jsw.SmallButton',
id: 'changeLimit',
title: <?php echo $this->jsLmsg('changeLimitTitle'); ?>,
description: <?php echo $this->jsLmsg('changeLimitDescription'); ?>,
addCls: 'sb-settings',
href: <?php echo $this->jsEscape($this->changeLimitUrl); ?>
});
<?php endif; ?>
return generalItems;
}());
new Jsw.Container({
renderTo: 'main',
items: [
new Jsw.Hint({
hint: <?php echo $this->jsLmsg($this->type . 'PageHint'); ?>
}),
new Jsw.layout.TwoColumns({
items: [
new Jsw.Container({
items:[{
componentType: 'Jsw.Panel',
'title': <?php echo $this->jsLmsg('generalSectionTitle') ?>,
cls: 'form-box',
items: generalItems
}, {
componentType: 'Jsw.Panel',
'title': <?php echo $this->jsLmsg('attemptsSectionTitle') ?>,
cls: 'form-box',
items: [
new Jsw.Panel({
title: '',
cls: 'list-box',
id: 'outgoingMailPeaks',
html: <?php echo $this->jsHtml($this->partial('outgoing-mail/_peaks.phtml', array(
'type' => $this->type,
'intervals' => $this->intervals,
'objectId' => $this->objectId))) ?>
})
]
}
]
}), {
componentType: 'Jsw.Panel',
'title': <?php echo $this->jsLmsg('messagesSectionTitle') ?>,
cls: 'form-box',
items: [
new Jsw.Panel({
title: '',
cls: 'list-box',
id: 'outgoingMailMessages',
html: <?php echo $this->jsHtml($this->partial('outgoing-mail/_messages.phtml', array(
'type' => $this->type,
'messagesDates' => $this->messagesDates,
'objectId' => $this->objectId))) ?>
})
]
}
]
})
]})
});
//]]>
</script>

View File

@@ -1,5 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->partial('outgoing-mail/_warning-messages.phtml', null, $this); ?>
<?php echo $this->form; ?>

View File

@@ -1,132 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->partial('partials/tabs.phtml', array('tabs' => $this->tabs, 'renderTo' => 'main')); ?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
var exceedingAttempts = (function() {
var exceedingAttempts = [];
exceedingAttempts.push ({
componentType: 'Jsw.Hint',
hint: <?php echo $this->jsLmsg('exceedingAttemptsSectionHint'); ?>
});
<?php foreach($this->exceedingAttempts as $name => $value): ?>
<?php
$icon = '';
switch ($name) {
case 'mbox': $icon = 'mail'; break;
case 'domain': $icon = 'domain'; break;
case 'subscription': $icon = 'subs'; break;
}
$link = '<span class="b-indent-icon">'
. '<img src="' . $this->skinUrl("/icons/16/plesk/{$icon}.png") .'" alt="{$icon}" title="">'
. '</span> '
. '<a href="' . $this->baseUrl($value['href']) .'">'
. $this->lmsg($value['title'] .'ExceedingAttempts') . '</a>';
?>
exceedingAttempts.push ({
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsHtml('<div class="b-indent">' . $link . '</div>'); ?>,
value: <?php echo (0 == $value['numOfSuspects']) ? $this->jsLmsg('noExceedingAttempts')
: $this->jsHtml('<span class="status-overused">'
. $this->lmsg($name.'NumOfSuspects', array('num' => $this->escape($value['numOfSuspects'])))
. '</span>'); ?>
});
<?php endforeach ?>
return exceedingAttempts;
}());
var serverWideSettings = (function() {
var serverWideSettings = [];
serverWideSettings.push ({
componentType: 'Jsw.Hint',
hint: <?php echo $this->jsLmsg('serverWideSettingsSectionHint'); ?>
});
<?php foreach($this->serverWideLimits as $name => $value): ?>
serverWideSettings.push ({
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsLmsg($name.'Limit'); ?>,
value: <?php echo 0 > $value ? $this->jsLmsg('limitValueUnlimited')
: $this->jsLmsg('messagesPerHour', array('num' => $this->escape($value))); ?>
});
<?php endforeach ?>
serverWideSettings.push ({
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsLmsg('reportPeriod'); ?>,
value: <?php echo $this->jsLmsg('periodValue'.$this->outgoingMailReportPeriod); ?>
});
serverWideSettings.push ({
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsLmsg('notificationPeriod'); ?>,
value: <?php echo $this->jsLmsg('periodValue'.$this->outgoingMailNotificationPeriod); ?>
});
<?php if ($this->canChangeServerMail): ?>
serverWideSettings.push({
componentType: 'Jsw.SmallButton',
id: 'changeServerSettings',
title: <?php echo $this->jsLmsg('changeServerWideSettings'); ?>,
description: <?php echo $this->jsLmsg('changeServerWideSettingsDescription'); ?>,
addCls: 'sb-settings',
href: '/cp/server/mail/settings'
});
<?php endif; ?>
return serverWideSettings;
}());
new Jsw.Container({
renderTo: 'main',
items: [
new Jsw.Hint({
hint: <?php echo $this->jsLmsg('pageHint'); ?>
}),
new Jsw.layout.TwoColumns({
items: [{
componentType: 'Jsw.Panel',
'title': <?php echo $this->jsLmsg('exceedingAttemptsSectionTitle') ?>,
cls: 'form-box',
items: exceedingAttempts
}
<?php if ($this->isAdmin) : ?>
, {
componentType: 'Jsw.Panel',
'title': <?php echo $this->jsLmsg('serverWideSettingsSectionTitle') ?>,
cls: 'form-box',
items: serverWideSettings
}
<?php endif; ?>
]
}),
new Jsw.Panel({
title: <?php echo $this->jsLmsg('listOfSuspectsSectionTitle'); ?>,
cls: 'form-box',
items: [
new Jsw.Panel({
title: '',
cls: 'list-box list-groups-box',
html: <?php echo $this->jsHtml($this->partial('outgoing-mail/_list.phtml', array(
'list' => $this->suspectsList,
'messagesDates' => $this->messagesDates,
'listType' => 'general',
'isAdmin' => $this->isAdmin,
'listType' => $this->listType,
'periodValue' => $this->lmsg('periodValue'.$this->outgoingMailReportPeriod),
'mailServerSettingsLink' => $this->mailServerSettingsLink,
'hint' => $this->isAdmin ? 'listOfSuspectsSectionHintAdmin' : 'listOfSuspectsSectionHintClient'))) ?>
})
]
})
]
});
});
//]]>
</script>

View File

@@ -1,7 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->lmsg('specifiedSpeciallyFor' . ucfirst($this->objType)); ?><br/>
<?php echo $this->lmsg('parentLimitValueFor' . ucfirst($this->objType),
array('limitValue' => 0 > $this->limitValue ? $this->lmsg('limitValueUnlimited') : $this->escape($this->limitValue))); ?>

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->partial('partials/tabs.phtml', array('tabs' => $this->tabs, 'renderTo' => 'main')); ?>
<?php echo $this->partial('outgoing-mail/_list.phtml', array(
'list' => $this->list,
'messagesDates' => $this->messagesDates,
'periodValue' => $this->lmsg('periodValue'.$this->outgoingMailReportPeriod),
'mailServerSettingsLink' => $this->mailServerSettingsLink,
'isAdmin' => $this->isAdmin,
'listType' => $this->listType)) ?>

View File

@@ -1,55 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
document.getElementById('outgoingMailMessagesDate').value = '<?php echo $this->date;?>';
});
//]]>
</script>
<tr><td colspan="3"><p><?php echo $this->lmsg('attemptsDescription'); ?></p></td></tr>
<?php foreach($this->messagesList as $hour => $messagesInHour): ?>
<tr>
<td>
<?php echo $hour . ":00";?>
</td>
<?php if (empty($messagesInHour)): ?>
<?php if (!($this->today && $hour == $this->lastHour)): ?>
<td align="right">0</td>
<td class="bar-chart-table-data">
<span class="bar-chart-item">
<i style="width: 0%"></i>
</span>
</td>
<?php else: ?>
<td align="right">0</td>
<td class="bar-chart-table-data">
<span class="bar-chart-item <?php if ($this->highlightLastHour): ?> bar-chart-item-over<?php endif;?>">
<i style="width: 0%"></i>
<b><?php echo ($this->highlightLastHour) ? $this->lmsg('notSendingNow') : $this->lmsg('calculatingNow'); ?>
</span>
</td>
<?php endif;?>
<?php else: ?>
<td align="right"><?php echo $messagesInHour->passed + $messagesInHour->rejected; ?></td>
<td class="bar-chart-table-data">
<span class="bar-chart-item <?php if (0 < $messagesInHour->rejected): ?> bar-chart-item-over<?php endif;?>">
<i style="width: <?php
$percent = (0 < $messagesInHour->rejected || 0 == $messagesInHour->limitValue) ? 100
: 100 * ($messagesInHour->passed / $messagesInHour->limitValue);
echo "{$percent}%";
?>"></i>
<?php if (0 < $messagesInHour->rejected): ?>
<b>
<?php echo $messagesInHour->passed; ?> <?php echo $this->lmsg('passed'); ?> /
<?php echo $messagesInHour->rejected; ?> <?php echo $this->lmsg('rejected'); ?>
</b>
<?php endif;?>
</span>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>

View File

@@ -1,35 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php if (0 < $this->peakList->count()): ?>
<div class="form-row">
<div class="field-name"><?php echo $this->lmsg('totalAttempts'); ?></div>
<div class="text-value"><?php echo $this->attempts; ?></div>
</div>
<p><?php echo $this->lmsg('peaksListHint'); ?></p>
<div class="list">
<table><thead>
<th><?php echo $this->lmsg('startedTitle'); ?></th>
<th><?php echo $this->lmsg('backToNormalTitle'); ?></th>
<th><?php echo $this->lmsg('numberOfAttemptsTitle'); ?></th>
</thead>
<?php $class = 'odd'; ?>
<?php foreach($this->peakList as $peak): ?>
<tr class="<?php echo $class; ?>">
<td><?php echo ldatetime(strtotime($peak->beginDate)); ?></td>
<td>
<?php if (!(int)$peak->endDate): ?>
<div class="b-intent"><span class="b-indent-icon"><img src="<?php echo $this->skinUrl("/icons/16/plesk/att.png") ?>" alt="att" title=""></span><nobr><?php echo $this->lmsg('stillNotSending'); ?></nobr></div>
<?php else: ?>
<?php echo ldatetime(strtotime($peak->endDate)); ?>
<?php endif;?>
</td>
<td align="right"><?php echo $peak->rejected; ?></td>
</tr>
<?php $class = ('even' == $class) ? 'odd' : 'even';?>
<?php endforeach ?>
</table>
</div>
<?php else: ?>
<p><?php echo $this->lmsg('noAttempts'); ?></p>
<?php endif;?>

View File

@@ -1,121 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="aps-marketplace">
<div class="aps-marketplace-details">
<div id="ad-package-<?php echo $this->id; ?>" class="package-block">
<div class="package-actions">
<?php $blockCssStyle = 'action-1'; ?>
<?php if ($this->buyNowButtonAvailable): ?>
<div class="action-block <?php echo $blockCssStyle; ?>">
<p class="action-description"><?php echo $this->lmsg('smb.components.forms.aps.catalog.buttonBuyDescription'); ?></p>
<p class="action-control">
<?php echo $this->partial('partials/button.phtml', [
'id' => 'ad-buy-' . $this->id,
'title' => $this->lmsg('smb.components.forms.aps.catalog.buttonBuy'),
'description' => $this->lmsg('smb.components.forms.aps.catalog.buttonBuyTooltip'),
'onclick' => 'Smb.ApsLicense.buy("' . Plesk_Base_Utils_String::safeForJs($this->purchaseCommandAction) . '"); return false;',
]); ?>
</p>
</div>
<?php $blockCssStyle = 'action-2'; ?>
<?php endif; ?>
<?php if ($this->showInstallButton): ?>
<div class="action-block <?php echo $blockCssStyle; ?>">
<p class="action-description">
<?php echo $this->buyNowButtonAvailable ? $this->lmsg('smb.components.forms.aps.catalog.buttonInstallDescription') : $this->lmsg('smb.components.forms.aps.catalog.buttonInstallDescriptionFree'); ?>
</p>
<div class="action-control">
<?php
if ($this->hideQuickInstall) {
echo $this->partial('partials/button.phtml', [
'id' => 'ad-advanced-install-' . $this->id,
'title' => $this->lmsg('smb.components.forms.aps.catalog.buttonInstall'),
'description' => $this->lmsg('smb.components.forms.aps.catalog.buttonAdvancedInstallTooltip'),
'onclick' => $this->advancedInstallOnClick,
]);
} else {
echo $this->partial('partials/split-button.phtml', [
'id' => 'ad-install-' . $this->id,
'renderTo' => new Zend_Json_Expr('document.querySelector("#ad-package-' . $this->id . ' .action-control")'),
'title' => $this->lmsg('smb.components.forms.aps.catalog.buttonInstall'),
'description' => $this->lmsg('smb.components.forms.aps.catalog.buttonInstallTooltip'),
'onclick' => $this->installOnClick,
'items' => [[
'id' => 'ad-advanced-install-' . $this->id,
'title' => $this->lmsg('smb.components.forms.aps.catalog.buttonAdvancedInstall'),
'description' => $this->lmsg('smb.components.forms.aps.catalog.buttonAdvancedInstallTooltip'),
'onclick' => $this->advancedInstallOnClick,
], [
'id' => 'ad-install-old-version-' . $this->id,
'title' => $this->lmsg('smb.components.forms.aps.catalog.buttonInstallOldVersion'),
'description' => $this->lmsg('smb.components.forms.aps.catalog.buttonInstallOldVersionTooltip'),
'submenu' => new Zend_Json_Expr('function(submenu) {apsCatalog.showAppVersions(' . $this->appData . ', submenu);}'),
]],
'isMenuFlip' => true,
]);
} ?>
</div>
</div>
<?php elseif ($this->downloadUrl): ?>
<div class="action-block <?php echo $blockCssStyle; ?>">
<p class="action-description">
<?php echo $this->lmsg('smb.components.forms.aps.catalog.buttonDownloadDescription'); ?>
</p>
<p class="action-control">
<button class="btn" type="button" onclick="window.open('<?php echo $this->downloadUrl; ?>'); return false;">
<span><?php echo $this->lmsg('smb.components.forms.aps.catalog.buttonDownload'); ?></span>
</button>
</p>
</div>
<?php endif; ?>
<div class="action-block action-3">
<?php echo $this->requirementsPartial ?>
<?php if (
array_key_exists('applicationHomePage', $this->links['base']) &&
$this->links['base']['applicationHomePage']['href']
): ?>
<div class="more-info">
<p>
<?php echo $this->lmsg('smb.components.forms.aps.catalog.marketplaceMoreInfo', [
'link' =>
'<a href="' . $this->escape($this->links['base']['applicationHomePage']['href']) . '" onclick="window.open(this.href); return false;">' .
$this->lmsg('smb.components.forms.aps.catalog.marketplaceMoreInfoLink') .
'</a>',
]) ?>
</p>
</div>
<?php endif?>
<?php foreach((array)$this->infoLinks as $infoLink): ?>
<div class="more-info">
<p>
<a href="<?php echo $this->escape($infoLink['href']); ?>" onclick="window.open(this.href); return false;">
<?php echo $this->escape($infoLink['label']); ?>
</a>
</p>
</div>
<?php endforeach; ?>
</div>
</div>
<div class="package-content clearfix">
<div class="package-info">
<div class="package-icon">
<?php echo $this->packageIcon;?>
</div>
<h3>
<span class="package-name"><?php echo $this->escape($this->name); ?></span>
<span class="package-version"><?php echo $this->lmsg('smb.components.forms.aps.catalog.version'); ?> <span id="package-version-to-install"><?php echo $this->escape($this->version); ?></span></span>
</h3>
<div class="package-summary"><?php echo $this->summary; ?></div>
</div>
<div class="package-description">
<p><b><?php echo $this->lmsg('smb.components.forms.aps.catalog.overview'); ?></b></p>
<p><?php echo $this->description; ?></p>
</div>
<div class="package-screenshot">
<?php echo $this->screenshotsPartial; ?>
</div>
</div>
</div>
</div>
</div>

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="msg-box msg-warning">
<div><div><div><div><div>
<div class="msg-content">
<?php echo $this->errorMessage;?>
<a href='#retry' onclick='<?php echo $this->onClick;?>'><?php echo $this->retryMessage;?></a>
</div>
</div></div></div></div></div>
</div>

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="sys-reqs">
<span><?php echo $this->lmsg('smb.components.aps.package.requirements'); ?></span>
<ul>
<?php foreach ($this->requirements as $requirement): ?>
<li><?php echo $this->escape($requirement['description']) ?></li>
<?php endforeach; ?>
</ul>
</div>

View File

@@ -1,26 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="package-block<?php echo $this->hidden ? ' hide' : ''; ?>" id="requirements">
<h4><span><?php echo $this->lmsg('smb.components.aps.package.requirements'); ?></span></h4>
<div id="requirements-content-area" class="package-block-area">
<ul>
<?php
foreach ($this->requirements as $requirement) {
echo '<li>' . $this->escape($requirement['description']) . '</li>';
}
?>
</ul>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
(function () {
document.getElementById('requirements').querySelectorAll('h4 span').forEach(function (element) {
element.addEventListener('click', function () {
document.getElementById('requirements').classList.toggle('hide');
});
});
})();
////]]>
</script>

View File

@@ -1,50 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
var backupPasswordSourceChanged = function () {
var useBackupPasswordCheckbox = document.getElementById('securitySettings-useBackupPasswordCheckbox');
var backupPasswordManualInput = document.getElementById('securitySettings-backupPasswordSource-backupPasswordManualInput');
[
document.getElementById('securitySettings-backupPasswordSource-backupPasswordFromFtpSettings'),
backupPasswordManualInput
].forEach(function (element) {
if (element) {
if (useBackupPasswordCheckbox.checked) {
element.disabled = false;
} else {
element.disabled = true;
}
}
});
[
document.getElementById('securitySettings-backupPassword'),
document.getElementById('securitySettings-confirmBackupPassword')
].forEach(function (element) {
if (element) {
if (useBackupPasswordCheckbox.checked && (!backupPasswordManualInput || backupPasswordManualInput && backupPasswordManualInput.checked)) {
element.disabled = false;
} else {
element.disabled = true;
}
}
});
};
[
document.getElementById('securitySettings-useBackupPasswordCheckbox'),
document.getElementById('securitySettings-backupPasswordSource-backupPasswordFromFtpSettings'),
document.getElementById('securitySettings-backupPasswordSource-backupPasswordManualInput')
].forEach(function (element) {
if (element) {
element.addEventListener('click', backupPasswordSourceChanged);
}
});
backupPasswordSourceChanged();
});
//]]>
</script>

View File

@@ -1,28 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="listArea">
<table width="100%" cellspacing="0" class="list">
<tr>
<th class="min"><?php echo $this->lmsg('components.forms.backup.conflict-database.serverType'); ?></th>
<th><?php echo $this->lmsg('components.forms.backup.conflict-database.hostName'); ?></th>
<th><?php echo $this->lmsg('components.forms.backup.conflict-database.port'); ?></th>
<th><?php echo $this->lmsg('components.forms.backup.conflict-database.destinationDbServer'); ?></th>
</tr>
<?php foreach($this->dbMapping as $id => $db): ?>
<tr>
<td class="min"><?php echo $db['type'] ?></td>
<td><?php echo $db['host'] ?></td>
<td><?php echo $db['port'] ?></td>
<td>
<?php
if ($this->element->getElement($id)->getType() == 'CommonPanel_Form_Element_Hidden') {
echo $this->lmsg('components.forms.backup.conflict-database.migrationDbServerNotFind');
};
echo $this->elementPart($this->element->getElement($id))->content();
?>
</td>
</tr>
<?php endforeach ?>
</table>
</div>

View File

@@ -1,19 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="listArea">
<table width="100%" cellspacing="0" class="list">
<tr>
<th><?php echo $this->lmsg('components.forms.backup.conflict-ip.oldIp'); ?></th>
<th><?php echo $this->lmsg('components.forms.backup.conflict-ip.newIp'); ?></th>
</tr>
<?php foreach($this->ipMapping as $elementId => $ip): ?>
<tr>
<td><i class="icon"><img src="<?php echo $this->skinUrl("/icons/16/plesk/ip-{$ip->type}.png") ?>"></i> <?php echo $ip->value ?></td>
<td>
<?php echo $this->elementPart($this->element->getElement($elementId))->content(); ?>
</td>
</tr>
<?php endforeach ?>
</table>
</div>

View File

@@ -1,30 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="<?php echo $this->element->getId();?>">
<div class="dynamicSubFormTemplate" style="display: none;">
<div class='form-row'>
<div class='field-name'>
<?php echo $this->elementPart($this->element)->label(); ?>
</div>
<div class='field-value'>
<div class="text-value">
<input type="hidden" name="<?php echo $this->element->getFullyQualifiedName() ?>[]" value="">
<span class="webContentPath"></span>
<span class="buttonRemoveItem"></span>
</div>
<span class="field-errors" style="display: none;"></span>
</div>
</div>
</div>
<div class="form-row">
<div class="field-name"></div>
<div class="field-value">
<div id="<?php echo $this->element->getId();?>-buttonAddItem" class="text-value"></div>
</div>
</div>
</div>
<?= $this->requireJs('app/backup/web-content-dynamic', [
'applyTo' => $this->element->getId(),
'dataUrl' => $this->dataUrl,
]) ?>

View File

@@ -1,18 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<button class="btn action" id="<?=$this->escape($this->id)?>" value="" type="submit"
<?php echo isset($this->onclick) ? 'onclick="' . $this->escape($this->onclick) . '"' : '' ?>>
<span><?=$this->escape($this->title)?></span>
</button>
<script type="text/javascript">
//<![CDATA[
Jsw.Tooltip.init(
document.getElementById(<?=$this->jsEscape($this->id)?>),
{text: <?=$this->jsHtml($this->description)?>}
);
//]]>
</script>

View File

@@ -1,70 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$elementsIds = array_map(function ($element) {
return $this->element->getElement($element)->getId();
}, $this->children);
$parents = array_map(function ($e) {
/** @var Zend_Form_Element $parent */
$parent = $this->element->getElement($e);
$resourceElement = $parent->getDecorator('ResourceElement');
$checkbox = $resourceElement->getOption('checkboxField') ?: 'unlimited';
return [
'id' => $parent->getId() . '-' . $checkbox,
'reverse' => !is_null($rc = $resourceElement->getOption('reverseCheckbox')) && $rc,
];
}, $this->parents);
if (!count($parents)) {
return;
}
?>
<script type="text/javascript">
//<![CDATA[
(function () {
var parents = <?=Zend_Json::encode($parents)?>,
elementIds = <?=Zend_Json::encode($elementsIds)?>;
function parentStatus () {
return this.el.checked? this.reverse : !this.reverse;
}
function parentsStatusIsOn() {
var result = false;
parents.forEach(function (parent) {
if (parent.status()) {
result = true;
}
});
return result;
}
function updateElementValues () {
var status = parentsStatusIsOn();
elementIds.forEach(function (id) {
var el = document.getElementById(id);
if (el.hasOwnProperty('updateElementValueFunction')) {
el.updateElementValueFunction(null, status);
} else if (status) {
el.disabled = false;
} else {
el.disabled = true;
}
});
}
parents.forEach(function (parent) {
parent.el = document.getElementById(parent.id);
parent.status = parentStatus;
parent.el.addEventListener('click', updateElementValues);
});
updateElementValues();
})();
//]]>
</script>

View File

@@ -1,14 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
Jsw.namespace('Admin.Views.Subscription');
<?php
echo $this->partial('partials/subscription/change-presubmit-handler.phtml', [
'formId' => 'planSection',
'notConfiguredMailPlans' => $this->notConfiguredMailPlans,
]);
?>
</script>

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
<?php if (Session::get()->auth()->isAuthenticated()): ?>
Jsw.baseUrl = '<?= \Plesk_Base_Utils_String::safeForJs($this->baseUrl('')) ?>';
<?php endif; ?>
Jsw.skinUrl = '<?= \Plesk_Base_Utils_String::safeForJs($this->skinUrl('/')) ?>';
//]]>
</script>

View File

@@ -1,58 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php
echo $this->partial('partials/forms/radio-controls.phtml', [
'id' => $this->id,
'radio' => $this->radio,
'indentControls' => $this->indentControls,
'element' => $this->element,
'hideIndentControls' => true,
]);
$radioElementId = $this->element->getElement($this->radio)->getId();
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
var supportedDatabases = <?php echo Zend_Json::encode($this->supportedDatabases) ?>;
var supportedServers = <?php echo Zend_Json::encode($this->supportedServers) ?>;
var databaseElement = <?php echo $this->databaseControl ? 'document.getElementById("' . $this->databaseControl->getId() . '")' : 'null' ?>;
var serverElement = <?php echo $this->serverControl ? 'document.getElementById("' . $this->serverControl->getId() . '")' : 'null' ?>;
var createUserElement = <?php echo $this->createUserControl ? 'document.getElementById("' . $this->createUserControl->getId() . '")' : 'null' ?>;
var databaseServerId = <?php echo $this->databaseServerId ? $this->databaseServerId : 'null' ?>;
var getServerId = function () {
var serverId;
if ('select' === serverElement.tagName.toLowerCase()) {
serverId = serverElement.value;
} else {
serverId = serverElement.dataset.value;
}
return parseInt(serverId);
};
var updateControlsState = function () {
var isSupported = false;
var database = databaseElement ? parseInt(databaseElement.value) : 0;
if (database) {
isSupported = -1 < supportedDatabases.indexOf(database);
} else if (databaseServerId || serverElement) {
var server = databaseServerId || getServerId();
isSupported = -1 < supportedServers.indexOf(server);
}
document.getElementById('<?php echo $this->id ?>').style.display = (isSupported && (null === createUserElement || createUserElement.checked)) ? '' : 'none';
if (document.getElementById('<?php echo $this->remoteAccessId ?>')) {
document.getElementById('<?php echo $this->remoteAccessId ?>').style.display = isSupported ? 'none' : '';
document.getElementById('<?php echo $this->remoteAccessId ?>-hint').style.display = isSupported ? '' : 'none';
}
};
<?php foreach ($this->element->getElement($this->radio)->getMultiOptions() as $option => $optionTitle): ?>
document.getElementById('<?php echo "$radioElementId-$option" ?>').addEventListener('click', updateControlsState);
<?php endforeach ?>
Jsw.Observer.appendAndCall(updateControlsState, 'dbServer');
// Temporary workaround for custom prototype's event '<?php echo $this->id ?>:update'
document.getElementById('<?php echo $this->id ?>').addEventListener('dataavailable', updateControlsState);
});
//]]>
</script>

View File

@@ -1,40 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
var getServerId = function () {
return parseInt(serverElement.value);
};
var serverElement = document.getElementById('<?= $this->serverControl->getId() ?>');
var serverId = getServerId();
var updateControlsState = function () {
var newServerId = getServerId();
if (newServerId === serverId) {
return false;
}
Jsw.api.get(Jsw.prepareUrl('/database/get-user-prefix/dbServerId/' + newServerId))
.then(function (result) {
if (result.redirect) {
Jsw.redirect(result.redirect);
return;
}
serverId = newServerId;
if (result.loginPrefix) {
var prefixElement = document.getElementById('<?= $this->element->getId() ?>').parentNode.querySelector('.field-prefix');
if (prefixElement) {
prefixElement.innerHTML = result.loginPrefix;
}
}
});
};
Jsw.Observer.appendAndCall(updateControlsState, 'dbServer');
// Temporary workaround for custom prototype's event '<?= $this->element->getId() ?>:update'
document.getElementById('<?= $this->element->getId() ?>').addEventListener('dataavailable', updateControlsState);
});
//]]>
</script>

View File

@@ -1,53 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="<?php echo $this->id ?>-container">
<?php
echo $this->partial('partials/forms/radio-controls.phtml', array(
'id' => $this->id,
'radio' => $this->radio,
'indentControls' => $this->indentControls,
'element' => $this->element,
'hideIndentControls' => true,
));
?>
<p id="<?php echo $this->id ?>-hint" style="display: none;">
<?php echo $this->lmsg('smb.components.forms.database.user.remoteAccessHint') ?>
</p>
</div>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
var supportedDatabases = <?php echo Zend_Json::encode($this->supportedDatabases) ?>;
var supportedServers = <?php echo Zend_Json::encode($this->supportedServers) ?>;
var databaseElement = <?php echo $this->databaseControl ? 'document.getElementById("' . $this->databaseControl->getId() . '")' : 'null' ?>;
var serverElement = <?php echo $this->serverControl ? 'document.getElementById("' . $this->serverControl->getId() . '")' : 'null' ?>;
var createUserElement = <?php echo $this->createUserControl ? 'document.getElementById("' . $this->createUserControl->getId() . '")' : 'null' ?>;
var databaseServerId = <?php echo $this->databaseServerId ? $this->databaseServerId : 'null' ?>;
var getServerId = function() {
var serverId;
if ('select' === serverElement.tagName.toLowerCase()) {
serverId = serverElement.value;
} else {
serverId = serverElement.dataset.value;
}
return parseInt(serverId);
};
var updateControlsState = function () {
var isSupported = false;
var database = databaseElement ? parseInt(databaseElement.value) : 0;
if (database) {
isSupported = -1 < supportedDatabases.indexOf(database);
} else if (databaseServerId || serverElement) {
var server = databaseServerId || getServerId();
isSupported = -1 < supportedServers.indexOf(server);
}
document.getElementById('<?php echo $this->id ?>-container').style.display = isSupported && (null === createUserElement || createUserElement.checked) ? '' : 'none';
};
Jsw.Observer.appendAndCall(updateControlsState, 'dbServer');
});
//]]>
</script>

View File

@@ -1,29 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
/** @var Zend_Form_Element $element */
$element = $this->element->getElement($this->domainNameElement);
$view = $element->getView();
$viewHelper = $view->elementPart($element);
$content = $viewHelper->content();
$error = $element->hasErrors() ? ' error' : '';
$errorStyle = $element->hasErrors() ? '' : ' style="display:none;"';
?>
<div id='<?php echo $element->getId()?>-form-row' class='form-row<?php echo $error?>'>
<div class='field-name'><?php echo $viewHelper->label()?></div>
<div class='field-value'>
<?php echo $view->ltr(($this->www ? 'www.' : '') . ' ' . $content) ?>
<span class='field-errors' <?php echo $errorStyle?>><?php echo $viewHelper->errors()?></span>
<?php echo $viewHelper->description()?>
</div>
</div>
<script>
(() => {
const domainNameEl = document.getElementById('<?= $element->getId() ?>');
const formEl = domainNameEl.closest('form');
['change', 'keyup'].forEach(eventName => {
domainNameEl.addEventListener(eventName, () => {
formEl.dispatchEvent(new CustomEvent('domainNameChange', { detail: domainNameEl.value }));
});
});
})();
</script>

View File

@@ -1,125 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$defaultText = ' (' . $this->defaultText . ')';
$ariaLabel = $this->lmsg('components.elements.editable-select.input-ariaLabel');
?>
<div class='form-row'>
<div class='field-name'>
<?php echo $this->element->getLabel(); ?>
</div>
<div class='field-value'>
<div class='combobox'><!-- + combobox-open + dropup -->
<input
type='text' class='combobox-input input-text <?php if ($this->element->getAttrib('isLongLength')): ?>f-big-size<?php endif; ?>'
<?php echo $this->element->getAttrib('disabled'); ?>
value='<?php echo $this->value; ?>'
id='<?php echo $this->element->getId(); ?>'
aria-label="<?= $ariaLabel ?>">
<?php echo $this->defaultElementContent; ?>
<?php echo $this->realElementContent; ?>
<?php echo $this->options; ?>
<input type='hidden' value='<?= $defaultText ?>' id='<?= $this->element->getId() ?>-default-text'/>
</div>
<?php echo $this->restoreToDefaultElementContent; ?>
<?php echo $this->description; ?>
<span class='field-errors'></span>
</div>
</div>
<script type='text/javascript'>
//<![CDATA[
(function () {
var mainElement = document.getElementById(<?php echo $this->jsEscape($this->element->getId()); ?>);
var defaultElement = document.getElementById(mainElement.id + '-default');
var resetElement = document.getElementById(mainElement.id + '-reset-to-default');
var realValueElement = document.getElementById(mainElement.id + '-real');
var defaultText = '<?=$defaultText?>';
if (!mainElement || !defaultElement || !resetElement || !realValueElement) {
return;
}
var cleanupTextValue = function () {
if (-1 < this.value.indexOf(defaultText)) {
this.value = this.value.replace(defaultText, '');
}
};
var tempValue = mainElement.value.replace(defaultText, '');
if (tempValue === defaultElement.value) {
resetElement.style.display = 'none';
}
resetElement.addEventListener('click', function (event) {
event.preventDefault();
if (mainElement.disabled) {
return;
}
mainElement.value = defaultElement.value;
realValueElement.value = defaultElement.value;
if (mainElement.value == defaultElement.value && '' != defaultElement.value) {
mainElement.value = mainElement.value + defaultText;
}
resetElement.style.display = 'none';
});
mainElement.addEventListener('change', function (event) {
realValueElement.value = this.value;
cleanupTextValue.apply(realValueElement);
if (realValueElement.value === defaultElement.value) {
resetElement.style.display = 'none';
} else {
resetElement.style.display = '';
}
});
var editableSelectButton = document.getElementById(mainElement.id + '-button');
if (editableSelectButton) {
var optionList = editableSelectButton.parentNode.nextElementSibling;
optionList.querySelectorAll('li').forEach(function (item) {
item.addEventListener('mousedown', function (event) {
var comboBox = this.parentNode.parentNode;
comboBox.classList.toggle('combobox-open');
realValueElement.value = this.dataset.value;
mainElement.value = realValueElement.value;
});
});
editableSelectButton.addEventListener('click', function (event) {
event.preventDefault();
event.stopPropagation();
if (mainElement.disabled) {
return;
}
var combobox = this.parentNode.parentNode;
document.querySelectorAll('.combobox').forEach(function (item) {
if (combobox === item) {
combobox.classList.toggle('combobox-open');
mainElement.focus();
} else {
item.classList.remove('combobox-open');
}
});
});
}
mainElement.addEventListener('focusin', cleanupTextValue);
mainElement.addEventListener('focus', cleanupTextValue);
mainElement.addEventListener('blur', function (event){
if (editableSelectButton) {
optionList.parentNode.classList.remove('combobox-open');
}
if (this.value === defaultElement.value) {
this.value = this.value + defaultText;
resetElement.style.display = 'none';
} else if (this.value != defaultElement.value + defaultText) {
resetElement.style.display = '';
}
});
})();
//]]>
</script>

View File

@@ -1,60 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class='form-row'>
<div class='field-name'>
<?php echo $this->element->getLabel(); ?>
</div>
<div class='field-value'>
<?php echo $this->elementPart($this->element)->content(); ?>
<?php echo $this->defaultElementContent; ?>
<?php echo $this->restoreToDefaultElementContent; ?>
<?php echo $this->elementPart($this->element)->description(); ?>
<span class='field-errors'></span>
</div>
</div>
<script type='text/javascript'>
//<![CDATA[
(function () {
var mainElement = document.getElementById(<?php echo $this->jsEscape($this->element->getId()); ?>);
var defaultElement = document.getElementById(mainElement.id + '-default');
var resetElement = document.getElementById(mainElement.id + '-reset-to-default');
if (!mainElement || !defaultElement || !resetElement) {
return;
}
if (mainElement.value === defaultElement.value) {
resetElement.style.display = 'none';
}
resetElement.addEventListener('click', function (event) {
event.preventDefault();
event.stopPropagation();
mainElement.value = defaultElement.value;
// trigger native change event
if (document.createEvent) {
var evt = document.createEvent('HTMLEvents');
evt.initEvent('change', true, true);
mainElement.dispatchEvent(evt);
} else if (mainElement.fireEvent) {
mainElement.fireEvent('onchange');
}
mainElement.focus();
resetElement.style.display = 'none';
});
mainElement.addEventListener('change', function (event) {
event.preventDefault();
event.stopPropagation();
if (mainElement.value === defaultElement.value) {
resetElement.style.display = 'none';
} else {
resetElement.style.display = '';
}
});
})();
//]]>
</script>

View File

@@ -1,77 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$id = $this->element->getId();
?>
<div class="form-row">
<div class="single-row">
<div id="<?= $id ?>-info"></div>
<div class="indent-box" id="<?= $id ?>-checkbox-block" style="display: none;">
<input type="checkbox" id="<?= $id ?>-checkbox" class="checkbox">
<div class="indent-box-content">
<label for="<?= $id ?>-checkbox">
<?= $this->lmsg(
'admin.components.forms.admin.announcement-settings.sendAnnouncePersonalizedConsent',
[
'adminEmail' => User_Admin::getAdminEmail(),
'privacyPolicy' => '<a href="' . Plesk_Config::get(
)->product->privacyPolicyUrl . '" target="_blank">'
. $this->lmsg(
'admin.components.forms.admin.announcement-settings.privacyPolicy'
)
. '</a>',
]
) ?>
</label>
</div>
</div>
<div class="indent-box" id="<?= $id ?>-radio-block" style="display: none;">
<input type="radio" id="<?= $id ?>-personalized" class="radio" value="<?= \Plesk\PartnerCentral\Consent::TYPE_SEND_PERSONALIZED_ANNOUNCE ?>" name="<?= $id ?>-type">
<div class="indent-box-content">
<b><label for="<?= $id ?>-personalized">
<?= $this->lmsg(
'admin.components.forms.admin.announcement-settings.sendAnnouncePersonalizedConsent',
[
'adminEmail' => User_Admin::getAdminEmail(),
'privacyPolicy' => '<a href="' . Plesk_Config::get(
)->product->privacyPolicyUrl . '" target="_blank">'
. $this->lmsg(
'admin.components.forms.admin.announcement-settings.privacyPolicy'
)
. '</a>',
]
) ?>
</label></b>
</div>
<input type="radio" id="<?= $id ?>-general" class="radio" value="<?= \Plesk\PartnerCentral\Consent::TYPE_SEND_ANNOUNCE ?>" name="<?= $id ?>-type" checked>
<div class="indent-box-content">
<label for="<?= $id ?>-general">
<?= $this->lmsg('admin.components.forms.admin.announcement-settings.sendAnnounceConsent') ?>
</label>
</div>
<input type="radio" id="<?= $id ?>-none" class="radio" value="<?= \Plesk\PartnerCentral\Consent::TYPE_NONE ?>" name="<?= $id ?>-type">
<div class="indent-box-content">
<label for="<?= $id ?>-none">
<?= $this->lmsg('admin.components.forms.admin.announcement-settings.noConsent') ?>
</label>
</div>
</div>
<span class="ajax-loading" id="<?= $id ?>-loader">
<?= $this->lmsg('admin.components.forms.admin.announcement-settings.getConsentLoading') ?>
</span>
<div class="alert alert-warning" id="<?= $id ?>-warning" style="display: none;">
<div class="b-indent">
<span class="b-indent-icon"><i class="icon-attention"></i></span>
<?= $this->lmsg('admin.components.forms.admin.announcement-settings.getConsentWarning') ?>
<a id="<?= $id ?>-retry" href="">
<?= $this->lmsg('admin.components.forms.admin.announcement-settings.retry') ?>
</a>
</div>
</div>
</div>
</div>
<?= $this->requireJs('app/profile/announcement-settings', [
'id' => $id,
'email' => $this->email,
'infoClosed' => get_param('consent_info_message_closed'),
]) ?>

View File

@@ -1,22 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="form-row"<?php echo $this->id ? ' id="' . $this->id . '"' : ''; ?>>
<div class="field-name">
<?php echo $this->label ?>
</div>
<div class="field-value">
<div class="text-value">
<?php foreach ($this->element->getElements() as $element): ?>
<div class="indent-box">
<?php echo $this->elementPart($element)->content() ?>
<div class="indent-box-content">
<?php echo $this->elementPart($element)->label() ?>
<?php echo $this->elementPart($element)->description(); ?>
</div>
</div>
<?php endforeach ?>
</div>
</div>
</div>

View File

@@ -1,23 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="btns-box">
<div class="box-area">
<div class="form-row">
<div class="field-name">
<?php if ($this->element->getLegend()): ?>
<?= $this->requiredMark() ?>
<?php echo $this->escape($this->element->getLegend()); ?>
<?php endif; ?>
</div>
<div class="field-value">
<?php foreach ($this->element->getElements() as $element): ?>
<?php echo $element; ?>
<?php endforeach; ?>
<!-- ability to submit form via Enter -->
<input type="image" src="<?php echo $this->skinUrl('/images/blank.gif'); ?>" style="border: 0; height: 0; width: 0; position: absolute;" tabindex="-1" aria-hidden="true" />
</div>
</div>
</div>
</div>

View File

@@ -1,57 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class='form-row'>
<div class="field-name">
<label for="<?php echo $this->element->getId(); ?>">
<?php echo $this->element->getLabel(); ?>
<?= $this->requiredMark(!$this->readOnly) ?>
</label>
</div>
<div class='field-value'>
<span>
<img aria-hidden="true" src="<?php echo $this->skinUrl('/icons/16/plesk/website.png'); ?>"/>
/
<?php if ($this->readOnly): ?>
<?php echo $this->escape($this->element->getValue()); ?>
<?php if ($this->readOnlyHint): ?>
<?php echo $this->elementPart($this->element)->description(); ?>
<?php endif; ?>
<?php else: ?>
<?php echo $this->elementPart($this->element)->content(); ?>
<?php echo $this->elementPart($this->element)->description(); ?>
<?php endif; ?>
</span>
<span class="field-errors" style="display: none;"></span>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
(() => {
const generateDocRootPath = e => {
const element = document.getElementById('hostingSettings-root');
const docrootPattern = document.getElementById('hostingSettings-rootPattern').value;
let docroot = e.detail.replace(/\*/g, '_');
if (-1 !== docrootPattern.indexOf('<domain>')) {
docroot = docrootPattern.replace('<domain>', docroot);
}
element.value = Jsw.toPunycode(docroot);
Jsw.fireCustomEvent(element, 'value:change');
};
const docrootEl = document.getElementById('<?= $this->element->getId() ?>');
if (docrootEl && !docrootEl.value) {
const formEl = docrootEl.closest('form');
formEl.addEventListener('domainNameChange', generateDocRootPath);
['change', 'keyup'].forEach(eventName => {
docrootEl.addEventListener(eventName, () => {
formEl.removeEventListener('domainNameChange', generateDocRootPath);
});
});
}
})();
//]]>
</script>

View File

@@ -1,33 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php
$domainSelect = $this->element->getView()->form->getElement($this->elementName);
$elementIds = array();
foreach ($this->element->getElements() as $element) {
$elementIds[] = $element->getId();
echo $element;
}
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
var updateState = function () {
var elementIds = <?php echo Zend_Json::encode($elementIds); ?>;
var noHostingDomains = <?php echo Zend_Json::encode($this->noHostingDomains); ?>;
if (noHostingDomains.indexOf(Jsw.getComponent('<?php echo $domainSelect->getId(); ?>').getValue()) === -1) {
elementIds.forEach(function (item) {
document.getElementById(item).parentNode.style.display = '';
});
} else {
elementIds.forEach(function (item) {
document.getElementById(item).parentNode.style.display = 'none';
});
}
}
updateState();
Jsw.getComponent('<?php echo $domainSelect->getId(); ?>').addEventObserver('component:change', updateState);
});
//]]>
</script>

View File

@@ -1,14 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class='form-row' id='<?php echo $this->element->getId();?>-form-row'>
<div class='field-name'>
<?php echo $this->elementPart($this->element)->label(); ?>
</div>
<div class="field-value">
<?php echo $this->elementPart($this->element)->content(); ?>
<span id='<?php echo $this->element->getId();?>-units'><?php echo $this->units; ?></span>
<span class="field-errors" style="display: none;"></span>
<?php echo $this->elementPart($this->element)->description(); ?>
</div>
</div>

View File

@@ -1,26 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="form-row">
<div class="field-name"></div>
<div class="field-value">
<div class="form-flow">
<?php foreach ($this->items as $item): ?>
<div class="form-flow-item" id="form-flow-item-<?php echo $item['form']->getId(); ?>">
<div class="form-flow-item-image">
<?php if (isset($item['image'])): ?>
<img src="<?php echo $this->skinUrl($item['image']); ?>" alt="">
<?php endif; ?>
</div>
<div class="form-flow-item-name"><?php echo isset($item['name']) ? $item['name'] : ''; ?></div>
<div class="form-flow-item-content">
<?php if (isset($item['description'])): ?>
<p><?php echo $item['description']; ?></p>
<?php endif; ?>
<?php echo $item['form']->render(); ?>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</div>

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="form-row">
<div class="field-name"></div>
<div class="field-value">
<span class="hint">
<?php echo $this->elementPart($this->element)->description(); ?>
</span>
</div>
</div>

View File

@@ -1,40 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php
foreach ($this->element->getElements() as $element) {
echo $element;
}
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
var enableFastCgiElement = document.getElementById('<?php echo $this->element->getElement($this->enableElementName)->getId();?>');
function onEnableFastCgiChange() {
<?php foreach($this->element->getElements() as $element): ?>
<?php if ($element->getId() == $this->element->getElement($this->enableElementName)->getId()):?>
<?php continue; ?>
<?php endif; ?>
var fastCgiSettingElement = document.getElementById('<?php echo $element->getId();?>');
if ('off' === enableFastCgiElement.value) {
fastCgiSettingElement.disabled = true;
} else {
fastCgiSettingElement.disabled = false;
}
<?php endforeach; ?>
}
if (enableFastCgiElement) {
enableFastCgiElement.addEventListener('change', onEnableFastCgiChange);
enableFastCgiElement.addEventListener('focus', onEnableFastCgiChange);
var phpEnableElement = document.getElementById('php') ? document.getElementById('php') : document.getElementById('tabs-phpSettingsTab-phpSettings-php');
if (phpEnableElement) {
phpEnableElement.addEventListener('change', onEnableFastCgiChange);
}
onEnableFastCgiChange();
}
});
//]]>
</script>

View File

@@ -1,112 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
if ($this->element instanceof Zend_Form_DisplayGroup) {
$typeElement = $this->element->getElement($this->radio);
$indentControls = $this->indentControls;
} else {
$typeElement = $this->element;
$indentControls = array();
}
$multiOptions = array();
$errorStyle = $typeElement->hasErrors() ? '' : ' style="display:none;"';
$errorsPreformatted = $typeElement->getAttrib('errorsPreformatted');
$error = $typeElement->hasErrors() ? ' error' : '';
?>
<div class="form-row<?php echo $error; ?>" id="<?php echo $this->id ? $this->id : $typeElement->getId() . '-form-row'; ?>">
<div class="field-name">
<label for="<?php echo $typeElement->getId(); ?>">
<?php echo $typeElement->getLabel(); ?>
<?= $this->requiredMark($typeElement->isRequired()) ?>
</label>
<?php if (isset($this->labelBadgeNew) && $this->labelBadgeNew): ?>
<span class="badge-new"><?php echo $this->lmsg('components.buttons.badgeNew') ?></span>
<?php endif; ?>
</div>
<div class="field-value">
<div class="text-value">
<?php foreach ($typeElement->getMultiOptions() as $optionName => $optionTitle): ?>
<div class="indent-box">
<input type="radio"
value="<?php echo $optionName; ?>"
id="<?php echo $typeElement->getId() . "-$optionName"; ?>"
class="radio"
name="<?php
echo $typeElement->getBelongsTo()
? $typeElement->getBelongsTo() . '[' . $typeElement->getName() . ']'
: $typeElement->getName();
?>"
<?php echo ($optionName == $typeElement->getValue()) ? 'checked="checked"' : ''; ?>
<?php echo ($typeElement->disable === true
|| (is_array($typeElement->disable) && in_array($optionName, $typeElement->disable)))
? 'disabled="disabled"' : ''; ?>
/>
<div class="indent-box-content">
<label for="<?php echo $typeElement->getId() . "-$optionName"; ?>">
<?php echo false === $typeElement->escape ? $optionTitle : $this->escape($optionTitle); ?>
</label>
<?php if (isset($this->optionBadgeNew) && in_array($optionName, $this->optionBadgeNew)): ?>
<span class="badge-new"><?php echo $this->lmsg('components.buttons.badgeNew') ?></span>
<?php endif ?>
<?php if ('' != $typeElement->getDescriptionValue($optionName)): ?>
<p class="hint"><?php echo $typeElement->getDescriptionValue($optionName); ?></p>
<?php endif; ?>
<?php
$typeElementId = $typeElement->getId() . "-$optionName";
if (isset($indentControls[$optionName])) {
$controls = $indentControls[$optionName];
foreach ((array)$controls as $ctrl) {
$optionElement = $ctrl instanceof Zend_Form_Element
? $ctrl
: $this->element->getElement($ctrl);
echo $optionElement->render($this);
$multiOptions[$typeElementId][] = $optionElement->getId();
}
} else {
$multiOptions[$typeElementId] = null;
}
?>
</div>
</div>
<?php endforeach;?>
<?php echo $this->elementPart($typeElement)->description(); ?>
</div>
<span class="field-errors<?=$errorsPreformatted ? ' preformatted' : ''?>"<?php echo $errorStyle; ?>><?php echo $this->elementPart($typeElement)->errors(); ?></span>
</div>
</div>
<?php if ($this->disableIndentControls || $this->hideIndentControls): ?>
<script type="text/javascript">
//<![CDATA[
(function () {
var multiOptions = <?php echo Zend_Json::encode($multiOptions); ?>;
var updateControlsState = function () {
Object.keys(multiOptions).forEach(function (option) {
if (!Array.isArray(multiOptions[option])) {
return;
}
multiOptions[option].forEach(function (control) {
<?php if ($this->disableIndentControls): ?>
if (document.getElementById(option).checked) {
document.getElementById(control).disabled = false;
} else {
document.getElementById(control).disabled = true;
}
<?php else: ?>
document.getElementById(control).parentNode.style.display = document.getElementById(option).checked ? '' : 'none';
<?php endif ?>
});
});
};
Object.keys(multiOptions).forEach(function (option) {
document.getElementById(option).addEventListener('click', updateControlsState);
});
updateControlsState();
})();
//]]>
</script>
<?php endif;?>

View File

@@ -1,43 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="form-row" id="<?php echo $this->id ? $this->id : $this->element->getId() . '-form-row'; ?>">
<div class="field-name">
<label for="<?php echo $this->element->getId(); ?>">
<?php echo $this->element->getLabel(); ?>
<?= $this->requiredMark($this->element->isRequired()) ?>
</label>
</div>
<div class="field-value">
<div class="mode-selector">
<?php foreach ($this->element->getMultiOptions() as $optionName => $optionTitle): ?>
<div class="mode-selector-item">
<label class="mode-selector-radio <?php echo ($optionName == $this->element->getValue()) ? 'checked' : ''; ?>">
<input type="radio" id="<?php echo $this->element->getId() . "-$optionName"; ?>" name="<?php
echo $this->element->getBelongsTo()
? $this->element->getBelongsTo() . '[' . $this->element->getName() . ']'
: $this->element->getName();
?>" class="mode-selector-radio-input" <?php echo ($optionName == $this->element->getValue()) ? 'checked="checked"' : ''; ?> <?php echo ($this->element->disable === true
|| (is_array($this->element->disable) && in_array($optionName, $this->element->disable)))
? 'disabled="disabled"' : ''; ?> value="<?php echo $optionName; ?>">
<span class="mode-selector-radio-label"><i class="<?php echo $this->classes[$optionName]; ?>"></i><?php echo false === $this->element->escape ? $optionTitle : $this->escape($optionTitle); ?></span>
</label>
</div>
<?php endforeach;?>
</div>
</div>
</div>
<script type="text/javascript">
Jsw.onReady(function () {
document.querySelectorAll('.mode-selector-radio input').forEach(function (el) {
el.addEventListener('change', function (e) {
document.querySelectorAll('.mode-selector-radio').forEach(function (el) {
el.classList.remove('checked');
});
e.target.closest('.mode-selector-radio').classList.add('checked');
});
});
});
</script>

View File

@@ -1,22 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->render('partials/forms/radio-controls.phtml'); ?>
<?php if ($this->element->disable !== true): ?>
<script type="text/javascript">
//<![CDATA[
(() => {
const redirectToWww = document.querySelector('label[for="<?php echo $this->element->getId() . '-' . PhDomain::SEO_REDIRECT_TO_WWW; ?>"]');
const redirectToLanding = document.querySelector('label[for="<?php echo $this->element->getId() . '-' . PhDomain::SEO_REDIRECT_TO_LANDING; ?>"]');
const generateSeoRedirectOptions = e => {
const domainName = Jsw.escapeHtml(e.detail || '<your_domain>');
redirectToWww.innerHTML = 'www.' + domainName;
redirectToLanding.innerHTML = domainName;
};
redirectToWww.closest('form').addEventListener('domainNameChange', generateSeoRedirectOptions);
})();
//]]>
</script>
<?php endif; ?>

View File

@@ -1,29 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="form-row"<?php echo $this->id ? ' id="' . $this->id . '"' : ''; ?>>
<div class="field-name">
<?php echo $this->label ?>
</div>
<div class="field-value">
<div class="text-value">
<div class="two-cols-block clearfix">
<div class="first-col">
<div class="column-box">
<div class="form-box">
<?php echo $this->elementPart($this->element->getElement($this->firstColumn))->content(); ?>
</div>
</div>
</div>
<div class="second-col">
<div class="column-box">
<div class="form-box">
<?php echo $this->elementPart($this->element->getElement($this->secondColumn))->content(); ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -1,16 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php if ($this->limitDetails['limitValue'] > 0): ?>
<div class="progress-box">
<div class="progress progress-sm">
<div class="progress-bar" style="width: <?php echo $this->escape(min($this->limitDetails['percent'], 100)); ?>%;"></div>
</div>
<div class="progress-label"><?php echo $this->escape($this->limitDetails['usageString']) . ($this->showPercent ? " ({$this->limitDetails['percent']}%)" : ''); ?></div>
</div>
<?php else: ?>
<?php echo $this->escape($this->limitDetails['usageString']); ?>
<?php endif; ?>

View File

@@ -1,6 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<noscript>
<iframe height='0' src='//www.googletagmanager.com/ns.html?id=<?php echo $this->layout()->googleTagManagerId; ?>' style='display:none;visibility:hidden' width='0'></iframe>
</noscript>

View File

@@ -1,15 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script>
window.addEventListener('load', function() {
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', '<?php echo $this->layout()->googleTagManagerId; ?>');
});
</script>

View File

@@ -1,9 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?= $this->requireJs('app/hosting-settings/conflicts-checker', [
'applyTo' => $this->element->getId(),
'defaults' => $this->defaults,
'elementsPrefix' => $this->elementsPrefix,
'insecureHostingCheckboxId' => $this->insecureHostingCheckboxId,
]) ?>

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class='form-row'>
<div class='single-row'>
<?php echo $this->elementPart($this->element->getElement('php'))->content(); ?>
<?php echo $this->elementPart($this->element->getElement('php'))->label(); ?>
<?php echo $this->element->getElement('phpDescription'); ?>
<span class='field-errors'></span>
</div>
</div>

View File

@@ -1,88 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class='form-row'>
<div class='single-row'>
<?php echo $this->content ?>
<?php if ($this->fpmDedicatedHandlerHint) : ?>
<span class='hint' style="display:none" id="fpmDedicatedHandlerHint">
<i class="icon-attention"></i> <?php echo $this->fpmDedicatedHandlerHint ?>
</span>
<?php endif; ?>
<?php if ($this->handlerChangeHint) : ?>
<span class='hint' style="display:none" id="phpHandlerChangeHint">
<i class="icon-warning"></i> <?php echo $this->handlerChangeHint ?>
</span>
<?php endif; ?>
<?php if (isset($this->hint)): ?>
<span class='hint'><?php echo $this->hint ?></span>
<?php endif; ?>
<?php if (isset($this->helpLink)): ?>
<a id='phpSettingsHelpLink' href="<?php echo isset($this->helpLink['href']) ? $this->baseUrl($this->helpLink['href']) : '#' ?>" <?php echo isset($this->helpLink['onclick']) ? "onclick='{$this->helpLink['onclick']}'" : '' ?> target='_blank'><?php echo $this->helpLink['title'] ?></a>
<?php endif; ?>
<span class='field-errors'></span>
</div>
</div>
<script type='text/javascript'>
//<![CDATA[
function getCurrentPhpHandlerType() {
var phpHandlerTypeIds = <?php echo json_encode($this->phpHandlerTypeIds) ?>;
for (var i = 0; i < phpHandlerTypeIds.length; i++) {
var phpHandlerTypeSelect = document.getElementById(phpHandlerTypeIds[i]);
if (phpHandlerTypeSelect.style.display !== 'none') {
return phpHandlerTypeSelect.options[phpHandlerTypeSelect.selectedIndex].text;
}
}
return false;
}
function onAfterPhpHandlerChange() {
var phpHandlerTypeIds = <?php echo json_encode($this->phpHandlerTypeIds) ?>;
for (var i = 0; i < phpHandlerTypeIds.length; i++) {
document.getElementById(phpHandlerTypeIds[i]).style.display = 'none';
}
var phpHandler = document.getElementById('<?php echo $this->phpHandlerId ?>').value;
document.getElementById('<?php echo $this->phpHandlerId ?>').style.display = '';
document.getElementById('<?php echo $this->phpHandlerId ?>Id' + phpHandler).style.display = '';
}
Jsw.onReady(function() {
const phpHandlerId = '<?= $this->phpHandlerId ?>';
if (!phpHandlerId) {
return;
}
const phpHandler = document.getElementById(phpHandlerId);
if (!phpHandler) {
return;
}
phpHandler.addEventListener('change', function (e) {
var currentHandlerType = getCurrentPhpHandlerType();
onAfterPhpHandlerChange();
if (!currentHandlerType) {
return;
}
var phpHandler = document.getElementById('<?php echo $this->phpHandlerId ?>').value;
var handlerTypeSelect = document.getElementById('<?php echo $this->phpHandlerId ?>Id' + phpHandler);
for (var j = 0; j < handlerTypeSelect.options.length; j++) {
if (currentHandlerType === handlerTypeSelect.options[j].text) {
handlerTypeSelect.selectedIndex = j;
break;
}
}
});
onAfterPhpHandlerChange();
<?php if ($this->fpmDedicatedHandlerHint) : ?>
var phpHandlerElements = document.querySelectorAll(`[id^=${phpHandlerId}]`);
phpHandlerElements.forEach(function (el) {
el.addEventListener('change', function () {
const phpHandlerType = document.getElementById(phpHandlerId + 'Id' + phpHandler.value);
<?php if ($this->fpmDedicatedHandlerHint) : ?>
document.getElementById('fpmDedicatedHandlerHint').style.display = phpHandlerType.value.includes('fpm-dedicated') ? '' : 'none';
<?php endif; ?>
});
});
<?php endif; ?>
});
//]]>
</script>

View File

@@ -1,20 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php $localeSection = 'admin.components.forms.service-plan'; ?>
<p>
<?php
echo $this->lmsg("$localeSection.secureSettingsDescription", [
'link' => $this->htmlLink('', $this->lmsg("$localeSection.secureSettingsLink"), [
'href' => '#',
'onclick' => 'this.closest("form").applySecureSettings(); return false;',
]),
'helpLink' => $this->htmlLink('', $this->lmsg("$localeSection.secureSettingsHelpLink"), [
'href' => '/help.php?context=' . $this->helpContext,
'target' => '_blank',
'rel' => 'noopener noreferrer',
]),
]);
?>
</p>

View File

@@ -1,27 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php if (!Domain::isIcpSupported()) return ?>
{
header: <?php echo $this->jsLmsg('components.icp-permit.icpPermit') ?>,
sortable: true,
dataIndex: 'icpStatus',
renderer: function(item) {
var description = 1 == item.icpStatus
? <?php echo $this->jsLmsg('components.icp-permit.icpStatusAllowedDescription') ?>
: <?php echo $this->jsLmsg('components.icp-permit.icpStatusNotAllowedDescription') ?>;
var icon = 1 == item.icpStatus
? '<?php echo $this->skinUrl('/icons/16/plesk/subscription-status-ok.png') ?>'
: '<?php echo $this->skinUrl('/icons/16/plesk/att-tr.png') ?>';
var link = <?php echo $this->link ? $this->jsEscape($this->link) : 'null' ?>;
var permit = item.icpPermit
? Jsw.escapeHtml(item.icpPermit)
: (1 == item.icpStatus ? ''
: <?php echo $this->jsLmsg('components.icp-permit.icpStatusNotAllowed') ?>);
return '<span class="tooltipData">' + description + '</span>'
+ '<img src="' + icon + '" alt=""/>' + "\n"
+ (link ? '<a href="' + link + '" target="_blank">': '')
+ permit
+ (link ? '</a>' : '') + "\n";
}
},

View File

@@ -1,72 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
new Jsw.Panel({
renderTo: '<?php echo $this->renderTo ?>',
renderMode: 'top',
cls: 'tools-list-box',
items: [{
componentType: 'Jsw.ListContainer',
cls: 'tools-list',
itemClass: 'tools-item',
items: [
<?php if ($this->buttonEnable): ?>{
id: 'button-enable',
componentType: 'Smb.ToolButton',
attrs: { 'data-method': 'post' },
icon: '<?php echo $this->skinUrl('/icons/32/plesk/enable.png') ?>',
title: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonEnable') ?>,
comment: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonEnableHint') ?>,
href: '/iis-app-pool/enable<?php echo isset($this->ownerId) ? '/id/' . $this->ownerId : '' ?>'
},<?php endif ?>
<?php if ($this->buttonDisable): ?>{
id: 'button-disable',
componentType: 'Smb.ToolButton',
attrs: { 'data-method': 'post' },
icon: '<?php echo $this->skinUrl('/icons/32/plesk/disable.png') ?>',
title: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonDisable') ?>,
comment: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonDisableHint') ?>,
href: '/iis-app-pool/disable<?php echo isset($this->ownerId) ? '/id/' . $this->ownerId : '' ?>'
},<?php endif ?>
<?php if ($this->buttonStart): ?>{
id: 'button-start',
componentType: 'Smb.ToolButton',
attrs: { 'data-method': 'post' },
icon: '<?php echo $this->skinUrl('/icons/32/plesk/start.png') ?>',
title: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonStart') ?>,
comment: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonStartHint') ?>,
href: '/iis-app-pool/start<?php echo isset($this->ownerId) ? '/id/' . $this->ownerId : '' ?>',
indicateProgress: true,
waitMessage: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.waitMessage') ?>
},<?php endif ?>
<?php if ($this->buttonStop): ?>{
id: 'button-stop',
componentType: 'Smb.ToolButton',
attrs: { 'data-method': 'post' },
icon: '<?php echo $this->skinUrl('/icons/32/plesk/stop.png') ?>',
title: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonStop') ?>,
comment: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonStopHint') ?>,
href: '/iis-app-pool/stop<?php echo isset($this->ownerId) ? '/id/' . $this->ownerId : '' ?>',
indicateProgress: true,
waitMessage: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.waitMessage') ?>
},<?php endif ?>
<?php if ($this->buttonRecycle): ?>{
id: 'button-recycle',
componentType: 'Smb.ToolButton',
attrs: { 'data-method': 'post' },
icon: '<?php echo $this->skinUrl('/icons/32/plesk/recycle.png') ?>',
title: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonRecycle') ?>,
comment: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.buttonRecycleHint') ?>,
href: '/iis-app-pool/recycle<?php echo isset($this->ownerId) ? '/id/' . $this->ownerId : '' ?>',
indicateProgress: true,
waitMessage: <?php echo $this->jsLmsg('components.iis-app-pool-buttons.waitMessage') ?>
},<?php endif ?>
]
}]
});
});
//]]>
</script>

View File

@@ -1,46 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="<?php echo $this->element->getId() ?>">
<?php echo $this->element->getElement('maxProcesses')->render($this); ?>
<?php echo $this->element->getElement('idleTimeout')->render($this); ?>
<?php if ($this->element->getElement('idleTimeoutAction')): ?>
<?php echo $this->element->getElement('idleTimeoutAction')->render($this); ?>
<?php endif; ?>
<?php echo $this->element->getElement('cpuLimit')->render($this); ?>
<?php echo $this->element->getElement('cpuLimitAction')->render($this); ?>
<?php echo $this->element->getElement('cpuLimitInterval')->render($this); ?>
<?php echo $this->element->getElement('recyclingByTime')->render($this); ?>
<?php echo $this->element->getElement('recyclingByRequests')->render($this); ?>
<?php echo $this->element->getElement('recyclingByVirtualMemory')->render($this); ?>
<?php echo $this->element->getElement('recyclingByPrivateMemory')->render($this); ?>
</div>
<script type="text/javascript">
//<![CDATA[
(function () {
var cpuLimitUnlimited = document.getElementById('<?php echo $this->element->getElement('cpuLimit')->getId() ?>-unlimited');
var cpuLimitAction = document.getElementById('<?php echo $this->element->getElement('cpuLimitAction')->getId() ?>');
var cpuLimitInterval = document.getElementById('<?php echo $this->element->getElement('cpuLimitInterval')->getId() ?>');
var cpuLimitsDependsOn = function () {
if (cpuLimitUnlimited.checked) {
cpuLimitAction.disabled = true;
cpuLimitInterval.disabled = true;
} else {
cpuLimitAction.disabled = false;
if ('<?php echo Db_Table_Row_IisAppPool::CPU_LIMIT_ACTION_KILL_W3WP ?>' === cpuLimitAction.value
|| '<?php echo Db_Table_Row_IisAppPool::CPU_LIMIT_ACTION_NO_ACTION ?>' === cpuLimitAction.value
) {
cpuLimitInterval.disabled = false;
} else {
cpuLimitInterval.disabled = true;
}
}
};
cpuLimitUnlimited.addEventListener('click', cpuLimitsDependsOn);
cpuLimitAction.addEventListener('change', cpuLimitsDependsOn);
cpuLimitsDependsOn();
})();
//]]>
</script>

View File

@@ -1,9 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="<?php echo $this->element->getId() ?>">
<?php if ($this->element->getSubForm('general')): ?>
<?php echo $this->element->getSubForm('general')->render($this); ?>
<?php endif; ?>
<?php echo $this->element->getSubForm('performance')->render($this); ?>
</div>

View File

@@ -1,15 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class='form-row'>
<div class='field-name'>
<?php echo $this->elementPart($this->element->getElement('imNumber'))->label(); ?>
</div>
<div class='field-value'>
<?php echo $this->elementPart($this->element->getElement('imNumber'))->content(); ?>
<span style="padding-left: 10px;">
<?php echo $this->elementPart($this->element->getElement('imType'))->content(); ?>
</span>
<span class="field-errors" style="display: none;"></span>
</div>
</div>

View File

@@ -1,56 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php echo $this->element->getElement('logRotationEnabled')->render($this); ?>
<?php echo $this->partial('partials/forms/radio-controls.phtml', null, $this); ?>
<?php echo $this->element->getElement('maximumNumberOfFiles')->render($this); ?>
<?php echo $this->element->getElement('compress')->render($this); ?>
<?php echo $this->element->getElement('sendLogToEmail')->render($this); ?>
<?php $typeElement = $this->element->getElement($this->radio);?>
<script type="text/javascript">
//<![CDATA[
(function () {
var updateControlsState = function () {
let radio;
let control;
<?php foreach($this->indentControls as $option => $control): ?>
radio = document.getElementById('<?php echo $typeElement->getId() . '-' . $option ?>');
control = document.getElementById('<?php echo $this->element->getElement($control)->getId() ?>');
if (radio.checked && !radio.disabled) {
control.disabled = false;
} else {
control.disabled = true;
}
<?php endforeach;?>
};
var enableControl = function (control, value) {
if (value) {
control.disabled = false;
} else {
control.disabled = true;
}
};
var updateLogRotation = function () {
var isForced = <?= $this->isForced ?>;
var checkbox = document.getElementById('<?= $this->element->getElement('logRotationEnabled')->getId() ?>');
<?php foreach ($typeElement->getMultiOptions() as $option => $optionTitle): ?>
var control = document.getElementById('<?php echo $typeElement->getId() . '-' . $option ?>');
enableControl(control, !isForced && checkbox.checked);
<?php endforeach;?>
enableControl(document.getElementById('<?= $this->element->getElement('logRotationEnabled')->getId() ?>'), !isForced);
enableControl(document.getElementById('<?= $this->element->getElement('maximumNumberOfFiles')->getId() ?>'), checkbox.checked);
enableControl(document.getElementById('<?= $this->element->getElement('compress')->getId() ?>'), checkbox.checked);
enableControl(document.getElementById('<?= $this->element->getElement('sendLogToEmail')->getId() ?>'), checkbox.checked);
updateControlsState();
};
<?php foreach ($typeElement->getMultiOptions() as $option => $optionTitle): ?>
document.getElementById('<?php echo $typeElement->getId() . '-' . $option ?>').addEventListener('click', updateControlsState);
<?php endforeach;?>
document.getElementById('<?php echo $this->element->getElement('logRotationEnabled')->getId() ?>').addEventListener('click', updateLogRotation);
updateLogRotation();
})();
//]]>
</script>

View File

@@ -1,8 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="newsletter-subscription">
<?= $this->plesk()->addWidget('app/newsletter-subscription', [
'isShow' => $this->isShow,
], 'document.getElementById("newsletter-subscription")') ?>
</div>

View File

@@ -1,115 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php
$form = $this->form ?: $this->element->getForm();
?>
<div class="form-row" id="<?php echo $this->select->getId(); ?>-form-row">
<div class="field-name">
<?php echo $this->elementPart($this->select)->label(); ?>
</div>
<div class="field-value">
<?php echo $this->elementPart($this->select)->content(); ?>
<span id="<?php echo $this->select->getId() . '-unit-day-label'; ?>">
<?php echo $form->lmsg('on'); ?>
</span>
<span id="<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('dayOfMonth')->getId(); ?>">
<?php echo $this->elementPart($this->element->getElement('dayOfMonth'))->content(); ?>
</span>
<?php if ($this->element->getElement('month')): ?>
<span id="<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('month')->getId(); ?>">
<?php echo $this->elementPart($this->element->getElement('month'))->content(); ?>
</span>
<?php endif; ?>
<span id="<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('dayOfMonth')->getId() . '-label'; ?>">
<?php echo $form->lmsg('dayOfMonth'); ?>
</span>
<span id="<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('dayOfWeek')->getId(); ?>">
<?php echo $this->elementPart($this->element->getElement('dayOfWeek'))->content(); ?>
</span>
<span id="<?php echo $this->select->getId() . '-unit-time-label'; ?>">
<?php echo $form->lmsg('at'); ?>
</span>
<span id="<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('hour')->getId(); ?>">
<?php echo $this->elementPart($this->element->getElement('hour'))->content(); ?> :
</span>
<span id="<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('minute')->getId(); ?>">
<?php echo $this->elementPart($this->element->getElement('minute'))->content(); ?>
</span>
<span id="<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('minute')->getId() . '-label'; ?>">
<?php echo $form->lmsg('minute'); ?>
</span>
<?php if ($this->element->getElement('cronStyle')): ?>
<span id="<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('cronStyle')->getId(); ?>">
<?php echo $this->elementPart($this->element->getElement('cronStyle'))->content(); ?>
</span>
<?php endif; ?>
<span class="field-errors" style="display: none;"></span>
<?php if ($this->timezoneHint): ?>
<div id="<?php echo $this->select->getId() ?>-timezone-hint" class="hint"><?php echo $this->timezoneHint; ?></div>
<?php endif; ?>
<?php if ($this->cronStyleHint): ?>
<div id="<?php echo $this->select->getId() ?>-cron-style-hint" class="hint"><?php echo $this->cronStyleHint; ?></div>
<?php endif; ?>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
(function () {
var period = document.getElementById('<?php echo $this->select->getId(); ?>');
var periodControlState = function () {
document.querySelectorAll('span[id^=<?php echo $this->select->getId(); ?>-unit]').forEach(function (el) {
el.style.display = 'none';
});
var row = document.getElementById('<?php echo $this->select->getId(); ?>-form-row');
row.classList.remove('error');
row.querySelector('.field-errors').style.display = 'none';
var periodValue = parseInt(period.value);
<?php if ($this->element->getElement('cronStyle')): ?>
if (periodValue === 0) {
document.getElementById('<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('cronStyle')->getId(); ?>').style.display = '';
}
<?php endif; ?>
if (periodValue === 3600) {
document.getElementById('<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('minute')->getId() . '-label'; ?>').style.display = '';
}
if (periodValue >= 3600) {
document.getElementById('<?php echo $this->select->getId() . '-unit-time-label'; ?>').style.display = '';
document.getElementById('<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('minute')->getId(); ?>').style.display = '';
}
if (periodValue >= 86400) {
document.getElementById('<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('hour')->getId(); ?>').style.display = '';
}
if (periodValue === 604800) {
document.getElementById('<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('dayOfWeek')->getId(); ?>').style.display = '';
}
if (periodValue >= 604800) {
document.getElementById('<?php echo $this->select->getId() . '-unit-day-label'; ?>').style.display = '';
}
if (periodValue === 2592000) {
document.getElementById('<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('dayOfMonth')->getId() . '-label'; ?>').style.display = '';
}
if (periodValue >= 2592000) {
document.getElementById('<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('dayOfMonth')->getId(); ?>').style.display = '';
}
<?php if ($this->element->getElement('month')): ?>
if (periodValue === 31536000) {
document.getElementById('<?php echo $this->select->getId() . '-unit-' . $this->element->getElement('month')->getId(); ?>').style.display = '';
}
<?php endif; ?>
<?php if ($this->timezoneHint): ?>
document.getElementById('<?php echo $this->select->getId() ?>-timezone-hint').style.display = periodValue > 0 ? '' : 'none';
<?php endif; ?>
<?php if ($this->cronStyleHint): ?>
document.getElementById('<?php echo $this->select->getId() ?>-cron-style-hint').style.display = periodValue === 0 ? '' : 'none';
<?php endif; ?>
};
period.addEventListener('change', periodControlState);
periodControlState();
})();
//]]>
</script>

View File

@@ -1,60 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
{
componentType: 'Jsw.bar.Button',
title: <?php echo $this->jsLmsg('tabPermissions'); ?>,
tabId: 'tab-permissions',
content: new Jsw.layout.TwoColumns({
items: [{
componentType: 'Jsw.Panel',
cls: 'form-box form-box-50x50',
items: [{
componentType: 'Jsw.Hint',
hint: <?php echo $this->jsLmsg('permissionsSummaryHint'); ?>
},
<?php foreach ($this->mainPermissions as $name => $permission): ?>
<?php if ($permission->getId() == 'manage_not_chroot_shell'):?>
{
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsLmsg('admin.components.forms.service-plan.permissions.systemAccessLabel'); ?>,
value: <?php
if ($permission->getValue()) {
$currentValue = $this->jsEscape($permission->getName());
} else if (isset($this->mainPermissions['manage_sh_access']) && $this->mainPermissions['manage_sh_access']->getValue()) {
$currentValue = $this->jsEscape($this->mainPermissions['manage_sh_access']->getName());
} else {
$currentValue = $this->jsLmsg('admin.components.forms.service-plan.permissions.noShellManagement');
}
echo $currentValue;
?>
},
<?php elseif ($name == 'manage_sh_access' && isset($this->mainPermissions['manage_not_chroot_shell'])):?>
<?php else:?>
{
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsEscape($permission->getName()); ?>,
value: <?php echo $this->jsHtml($this->switchState($permission->getValue())); ?>
},
<?php endif?>
<?php endforeach; ?>
null]
}, {
componentType: 'Jsw.Panel',
id: 'panelMorePermissions',
cls: 'form-box form-box-50x50 b-collapsible',
title: <?php echo $this->jsLmsg('showMorePermissions'); ?>,
hideContentTitle: <?php echo $this->jsLmsg('hideMorePermissions'); ?>,
collapsed: true,
items: [
<?php foreach ($this->additionalPermissions as $name => $permission): ?>
{
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsEscape($permission->getName()); ?>,
value: <?php echo $this->jsHtml($this->switchState($permission->getValue())); ?>
},
<?php endforeach; ?>
null]
}]
})
}

View File

@@ -1,82 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$enableWhen = [];
foreach ($this->enableWhen as $parent => $item) {
$enableWhen[] = [
'parent' => $this->element->getElement($parent)->getId(),
'value' => $item['value'],
'children' => array_map(function ($child) {
return $this->element->getElement(str_replace('.', '', $child))->getId();
}, $item['children']),
];
}
?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
var enableWhen = <?=Zend_Json::encode($enableWhen)?>;
function updateChildren() {
enableWhen.forEach(function (element) {
var enable = element.value == element.parentEl.value;
element.children.forEach(function (child) {
if (document.getElementById(child).tagName.toLowerCase() === 'select') {
toggleExtendedSelect(child, enable)
} else {
toggleEditableSelect(child, enable);
}
});
});
}
function toggleEditableSelect(child, enable) {
if (enable) {
var defaultText = document.getElementById(child + '-default-text').value;
if (document.getElementById(child).value) {
if (!document.getElementById(child + '-real').value) {
document.getElementById(child + '-real').value = document.getElementById(child).value.replace(defaultText, '');
}
} else {
document.getElementById(child + '-real').value = document.getElementById(child + '-default').value;
document.getElementById(child).value = document.getElementById(child + '-default').value + document.getElementById(child + '-default-text').value;
}
if (-1 < document.getElementById(child).value.indexOf(defaultText)) {
document.getElementById(child + '-reset-to-default').style.display = 'none';
} else {
document.getElementById(child + '-reset-to-default').style.display = '';
}
document.getElementById(child).disabled = false;
} else {
document.getElementById(child).disabled = true;
document.getElementById(child + '-real').value = document.getElementById(child + '-default').value;
document.getElementById(child + '-reset-to-default').style.display = 'none';
}
}
function toggleExtendedSelect(child, enable) {
if (enable) {
document.getElementById(child).disabled = false;
if (document.getElementById(child + '-default').value === document.getElementById(child).value) {
document.getElementById(child + '-reset-to-default').style.display = 'none';
} else {
document.getElementById(child + '-reset-to-default').style.display = '';
}
} else {
document.getElementById(child).disabled = true;
document.getElementById(child).value = document.getElementById(child + '-default').value;
document.getElementById(child + '-reset-to-default').style.display = 'none';
}
}
enableWhen.forEach(function (element) {
element.parentEl = document.getElementById(element.parent);
element.parentEl.addEventListener('change', updateChildren);
});
updateChildren();
});
//]]>
</script>

View File

@@ -1,17 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
window.addEventListener('load', function () {
document.getElementById('postRedirect').submit();
});
//]]>
</script>
<form id="postRedirect" action="<?php echo $this->url ?>" method="POST">
<?php foreach($this->formVariables as $name => $value): ?>
<input type='hidden' name='<?php echo $this->escape($name)?>' value='<?php echo $this->escape($value)?>' />
<?php endforeach; ?>
</form>

View File

@@ -1,22 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
{
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsEscape($this->limitDetails['title']); ?>,
valueRenderer: function() {
<?php if (in_array($this->limitName, ['max_traffic', 'disk_space'])): ?>
var value = <?php echo $this->jsHtml($this->partial('partials/gauge.phtml', ['limitDetails' => $this->limitDetails])); ?>;
<?php elseif (in_array($this->limitName, ['mbox_quota', 'mssql_dbase_filesize', 'mssql_dbase_log_filesize'])): ?>
var value = <?php echo $this->jsEscape($this->limitDetails['limitString']); ?>;
<?php else: ?>
var value = <?php echo $this->jsEscape($this->limitDetails['usageString']); ?>;
<?php endif; ?>
<?php if ($this->limitDetails['isOverused']): ?>
return '<div class="status-overused">' + value + '</div>';
<?php else: ?>
return value;
<?php endif; ?>
}
}

View File

@@ -1,73 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
{
componentType: 'Jsw.bar.Button',
title: <?php echo $this->jsLmsg('tabResources'); ?>,
tabId: 'tab-resources',
active: true,
content: new Jsw.Container({
items: [{
<?php if(isset($this->overusePolicy)):?>
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsLmsg('components.limits.overusePolicy'); ?>,
value: <?php if (Limits_Policy_Overuse_Helper::SCHEME_NONE == $this->overusePolicy) {
echo $this->jsLmsg('components.limits.overuseSuspend');
} elseif (Limits_Policy_Overuse_Helper::SCHEME_SOFT == $this->overusePolicy) {
echo $this->jsLmsg('components.limits.overuseBlock');
} else {
echo $this->jsLmsg('components.limits.overuse');
} ?>
<?php if ($this->overusePolicyNotify): ?>
+ ' (' + <?php echo $this->jsLmsg('components.limits.overuseNotify'); ?> + ')'
<?php endif; ?>
}, {
<?php endif;?>
<?php if(isset($this->oversellPolicyHint)):?>
componentType: 'Jsw.Hint',
hint: <?php echo $this->jsEscape($this->oversellPolicyHint); ?>
}, {
<?php endif;?>
<?php if(isset($this->oversellPolicy)):?>
componentType: 'Jsw.form.DisplayField',
fieldLabel: <?php echo $this->jsLmsg('components.limits.oversellPolicy'); ?>,
componentType: 'Jsw.form.DisplayField',
value: <?php echo $this->jsHtml($this->switchState($this->oversellPolicy)); ?>
<?php if(isset($this->oversellPolicyEditLink)): ?>
+ ' <a href="' + Jsw.prepareUrl('<?php echo $this->oversellPolicyEditLink; ?>')
+ '">' + <?php echo $this->jsLmsg('changeOversellPolicyLink'); ?> + '</a>'
<?php endif; ?>
}, {
<?php endif;?>
componentType: 'Jsw.Panel',
cls: 'form-box',
title: '-'
}, {
componentType: 'Jsw.layout.TwoColumns',
items: [{
componentType: 'Jsw.Panel',
cls: 'form-box form-box-50x50',
items: [{
componentType: 'Jsw.Hint',
hint: <?php echo $this->jsLmsg('resourcesSummaryHint'); ?>
},
<?php foreach ($this->mainResourceLimits as $limitName => $limitDetails): ?>
<?php echo $this->partial('partials/resource-component.phtml', array('limitName' => $limitName, 'limitDetails' => $limitDetails)); ?>,
<?php endforeach; ?>
null]
}, {
componentType: 'Jsw.Panel',
id: 'panelMoreResources',
cls: 'form-box form-box-50x50 b-collapsible',
title: <?php echo $this->jsLmsg('showMoreResources'); ?>,
hideContentTitle: <?php echo $this->jsLmsg('hideMoreResources'); ?>,
collapsed: <?php echo $this->additionalLimitsExpanded? 'false': 'true';?>,
items: [
<?php foreach ($this->additionalResourceLimits as $limitName => $limitDetails): ?>
<?php echo $this->partial('partials/resource-component.phtml', array('limitName' => $limitName, 'limitDetails' => $limitDetails)); ?>,
<?php endforeach; ?>
null]
}]
}]
})
}

View File

@@ -1,13 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="indent-box">
<div class="indent-box-content">
<p><b><?php echo $this->lmsg('disabledDisclamer'); ?></b></p>
<ol class="ol">
<li><?php echo $this->lmsg('disabledDisclamerItem1'); ?></li>
<li><?php echo $this->lmsg('disabledDisclamerItem2'); ?></li>
<li><?php echo $this->lmsg('disabledDisclamerItem3'); ?></li>
</ol>
</div>
</div>

View File

@@ -1,35 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div id="secureDescription" style="display: none;">
<div>
<p><b><?php echo $this->lmsg('enabledHeader'); ?></b></p>
</div>
<p><?php echo $this->lmsg('enabledExplanation'); ?></p>
<ol class="ol">
<li><?php echo $this->lmsg('enabledExplanationItem1'); ?></li>
<li><?php echo $this->lmsg('enabledExplanationItem2'); ?></li>
</ol>
<p><b><?php echo $this->lmsg('enabledNote'); ?></b></p>
</div>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function () {
var hintContainer = document.createElement('span');
hintContainer.className = 'hint-inline hint-info';
var hint = document.createElement('span');
hint.innerHTML = <?php echo $this->jsLmsg('hintInfo'); ?>;
Jsw.render(hintContainer, hint);
Jsw.render(document.querySelector('#encryptionSection label'), hintContainer, 'after');
new Jsw.DynamicPopupHint.Instance({
title: <?php echo $this->jsLmsg('hintTitle'); ?>,
placement: 'right',
target: hint,
content: document.getElementById('secureDescription').innerHTML
});
document.getElementById('secureDescription').innerHTML = '';
});
//]]>
</script>

View File

@@ -1,29 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class="panel panel-collapsible <?= $this->titleCssClass ?>" id="<?= $this->id ?>">
<div class="panel-wrap">
<?php if ($this->title): ?>
<div class="panel-heading">
<div class="panel-heading-wrap">
<span class="panel-control"><i></i></span>
<h4 class="panel-heading-name">
<span><?php echo $this->title; ?></span>
</h4>
</div>
</div>
<?php endif; ?>
<div class="panel-content">
<div class="panel-content-wrap" id="<?= "{$this->id}-content" ?>">
<?php if (is_array($this->context)) {
$this->context = array_merge(['renderTo' => "{$this->id}-content"], $this->context);
} elseif (is_null($this->context)) {
$this->context = ['renderTo' => "{$this->id}-content"];
} elseif (is_object($this->context) && !$this->context->renderTo) {
$this->context->renderTo = "{$this->id}-content";
} ?>
<?= $this->partial($this->contentTemplate, null, $this->context) ?>
</div>
</div>
</div>
</div>

View File

@@ -1,8 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script>
Jsw.onReady(function() {
new Jsw.SplitButton(<?php echo Zend_Json::encode($this->getVars(), false, ['enableJsonExprFinder' => true]); ?>);
});
</script>

View File

@@ -1,44 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<div class='form-row'>
<div class='field-name'>
<?php echo $this->elementPart($this->element->getElement($this->subdomainElementName))->label(); ?>
</div>
<div class='field-value field-value--reduced-offset'>
<span>
<?php echo $this->elementPart($this->element->getElement($this->subdomainElementName))->content(); ?>
<b>.</b>
<?php if ($this->domainName): ?>
<b><?php echo $this->domainName; ?> </b>
<?php else: ?>
<?php echo $this->elementPart($this->element->getElement($this->domainElementName))->content(); ?>
<?php endif; ?>
</span>
<span class="field-errors" style="display: none;"></span>
<span class="hint"><?php echo $this->elementPart($this->element->getElement($this->subdomainElementName))->description(); ?></span>
</div>
</div>
<script>
(() => {
const subdomainEl = document.getElementById('<?= $this->element->getElement($this->subdomainElementName)->getId() ?>');
const domainLookup = <?= $this->domainName ? 'null' : "Jsw.getComponent('" . $this->element->getElement($this->domainElementName)->getId() . "')" ?>;
const formEl = subdomainEl.closest('form');
const handleDomainNameChange = () => {
const domainPrefix = subdomainEl.value;
const domainSuffix = domainLookup ? domainLookup.getDisplayValue() : <?= $this->jsEscape($this->domainName) ?>;
const domainName = domainPrefix === '*' ? 'httpdocs' : (domainPrefix && domainSuffix ? domainPrefix + '.' + domainSuffix : '');
formEl.dispatchEvent(new CustomEvent('domainNameChange', { detail: domainName }));
};
['change', 'keyup'].forEach(eventName => {
subdomainEl.addEventListener(eventName, handleDomainNameChange);
});
if (domainLookup) {
// Temporary workaround for custom prototype's event 'component:change'
domainLookup.addEventObserver('dataavailable', handleDomainNameChange);
}
})();
</script>

View File

@@ -1,37 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<script type="text/javascript">
//<![CDATA[
Jsw.namespace('Admin.Views.Subscription');
<?php
echo $this->partial('partials/subscription/change-presubmit-handler.phtml', [
'formId' => 'subscriptionInfo',
'notConfiguredMailPlans' => $this->notConfiguredMailPlans,
]);
?>
Jsw.onReady(function () {
var updateControlsState = function () {
var addonPlanSelector = document.getElementById('subscriptionInfo-addonPlanSelector');
if ('0' === document.getElementById('subscriptionInfo-servicePlan').value) {
if (addonPlanSelector) {
addonPlanSelector.closest('.form-row').style.display = 'none';
}
document.getElementById('subscriptionInfo-customize').checked = true;
} else {
if (addonPlanSelector) {
addonPlanSelector.closest('.form-row').style.display = '';
}
document.getElementById('subscriptionInfo-customize').checked = false;
}
}
if (document.getElementById('subscriptionInfo-servicePlan')) {
updateControlsState();
document.getElementById('subscriptionInfo-servicePlan').addEventListener('change', updateControlsState);
}
});
//]]>
</script>

View File

@@ -1,27 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
Admin.Views.Subscription.changePreSubmitHandler = function(form) {
var notConfiguredMailPlans = <?php echo Zend_Json::encode($this->notConfiguredMailPlans); ?>;
if (
document.getElementById('<?php echo $this->formId; ?>-removeMailConfirm') &&
document.getElementById('<?php echo $this->formId; ?>-removeMailConfirm').value !== 'true' &&
notConfiguredMailPlans.indexOf(+document.getElementById('<?php echo $this->formId; ?>-servicePlan').value) !== -1
) {
Jsw.messageBox.show({
type: Jsw.messageBox.TYPE_YESNO,
buttonTitles: {
yes: <?php echo $this->jsLmsg('admin.controllers.subscription.change-current.confirmationYes'); ?>,
no: <?php echo $this->jsLmsg('admin.controllers.subscription.change-current.confirmationNo'); ?>,
},
text: <?php echo $this->jsLmsg('admin.controllers.subscription.change-current.removeMailConfirmText'); ?>,
subtype: 'toggle',
onYesClick: function () {
document.getElementById('<?php echo $this->formId; ?>-removeMailConfirm').value = 'true';
Jsw.submit(document.getElementById(form._applyTargetId));
}
});
return false;
}
return true;
};

View File

@@ -1,28 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php if ($this->tabs) : ?>
<script type="text/javascript">
//<![CDATA[
(function () {
var renderTo = '<?php echo $this->renderTo; ?>' || 'main';
var renderTabs = function () {
new Jsw.bar.Tabs({
cls: 'tabs',
renderTo: renderTo,
<?php if ($this->renderMode): ?>
renderMode: '<?php echo $this->renderMode; ?>',
<?php endif; ?>
items: <?php echo is_array($this->tabs) ? Zend_Json::encode($this->tabs) : $this->tabs; ?>
});
};
if (document.getElementById(renderTo)) {
renderTabs();
} else {
Jsw.onReady(renderTabs);
}
})();
//]]>
</script>
<?php endif; ?>

View File

@@ -1,21 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php
$execElement = $this->element->getElement('exec');
$argumentsElement = $this->element->getElement('arguments');
?>
<div class='form-row' id="<?php echo $execElement->getId(); ?>-form-row">
<div class='field-name'>
<?php echo $this->elementPart($execElement)->label(); ?>
</div>
<div class='field-value'>
<?php echo $this->elementPart($execElement)->content(); ?>
<?php echo $this->elementPart($argumentsElement)->label(); ?>
<?php echo $this->elementPart($argumentsElement)->content(); ?>
<span class="field-errors" style="display: none;"></span>
<?php if ($hint = $this->elementPart($execElement)->description()): ?>
<span class="hint"><?php echo $hint; ?></span>
<?php endif; ?>
</div>
</div>

View File

@@ -1,48 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php
$phpElement = $this->element->getElement('php');
$phpArgumentsElement = $this->element->getElement('phpArguments');
$subscriptionElement = $this->element->getForm()->getElement('subscription');
?>
<div class='form-row' id="<?php echo $phpElement->getId(); ?>-form-row">
<div class='field-name'>
<?php echo $this->elementPart($phpElement)->label(); ?>
</div>
<div class='field-value'>
<?php echo $this->elementPart($phpElement)->content(); ?>
<?php if ($subscriptionElement): ?>
<a href="#" class="btn btn-icon-only input-btn" aria-label="<?php echo $this->jsLmsg('components.forms.scheduler.task.chooseFile') ?>" onClick="Smb.Scheduler.showScriptPathPopup(event);"><i class="icon-folder"></i></a>
<?php endif; ?>
<?php echo $this->elementPart($phpArgumentsElement)->label(); ?>
<?php echo $this->elementPart($phpArgumentsElement)->content(); ?>
<span class="field-errors" style="display: none;"></span>
<span class="hint"><?php echo $this->elementPart($phpElement)->description(); ?></span>
</div>
</div>
<?php if ($subscriptionElement): ?>
<script type="text/javascript">
//<![CDATA[
Jsw.onReady(function() {
Jsw.namespace('Smb.Scheduler');
Smb.Scheduler.showScriptPathPopup = function (event) {
event.preventDefault();
new Jsw.DirectoryBrowser({
cls: 'popup-panel',
locale: {
title: <?php echo $this->jsLmsg('components.forms.scheduler.task.scriptPathPopupTitle') ?>,
buttonOk: <?php echo $this->jsLmsg('components.buttons.ok') ?>,
buttonCancel: <?php echo $this->jsLmsg('components.buttons.cancel') ?>
},
pathElementId: '<?php echo $phpElement->getId() ?>',
subscriptionId: document.getElementById('<?php echo $subscriptionElement->getId() ?>').value,
showFiles: true
});
};
});
//]]>
</script>
<?php endif; ?>

View File

@@ -1,94 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
?>
<?php
$elementIds = [];
foreach (['exec', 'http', 'php', 'arguments', 'phpArguments', 'phpHandlerId', 'subscription', 'sysUserLogin'] as $id) {
if ($this->form->getElement($id)) {
$elementIds[$id] = $this->form->getElement($id)->getId();
}
}
?>
<script type="text/javascript">
//<![CDATA[
Jsw.namespace('Jsw.ScheduledTasks');
Jsw.ScheduledTasks.TaskForm = {
runTask: function (event) {
event.preventDefault();
var elementIds = <?=json_encode($elementIds)?>;
var checkedRadio = document.querySelectorAll('input:checked[name=taskType]');
var checkedType = checkedRadio ? checkedRadio[0].value : 'exec';
var row = document.getElementById(elementIds[checkedType] + '-form-row');
if (document.getElementById(elementIds[checkedType]).value.length) {
row.classList.remove('error');
row.querySelector('.field-errors').style.display = 'none';
} else {
row.classList.add('error');
row.querySelector('.field-errors').innerHTML = '<span class="error-hint">' + '<?php echo Plesk_Base_Utils_String::safeForJs($this->lmsg('components.validators.isEmpty')) ?>' + '</span>';
row.querySelector('.field-errors').style.display = '';
return;
}
var subscription = document.getElementById(elementIds.subscription);
var sysUserLogin = document.getElementById(elementIds.sysUserLogin);
var taskName = document.getElementById(elementIds[checkedType]).value;
var taskLabel = '<?php echo Plesk_Base_Utils_String::safeForJs($this->form->lmsg('runningTask')) ?>';
var progressBar = Jsw.getComponent('asyncProgressBarWrapper');
var itemId = progressBar.fly(Element.cumulativeOffset(event.target),
taskLabel.replace('%%task%%', Jsw.escapeHtml(taskName)),
function () {
var parameters = {
id: 0,
type: checkedType,
command: document.getElementById(elementIds[checkedType]).value,
arguments: '',
subscription: subscription ? subscription.value : null,
sysUserLogin: sysUserLogin ? sysUserLogin.value : null
};
if ('exec' === checkedType && elementIds.arguments) {
parameters.arguments = document.getElementById(elementIds.arguments).value;
} else if ('php' === checkedType) {
parameters.arguments = document.getElementById(elementIds.phpArguments).value;
parameters.phpHandlerId = document.getElementById(elementIds.phpHandlerId).value;
}
new Ajax.Request(Jsw.prepareUrl('/scheduler/run-task'), {
method: 'post',
parameters: parameters,
onSuccess: function (response) {
progressBar.removePreparingItem(itemId);
progressBar.update();
}
});
});
}
};
Jsw.onReady(function () {
var taskTypeControlState = function () {
var checkedRadio = document.querySelectorAll('input:checked[name=taskType]');
var checkedType = checkedRadio ? checkedRadio[0].value : 'exec';
['exec', 'http', 'php', 'phpHandlerId'].map(function (id) {
return document.getElementById(id);
}).filter(function (element) {
return !!element;
}).forEach(function (item) {
item.closest('div.form-row').style.display = item.id.indexOf(checkedType) === 0 ? '' : 'none';
});
};
var notificationControlState = function () {
document.getElementById('<?php echo $this->form->getElement('emailType')->getId() ?>-form-row').style.display = document.getElementById('<?php echo $this->form->getElement('notify')->getId() ?>-ignore').checked ? 'none' : '';
};
document.querySelectorAll('input[name=taskType]').forEach(function (el) {
el.addEventListener('change', taskTypeControlState);
});
taskTypeControlState();
document.querySelectorAll('input[name=<?php echo $this->form->getElement('notify')->getId() ?>]').forEach(function (el) {
el.addEventListener('change', notificationControlState);
});
notificationControlState();
});
//]]>
</script>

Some files were not shown because too many files have changed in this diff Show More