[RC] Topiclist FX / Список тем

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: [RC] Topiclist FX / Список тем

Сообщение Айдар »

Альтаир Бергадлер, типа карта сайта, не катит?
In Web We Trust
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: [RC] Topiclist FX / Список тем

Сообщение Shredder »

DemonXT писал(а):Уважаемые Гуру!
Помогите!
Отличный получился мод, но почему-то выводит темы и сообщения не прошедшие модерации. У меня на форуме таких бывает очень много и мне совсем не хотелось чтоб они попадали в паблик, особенно если там СПАМ. Помогите исключить такие сообщения.
includes/acp/acp_topiclist.php

Код: Выделить всё

					FROM ' . TOPICS_TABLE . "
					WHERE forum_id=$forum";
Заменить на:

Код: Выделить всё

					FROM ' . TOPICS_TABLE . "
					WHERE forum_id=$forum
						AND topic_approved = 1";
Если в списке уже есть нежелательные темы, сделать синхронизацию по-новой.
DemonXT
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 6 месяцев

Re: [RC] Topiclist FX / Список тем

Сообщение DemonXT »

to Shredder
Вот теперь всё как нужно. Странно, что автор не учёл исключить новости не прошедшие модерацию. Не думаю, что все из них должны попадать в паблик.:-)
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: [RC] Topiclist FX / Список тем

Сообщение Shredder »

Кнопка синхронизации сразу всех форумов, тестируйте.

includes/acp/acp_topiclist.php

Найти:

Код: Выделить всё

				fwrite($w, $html_content);
				fclose($w);
			break;
Добавить после:

Код: Выделить всё

			case "generate_all":
				$url = generate_board_url();
				$sql = 'SELECT forum_id, forum_name
					FROM ' . FORUMS_TABLE . "";
				$result = $db->sql_query($sql);
				while ($row = $db->sql_fetchrow($result))
				{
					$html_content = '<li><b><a href="' . $url . '/viewforum.' . $phpEx . '?f=' . $row['forum_id'] . '">' . $row['forum_name'] . '</a></b></li>';
					$html_content .= '<ul>';

					$sql1 = 'SELECT topic_id, forum_id, topic_title, topic_type, topic_replies, topic_approved
						FROM ' . TOPICS_TABLE . '
						WHERE forum_id = ' . $row['forum_id'] . "
						AND topic_approved = 1";
					$result1 = $db->sql_query($sql1);
					while ($row2 = $db->sql_fetchrow($result1))
					{
						$pages = $row2['topic_replies'] / $config['posts_per_page'];
						$pages = (int) $pages;
						if ($pages <= 1)
						{
							$html_content .= '<li><a href="' . $url . '/viewtopic.' . $phpEx . '?f=' . $row2['forum_id'] . '&t=' . $row2['topic_id'] . '">' . $row2['topic_title'] . '</a></li>';
						}
						else
						{
							$html_content .= '<li><a href="' . $url . '/viewtopic.' . $phpEx . '?f=' . $row2['forum_id'] . '&t=' . $row2['topic_id'] . '">' . $row2['topic_title'] . '</a><br />[ ';
							for ($i=1; $i<=$pages; $i++)
							{
								$html_content .= '<a href="' . $url . '/viewtopic.' . $phpEx . '?f=' . $row2['forum_id'] . '&t=' . $row2['topic_id'] . '&start=' . $i * $config['posts_per_page'] . '">' . ($i+1) . '</a> ';
							}
							$html_content .= ']</li>';
						}
					}
					$db->sql_freeresult($result1);

					$html_content .= '</ul>';

					$w = fopen('../topiclist/' . $row['forum_id'] . '.html', 'w');
					fwrite($w, $html_content);
					fclose($w);
				}
				$db->sql_freeresult($result);
			break;
Найти:

Код: Выделить всё

				$url = $this->u_action . "&f={$row['forum_id']}";
Добавить после:

Код: Выделить всё

				$template->assign_var('U_GENERATE_ALL', append_sid($url . '&action=generate_all'));
language/ru/mods/info_acp_topiclist.php

Найти:

Код: Выделить всё

	'TOPICLIST_SETTINGS_CHANGED'		=> 'Настройки Topiclist успешно изменены.',
