вопрос
Делаю по данной инструкции отдельную страницу для редактирования новостей на сайте.
1. Создал копию файла addnews.php и назвал её editnews.php
2. В созданном файле editnews.php 2 раза удалил AND approve = '0'
3. В engine.php добавил
Ссылка на кнопку редактирования /index.php?do=editnews&id={news-id}
Почти всё работает как надо, за исключением одного доп. поля. У меня используется поле с типом загружаемая галерея изображений. Так вот если сам посетитель (не админ) редактирует свою новость, новые изображения уже не загружаются, вылезает ошибка - Загрузка файла завершилась ошибкой, но зато старые удаляются без проблем. Если же админ редактирует новость по этой же ссылке, то проблем нет. Либо если новость на модерации, а посетитель (не админ) редактирует свою новость по этой ссылке, то также нет проблем.
1. Создал копию файла addnews.php и назвал её editnews.php
2. В созданном файле editnews.php 2 раза удалил AND approve = '0'
3. В engine.php добавил
case "editnews" :
include ENGINE_DIR . '/modules/editnews.php';
break;
Ссылка на кнопку редактирования /index.php?do=editnews&id={news-id}
Почти всё работает как надо, за исключением одного доп. поля. У меня используется поле с типом загружаемая галерея изображений. Так вот если сам посетитель (не админ) редактирует свою новость, новые изображения уже не загружаются, вылезает ошибка - Загрузка файла завершилась ошибкой, но зато старые удаляются без проблем. Если же админ редактирует новость по этой же ссылке, то проблем нет. Либо если новость на модерации, а посетитель (не админ) редактирует свою новость по этой ссылке, то также нет проблем.
Открыть engine/ajax/editnews.php
Найти
Заменить на
Найти
Заменить на
Найти
Заменить на
Для отдельной страницы редактирования, решение не универсальное. Работает на 100% только если dle в корне сайта, иначе нужно будет прописать свой путь.
Открыть файл engine/inc/xfields.php
Найти все:
Заменить на
Если пользователям разрешено редактировать новости после модерации, открыть файл engine/ajax/upload.php
Найти строку:
Заменить на:
Найти
$.post('engine/ajax/upload.php'
Заменить на
$.post(dle_root + 'engine/ajax/upload.php'
Найти
action: 'engine/ajax/upload.php',
Заменить на
action: dle_root + 'engine/ajax/upload.php',
Найти
imageUploadURL: 'engine/ajax/upload.php',
Заменить на
imageUploadURL: dle_root + 'engine/ajax/upload.php',
Для отдельной страницы редактирования, решение не универсальное. Работает на 100% только если dle в корне сайта, иначе нужно будет прописать свой путь.
Открыть файл engine/inc/xfields.php
Найти все:
'engine/ajax/upload
Заменить на
'/engine/ajax/upload
Если пользователям разрешено редактировать новости после модерации, открыть файл engine/ajax/upload.php
Найти строку:
if ( !$row['id'] OR ($row['approve'] AND !$user_group[$member_id['user_group']]['moderation']) ) die( "Hacking attempt!" );
Заменить на:
if ( !$row['id'] ) die( "Post not found" );