Помощь Редактирование только одним пользователем

Тема в разделе "DLE", создана пользователем LEXAlForpostl, 6 фев 2013.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Здравствуйте.
    Подскажите, пожалуйста, как реализовать возможность редактирования новости в админ-центре только одним пользователем. Т.е. если одновременно несколько человек захотят редактировать одну и ту же новость, то второму и последующим будет запрещено это делать.
     
    Iwashka нравится это.
  2. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.036
    Симпатии:
    2.040
    1) Добавляем поле для таблицы post "editor_date" и "editor". Первая содержит дату начала редактирования, вторая - ID юзера...
    2) При открытии на редактирование правим запрос, добавляя в него эти 2 поля. Если там стоят данные - отказываем в доступе, если нет - пункт 3.
    3) Открываем новость на редактирование, записываем дату и свой ID в базу
    4) Если с момента начала редактирования прошло N менут - удаляем пометку. N - задать самим...

    Могу реализовать в коде, но не бесплатно. Описанного алгоритма достаточно для реализации самостоятеьно ;)
     
    Iwashka нравится это.
  3. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Спасибо большое за алгоритм. Но вопрос в том, где именно находится этот запрос:
    Всё остальное - реализую самостоятельно :)
     
    Iwashka нравится это.
  4. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.036
    Симпатии:
    2.040
    /engine/inc/editnews.php 717 стрка.
    Его даже править не надо
    Код:
    $row = $db->super_query( "SELECT * FROM " . PREFIX . "_post LEFT JOIN " . PREFIX . "_post_extras ON (" . PREFIX . "_post.id=" . PREFIX . "_post_extras.news_id) WHERE id = '$id'" );
    Там автоматически забираются все столбцы (SELECT *).
     
    Iwashka и LEXAlForpostl нравится это.