• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Хак AJAX редактирование дополнительных полей

kent

Создатель
Регистрация
6 Ноя 2011
Сообщения
38
Реакции
2
Сливаю хак, купил за 1к, а он не работает((( Автор не отвечает.
Описание с сайта автора:
AJAX Редактирование новостей появилось в последних версиях ДЛЕ. В 9.6 было добавлено редактирование и дополнительных полей, однако окно редактирование настолько велико, что пользоваться практически не возможно, проще перейти в админку и там нормально отредактировать.
Ведь не все (бездумно) нужно переделывать на AJAX, может пострадать юзабилити, как и получилось.
Данных хак позволяет исправить данную недоработку, путём отдельно редактирования каждого доп поля

Итак вкусности:
- AJAX редактирование определённого доп поля в всплывающем окне
- Поддержка хака "Добавление картинок и файлов в новость v3.2"
Сайт автора хака:
Для просмотра ссылки Войди или Зарегистрируйся


Может кто доделает хак, как написано на сайте автора, работает на DLE 9.0 и выше проверял на dle9.0 и dle10.3, не робит писал ошибку в консоли, исправил.
А теперь хак пишет что дополнительное поле сохранено, а на самом деле ничего не изменилось.
Сливаю хак на своей совести, в ожидании, что его кто нибудь подправит:

оригинал (закодированный) Для просмотра ссылки Войди или Зарегистрируйся

раскодированный : Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Он не сохраняет из-за того что в новых версиях DLE нет функции xfieldsdatasavesql и нет case "save": в engine/inc/xfields.php

Код:
// Запись данных XFields в базу данных, при добавлении, редактировании новости
function xfieldsdatasavesql($id, $data) {

    global $parse, $config, $db;

    if ($config['safe_xfield']) {
    $parse->ParseFilter();
    $parse->safe_mode = true;
    }

      foreach ($data as $xfielddataname => $xfielddatavalue) {
        if ($xfielddatavalue == "") { continue;}

        $parse->allow_code = true;
        $xfielddatavalue = $db->safesql($parse->BB_Parse($parse->process($xfielddatavalue), false));

        $xfielddataname = $db->safesql($xfielddataname);

        $xfielddataname = str_replace("|", "|", $xfielddataname);
        $xfielddataname = str_replace("\r\n", "__NEWL__", $xfielddataname);
        $xfielddatavalue = str_replace("|", "|", $xfielddatavalue);
        $xfielddatavalue = str_replace("\r\n", "__NEWL__", $xfielddatavalue);
        $filecontents[0][] = "$xfielddataname|$xfielddatavalue";
      }

      $filecontents[0] = implode("||", $filecontents[0]);


$db->query("UPDATE " . PREFIX . "_post set xfields = '$filecontents[0]' WHERE id='$id'");
}
 
Последнее редактирование:
Назад
Сверху