Skip to content

Commit 2feb802

Browse files
committed
validate existence of language in admin-templates
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
1 parent 7b08a71 commit 2feb802

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

Diff for: admin_templates.php

+6
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,9 @@
253253
if (isset($_POST['prepare']) && $_POST['prepare'] == 'prepare') {
254254
// email templates
255255
$language = htmlentities(Validate::validate($_POST['language'], 'language', '/^[^\r\n\0"\']+$/', 'nolanguageselect'));
256+
if (!array_key_exists($language, $languages)) {
257+
Response::standardError('templatelanguageinvalid');
258+
}
256259
$template = Validate::validate($_POST['template'], 'template');
257260

258261
$result_stmt = Database::prepare("
@@ -288,6 +291,9 @@
288291
} elseif (isset($_POST['send']) && $_POST['send'] == 'send' && !isset($_POST['filesend'])) {
289292
// email templates
290293
$language = htmlentities(Validate::validate($_POST['language'], 'language', '/^[^\r\n\0"\']+$/', 'nolanguageselect'));
294+
if (!array_key_exists($language, $languages)) {
295+
Response::standardError('templatelanguageinvalid');
296+
}
291297
$template = Validate::validate($_POST['template'], 'template');
292298
$subject = Validate::validate($_POST['subject'], 'subject', '/^[^\r\n\0]+$/', 'nosubjectcreate');
293299
$mailbody = Validate::validate($_POST['mailbody'], 'mailbody', '/^[^\0]+$/', 'nomailbodycreate');

Diff for: lng/de.lng.php

+1
Original file line numberDiff line numberDiff line change
@@ -773,6 +773,7 @@
773773
'destinationiswrong' => 'Die Weiterleitungsadresse "%s" enthält ungültige Zeichen oder ist nicht vollständig.',
774774
'backupfoldercannotbedocroot' => 'Der Ordner für Backups darf nicht das Heimatverzeichnis sein, wählen Sie einen Ordner unterhalb des Heimatverzeichnisses, z.B. /backups',
775775
'templatelanguagecombodefined' => 'Die gewählte Kombination aus Sprache und Vorlage ist bereits definiert.',
776+
'templatelanguageinvalid' => 'Die gewählte Sprache existiert nicht',
776777
'ipstillhasdomains' => 'Die IP/Port-Kombination, die Sie löschen wollen, ist noch bei einer oder mehreren Domains eingetragen. Bitte ändern Sie die Domains vorher auf eine andere IP/Port-Kombination, um diese löschen zu können.',
777778
'cantdeletedefaultip' => 'Sie können die Standard-IP/Port-Kombination für Reseller nicht löschen. Bitte setzen Sie eine andere IP/Port-Kombination als Standard, um diese löschen zu können.',
778779
'cantdeletesystemip' => 'Sie können die letzte System-IP-Adresse nicht löschen. Entweder legen Sie eine neue IP/Port-Kombination an oder Sie ändern die System-IP-Adresse.',

Diff for: lng/en.lng.php

+1
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,7 @@
839839
'destinationiswrong' => 'The forwarder %s contains invalid character(s) or is incomplete.',
840840
'backupfoldercannotbedocroot' => 'The folder for backups cannot be your homedir, please chose a folder within your homedir, e.g. /backups',
841841
'templatelanguagecombodefined' => 'The selected language/template combination has already been defined.',
842+
'templatelanguageinvalid' => 'The selected language does not exist',
842843
'ipstillhasdomains' => 'The IP/Port combination you want to delete still has domains assigned to it, please reassign those to other IP/Port combinations before deleting this IP/Port combination.',
843844
'cantdeletedefaultip' => 'You cannot delete the default IP/Port combination, please make another IP/Port combination default for before deleting this IP/Port combination.',
844845
'cantdeletesystemip' => 'You cannot delete the last system IP, either create a new IP/Port combination for the system IP or change the system IP.',

0 commit comments

Comments
 (0)