Добавить после:

Код: Выделить всё

	'SYNCHRONIZE_ALL'					=> 'Синхронизировать все форумы',
adm/style/acp_topiclist.html

Найти:

Код: Выделить всё

	<!-- IF .forums -->
Добавить после:

Код: Выделить всё

		<form method="post" action="{U_GENERATE_ALL}">
		<table cellspacing="1">
			<col class="row1" />
		<tbody>
			<tr>
				<td style="text-align: center;">
					<input class="button2" type="submit" id="submit" name="submit" value="{L_SYNCHRONIZE_ALL}" />
				</td>
			</tr>
		</tbody>
		</table>
		</form>
		<br />
Это синхронизирует и отобразит в списке тем сразу все форумы, независимо от того, имеются в них темы или нет, как изначально и было в моде. Чтобы сделать только для тех форумов, в которых есть темы, как просил Пчёлкин, нужно часть

Код: Выделить всё

				$sql = 'SELECT forum_id, forum_name
					FROM ' . FORUMS_TABLE . "";
в предложенном для includes/acp/acp_topiclist.php коде заменить на

Код: Выделить всё

				$sql = 'SELECT forum_id, forum_name
					FROM ' . FORUMS_TABLE . "
					WHERE forum_type > 0
						AND forum_topics > 0";
Добавлено спустя 13 минут 1 секунду:
Пока что без учёта прав доступа, т.е. нежелательные для показа всем форумы после синхронизации надо будет удалить. Но таких форумов обычно немного по сравнению с общим числом.

[Добавлено позже]
Исправил, права теперь будут учитываться: [RC] Topiclist FX / Список тем
Последний раз редактировалось Shredder 04.03.2011 22:45, всего редактировалось 1 раз.
DemonXT
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 6 месяцев

Re: [RC] Topiclist FX / Список тем

Сообщение DemonXT »

Shredder писал(а):Кнопка синхронизации сразу всех форумов, тестируйте.
Сделал всё по инструкции, но в настройках Topiclist FX почему-то не появилось пункта: Синхронизировать все форумы
Может его где-то в другом месте нужно искать?
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: [RC] Topiclist FX / Список тем

Сообщение Shredder »

Само собой, нужно очистить кеш. Кнопка появится вверху над форумами в настройках мода.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [RC] Topiclist FX / Список тем

Сообщение Пчелкин »

Шикарно!!!! Надо бы в инструкция это вшить...хороший мод уже получился...

Добавлено спустя 1 минуту 44 секунды:
Названия тем из закрытых форумов появились..но тем, для кого форумы закрыты - темы не открываются...На всяк постирал...без соблазнов.

Добавлено спустя 25 минут 20 секунд:
FladeX писал(а):В includes/acp/acp_topiclist.php найдите поиском <br /> и замените на пробел.
И перенос на следующую строку номеров страницу тоже убрать. Список станет короче в высоту.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
DemonXT
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 6 месяцев

Re: [RC] Topiclist FX / Список тем

Сообщение DemonXT »

Shredder писал(а):Само собой, нужно очистить кеш. Кнопка появится вверху над форумами в настройках мода.
Теперь всё отлично. Работает!
Вот бы сделать эту синхронизацию отдельным файлом, чтоб можно было добавить в cron и тем самым автоматизировать обновления карты сайта.
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: [RC] Topiclist FX / Список тем

Сообщение Shredder »

А на самом деле с правами всё просто. В topiclist.php найти:

Код: Выделить всё

	if (file_exists('topiclist/' . $row['forum_id'] . '.html'))
Заменить на:

Код: Выделить всё

	if (file_exists('topiclist/' . $row['forum_id'] . '.html') && $auth->acl_get('f_list', $row['forum_id']))
После этого список будет по-прежнему генерироваться для всех форумов, но видеть темы и форумы на странице карты пользователи будут в соотвествии с их правами.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [RC] Topiclist FX / Список тем

Сообщение Пчелкин »

