Всем привет, есть админка и редактирование новости в котором принимает участие большое количество человек.
Когда человек заходит в новость и делает что-то и потом заходит еще один человек и вносит изменения и сохраняет, то у первого человека пропадут его изменения при сохранении новости.
Щас у меня есть скрытое поле с датой с последним обновлением новости:
<input type="hidden" value="$item->updated_at">
updated_at - это колонка обновления новости (дата) timestamp
В контроллере у меня проверка:
if($item->updated_at != $this->request->get('updated_at'))
exit('please enter on other time here');
Но это не работает, если страница обновляется, ибо если обновляется страница, то скрытое поле обновляется.
Как я могу вообще запретить входить в новость, если в ней уже кто-то сидит?
Чтобы заблокировать редактирование элемента, можно добавить ему свойство blocked. Либо создать отдельную таблицу с блокировками, где будет имя таблицы, id, время и кто заблокировал.
Важно сделать надежный функционал автоматического снятия блокировки, чтобы она не зависла. К примеру, в открытой вкладке нужно периодически пинговать и обновлять время блокировки, а по cron-у снимать блокировки у элементов, у которых вышел таймаут.
Также нужно реализовать возможность съема блокировки пользователем. К примеру, если человек забыл закрыть вкладку. Такая функция есть в CMS-ках, например WordPress.
Получаю онлайн на сервере MINECRAFT PEНо не могу эти данные обработать и вывести , в чем проблема?
У меня есть код, который возвращает ресурс изображения видом imagepng($this->image)