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':