more work on add/edit forms
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
@@ -119,6 +119,7 @@ if ($page == 'ipsandports' || $page == 'overview') {
|
||||
$ipsandports_add_data = include_once dirname(__FILE__) . '/lib/formfields/admin/ipsandports/formfield.ipsandports_add.php';
|
||||
|
||||
UI::twigBuffer('user/form.html.twig', [
|
||||
'formaction' => $linker->getLink(array('section' => 'ipsandports')),
|
||||
'formdata' => $ipsandports_add_data['ipsandports_add']
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
@@ -152,6 +153,7 @@ if ($page == 'ipsandports' || $page == 'overview') {
|
||||
$ipsandports_edit_data = include_once dirname(__FILE__) . '/lib/formfields/admin/ipsandports/formfield.ipsandports_edit.php';
|
||||
|
||||
UI::twigBuffer('user/form.html.twig', [
|
||||
'formaction' => $linker->getLink(array('section' => 'ipsandports', 'id' => $id)),
|
||||
'formdata' => $ipsandports_edit_data['ipsandports_edit']
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
|
||||
@@ -21,6 +21,7 @@ require __DIR__ . '/lib/init.php';
|
||||
use Froxlor\Api\Commands\HostingPlans;
|
||||
use Froxlor\Database\Database;
|
||||
use Froxlor\Settings;
|
||||
use Froxlor\UI\Panel\UI;
|
||||
use Froxlor\UI\Request;
|
||||
|
||||
$id = (int) Request::get('id');
|
||||
@@ -60,7 +61,7 @@ if ($page == '' || $page == 'overview') {
|
||||
$row = \Froxlor\PhpHelper::htmlentitiesArray($row);
|
||||
$row['ts_format'] = date("d.m.Y H:i", $row['ts']);
|
||||
eval("\$plans.=\"" . \Froxlor\UI\Template::getTemplate("plans/plans_plan") . "\";");
|
||||
$count ++;
|
||||
$count++;
|
||||
}
|
||||
|
||||
eval("echo \"" . \Froxlor\UI\Template::getTemplate("plans/plans") . "\";");
|
||||
@@ -114,17 +115,7 @@ if ($page == '' || $page == 'overview') {
|
||||
));
|
||||
} else {
|
||||
|
||||
$diskspace_ul = \Froxlor\UI\HTML::makecheckbox('diskspace_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||
$traffic_ul = \Froxlor\UI\HTML::makecheckbox('traffic_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||
$subdomains_ul = \Froxlor\UI\HTML::makecheckbox('subdomains_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||
$emails_ul = \Froxlor\UI\HTML::makecheckbox('emails_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||
$email_accounts_ul = \Froxlor\UI\HTML::makecheckbox('email_accounts_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||
$email_forwarders_ul = \Froxlor\UI\HTML::makecheckbox('email_forwarders_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||
$email_quota_ul = \Froxlor\UI\HTML::makecheckbox('email_quota_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||
$ftps_ul = \Froxlor\UI\HTML::makecheckbox('ftps_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||
$mysqls_ul = \Froxlor\UI\HTML::makecheckbox('mysqls_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true);
|
||||
|
||||
$phpconfigs = array();
|
||||
$phpconfigs = [];
|
||||
$configs = Database::query("
|
||||
SELECT c.*, fc.description as interpreter
|
||||
FROM `" . TABLE_PANEL_PHPCONFIGS . "` c
|
||||
@@ -133,12 +124,12 @@ if ($page == '' || $page == 'overview') {
|
||||
while ($row = $configs->fetch(PDO::FETCH_ASSOC)) {
|
||||
if ((int) Settings::Get('phpfpm.enabled') == 1) {
|
||||
$phpconfigs[] = array(
|
||||
'label' => $row['description'] . " [" . $row['interpreter'] . "]<br />",
|
||||
'label' => $row['description'] . " [" . $row['interpreter'] . "]",
|
||||
'value' => $row['id']
|
||||
);
|
||||
} else {
|
||||
$phpconfigs[] = array(
|
||||
'label' => $row['description'] . "<br />",
|
||||
'label' => $row['description'],
|
||||
'value' => $row['id']
|
||||
);
|
||||
}
|
||||
@@ -157,12 +148,12 @@ if ($page == '' || $page == 'overview') {
|
||||
unset($cust_add_data['customer_add']['sections']['section_cpre']);
|
||||
// merge
|
||||
$plans_add_data['plans_add']['sections'] = array_merge($plans_add_data['plans_add']['sections'], $cust_add_data['customer_add']['sections']);
|
||||
$plans_add_form = \Froxlor\UI\HtmlForm::genHTMLForm($plans_add_data);
|
||||
|
||||
$title = $plans_add_data['plans_add']['title'];
|
||||
$image = $plans_add_data['plans_add']['image'];
|
||||
|
||||
eval("echo \"" . \Froxlor\UI\Template::getTemplate("plans/plans_add") . "\";");
|
||||
UI::twigBuffer('user/form.html.twig', [
|
||||
'formaction' => $linker->getLink(array('section' => 'plans')),
|
||||
'formdata' => $plans_add_data['plans_add']
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
}
|
||||
} elseif ($action == 'edit' && $id != 0) {
|
||||
try {
|
||||
@@ -197,52 +188,7 @@ if ($page == '' || $page == 'overview') {
|
||||
));
|
||||
} else {
|
||||
|
||||
$diskspace_ul = \Froxlor\UI\HTML::makecheckbox('diskspace_ul', $lng['customer']['unlimited'], '-1', false, $result['diskspace'], true, true);
|
||||
if ($result['diskspace'] == '-1') {
|
||||
$result['diskspace'] = '';
|
||||
}
|
||||
|
||||
$traffic_ul = \Froxlor\UI\HTML::makecheckbox('traffic_ul', $lng['customer']['unlimited'], '-1', false, $result['traffic'], true, true);
|
||||
if ($result['traffic'] == '-1') {
|
||||
$result['traffic'] = '';
|
||||
}
|
||||
|
||||
$subdomains_ul = \Froxlor\UI\HTML::makecheckbox('subdomains_ul', $lng['customer']['unlimited'], '-1', false, $result['subdomains'], true, true);
|
||||
if ($result['subdomains'] == '-1') {
|
||||
$result['subdomains'] = '';
|
||||
}
|
||||
|
||||
$emails_ul = \Froxlor\UI\HTML::makecheckbox('emails_ul', $lng['customer']['unlimited'], '-1', false, $result['emails'], true, true);
|
||||
if ($result['emails'] == '-1') {
|
||||
$result['emails'] = '';
|
||||
}
|
||||
|
||||
$email_accounts_ul = \Froxlor\UI\HTML::makecheckbox('email_accounts_ul', $lng['customer']['unlimited'], '-1', false, $result['email_accounts'], true, true);
|
||||
if ($result['email_accounts'] == '-1') {
|
||||
$result['email_accounts'] = '';
|
||||
}
|
||||
|
||||
$email_forwarders_ul = \Froxlor\UI\HTML::makecheckbox('email_forwarders_ul', $lng['customer']['unlimited'], '-1', false, $result['email_forwarders'], true, true);
|
||||
if ($result['email_forwarders'] == '-1') {
|
||||
$result['email_forwarders'] = '';
|
||||
}
|
||||
|
||||
$email_quota_ul = \Froxlor\UI\HTML::makecheckbox('email_quota_ul', $lng['customer']['unlimited'], '-1', false, $result['email_quota'], true, true);
|
||||
if ($result['email_quota'] == '-1') {
|
||||
$result['email_quota'] = '';
|
||||
}
|
||||
|
||||
$ftps_ul = \Froxlor\UI\HTML::makecheckbox('ftps_ul', $lng['customer']['unlimited'], '-1', false, $result['ftps'], true, true);
|
||||
if ($result['ftps'] == '-1') {
|
||||
$result['ftps'] = '';
|
||||
}
|
||||
|
||||
$mysqls_ul = \Froxlor\UI\HTML::makecheckbox('mysqls_ul', $lng['customer']['unlimited'], '-1', false, $result['mysqls'], true, true);
|
||||
if ($result['mysqls'] == '-1') {
|
||||
$result['mysqls'] = '';
|
||||
}
|
||||
|
||||
$phpconfigs = array();
|
||||
$phpconfigs = [];
|
||||
$configs = Database::query("
|
||||
SELECT c.*, fc.description as interpreter
|
||||
FROM `" . TABLE_PANEL_PHPCONFIGS . "` c
|
||||
@@ -251,12 +197,12 @@ if ($page == '' || $page == 'overview') {
|
||||
while ($row = $configs->fetch(PDO::FETCH_ASSOC)) {
|
||||
if ((int) Settings::Get('phpfpm.enabled') == 1) {
|
||||
$phpconfigs[] = array(
|
||||
'label' => $row['description'] . " [" . $row['interpreter'] . "]<br />",
|
||||
'label' => $row['description'] . " [" . $row['interpreter'] . "]",
|
||||
'value' => $row['id']
|
||||
);
|
||||
} else {
|
||||
$phpconfigs[] = array(
|
||||
'label' => $row['description'] . "<br />",
|
||||
'label' => $row['description'],
|
||||
'value' => $row['id']
|
||||
);
|
||||
}
|
||||
@@ -296,12 +242,12 @@ if ($page == '' || $page == 'overview') {
|
||||
unset($cust_edit_data['customer_edit']['sections']['section_cpre']);
|
||||
// merge
|
||||
$plans_edit_data['plans_edit']['sections'] = array_merge($plans_edit_data['plans_edit']['sections'], $cust_edit_data['customer_edit']['sections']);
|
||||
$plans_edit_form = \Froxlor\UI\HtmlForm::genHTMLForm($plans_edit_data);
|
||||
|
||||
$title = $plans_edit_data['plans_edit']['title'];
|
||||
$image = $plans_edit_data['plans_edit']['image'];
|
||||
|
||||
eval("echo \"" . \Froxlor\UI\Template::getTemplate("plans/plans_edit") . "\";");
|
||||
UI::twigBuffer('user/form.html.twig', [
|
||||
'formaction' => $linker->getLink(array('section' => 'plans', 'id' => $id)),
|
||||
'formdata' => $plans_add_data['plans_add']
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
}
|
||||
}
|
||||
} elseif ($action == 'jqGetPlanValues') {
|
||||
|
||||
@@ -22,6 +22,7 @@ require __DIR__ . '/lib/init.php';
|
||||
|
||||
use Froxlor\Database\Database;
|
||||
use Froxlor\Settings;
|
||||
use Froxlor\UI\Panel\UI;
|
||||
use Froxlor\UI\Request;
|
||||
|
||||
$id = (int) Request::get('id');
|
||||
@@ -218,12 +219,12 @@ if ($action == '') {
|
||||
$lng = $lng_bak;
|
||||
|
||||
$template_add_data = include_once dirname(__FILE__) . '/lib/formfields/admin/templates/formfield.template_add.php';
|
||||
$template_add_form = \Froxlor\UI\HtmlForm::genHTMLForm($template_add_data);
|
||||
|
||||
$title = $template_add_data['template_add']['title'];
|
||||
$image = $template_add_data['template_add']['image'];
|
||||
|
||||
eval("echo \"" . \Froxlor\UI\Template::getTemplate("templates/templates_add_2") . "\";");
|
||||
UI::twigBuffer('user/form.html.twig', [
|
||||
'formaction' => $linker->getLink(array('section' => 'templates')),
|
||||
'formdata' => $template_add_data['template_add']
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
} elseif (isset($_POST['send']) && $_POST['send'] == 'send') {
|
||||
// email templates
|
||||
$language = htmlentities(\Froxlor\Validate\Validate::validate($_POST['language'], 'language', '/^[^\r\n\0"\']+$/', 'nolanguageselect'));
|
||||
@@ -305,12 +306,12 @@ if ($action == '') {
|
||||
'page' => $page,
|
||||
's' => $s
|
||||
));
|
||||
} elseif (! isset($_GET['files'])) {
|
||||
} elseif (!isset($_GET['files'])) {
|
||||
|
||||
// email templates
|
||||
$add = false;
|
||||
$language_options = '';
|
||||
$template_options = '';
|
||||
$language_options = [];
|
||||
$template_options = [];
|
||||
|
||||
foreach ($languages as $language_file => $language_name) {
|
||||
$templates = array();
|
||||
@@ -329,18 +330,47 @@ if ($action == '') {
|
||||
|
||||
if (count(array_diff($available_templates, $templates)) > 0) {
|
||||
$add = true;
|
||||
$language_options .= \Froxlor\UI\HTML::makeoption($language_name, $language_file, $userinfo['language'], true, true);
|
||||
$language_options[$language_file] = $language_name;
|
||||
|
||||
$templates = array_diff($available_templates, $templates);
|
||||
|
||||
foreach ($templates as $template) {
|
||||
$template_options .= \Froxlor\UI\HTML::makeoption($lng['admin']['templates'][$template], $template, NULL, true, true, $language_file) . "\n";
|
||||
$template_options[$template] = $lng['admin']['templates'][$template];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($add) {
|
||||
eval("echo \"" . \Froxlor\UI\Template::getTemplate("templates/templates_add_1") . "\";");
|
||||
UI::twigBuffer('user/form.html.twig', [
|
||||
'formaction' => $linker->getLink(array('section' => 'templates')),
|
||||
'formdata' => [
|
||||
'title' => $lng['admin']['templates']['template_add'],
|
||||
'image' => 'fa-solid fa-plus',
|
||||
'sections' => [
|
||||
'section_a' => [
|
||||
'title' => $lng['admin']['templates']['template_add'],
|
||||
'fields' => [
|
||||
'language' => [
|
||||
'label' => $lng['login']['language'],
|
||||
'type' => 'select',
|
||||
'select_var' => $language_options,
|
||||
'selected' => $userinfo['language']
|
||||
],
|
||||
'template' => [
|
||||
'label' => $lng['admin']['templates']['action'],
|
||||
'type' => 'select',
|
||||
'select_var' => $template_options
|
||||
],
|
||||
'prepare' => [
|
||||
'type' => 'hidden',
|
||||
'value' => 'prepare'
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
} else {
|
||||
\Froxlor\UI\Response::standard_error('alltemplatesdefined');
|
||||
}
|
||||
|
||||
@@ -25,13 +25,16 @@ return array(
|
||||
'fields' => array(
|
||||
'ip' => array(
|
||||
'label' => $lng['admin']['ipsandports']['ip'],
|
||||
'type' => 'text'
|
||||
'type' => 'text',
|
||||
'mandatory' => true
|
||||
),
|
||||
'port' => array(
|
||||
'label' => $lng['admin']['ipsandports']['port'],
|
||||
'type' => 'number',
|
||||
'min' => 1,
|
||||
'max' => 65535
|
||||
'max' => 65535,
|
||||
'value' => 80,
|
||||
'mandatory' => true
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
@@ -26,14 +26,16 @@ return array(
|
||||
'ip' => array(
|
||||
'label' => $lng['admin']['ipsandports']['ip'],
|
||||
'type' => 'text',
|
||||
'value' => $result['ip']
|
||||
'value' => $result['ip'],
|
||||
'mandatory' => true
|
||||
),
|
||||
'port' => array(
|
||||
'label' => $lng['admin']['ipsandports']['port'],
|
||||
'type' => 'number',
|
||||
'value' => $result['port'],
|
||||
'min' => 1,
|
||||
'max' => 65535
|
||||
'max' => 65535,
|
||||
'mandatory' => true
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
@@ -25,7 +25,8 @@ return array(
|
||||
'fields' => array(
|
||||
'name' => array(
|
||||
'label' => $lng['admin']['plans']['name'],
|
||||
'type' => 'text'
|
||||
'type' => 'text',
|
||||
'mandatory' => true
|
||||
),
|
||||
'description' => array(
|
||||
'label' => $lng['admin']['plans']['description'],
|
||||
|
||||
@@ -26,7 +26,8 @@ return array(
|
||||
'name' => array(
|
||||
'label' => $lng['admin']['plans']['name'],
|
||||
'type' => 'text',
|
||||
'value' => $result['name']
|
||||
'value' => $result['name'],
|
||||
'mandatory' => true
|
||||
),
|
||||
'description' => array(
|
||||
'label' => $lng['admin']['plans']['description'],
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{% macro fieldrow(id, field, norow = false) %}
|
||||
{% if field.visible is not defined or (field.visible is defined and field.visible) %}
|
||||
{% if norow == false %}
|
||||
{% if norow == false and field.type != 'hidden' %}
|
||||
<div class="row mb-3">
|
||||
<label for="{{ id }}" class="col-sm-4 col-form-label">{{ field.label|raw }}
|
||||
{% if field.desc is defined and field.desc is not empty %}<br><small>{{ field.desc|raw }}</small>
|
||||
@@ -8,7 +8,7 @@
|
||||
</label>
|
||||
<div class="col-sm-8">
|
||||
{% endif %}
|
||||
{% if field.type == 'text' or field.type == 'password' or field.type == 'number' or field.type == 'file' or field.type == 'email' %}
|
||||
{% if field.type == 'text' or field.type == 'password' or field.type == 'number' or field.type == 'file' or field.type == 'email' or field.type == 'hidden' %}
|
||||
{{ _self.input(id, field) }}
|
||||
{% elseif field.type == 'textul' %}
|
||||
{{ _self.input_ul(id, field) }}
|
||||
@@ -25,7 +25,7 @@
|
||||
{% elseif field.type == 'itemlist' %}
|
||||
{{ _self.itemlist(id, field) }}
|
||||
{% endif %}
|
||||
{% if norow == false %}
|
||||
{% if norow == false and field.type != 'hidden' %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user