Накидал по просьбе одного из участников плагин, позволяющий ограничить по времени редактирование/удаление поста в блоге.
В настройках плагина указываем время в часах, после которого редактировать/удалить (отдельные опции) пост будет не возможно.
Значение опций "0" — неограниченно, для администраторов ограничений нет.
и после вставляем
Далее ищем строки типа
и после вставляем
2. Скачиваем архив, распаковываем в корень сайта, заходим в админку, устанавливаем плагин как обычно.
UPD: добавил ограничение на удаление поста, а так же вывод информации — сколько осталось времени на редактирование.
и после вставляем
2. Тот же файл, ищем строки
и после вставляем
3. Скачиваем плагин для InstantCMS 1.10.6 и устанавливаем как обычно.
В настройках плагина указываем время в часах, после которого редактировать/удалить (отдельные опции) пост будет не возможно.
Значение опций "0" — неограниченно, для администраторов ограничений нет.
Как установить:
1. Открываем файл /components/blogs/frontend.php, ищем строки типа
//для редактирования поста if ($do=='editpost'){ //Проверяем доступ $is_post_author = $model->isUserPostAuthor($post_id, $user_id); if (!$myblog && !$is_post_author && !$is_admin) { $inCore->redirectBack(); } //Получаем исходный пост из базы $post = $model->getPost($post_id); if (!$post){ $inCore->redirectBack(); }
$post = cmsCore::callEvent('EDIT_POST', $post);
if ($do == 'delpost'){ $post_id = $inCore->request('post_id', 'int', 0); $user_id = $inUser->id; if (!$user_id || !$post_id) { $inCore->redirectBack(); } $post = $model->getPost($post_id); if (!$post){ cmsCore::error404(); }
$post = cmsCore::callEvent('DELETE_POST', $post);
UPD: добавил ограничение на удаление поста, а так же вывод информации — сколько осталось времени на редактирование.
Для InstantCMS 1.10.6
1. Открываем файл /components/blogs/frontend.php, ищем строки
if ($do == 'delpost'){ if(!$inUser->id) { cmsCore::error404(); } if(!cmsCore::isAjax()) { cmsCore::error404(); } $post = $inBlog->getPost($post_id); if (!$post){ cmsCore::halt(); }
$post = cmsCore::callEvent('DELETE_POST', $post);
if ($do=='newpost' || $do=='editpost'){ if (!$inUser->id){ cmsUser::goToLogin(); } // для редактирования сначала получаем пост if($do=='editpost'){ $post = $inBlog->getPost($post_id); if (!$post){ cmsCore::error404(); } $id = $post['blog_id']; $post['tags'] = cmsTagLine('blogpost', $post['id'], false);
$post = cmsCore::callEvent('EDIT_POST', $post);
Реклама #
soxom 12 лет назад #
Lana 12 лет назад #
Daze77 12 лет назад #
Александр 12 лет назад #
/templates/_default_/components/com_content_my.tpl
Убери
deltas 12 лет назад #
Александр 12 лет назад #
Плагин крайне важен т.к. люди частенько пишут, статьи про индексировались, а в один момент по разным причинам, берут их и удаляют. От этого сайт сильно страдает и люди которые не могут их найти.
Было бы вообще замечательно, если б тоже самое и для раздела статей написали.
nedoriko 12 лет назад #
чел опка..лся, все это видели. после он подмылся и типо ничего не было. так вот данная фишка ограничивает ему отведенное время чтоб подмыться.
правда нужно еще добавить возможность обнулять время (то есть ставить запрет на редактирование) если на его пост уже поступил комментарий.
пс
если честно то я думал у нас это уже все есть. как то даже и не заморачивался по поводу.
+
deltas 12 лет назад #
Александр 12 лет назад #
nedoriko 12 лет назад #
Александр 12 лет назад #
http://instantcms.ru/forum/thread9591-1.html#75332
прямо в подтверждение моих слов об удалении и мне как назло он тоже нужен -)))
reload 12 лет назад #
Так многие пишут, пишут. Поставили многоточие, типа завтра продолжу. В этом по моему и есть удобство блога)
В общем полезный плагин но не везде)
Даже ошибки свои (не обязательно орфографические или грамматические), мысль может не правильно изложил, завтра укажут те на ошибку - а все!) так и будешь с пятном своим))
В общем я к тому что допустим на инстанте точно не прокатил бы такой запрет) Хотя на более специфичных проектах возможно и пользу принесет)
nedoriko 12 лет назад #
Daze77 12 лет назад #
deltas 12 лет назад #
например в функции удаления сначала сверялась дата публикации с текущей и т.д.
AlexG 12 лет назад #
nedoriko 12 лет назад #
maia 12 лет назад #
Fuze 12 лет назад #
Обновил пост и архив, добавил аналогичное для удаления поста, + теперь выводится информация об окончании срока редактирования.
Те, кто уже установил - переустановите (удалите, затем вновь поставьте) плагин.
Katerina 12 лет назад #
Что-то у меня не хочет нормально работать.
Установила в настройках везде 72 часа. Тестирую, как пользователь.
При редактировании выводит так:"Время на редактирование поста 3", видимо имеется в виду 3 дня...
при попытке удаления примерно так: "Время на удаление поста вышло".
Fuze 12 лет назад #
Katerina 12 лет назад #
А почему не удаляются записи, когда также задано 72?
Lexa219 12 лет назад #
lezginka.ru 12 лет назад #
чуть не в тему, но в тему :)
как сделать чтобы в разделы сайта, ВСЕ(юзеры,редакторы и т.д.) могли добавить статьи , точнее отправлять на модерацию.
Проблема в том, что есть выбор ТОЛЬКО для 1 группы, больше выбора нет, а надо больше.
кто знает ?
Роксана 12 лет назад #
Fuze 12 лет назад #
плагин можно доработать к своим нуждам, там ничего сложного нет.
letsgo 12 лет назад #
maia 12 лет назад #
1. Если время выставлено, как 0, то пост нормально удаляется. Если на какой-то другой срок, то не удаляется, а постоянно выводится вопро - на самом ли деле я хочу его удалить.
2. Редактировать теперь вообще не получается при любом сроке. После клика на редактирование, открывается окно редактора, но пустое. То есть вообще без самого поста.
В чем может быть проблема? Версия 1.9.
spacer 12 лет назад #
Другое дело - статьи.
Есть аналогичный хак для статей?
Спасибо
Таня 11 лет назад #
Александр 10 лет назад #
Dorimen 9 лет назад #
Fuze 9 лет назад #
NIKITA 8 лет назад #
Версия 1.10.6