Ну все! Теперь тупо ждем на полную синхронизацию...Права сами разберутся кому и что показывать...Ура!
Вот бы ( все таки не посчитайте наглым , но все ж! - а вдруг! ) еще бы меточки "прочитано-не прочитано" и получился бы самый лучший навигатор по форуму для админов и модераторов. В смысле пробегания по форуму, кто, что, где - лучшего варианта не было бы.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
y0ung5eo
phpBB 1.0.0
Сообщения: 5
Стаж: 16 лет 11 месяцев

Re: [RC] Topiclist FX / Список тем

Сообщение y0ung5eo »

maggg2 писал(а):Хотелось бы получить постраничную разбивку для листа тем. В случае, если тем очень много, — это полезно.
Согласен, так как поисковые системы и биржи ссылок в некоторых случаях ругаются на большое кол-во внутряков с одной страницы. Пробовал править файл acp_topiclist.php, как я понимаю именно там можно организовать такую разбивку по страницам, но ничего не получилось. Нужно вроде бы поставить счетчик на выводимые темы и когда их кол-во достигает, скажем 150и, начинать разбивку, как это реализовано со страницами отдельных тем - вроде несложно звучит, но собственных знаний php пока не хватает.
Уверен, подобная функция будет полезным дополнением, кто знает, подскажите, пожалуйста, в какую сторону копать.
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 22 года 2 месяца
Откуда: Москва
Благодарил (а): 293 раза
Поблагодарили: 7 раз

Re: [RC] Topiclist FX / Список тем

Сообщение Erlang »

y0ung5eo писал(а):Хотелось бы получить постраничную разбивку для листа тем. В случае, если тем очень много, — это полезно.
+1
Помниться Автор обещал это учесть...
С уважением,
Сергей
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: [RC] Topiclist FX / Список тем

Сообщение Garret_Dark »

Shredder, спасибо за решение! теперь бы это все автоматизировать, чтобы топик добавлялся при его создании или в крон както прописать, чтобы не лезть каждый раз в админку для синхронизации...
Аватара пользователя
rek01
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 9 месяцев
Откуда: Украина

Topiclist FX

Сообщение rek01 »

Искал в поиске решение своей проблемы, но не нашел, или плохо искал и не те запросы вводил, но вот в чем проблема, на 2-х моих форумах ошибки такого вида:
[phpBB Debug] PHP Notice: in file /includes/acp/acp_topiclist.php on line 80: fopen(../topiclist/32.html) [function.fopen]: failed to open stream: Permission denied
[phpBB Debug] PHP Notice: in file /includes/acp/acp_topiclist.php on line 81: fwrite(): supplied argument is not a valid stream resource
[phpBB Debug] PHP Notice: in file /includes/acp/acp_topiclist.php on line 82: fclose(): supplied argument is not a valid stream resource
[phpBB Debug] PHP Notice: in file /adm/index.php on line 150: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3583)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 152: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3583)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 153: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3583)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 154: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3583)
и
[phpBB Debug] PHP Notice: in file /includes/acp/acp_topiclist.php on line 80: fopen(../topiclist/31.html) [function.fopen]: failed to open stream: Permission denied
[phpBB Debug] PHP Notice: in file /includes/acp/acp_topiclist.php on line 81: fwrite(): supplied argument is not a valid stream resource
[phpBB Debug] PHP Notice: in file /includes/acp/acp_topiclist.php on line 82: fclose(): supplied argument is not a valid stream resource
[phpBB Debug] PHP Notice: in file /adm/index.php on line 150: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3584)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 152: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3584)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 153: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3584)
[phpBB Debug] PHP Notice: in file /adm/index.php on line 154: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3584)
Буду признателен Вам за помощь)))
Последний раз редактировалось FEAR93 30.05.2011 6:14, всего редактировалось 1 раз.
Причина: Перенесено. Не нужно плодить новые темы.
Аватара пользователя
FEAR93
Former team member
Сообщения: 666
Стаж: 17 лет 11 месяцев
Откуда: Кривой Рог, Украина
Благодарил (а): 22 раза
Поблагодарили: 76 раз

Re: Topiclist FX

Сообщение FEAR93 »

rek01 писал(а):Permission denied
Опять вы не хотите читать текст ошибки.

Вернуться в «Бета-версии модов для phpBB 3.0.x»