Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Кто пользуется phpBB Fetch All подскажите

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Alexgraf

Кто пользуется phpBB Fetch All подскажите

Сообщение Alexgraf »

Закинул такой мод

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

phpBB Fetch All - A modification to phpBB that displays data from the forum on any page of a website.
Authors: Volker 'Ca5ey' Rattel <webmaster@phpbbfetchall.com>              
http://www.phpbbfetchall.com/
Скажите, как сделать что бы он не выводил топики из закрытых форумов ?
Вроде как вот здесь он выводит топики

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

<!-- NEWS -->
<?php for ($i = 0; $i < count($news); $i++) { ?>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
  <tr>
    <th class="thTop" height="28"><?php echo $news[$i]['topic_title']; ?><?php if ($news[$i]['topic_trimmed']) { echo '...'; } ?></th>
  </tr>
  <tr>
    <td class="row1" align="left" width="100%">
      <span class="gensmall">
<?php echo $lang['Author']; ?>:
<a href="<?php echo append_sid($phpbb_root_path . 'profile.php?mode=viewprofile&u=' . $news[$i]['user_id']); ?>">
<?php echo $news[$i]['username']; ?></a> ::
<?php echo $lang['Posted']; ?>:
<?php echo create_date($board_config['default_dateformat'], $news[$i]['post_time'], $board_config['board_timezone']); ?>
      </span>
      <span class="gen">
<hr size="1"/>
<?php echo $news[$i]['post_text']; ?><?php if ($news[$i]['trimmed']) { echo '...'; } ?>
      </span>
<hr size="1"/>
      <span class="gensmall">
<div align="right"><font color="#333333" face="Verdana" size="1">(<?php echo $news[$i]['topic_replies']; ?>)
<a href="<?php echo append_sid($phpbb_root_path . 'viewtopic.php?t=' . $news[$i]['topic_id']); ?>">
<?php echo $lang['Replies']; ?></a></font></div>
      </span>
    </td>
  </tr>
</table>
<br />
<?php } ?>
<!-- NEWS -->
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Надо код, где он их вынимает из базы, то что выложили вы - это действительно выод, но уже обработанных данных.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Зарегистрирован: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Alexgraf
Может быть в posts.php подредактировать строчку (добавить id скрытых форумов):

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

$CFG['posts_exclude_forums'] = '';
Alexgraf

Сообщение Alexgraf »

Coagulant
(добавить id скрытых форумов)
Это я понимаю, но тогда эти форумы не будут выводиться даже тем, кому можно их смотреть, а это не есть хорошо...

Добавлено спустя 7 минут 47 секунд:

Xpert
Думаю это здесь, хотя могу ошибаться (весь файл слишком большой для поста - 28кб)

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

###############################################################################
##                                                                           ##
## phpbb_fetch_posts()                                                       ##
## ------------------------------------------------------------------------- ##
## This function will fetch the first or the last posting from one or more   ##
## topics.                                                                   ##
##                                                                           ##
## PARAMETER                                                                 ##
##                                                                           ##
##     forum_id                                                              ##
##                                                                           ##
##         Can be left blank to fetch from all forums or set to a single     ##
##         forums id to fetch that specific forum. To fetch from multiple    ##
##         forums you can parse an array to it.                              ##
##                                                                           ##
##     fetch_mode                                                            ##
##                                                                           ##
##         Set it to POSTS_FETCH_FIRST to fetch the first postings of a      ##
##         topic (i.e. the posts which started the topic) or set it to       ##
##         POSTS_FETCH_LAST to fetch the last postings of a topic.           ##
##                                                                           ##
## EXAMPLE                                                                   ##
##                                                                           ##
##     $news = phpbb_fetch_posts();                                          ##
##                                                                           ##
##     for ($i = 0; $i < count($news); $i++)                                 ##
##     {                                                                     ##
##         echo $news[$i]['topic_title'] . '<br>';                           ##
##     }                                                                     ##
##                                                                           ##
###############################################################################

