Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Кто уже смог адаптировать UniForm под DLE 19.0 ?

Кто уже смог адаптировать UniForm под DLE 19.0 ?


     01.11.2025    Все вопросы » Модули    187

вопрос
Доброго времени суток.
Кто нибудь смог уже адаптировать UniForm под версию DLE 19.0 или это невозможно?
Последняя версия UniForm 2.0.0 (насколько мне известно) на новом движке отказывается запускаться.

Ответа пока нет


4 комментария

web102
Юзер

web102 - 2 ноября 2025 08:25 -

попробуйте так:
в файле templates/{THEME}/uniform/js/uniform.js замените все вхождения dle_root + 'engine/ajax/controller.php' на '/?controller=ajax'

tissor
Юзер

tissor - 4 ноября 2025 22:16 -

Замена на '/?controller=ajax' приводит к ошибке "The content could not be loaded."
Ошибка предсказуемая, так как генерируется ссылка формата href="//?controller=ajax". Поэтому правильнее менять на 'index.php?controller=ajax'. В результате начала открываться форма для заполнения сообщения. Но после нажатия кнопки "отправить" зависает, отправка сообщения не происходит.

vitnet
PHP-developer

vitnet - 6 ноября 2025 13:41 -

Откройте файл: /engine/modules/uniform/uniform.php

найдите
			// Если данные передаются постом — надо бы их обработать
			require_once (DLEPlugins::Check(ENGINE_DIR . '/classes/parse.class.php'));
			$parse = new ParseFilter();

замените на
			// Если данные передаются постом — надо бы их обработать
			$parse = new ParseFilter();

найдите
			if (!checkToken($_POST['csrfToken'], $cacheName . $config['skin'] . $sessionId)) {

замените на
			if (!checkToken($_POST['csrfToken'], $cacheName . $config['skin'])) { // при повторном обращении генерирует другой $sessionId, в итоге ошибка сессии

найдите и удалите
					$val            = convert_unicode($val, $config['charset']);

найдите
$form = '
	<form action="/engine/ajax/controller.php?mod=uniform" data-uf-form method="POST" ' . $multipart . '>
	<input type="hidden" name="csrfToken" value="' . getToken($cacheName . $config['skin'] . $sessionId) . '">
	<input type="hidden" name="formConfig" value="' . $cfg['formConfig'] . '">
';

замените на
$form = '
<form action="/index.php?controller=ajax&mod=uniform" data-uf-form method="POST" ' . $multipart . '>
<input type="hidden" name="csrfToken" value="' . getToken($cacheName . $config['skin']) . '">
<input type="hidden" name="formConfig" value="' . $cfg['formConfig'] . '">
';

tissor
Юзер

tissor - 6 ноября 2025 13:57 -

Спасибо, vitnet, на версии DLE 19.0 все заработало как прежде.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх