diff --git a/admin/admin_smilies.php b/admin/admin_smilies.php
index c91723a5e..e53c24223 100644
--- a/admin/admin_smilies.php
+++ b/admin/admin_smilies.php
@@ -22,6 +22,10 @@ if (isset($_POST['mode']) || isset($_GET['mode'])) {
$mode = '';
}
+if ($mode == 'delete' && isset($_POST['cancel'])) {
+ $mode = '';
+}
+
$pathToSmilesDir = BB_ROOT . $bb_cfg['smilies_path'];
$delimeter = '=+:';
$s_hidden_fields = '';
@@ -174,17 +178,28 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
} elseif ($mode != '') {
switch ($mode) {
case 'delete':
+ $confirmed = isset($_POST['confirm']);
$smiley_id = (!empty($_POST['id'])) ? $_POST['id'] : $_GET['id'];
$smiley_id = (int)$smiley_id;
- $sql = 'DELETE FROM ' . BB_SMILIES . ' WHERE smilies_id = ' . $smiley_id;
- $result = DB()->sql_query($sql);
- if (!$result) {
- bb_die('Could not delete smiley');
- }
- $datastore->update('smile_replacements');
+ if ($confirmed) {
+ $sql = 'DELETE FROM ' . BB_SMILIES . ' WHERE smilies_id = ' . $smiley_id;
+ $result = DB()->sql_query($sql);
+ if (!$result) {
+ bb_die('Could not delete smiley');
+ }
- bb_die($lang['SMILEY_DEL_SUCCESS'] . '
' . sprintf($lang['CLICK_RETURN_SMILEADMIN'], '', '') . '
' . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], '', ''));
+ $datastore->update('smile_replacements');
+ bb_die($lang['SMILEY_DEL_SUCCESS'] . '
' . sprintf($lang['CLICK_RETURN_SMILEADMIN'], '', '') . '
' . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], '', ''));
+ } else {
+ $hidden_fields = '';
+ $hidden_fields .= '';
+
+ print_confirmation([
+ 'FORM_ACTION' => 'admin_smilies.php',
+ 'HIDDEN_FIELDS' => $hidden_fields,
+ ]);
+ }
break;
case 'edit':