function phpbb_fetch_posts($forum_id = null, $fetch_mode = POSTS_FETCH_FIRST)
{
	global $CFG, $userdata;

	//
	// sanity check for dates
	//

	if ($CFG['posts_date_offset_start'] >= $CFG['posts_date_offset_end'])
	{
		phpbb_raise_error('\'posts_date_offset_start\' has to be smaller '
			. 'than \'posts_date_offset_end\'');
	}

	//
	// create a list of forums with read permission
	// (only takes action when auth_check is enabled)
	//

	phpbb_get_auth_list();

	//
	// determine the forum list based on the user input
	// and/or permissions (depends on auth check)
	//

	$forum_list = phpbb_get_forum_list($forum_id);

	//
	// if read permissions do not allow us to fetch anything
	// we return nicely
	//

	if (!$forum_list and $CFG['auth_check'])
	{
		return;
	}

	$sql = 'SELECT f.*, p.*, pt.*, t.*, u.*';

	if (!$CFG['posts_hide_ranks'])
	{
		$sql .= ', r.*';
	}

	$sql .= '
				FROM ' . TOPICS_TABLE     . ' AS t,
					 ' . USERS_TABLE      . ' AS u,
					 ' . POSTS_TEXT_TABLE . ' AS pt,
					 ' . POSTS_TABLE      . ' AS p,
					 ' . FORUMS_TABLE     . ' AS f';

	if (!$CFG['posts_hide_ranks'])
	{
		$sql .= ', ' . RANKS_TABLE . ' AS r';
	}

	$sql .= '
				WHERE';

	if ($forum_list)
	{
		$sql .= ' t.forum_id IN (' . $forum_list . ') AND';
	}

	if ($fetch_mode == POSTS_FETCH_FIRST)
	{
		$sql .= ' t.topic_first_post_id = pt.post_id
					AND t.topic_first_post_id = p.post_id AND';
	}
	else
	{
		$sql .= ' t.topic_last_post_id = pt.post_id
					AND t.topic_last_post_id = p.post_id AND';
	}

	if ($CFG['posts_date_offset_start'])
	{
		$sql .= ' p.post_time >= ' . $CFG['posts_date_offset_start'] . ' AND';
	}

	if ($CFG['posts_date_offset_end'])
	{
		$sql .= ' p.post_time <= ' . $CFG['posts_date_offset_end'] . ' AND';
	}

	if ($CFG['posts_hide_normal'])
	{
		$sql .= ' t.topic_type <> 0 AND';
	}

	if ($CFG['posts_hide_sticky'])
	{
		$sql .= ' t.topic_type <> 1 AND';
	}

	if ($CFG['posts_hide_announcements'])
	{
		$sql .= ' t.topic_type <> 2 AND';
	}

	if ($CFG['posts_hide_locked'])
	{
		$sql .= ' t.topic_status <> 1 AND';
	}

	if ($CFG['posts_hide_moved'])
	{
		$sql .= ' t.topic_status <> 2 AND';
	}

	if ($CFG['posts_hide_polls'])
	{
		$sql .= ' t.topic_vote <> 1 AND';
	}

	if ($CFG['posts_search_string'])
	{
		$sql .= ' (' . $CFG['posts_search_string'] . ') AND';
	}

	$sql .= ' t.forum_id = f.forum_id AND';

	if (!$CFG['posts_hide_ranks'])
	{
		$sql .= ' r.rank_id = u.user_rank AND';
	}

	$sql .= ' u.user_id = p.poster_id';

	$sql .= ' ORDER BY ' . $CFG['posts_order'];

	if ($CFG['posts_span_pages'])
	{
		$CFG['posts_span_pages_numrows'] = phpbb_numrows(phpbb_query($sql));
		if ($CFG['posts_span_pages_offset'] > $CFG['posts_span_pages_numrows'])
		{
			$CFG['posts_span_pages_offset'] =
				 $CFG['posts_span_pages_numrows'] - 1;
		}
		$CFG['posts_offset'] = $CFG['posts_span_pages_offset'];
	}
	else
	{
		$CFG['posts_offset'] = 0;
	}

	if ($CFG['posts_limit'] != 0)
	{
		$sql .= ' LIMIT ' . $CFG['posts_offset'] . ',' . $CFG['posts_limit'];
	}

	$result = phpbb_fetch_rows($sql);

	if ($result)
	{
		$orig_word        = array();
		$replacement_word = array();
		obtain_word_list($orig_word, $replacement_word);

		for ($i = 0; $i < count($result); $i++)
		{
			$result[$i]['post_time']  =
				$result[$i]['post_time']  + $CFG['time_zone'];
			$result[$i]['topic_time'] =
				$result[$i]['topic_time'] + $CFG['time_zone'];

			$result[$i]['date']       =
				date($CFG['date_format'], $result[$i]['post_time']);
			$result[$i]['time']       =
				date($CFG['time_format'], $result[$i]['post_time']);

			if (isset($result[$i]['post_edit_time']))
			{
				$result[$i]['edit_date'] =
					date($CFG['date_format'], $result[$i]['post_edit_time']);
				$result[$i]['edit_time'] =
					date($CFG['time_format'], $result[$i]['post_edit_time']);
			}
			else
			{
				$result[$i]['edit_date'] = '';
				$result[$i]['edit_time'] = '';
			}

			$result[$i]['post_text'] = phpbb_parse_text(
				$result[$i]['post_text'],
				$result[$i]['bbcode_uid'],
				$result[$i]['enable_smilies'],
				$CFG['posts_enable_bbcode'],
				$CFG['posts_enable_html'],
				$CFG['posts_hide_images'],
				$CFG['posts_replace_images']);

			if (count($orig_word))
			{
				$result[$i]['topic_title'] = preg_replace($orig_word,
					$replacement_word,
					$result[$i]['topic_title']);
				$result[$i]['post_text']   = preg_replace($orig_word,
					$replacement_word,
					$result[$i]['post_text']);
			}

			$result[$i]['trimmed'] = false;
			phpbb_trim_text($result[$i]['post_text'],
				$result[$i]['trimmed'],
				$CFG['posts_trim_text_character'],
				$CFG['posts_trim_text_number'],
				$CFG['posts_trim_text_words']);

			$result[$i]['topic_trimmed'] = false;
			phpbb_trim_text($result[$i]['topic_title'],
				$result[$i]['topic_trimmed'],
				'',
				$CFG['posts_trim_topic_number'],
				'');
		}
	}

	return $result;
} // end func phpbb_fetch_posts
IndividuaJl

это мод или что?

Сообщение IndividuaJl »

Здравствуйте.
Меня очень интересует вот этот сайт : http://biketrials.ru
Вопрос: это какие-то моды стоят на нем или это личная разработка или это вообще PHP-nuke?
Вообщем это реально самому сделать ?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Моды. Плюс конечно что-то личное. Кстати, довольно грамотно сделано.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
IndividuaJl

Сообщение IndividuaJl »

ага. очень круто.
ну а до чего я могу дайти? учитывая мое незнание пхп
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 19 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

передизайненый phpbbfetchall
У меня обрезаный стоит. Ничего сложного если знаешь html.

Добавлено спустя 3 минуты 9 секунд:

Ну и ещё кое-что приделано копированием частей phpbbfetchall.

Я не говорю что там именно phpbbfetchall, но с его помощью аналогичное можно сделать.
я люблю daft punk | новый sugoi.ru
IndividuaJl

Сообщение IndividuaJl »

А phpbbfetchall это разновидность форума? или это мод?

Добавлено спустя 43 минуты 57 секунд:

нашел. скачал. поставил.
ВОПРОС : как сделать, чтобы начальная страница сайта была с этим модом???
то есть в установке сказано: залить и дана ссылка.
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 19 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

IndividuaJl
.htaccess DirectoryIndex
я люблю daft punk | новый sugoi.ru
IndividuaJl

Сообщение IndividuaJl »

VVVas
это что означет?
создать файл htaccess

а это что DirectoryIndex?

