Antidischarge News
Хак был навеян вопросом пользователя о проверке кода безопасности на ajax'е.
Вспомнив как я сталкивался с этой проблемой с покон веков в дле, будучи еще публикатором какого то вареза на локалке моего провайдера я добавлял новости, и тут бац и зловещий движок смеялся надо мной, из-за того, что я не правильно ввел каптчу и стирал в ноль мою запись, ужас... :)
Это действительно грусть и печаль, когда ты пишешь текст новости [тогда я и взял в привычку копировать его до отправки] и возможно случайно неверно ввел код и тут на... пусто... жесть...
Спасает опера от этого, но не все же на ней сидят, так что если вас тоже раздражает это, решаем вместе:
Начав изучать код я понял, что тут простой заменой пару строчек кода не обойдется, и надо перенести код, инструкцию поэтому писать было бы очень заковыристо, так что покажу как я сделал это на примере структуры файла:
так выглядит штатный engine/modules/addnews.php:
и вот что я сделал:
+ еще несколько условий и заполнение инпутов отправлеными значениями
с многими комментариями внутри для ясности.
В результате работы этого файла, при неверном вводе кода безопасности или других ошибках получаем не обычный месадж с кнопкой вернуться назад, а полноценную форму с заполненными вами до этого полями и ошибкой сверху:
Для вывода ошибки - в шаблон addnews.tpl в нужное вам место вставьте {errors}.
Хак сохраняет абсолютно ВСЕ введенные данные, вплоть до значений доп полей.
Версия DLE: 9.6-8 (Для более ранних версий пусть целсофт сам решает эту проблему)
Автор: Dmitry Dark5ider
Комментариев 0