📄 emailtemplates.php
字号:
// get sum of custom templates
$db->query("SELECT DISTINCT name FROM template_email WHERE custom = 1 AND category = '$category'");
while ($result = $db->row_array()) {
$customtemplates[] = $result[name];
}
// extra rows for custom templates exisiting in other languages
if (is_array($templates_temp)) {
$notemplate = array_diff($customtemplates, $templates_temp);
} else {
$notemplate = $customtemplates;
}
if (count($notemplate) > 0) {
$uncreated = 1;
$table[] = table_midheader('These are custom templates that have been created for other languages but not for the ' . $thislanguage[name] . ' language');
foreach($notemplate AS $key => $var) {
$table[] = array("
<b><I>$var</I></b>",
'',
'',
'',
"<a href=\"emailtemplates.php?do=newcustom&language=$language&name=$var\">Create</a>"
);
}
// add any empty columns needed
foreach ($table AS $key => $var) {
if (count($var) == 4) {
$table[$key][] = '';
}
}
}
if ($uncreated) {
$cols = array('Name', 'Description', 'Delete', 'Edit', 'Create');
} else {
$cols = array('Name', 'Description', 'Delete', 'Edit');
}
if (($count > 0) OR (count($notemplate) > 0)) {
table_header("Custom Templates");
table_content($cols, $table, '', '', '', '', $width, $bottomline);
table_footer();
}
echo "<b>KEY:</b><ul>
<li><font color=\"red\">CHANGED</font> : The template has been upgraded since you last changed it. You should find the changes made or revert the template.</li>
<li><font color=\"orange\">EDITED</font> : You have made changes to this template.</li>
</ul>
";
}
############################### DELETE CUSTOM TEMPLATE ###############################
if ($_REQUEST['do'] == 'delete') {
$template = $db->query_return("SELECT * FROM template_email WHERE id = '$id'");
if ($template[custom] != 1) {
mistake('You can only delete custom templates');
}
$db->query("DELETE FROM template_email WHERE id = '$id'");
if ($template['category'] == 'User Emails') {
jump("emailtemplates.php?do=view_email", 'The email template has been deleted');
} else {
jump("emailtemplates.php?do=view_tech", 'The email template has been deleted');
}
}
############################### TRANSLATE (2) ###############################
if ($_REQUEST['do'] == 'newdefault2') {
$template = parse_conditionals($_REQUEST[template_unparsed]);
$db->query(" INSERT INTO template_email SET
name = '" . mysql_escape_string($_REQUEST['name']) . "',
description = '" . mysql_escape_string($_REQUEST['description']) . "',
template = '" . mysql_escape_string($template) . "',
template_unparsed = '" . mysql_escape_string($_REQUEST['template_unparsed']) . "',
category= 'User Emails',
custom = '1',
subject = '" . mysql_escape_string($_REQUEST['subject']) . "',
language = '$_REQUEST[language]'
");
jump("emailtemplates.php?do=view_user&language=$_REQUEST[language]", 'Template Translated');
}
############################### TRANSLATE (1) ###############################
if ($_REQUEST['do'] == 'newdefault') {
// get the language details
$db->query("SELECT * FROM languages");
while ($language = $db->row_array()) {
if ($language['id'] == $_REQUEST['language']) {
$this_language = $language;
}
$lang[$language[id]] = $language[name];
}
$template = $db->query_return("SELECT * FROM template_email WHERE name = '" . addslashes($_REQUEST['name']) . "' AND backup AND language = '$settings[default_language]'");
admin_header('Email Templates', 'Create Email Template',
array('dir' => $this_language['direction'], 'lang' => $this_language['isocode'], 'charset' => $this_language['contenttype'])
);
$table[] = array('<b>Name</b>', '<input DISABLED value="' . $_REQUEST['name'] . '" size="40">' . form_hidden('name', $_REQUEST['name']));
$table[] = array('<b>Category</b>', form_select('category', array('User Emails', 'Tech Emails'), '', '', 1));
$table[] = array('<b>Language</b>', form_select('language', $lang, NULL, $_REQUEST['language'], NULL, NULL, NULL, NULL, NULL, NULL, 1));
$table[] = array('<b>Description</b>', form_textarea('description', '60', '4', $template[description]));
$table[] = array('<b>Subject</b>', form_input('subject', $template[subject], 80));
$table[] = array('<b>Template</b>', form_textarea('template_unparsed', '100', '30', $template[template_unparsed]));
table_header("Translate Template", 'emailtemplates.php', array('do' => 'newdefault2', 'language' => $_REQUEST[language]));
table_content($columns, $table);
table_footer('Create Template');
unset($table);
}
############################### CREATE A NEW TEMPLATE ###############################
if ($_REQUEST['do'] == "add") {
// get the language details
$db->query("SELECT * FROM languages");
while ($language = $db->row_array()) {
if ($language['id'] == $_REQUEST['language']) {
$this_language = $language;
}
$lang[$language[id]] = $language[name];
}
admin_header('Email Templates', 'Create Email Template',
array('dir' => $this_language['direction'], 'lang' => $this_language['isocode'], 'charset' => $this_language['contenttype'])
);
$table[] = array('<b>Name</b>', form_input('name', '', 40));
$table[] = array('<b>Category</b>', form_select('category', array('User Emails', 'Tech Emails'), '', '', 1));
$table[] = array('<b>Language</b>', form_select('language', $lang, $_REQUEST[language]));
$table[] = array('<b>Description</b>', form_textarea('description', '60', '4'));
$table[] = array('<b>Subject</b>', form_input('subject', '', 80));
$table[] = array('<b>Template</b>', form_textarea('template_unparsed', '100', '30', $template[template_unparsed]));
table_header("Create Custom Template", 'emailtemplates.php', array('do' => 'add2'));
table_content($columns, $table);
table_footer('Create Template');
unset($table);
}
############################### CREATE A TEMPLATE (2) ###############################
if ($_REQUEST['do'] == "add2") {
$template = parse_conditionals($_REQUEST[template_unparsed]);
$db->query(" INSERT INTO template_email SET
name = '" . mysql_escape_string($_REQUEST['name']) . "',
description = '" . mysql_escape_string($_REQUEST['description']) . "',
template = '" . mysql_escape_string($template) . "',
template_unparsed = '" . mysql_escape_string($_REQUEST['template_unparsed']) . "',
category= '" . mysql_escape_string($_REQUEST['category']) . "',
custom = '1',
subject = '" . mysql_escape_string($_REQUEST['subject']) . "'" .
iff($_REQUEST['category'] == 'User Emails', ", language = '$_REQUEST[language]'") .
"");
if ($_RESULT['category'] == 'User Emails') {
jump("emailtemplates.php?do=view_user&language=$_REQUEST[language]", 'Template Created');
} else {
jump("emailtemplates.php?do=view_tech", 'Template Created');
}
}
############################### EDIT TEMPLATE ###############################
if ($_REQUEST['do'] == "edit") {
$template = $db->query_return("SELECT * FROM template_email WHERE id = '$id'");
if ($template['language']) {
// get the language details
$db->query("SELECT * FROM languages");
while ($language = $db->row_array()) {
if ($language['id'] == $template['language']) {
$this_language = $language;
}
$lang[$language[id]] = $language[name];
}
}
admin_header('Email Templates', '',
array('dir' => $this_language['direction'], 'lang' => $this_language['isocode'], 'charset' => $this_language['contenttype'])
);
$table[] = array('<b>Name</b>', form_input('name', $template['name'], 40));
if ($template['category'] == 'User_Emails') {
$table[] = array('<b>Language</b>', form_select('language', $lang, '', $template['language']));
}
$table[] = array('<b>Description</b>', form_textarea('description', '60', '4', $template[description]));
$table[] = array('<b>Subject</b>', form_input('subject', $template['subject'], 80));
$table[] = array('<b>Template</b>', form_textarea('template_unparsed', '100', '30', $template[template_unparsed]));
table_header("Edit Template", 'emailtemplates.php', array('do' => 'edit2', 'id' => $template['id']));
table_content($columns, $table);
table_footer('Edit Template');
unset($table);
}
############################### EDIT TEMPLATE (2) ###############################
if ($_REQUEST['do'] == "edit2") {
$template = parse_conditionals($_REQUEST[template_unparsed]);
$db->query(" UPDATE template_email SET
name = '" . mysql_escape_string($_REQUEST['name']) . "',
description = '" . mysql_escape_string($_REQUEST['description']) . "',
template = '" . mysql_escape_string($template) . "',
template_unparsed = '" . mysql_escape_string($_REQUEST['template_unparsed']) . "',
changed = 1,
subject = '" . mysql_escape_string($_REQUEST['subject']) . "',
language = '$_REQUEST[language]'
WHERE id = '$id'
");
$template = $db->query_return("SELECT * FROM template_email WHERE id = '$id'");
if ($template['category'] == 'User Emails') {
jump("emailtemplates.php?do=view_user&language=$_REQUEST[language]", 'Template Updated');
} else {
jump("emailtemplates.php?do=view_tech&language=$_REQUEST[language]", 'Template Updated');
}
}
############################### RESTORE TEMPLATE (1) ###############################
if ($_REQUEST['do'] == "restore") {
$template = $db->query_return("SELECT * FROM template_email WHERE id = $id");
if (!$db->num_rows()) {
mistake('Template to restore not found.');
}
$template_backup = $db->query_return("
SELECT * FROM template_email
WHERE name = '$template[name]'
AND language = '$template[language]'
AND backup = 1
");
if ($db->num_rows()) {
$db->query("
UPDATE template_email SET
template = '" . mysql_escape_string($template_backup[template]) . "',
subject = '" . mysql_escape_string($template_backup[subject]) . "',
template_unparsed = '" . mysql_escape_string($template_backup[template_unparsed]) . "',
upgraded = 0,
changed = 0,
backup = 0
WHERE id = '$id'
");
if ($template_backup['category'] == 'Tech Emails') {
jump("emailtemplates.php?do=view_tech", "Template restored from backup");
} else {
jump("emailtemplates.php?language=$template[language]", "Template restored from backup");
}
} else {
mistake('Backup template not found');
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -