Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Есть-ли хак по автопереводу публикации по достижению определенного рейтинга?

Есть-ли хак по автопереводу публикации по достижению определенного рейтинга?


     25.02.2017    Все вопросы » Хаки    1193

вопрос
У меня есть лента записей. Записи оцениваются пользователями (подобие Пикабу) есть-ли хак, который будет переносить публикации в определенную категорию при достижении определенного отрицательного рейтинга?

Ответа пока нет


6 комментариев

kolumb
Юзер

kolumb - 25 февраля 2017 17:36 -

Вот немного запрос переделать нужно!

vitnet
PHP-developer

vitnet - 25 февраля 2017 19:23 -

kolumb,
1. Открыть файл engine/modules/show.short.php и найти:
....

Ниже вставить:
		if( $row['rating'] <= $config['post_boyan'] ) {
        	$action = $db->safesql($config['boyan_action']);
			$post_cat = $db->safesql($config['post_cat']);
			
			switch ($action) {
				case "approve":
					$db->query( "UPDATE " . PREFIX . "_post SET approve = '0' WHERE id = '{$row['id']}'"); // Отправка на модерацию
					break;
				case "cat":
					if( $post_cat != "" ) {
						$db->query( "UPDATE " . PREFIX . "_post SET category = '{$post_cat}' WHERE id = '{$row['id']}'"); // Меняем категорию
					}
					break;
				case "del":
					$db->query( "DELETE FROM " . PREFIX . "_post WHERE id = '{$row['id']}'"); // Удаление
					break;
			}
			//echo '<meta http-equiv="Refresh" content="0;">';
		}

2. Открыть файл engine/inc/options.php и найти:
.....

Ниже вставить:
	showRow( "Минимальный рейтинг", "Это настройка, которая позволяет определить рейтинг, после достижения которого будет выполнятся действия с публикацией. Действие задаётся следующей настройкой", "<input class="edit bk" type=text style="text-align: center;" name='save_con[post_boyan]' value="{$config['post_boyan']}" size=10>" );
	showRow( "ID категории", "Это настройка, которая позволяет сменить категорию. Действие задаётся следующей настройкой", "<input class="edit bk" type=text style="text-align: center;" name='save_con[post_cat]' value="{$config['post_cat']}" size=10>" );
    showRow( "Действия с новостями", "Что делать с новостями, чей рейтинг опустится ниже планки, задаваемой предыдущей настройкой", makeDropDown( array("del" => "Удалить", "approve" => "Отправить на модерацию", "cat" => "Сменить категорию" ), "save_con[boyan_action]", "{$config['boyan_action']}" ) );

nowheremany
Эксперт

nowheremany - 27 февраля 2017 10:48 -

Если это делать в show.short.php, то нужно ограничивать действие - не только если рейтинг меньше, но и в 1 случае approve <>'0', во втором category <> '{$post_cat}' - иначе запросы замучают сервер. Удаление сделано криво - не полное.
Тем более при кэше код работать не будет.
Нужно его вставлять в ajax/rating.php с правкой конечно.

Благодарность принимаю тут Связь

Апельсин
Юзер

Апельсин - 25 февраля 2017 22:25 -

Что то тут не так с кодом. не работает он у меня. DLE 11.2

Апельсин
Юзер

Апельсин - 25 февраля 2017 22:42 -

Извините, я слепой. Всё отлично работает. Только пришлось немного поправить код, который дали выше.

Апельсин
Юзер

Апельсин - 26 февраля 2017 10:03 -

и ещё, поставил в настройках рейтинг -5, перевод в группу и id группы.

Хорошо, что заметил... началось массовое редактирование новостей и изменение их категории на заданную... где-то касяк

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх