Уважаемые пользователи!
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 3.1

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
spoler
phpBB 1.2.0
Сообщения: 16
Стаж: 15 лет 7 месяцев
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Темы на странице сайта для phpBB 3.1

Сообщение spoler »

Добрый день!

Извините, если не в ту ветку запостил.
Мод вывода последних свежих тем форума на сайте (не на форуме).
Подскажите, пожалуйста, как сделать так, чтобы на 3.1.2 этот мод заработал?
Вот ветка обсуждения версии для 3.0.*. Там же и исходники.

Обновил форум, залил мод руками, темы на сайте не выводятся. При открытии напрямую recent.php получаю ошибку:

Illegal use of $_SERVER. You must use the request class or request_var() to access input data. Found in /home6/blabla/forum/recent.php on line 34. This error message was generated by deactivated_super_global.

34 строка в файле выглядит так:

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

if (!empty($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache/2'))
А вот кусочек кода рядом с этой строкой:

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

//
// Let's prevent caching
//
if (!empty($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache/2'))
{
	header ('Cache-Control: no-cache, pre-check=0, post-check=0');
}
else
{
	header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
header('Content-type: text/html; charset=UTF-8');
header('Expires: 0');
header('Pragma: no-cache');

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('common');
Последний раз редактировалось spoler 20.12.2014 13:17, всего редактировалось 1 раз.
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: Recent topics for phpBB3

Сообщение Anvar »

Замени $_SERVER['SERVER_SOFTWARE'] на $request->server('SERVER_SOFTWARE')
spoler
phpBB 1.2.0
Сообщения: 16
Стаж: 15 лет 7 месяцев
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Re: Recent topics for phpBB3

Сообщение spoler »

Anvar писал(а):Замени $_SERVER['SERVER_SOFTWARE'] на $request->server('SERVER_SOFTWARE')
Заменил, получил ошибку:
PHP Fatal error: Can't use method return value in write context.
Ругается на измененную строку.

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

if (!empty($request->server('SERVER_SOFTWARE')) && strstr($request->server('SERVER_SOFTWARE'), 'Apache/2'))
Это строка, которая получилась после изменения.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Recent topics for phpBB3

Сообщение Sheer »

spoler писал(а):получил ошибку:
И это правильно. Нужно сначала подключить класс request
Находится тут ./phpbb/request/request.php

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

namespace phpbb\request;

/**
* All application input is accessed through this class.
*
* It provides a method to disable access to input data through super globals.
* This should force MOD authors to read about data validation.
*/
class request implements \phpbb\request\request_interface
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
spoler
phpBB 1.2.0
Сообщения: 16
Стаж: 15 лет 7 месяцев
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Re: Recent topics for phpBB3

Сообщение spoler »

Подключил так

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

require_once('./phpbb/request/request.php');
if (!empty($request->server('SERVER_SOFTWARE')) && strstr($request->server('SERVER_SOFTWARE'), 'Apache/2'))
Ошибка не ушла.

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

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

require_once($phpbb_root_path . 'phpbb/request/request.' . $phpEx);
Так тоже пробовал – не работает
bozzafresco
phpBB 1.4.4
Сообщения: 127
Стаж: 10 лет 1 месяц
Благодарил (а): 44 раза
Поблагодарили: 6 раз

Re: Recent topics for phpBB3

Сообщение bozzafresco »

А может вам вот такой экст подойдет?
http://pbwow.com/forum/viewtopic.php?f=57&t=11610
С просильвером и производными работает на пять
spoler
phpBB 1.2.0
Сообщения: 16
Стаж: 15 лет 7 месяцев
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Re: Recent topics for phpBB3

Сообщение spoler »

bozzafresco писал(а):А может вам вот такой экст подойдет?
http://pbwow.com/forum/viewtopic.php?f=57&t=11610
С просильвером и производными работает на пять
Так мне нужно выводить темы в блок на сайте, а вы предлагаете, как я понял, вывод последних топиков именно на форум.
bozzafresco
phpBB 1.4.4
Сообщения: 127
Стаж: 10 лет 1 месяц
Благодарил (а): 44 раза
Поблагодарили: 6 раз

Re: Recent topics for phpBB3

Сообщение bozzafresco »

Простите, обознался ;-)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Recent topics for phpBB3

Сообщение Sheer »

spoler писал(а):Так тоже пробовал – не работает
Мдя... в общем так
Найти

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

if (!empty($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache/2'))
Заменить на

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

$server_software = $request->server('SERVER_SOFTWARE');
if (!empty($server_software) && strstr($request->server('SERVER_SOFTWARE'), 'Apache/2'))
Найти

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

$sql = 'SELECT t.topic_id, t.forum_id, t.topic_title, t.topic_last_post_id, t.topic_first_post_id, t.topic_replies, t.topic_replies_real, p.post_id, p.post_text, p.bbcode_uid, p.bbcode_bitfield, p.post_attachment, p.post_approved
Заменить на

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

$sql = 'SELECT t.topic_id, t.forum_id, t.topic_title, t.topic_last_post_id, t.topic_first_post_id, t.topic_posts_approved, t.topic_posts_unapproved, t.topic_posts_softdeleted, p.post_id, p.post_text, p.bbcode_uid, p.bbcode_bitfield, p.post_attachment
Найти

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

	$replies = ($auth->acl_get('m_approve', $row['forum_id'])) ? $row['topic_replies_real'] : $row['topic_replies'];
Заменить на

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

	$phpbb_content_visibility = $phpbb_container->get('content.visibility');
	$replies = $phpbb_content_visibility->get_count('topic_posts', $row, $row['forum_id']) - 1;
Если лениво править
recent20141220014940.rar
(3.58 КБ) 377 скачиваний
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
spoler
phpBB 1.2.0
Сообщения: 16
Стаж: 15 лет 7 месяцев
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Re: Recent topics for phpBB3.1

Сообщение spoler »

Спасибо, работает!
Аватара пользователя
misterleks
phpBB 2.0.9
Сообщения: 715
Стаж: 13 лет 7 месяцев
Откуда: Великий Новгород
Благодарил (а): 103 раза
Поблагодарили: 38 раз
Контактная информация:

Re: Recent topics for phpBB 3.1

Сообщение misterleks »

spoler, Как Вы его установили? Все руками по инструкции для 3.0 ? Можно посмотреть, как он работает на Вашем сайте?
Продаю комиксы, продаю инструмент, продаю товары для охоты и рыбаков... и администрирую форум!
spoler
phpBB 1.2.0
Сообщения: 16
Стаж: 15 лет 7 месяцев
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Re: Recent topics for phpBB 3.1

Сообщение spoler »

Руками по инструкции с обсуждаемыми тут изменениями. В ЛС показал пример.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 14 лет 3 месяца
Откуда: Украина! Харьков
Благодарил (а): 80 раз
Поблагодарили: 292 раза
Контактная информация:

Re: Recent topics for phpBB 3.1

Сообщение Alecto »

1 - не понимаю, из-за чего сыр-бор, если есть прекрасно работающее расширение Recent topics ?
2 - модераторам, название темы вводит в заблуждение, прошу изменить название, поскольку тема не имеет никакого отношения к расширению Recent Topics уважаемого автора https://www.phpbb.com/community/viewtop ... &t=2236571
Аватара пользователя
misterleks
phpBB 2.0.9
Сообщения: 715
Стаж: 13 лет 7 месяцев
Откуда: Великий Новгород
Благодарил (а): 103 раза
Поблагодарили: 38 раз
Контактная информация:

Re: Recent topics for phpBB 3.1

Сообщение misterleks »

Alecto писал(а):не понимаю, из-за чего сыр-бор, если есть прекрасно работающее расширение Recent topics ?
Я правильно понял, что есть прекрасно работающее расширение для 3.1, которое выводит активные темы на страничку отдельного сайта?
Продаю комиксы, продаю инструмент, продаю товары для охоты и рыбаков... и администрирую форум!
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 14 лет 3 месяца
Откуда: Украина! Харьков
Благодарил (а): 80 раз
Поблагодарили: 292 раза
Контактная информация:

Re: Recent topics for phpBB 3.1

Сообщение Alecto »

misterleks писал(а):Я правильно понял,
нет, есть расширение Recent Topics, использовав название которого в заголовке темы вы вводите в заблуждение пользователей.
Ответить

Вернуться в «Для разработчиков»