Добавлено спустя 4 минуты 4 секунды:

еще такой вопрос
за что отвечают строки

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

<!-- TOPIC -->
<?php if (isset($topic) and !empty($topic)) { ?>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
  <tr>
    <td class="catHead" height="28"><span class="cattitle"><?php echo $topic[0]['topic_title']; ?></span></td>
  </tr>
  <tr>
    <td class="row1" align="left" width="100%">
      <span class="gensmall">
<?php echo $topic[0]['post_text']; ?>
      </span>
    </td>
  </tr>
</table>
<br />
<?php } ?>
<!-- TOPIC -->
в phpbbfetchall

и возможно ли добавить ленту новостей?
например место обзора форумов добавить ленту новостей, а список форумов в левый столбик??

если кто не помнит как все выглядит, то можете посмотреть тут http://oe.km.ru/mods/phpbb_fetch_all/ex ... ortal2.php

Добавлено спустя 19 минут 14 секунд:

и еще вопрос
как сделать, чтобы он выводил не 5 последних активный топиков, а 10 ??
вот код функции

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

<!-- RECENT -->
<?php if (isset($recent)) { ?>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
  <tr>
    <td class="catHead" height="28"><span class="cattitle"><?php echo $lang['Topics2']; ?></span></td>
  </tr>
  <tr>
    <td class="row1" align="left" width="100%">
      <span class="gensmall">

<?php for ($i = 0; $i < count($recent); $i++) { ?>
<?php echo create_date($board_config['default_dateformat'], $recent[$i]['post_time'], $board_config['board_timezone']); ?> <a href="<?php echo append_sid($phpbb_root_path . 'profile.php?mode=viewprofile&u=' . $recent[$i]['user_id']); ?>"><?php echo $recent[$i]['username']; ?></a><br /><img src="<?php echo $phpbb_root_path; ?>templates/subSilver/images/icon_latest_reply.gif" border="0" align="absmiddle" /> <a href="<?php echo append_sid($phpbb_root_path . 'viewtopic.php?p=' . $recent[$i]['post_id'] . '#' . $recent[$i]['post_id']); ?>"><b><?php echo $recent[$i]['topic_title']; ?><?php if ($recent[$i]['topic_trimmed']) { echo '...'; } ?></b></a><br />
<?php } ?>
      </span>
    </td>
  </tr>
</table>
<br />
<?php } ?>
<!-- RECENT -->
я пытался зафиксировать значение переменной $recent, не получилось. пытался вставить просто 10. не получилось
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 19 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

IndividuaJl писал(а):это что означет?
поищите
IndividuaJl писал(а):за что отвечают строки
IndividuaJl писал(а):TOPIC
IndividuaJl писал(а):и возможно ли добавить ленту новостей?
да
IndividuaJl писал(а):например место обзора форумов добавить ленту новостей, а список форумов в левый столбик??
да
IndividuaJl писал(а):как сделать, чтобы он выводил не 5 последних активный топиков, а 10 ?
посмотреть конфигурационный файл

Вам так сложно прочитать руководство по установке мода?
я люблю daft punk | новый sugoi.ru
IndividuaJl

Сообщение IndividuaJl »

VVVas я бы не писал, если бы не читал.
Я просмотрет все файлы, нету там конфига для RECENT , если для всех, но для RECENT нету.
Я парился часа 2. (для факта)

Добавлено спустя 35 секунд:

я сам знаю что TOPIC
а что он выводит на экран?

Добавлено спустя 33 секунды:

а что надо установить, чтобы отображалась лента новостей?
IndividuaJl

Сообщение IndividuaJl »

ну может кто подскажет, где взять мод для phpbb fetch all , чтобы посередине новости публиковались?
Аватара пользователя
automan
phpBB 2.0.1
Сообщения: 252
Зарегистрирован: 18 лет 11 месяцев
Благодарил (а): 2 раза

Сообщение automan »

а что на том форуме особеного ?
что то не заметил :roll:

Вернуться в «Поддержка модов для phpBB 2.0.x»