some work on mail/file template formfields
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
@@ -220,9 +220,10 @@ if ($action == '') {
|
||||
|
||||
$template_add_data = include_once dirname(__FILE__) . '/lib/formfields/admin/templates/formfield.template_add.php';
|
||||
|
||||
UI::twigBuffer('user/form.html.twig', [
|
||||
UI::twigBuffer('user/form-replacers.html.twig', [
|
||||
'formaction' => $linker->getLink(array('section' => 'templates')),
|
||||
'formdata' => $template_add_data['template_add']
|
||||
'formdata' => $template_add_data['template_add'],
|
||||
'replacers' => $template_add_data['template_replacers']
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
} elseif (isset($_POST['send']) && $_POST['send'] == 'send') {
|
||||
@@ -388,23 +389,24 @@ if ($action == '') {
|
||||
} else {
|
||||
|
||||
$templatesdefined = array();
|
||||
$free_templates = '';
|
||||
$free_templates = [];
|
||||
|
||||
while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$templatesdefined[] = $row['varname'];
|
||||
}
|
||||
|
||||
foreach (array_diff($file_templates, $templatesdefined) as $template) {
|
||||
$free_templates .= \Froxlor\UI\HTML::makeoption($lng['admin']['templates'][$template], $template, '', true);
|
||||
$free_templates[$template] = $lng['admin']['templates'][$template];
|
||||
}
|
||||
|
||||
$filetemplate_add_data = include_once dirname(__FILE__) . '/lib/formfields/admin/templates/formfield.filetemplate_add.php';
|
||||
$filetemplate_add_form = \Froxlor\UI\HtmlForm::genHTMLForm($filetemplate_add_data);
|
||||
|
||||
$title = $filetemplate_add_data['filetemplate_add']['title'];
|
||||
$image = $filetemplate_add_data['filetemplate_add']['image'];
|
||||
|
||||
eval("echo \"" . \Froxlor\UI\Template::getTemplate("templates/filetemplates_add") . "\";");
|
||||
UI::twigBuffer('user/form-replacers.html.twig', [
|
||||
'formaction' => $linker->getLink(array('section' => 'templates')),
|
||||
'formdata' => $filetemplate_add_data['filetemplate_add'],
|
||||
'replacers' => $filetemplate_add_data['filetemplate_replacers']
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
}
|
||||
}
|
||||
} elseif ($action == 'edit' && $subjectid != 0 && $mailbodyid != 0) {
|
||||
@@ -449,7 +451,7 @@ if ($action == '') {
|
||||
} else {
|
||||
|
||||
$result = \Froxlor\PhpHelper::htmlentitiesArray($result);
|
||||
$template = $lng['admin']['templates'][str_replace('_subject', '', $result['varname'])];
|
||||
$template_name = $lng['admin']['templates'][str_replace('_subject', '', $result['varname'])];
|
||||
$subject = $result['value'];
|
||||
$result_stmt = Database::prepare("
|
||||
SELECT `language`, `varname`, `value`
|
||||
@@ -460,7 +462,7 @@ if ($action == '') {
|
||||
));
|
||||
$result = $result_stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
$template_name = str_replace('_mailbody', '', $result['varname']);
|
||||
$template = str_replace('_mailbody', '', $result['varname']);
|
||||
|
||||
// don't escape the already escaped language-string so save up before htmlentities()
|
||||
$language = $result['language'];
|
||||
@@ -468,12 +470,13 @@ if ($action == '') {
|
||||
$mailbody = $result['value'];
|
||||
|
||||
$template_edit_data = include_once dirname(__FILE__) . '/lib/formfields/admin/templates/formfield.template_edit.php';
|
||||
$template_edit_form = \Froxlor\UI\HtmlForm::genHTMLForm($template_edit_data);
|
||||
|
||||
$title = $template_edit_data['template_edit']['title'];
|
||||
$image = $template_edit_data['template_edit']['image'];
|
||||
|
||||
eval("echo \"" . \Froxlor\UI\Template::getTemplate("templates/templates_edit") . "\";");
|
||||
UI::twigBuffer('user/form-replacers.html.twig', [
|
||||
'formaction' => $linker->getLink(array('section' => 'templates')),
|
||||
'formdata' => $template_edit_data['template_edit'],
|
||||
'replacers' => $template_edit_data['template_replacers']
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
}
|
||||
}
|
||||
} elseif ($action == 'editf' && $id != 0) {
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
* @package Formfields
|
||||
*
|
||||
*/
|
||||
|
||||
return array(
|
||||
'filetemplate_add' => array(
|
||||
'title' => $lng['admin']['templates']['template_add'],
|
||||
@@ -26,17 +27,44 @@ return array(
|
||||
'template' => array(
|
||||
'label' => $lng['admin']['templates']['action'],
|
||||
'type' => 'select',
|
||||
'select_var' => $free_templates,
|
||||
'selected' => '@TODO'
|
||||
'select_var' => $free_templates
|
||||
),
|
||||
'filecontent' => array(
|
||||
'label' => $lng['admin']['templates']['filecontent'],
|
||||
'type' => 'textarea',
|
||||
'cols' => 60,
|
||||
'rows' => 12
|
||||
),
|
||||
'filesend' => array(
|
||||
'type' => 'hidden',
|
||||
'value' => 'filesend'
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
'filetemplate_replacers' => [
|
||||
'replacers' => [
|
||||
[
|
||||
'var' => 'SERVERNAME',
|
||||
'description' => $lng['admin']['templates']['SERVERNAME']
|
||||
],
|
||||
[
|
||||
'var' => 'CUSTOMER',
|
||||
'description' => $lng['admin']['templates']['CUSTOMER']
|
||||
],
|
||||
[
|
||||
'var' => 'ADMIN',
|
||||
'description' => $lng['admin']['templates']['ADMIN']
|
||||
],
|
||||
[
|
||||
'var' => 'CUSTOMER_EMAIL',
|
||||
'description' => $lng['admin']['templates']['CUSTOMER_EMAIL']
|
||||
],
|
||||
[
|
||||
'var' => 'ADMIN_EMAIL',
|
||||
'description' => $lng['admin']['templates']['ADMIN_EMAIL']
|
||||
]
|
||||
]
|
||||
]
|
||||
);
|
||||
|
||||
@@ -50,5 +50,6 @@ return array(
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
'template_replacers' => include __DIR__ . '/template.replacers.php'
|
||||
);
|
||||
|
||||
@@ -32,8 +32,8 @@ return array(
|
||||
'template' => array(
|
||||
'label' => $lng['admin']['templates']['action'],
|
||||
'type' => 'hidden',
|
||||
'value' => $template,
|
||||
'display' => $template
|
||||
'value' => $template_name,
|
||||
'display' => $template_name
|
||||
),
|
||||
'subject' => array(
|
||||
'label' => $lng['admin']['templates']['subject'],
|
||||
@@ -46,9 +46,18 @@ return array(
|
||||
'cols' => 60,
|
||||
'rows' => 12,
|
||||
'value' => $mailbody
|
||||
),
|
||||
'subjectid' => array(
|
||||
'type' => 'hidden',
|
||||
'value' => $subjectid
|
||||
),
|
||||
'mailbodyid' => array(
|
||||
'type' => 'hidden',
|
||||
'value' => $mailbodyid
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
'template_replacers' => include __DIR__ . '/template.replacers.php'
|
||||
);
|
||||
|
||||
135
lib/formfields/admin/templates/template.replacers.php
Normal file
135
lib/formfields/admin/templates/template.replacers.php
Normal file
@@ -0,0 +1,135 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This file is part of the Froxlor project.
|
||||
* Copyright (c) 2010 the Froxlor Team (see authors).
|
||||
*
|
||||
* For the full copyright and license information, please view the COPYING
|
||||
* file that was distributed with this source code. You can also view the
|
||||
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
|
||||
*
|
||||
* @copyright (c) the authors
|
||||
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||
* @package Formfields
|
||||
*
|
||||
*/
|
||||
return [
|
||||
'replacers' => [
|
||||
[
|
||||
'var' => 'SALUTATION',
|
||||
'description' => $lng['admin']['templates']['SALUTATION']
|
||||
],
|
||||
[
|
||||
'var' => 'FIRSTNAME',
|
||||
'description' => $lng['admin']['templates']['FIRSTNAME']
|
||||
],
|
||||
[
|
||||
'var' => 'NAME',
|
||||
'description' => $lng['admin']['templates']['NAME']
|
||||
],
|
||||
[
|
||||
'var' => 'COMPANY',
|
||||
'description' => $lng['admin']['templates']['COMPANY']
|
||||
],
|
||||
[
|
||||
'var' => 'CUSTOMER_NO',
|
||||
'description' => $lng['admin']['templates']['CUSTOMER_NO']
|
||||
],
|
||||
[
|
||||
'var' => 'USERNAME',
|
||||
'description' => $lng['admin']['templates']['USERNAME'],
|
||||
'visible' => $template == 'createcustomer' || $template == 'password_reset'
|
||||
],
|
||||
[
|
||||
'var' => 'PASSWORD',
|
||||
'description' => $lng['admin']['templates']['PASSWORD'],
|
||||
'visible' => $template == 'createcustomer'
|
||||
],
|
||||
[
|
||||
'var' => 'EMAIL',
|
||||
'description' => $lng['admin']['templates']['EMAIL'],
|
||||
'visible' => $template == 'pop_success'
|
||||
],
|
||||
[
|
||||
'var' => 'PASSWORD',
|
||||
'description' => $lng['admin']['templates']['EMAIL_PASSWORD'],
|
||||
'visible' => $template == 'pop_success'
|
||||
],
|
||||
[
|
||||
'var' => 'LINK',
|
||||
'description' => $lng['admin']['templates']['LINK'],
|
||||
'visible' => $template == 'password_reset'
|
||||
],
|
||||
[
|
||||
'var' => 'TRAFFIC',
|
||||
'description' => $lng['admin']['templates']['TRAFFIC'],
|
||||
'visible' => $template == 'trafficmaxpercent'
|
||||
],
|
||||
[
|
||||
'var' => 'TRAFFICUSED',
|
||||
'description' => $lng['admin']['templates']['TRAFFICUSED'],
|
||||
'visible' => $template == 'trafficmaxpercent'
|
||||
],
|
||||
[
|
||||
'var' => 'DISKAVAILABLE',
|
||||
'description' => $lng['admin']['templates']['DISKAVAILABLE'],
|
||||
'visible' => $template == 'diskmaxpercent'
|
||||
],
|
||||
[
|
||||
'var' => 'DISKUSED',
|
||||
'description' => $lng['admin']['templates']['DISKUSED'],
|
||||
'visible' => $template == 'diskmaxpercent'
|
||||
],
|
||||
[
|
||||
'var' => 'MAX_PERCENT',
|
||||
'description' => $lng['admin']['templates']['MAX_PERCENT'],
|
||||
'visible' => $template == 'trafficmaxpercent' || $template == 'diskmaxpercent'
|
||||
],
|
||||
[
|
||||
'var' => 'USAGE_PERCENT',
|
||||
'description' => $lng['admin']['templates']['USAGE_PERCENT'],
|
||||
'visible' => $template == 'trafficmaxpercent' || $template == 'diskmaxpercent'
|
||||
],
|
||||
[
|
||||
'var' => 'DB_NAME',
|
||||
'description' => $lng['admin']['templates']['DB_NAME'],
|
||||
'visible' => $template == 'new_database_by_customer'
|
||||
],
|
||||
[
|
||||
'var' => 'DB_PASS',
|
||||
'description' => $lng['admin']['templates']['DB_PASS'],
|
||||
'visible' => $template == 'new_database_by_customer'
|
||||
],
|
||||
[
|
||||
'var' => 'DB_DESC',
|
||||
'description' => $lng['admin']['templates']['DB_DESC'],
|
||||
'visible' => $template == 'new_database_by_customer'
|
||||
],
|
||||
[
|
||||
'var' => 'DB_SRV',
|
||||
'description' => $lng['admin']['templates']['DB_SRV'],
|
||||
'visible' => $template == 'new_database_by_customer'
|
||||
],
|
||||
[
|
||||
'var' => 'PMA_URI',
|
||||
'description' => $lng['admin']['templates']['PMA_URI'],
|
||||
'visible' => $template == 'new_database_by_customer'
|
||||
],
|
||||
[
|
||||
'var' => 'USR_NAME',
|
||||
'description' => $lng['admin']['templates']['USR_NAME'],
|
||||
'visible' => $template == 'new_ftpaccount_by_customer'
|
||||
],
|
||||
[
|
||||
'var' => 'USR_PASS',
|
||||
'description' => $lng['admin']['templates']['USR_PASS'],
|
||||
'visible' => $template == 'new_ftpaccount_by_customer'
|
||||
],
|
||||
[
|
||||
'var' => 'USR_PATH',
|
||||
'description' => $lng['admin']['templates']['USR_PATH'],
|
||||
'visible' => $template == 'new_ftpaccount_by_customer'
|
||||
]
|
||||
]
|
||||
];
|
||||
23
templates/Froxlor/user/form-replacers.html.twig
Normal file
23
templates/Froxlor/user/form-replacers.html.twig
Normal file
@@ -0,0 +1,23 @@
|
||||
{% extends "Froxlor/user/form.html.twig" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ parent() }}
|
||||
|
||||
{% if replacers is not empty and replacers is iterable %}
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">{{ lng('admin.templates.template_replace_vars') }}</h5>
|
||||
<dl class="row">
|
||||
{% for replacer in replacers.replacers %}
|
||||
{% if (replacer.visible is defined and replacer.visible) or replacer.visible is not defined %}
|
||||
<dt class="col-sm-3">{{ '{' }}{{ replacer.var }}{{ '}' }}</dt>
|
||||
<dd class="col-sm-9">{{ replacer.description }}</dd>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user