Пропустить

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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

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

Сообщение Айдар » 04.03.2011 2:25

Альтаир Бергадлер, типа карта сайта, не катит?
In Web We Trust
Аватара пользователя
Айдар
Модератор
Модератор
 
Сообщения: 1846
Зарегистрирован: 14.12.2010 17:15
Откуда: KZN
Благодарил (а): 115 раз.
Поблагодарили: 195 раз.

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

Сообщение Shredder » 04.03.2011 2:51

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

includes/acp/acp_topiclist.php
					FROM ' . TOPICS_TABLE . "
					WHERE forum_id=$forum";

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

Если в списке уже есть нежелательные темы, сделать синхронизацию по-новой.

Shredder
Former team member
 
Сообщения: 1034
Зарегистрирован: 14.12.2008 11:18
Благодарил (а): 62 раз.
Поблагодарили: 181 раз.

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

Сообщение DemonXT » 04.03.2011 15:09

to Shredder
Вот теперь всё как нужно. Странно, что автор не учёл исключить новости не прошедшие модерацию. Не думаю, что все из них должны попадать в паблик.:-)

DemonXT
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 28.02.2011 18:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Shredder » 04.03.2011 15:35

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

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'] . '&amp;t=' . $row2['topic_id'] . '">' . $row2['topic_title'] . '</a></li>';
						}
						else
						{
							$html_content .= '<li><a href="' . $url . '/viewtopic.' . $phpEx . '?f=' . $row2['forum_id'] . '&amp;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'] . '&amp;t=' . $row2['topic_id'] . '&amp;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 . "&amp;f={$row['forum_id']}";

Добавить после:
				$template->assign_var('U_GENERATE_ALL', append_sid($url . '&amp;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 05.03.2011 2:45, всего редактировалось 1 раз.
За это сообщение автора Shredder поблагодарил:
Garret_Dark (22.05.2011 15:47)

Shredder
Former team member
 
Сообщения: 1034
Зарегистрирован: 14.12.2008 11:18
Благодарил (а): 62 раз.
Поблагодарили: 181 раз.

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

Сообщение DemonXT » 04.03.2011 17:24

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

Сделал всё по инструкции, но в настройках Topiclist FX почему-то не появилось пункта: Синхронизировать все форумы
Может его где-то в другом месте нужно искать?

DemonXT
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 28.02.2011 18:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Shredder » 04.03.2011 17:42

Само собой, нужно очистить кеш. Кнопка появится вверху над форумами в настройках мода.

Shredder
Former team member
 
Сообщения: 1034
Зарегистрирован: 14.12.2008 11:18
Благодарил (а): 62 раз.
Поблагодарили: 181 раз.

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

Сообщение Пчелкин » 04.03.2011 18:19

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

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

Добавлено спустя 25 минут 20 секунд:
FladeX писал(а):В includes/acp/acp_topiclist.php найдите поиском <br /> и замените на пробел.

И перенос на следующую строку номеров страницу тоже убрать. Список станет короче в высоту.
Фанат phpBB. В HTML - без проблем, в CSS - так себе, учусь, в php - баран, помогает только дедукция
Аватара пользователя
Пчелкин
phpBB 3.0.7-PL1
 
Сообщения: 4901
Зарегистрирован: 15.01.2010 14:57
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 288 раз.
Поблагодарили: 557 раз.

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

Сообщение DemonXT » 04.03.2011 20:42

Shredder писал(а):Само собой, нужно очистить кеш. Кнопка появится вверху над форумами в настройках мода.

Теперь всё отлично. Работает!
Вот бы сделать эту синхронизацию отдельным файлом, чтоб можно было добавить в cron и тем самым автоматизировать обновления карты сайта.

DemonXT
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 28.02.2011 18:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Shredder » 05.03.2011 2:41

А на самом деле с правами всё просто. В 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']))

После этого список будет по-прежнему генерироваться для всех форумов, но видеть темы и форумы на странице карты пользователи будут в соотвествии с их правами.

Shredder
Former team member
 
Сообщения: 1034
Зарегистрирован: 14.12.2008 11:18
Благодарил (а): 62 раз.
Поблагодарили: 181 раз.

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

Сообщение Пчелкин » 05.03.2011 5:25

Ну все! Теперь тупо ждем на полную синхронизацию...Права сами разберутся кому и что показывать...Ура!
Вот бы ( все таки не посчитайте наглым , но все ж! - а вдруг! ) еще бы меточки "прочитано-не прочитано" и получился бы самый лучший навигатор по форуму для админов и модераторов. В смысле пробегания по форуму, кто, что, где - лучшего варианта не было бы.
Фанат phpBB. В HTML - без проблем, в CSS - так себе, учусь, в php - баран, помогает только дедукция
Аватара пользователя
Пчелкин
phpBB 3.0.7-PL1
 
Сообщения: 4901
Зарегистрирован: 15.01.2010 14:57
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 288 раз.
Поблагодарили: 557 раз.

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

Сообщение y0ung5eo » 05.05.2011 17:05

maggg2 писал(а):Хотелось бы получить постраничную разбивку для листа тем. В случае, если тем очень много, — это полезно.

Согласен, так как поисковые системы и биржи ссылок в некоторых случаях ругаются на большое кол-во внутряков с одной страницы. Пробовал править файл acp_topiclist.php, как я понимаю именно там можно организовать такую разбивку по страницам, но ничего не получилось. Нужно вроде бы поставить счетчик на выводимые темы и когда их кол-во достигает, скажем 150и, начинать разбивку, как это реализовано со страницами отдельных тем - вроде несложно звучит, но собственных знаний php пока не хватает.
Уверен, подобная функция будет полезным дополнением, кто знает, подскажите, пожалуйста, в какую сторону копать.
Аватара пользователя
y0ung5eo
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 30.09.2009 23:51
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Erlang » 08.05.2011 11:06

y0ung5eo писал(а):Хотелось бы получить постраничную разбивку для листа тем. В случае, если тем очень много, — это полезно.


+1
Помниться Автор обещал это учесть...
С уважением,
Сергей

Erlang
phpBB 2.0.22
 
Сообщения: 757
Зарегистрирован: 13.07.2004 21:30
Откуда: Москва
Благодарил (а): 42 раз.
Поблагодарили: 1 раз.

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

Сообщение Garret_Dark » 22.05.2011 15:48

Shredder, спасибо за решение! теперь бы это все автоматизировать, чтобы топик добавлялся при его создании или в крон както прописать, чтобы не лезть каждый раз в админку для синхронизации...
Аватара пользователя
Garret_Dark
phpBB 2.0.22
 
Сообщения: 751
Зарегистрирован: 11.01.2009 16:18
Благодарил (а): 91 раз.
Поблагодарили: 77 раз.

Topiclist FX

Сообщение rek01 » 30.05.2011 10:07

Искал в поиске решение своей проблемы, но не нашел, или плохо искал и не те запросы вводил, но вот в чем проблема, на 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 10:14, всего редактировалось 1 раз.
Причина: Перенесено. Не нужно плодить новые темы.
Аватара пользователя
rek01
phpBB 1.0.0
 
Сообщения: 6
Зарегистрирован: 16.12.2009 19:37
Откуда: Украина
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Topiclist FX

Сообщение FEAR93 » 30.05.2011 10:12

rek01 писал(а):Permission denied

Опять вы не хотите читать текст ошибки.
Аватара пользователя
FEAR93
Модератор
Модератор
 
Сообщения: 695
Зарегистрирован: 12.10.2008 12:52
Откуда: Кривой Рог, Украина
Благодарил (а): 28 раз.
Поблагодарили: 76 раз.

Пред.След.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы