Уважаемые пользователи!
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 2.0.x.
Аватара пользователя
YogSagot
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 2 месяца
Откуда: Латвия, г.Даугавпилс

"Кто сейчас на форуме" - интеграция с сайтом.

Сообщение YogSagot »

Мне удалось у себя на сайте www.chepe.lv самолично прикрутить к hphbb такую фичу, что в списке "Кто сейчас на форуме" показываються не только и не столько посетители форума, но и вообще посетители всех (ну, пока еще не всех, но остальные в планах) страниц сайта, будь то новости, статьи, галлерея или ссылки.

Если кому интересно, могу поделиться кодом. Благо, он не так и сложен.
Аватара пользователя
SugutorBatia
phpBB 1.4.4
Сообщения: 151
Стаж: 18 лет 9 месяцев

Сообщение SugutorBatia »

YogSagot
Мне интересно... Даш посмотреть?
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Аватара пользователя
YogSagot
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 2 месяца
Откуда: Латвия, г.Даугавпилс

Сообщение YogSagot »

phpbb/includes/constatns.php

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

define('SITE_INDEX', -20);
define('SITE_LINKS', -21);
По константе на каждую страницу. Константы именно такие, минусовые.

phpbb/language/lang_russian/lang_main.php

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

$lang['Viewing_site_index'] = 'Просмотр главной страницы сайта';
$lang['Viewing_site_links'] = 'Просмотр ссылок на сайте';
phpbb/viewonline.php

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

//Находим
case PAGE_FAQ:
        $location = $lang['Viewing_FAQ'];
        $location_url = "faq.$phpEx";
        break;
//После чего вставляем
case SITE_INDEX:
        $location = $lang['Viewing_site_index'];
        $location_url = '../index.php';
        break;
case SITE_LINKS:
        $location = $lang['Viewing_site_links'];
        $location_url = '../links.php';
        break;
Ну и последний штрих. В каждую страницу из тех, что должны быть видны в списке, в самое начало вставляеться код стандартной авторизации phpbb:

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

define('IN_PHPBB', true);
$phpbb_root_path = 'phpbb/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, SITE_INDEX);
init_userprefs($userdata);
//
// End session management
//
У меня работало...
Аватара пользователя
SugutorBatia
phpBB 1.4.4
Сообщения: 151
Стаж: 18 лет 9 месяцев

Сообщение SugutorBatia »

Спасибо, попробую :)
Результат расскажу позже.

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

:cry: Это работает только если все эти файлы в корневой директории лежат, а если например http://mysite/text/page.php - то нифига оно не работает :( Потому что путь приходится прописывать либо абсалютный либо с "/" в начале пути. И тогда PHP не передает переменные :(((((
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Аватара пользователя
YogSagot
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 2 месяца
Откуда: Латвия, г.Даугавпилс

Сообщение YogSagot »

$location_url = '../page.php'; для страницы, что в подкаталоге, заменяешь на $location_url = '../text/page.php';

Ну а в коде самой страницы. $phpbb_root_path = 'phpbb/'; заменяешь на $phpbb_root_path = '../phpbb/';

И все должно работать.
Аватара пользователя
SugutorBatia
phpBB 1.4.4
Сообщения: 151
Стаж: 18 лет 9 месяцев

Сообщение SugutorBatia »

YogSagot
нет, не работает так :(
Это потому что путь $phpbb_root_path = '../phpbb/'; содержит / перед началом.... поэтому значения переменных не передаются.
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Аватара пользователя
YogSagot
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 2 месяца
Откуда: Латвия, г.Даугавпилс

Сообщение YogSagot »

SugutorBatia писал(а):YogSagot
нет, не работает так :(
Это потому что путь $phpbb_root_path = '../phpbb/'; содержит / перед началом.... поэтому значения переменных не передаются.
Нипонял. При чем тут слэш и что значит "значения переменных не передаються"? :shock:
Аватара пользователя
SugutorBatia
phpBB 1.4.4
Сообщения: 151
Стаж: 18 лет 9 месяцев

Сообщение SugutorBatia »

короче....

Смотри.
Есть файл например:
index_1.php, index_2.php и config.php

index_1.php

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

<?PHP
include"path-to/folder/config.php";
echo $var;
?>
index_2.php

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

<?PHP
include"/path-to/folder/config.php";
echo $var;
?>
config.php

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

<?PHP
$var = " значение переменной ";
?>

Так вот, если в браузере открыть файл index_1.php то на экран выведется:
значение переменной
А если в браузере открыть файл index_2.php то на экран выдаст ошибку:
Notice: Undefined variable: var in z:\home\domian.ru\www\index_2.php on line 2
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Аватара пользователя
YogSagot
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 2 месяца
Откуда: Латвия, г.Даугавпилс

Сообщение YogSagot »

Аватара пользователя
SugutorBatia
phpBB 1.4.4
Сообщения: 151
Стаж: 18 лет 9 месяцев

Сообщение SugutorBatia »

гм... да вроде того... Но как решить это? неясно :(
http://batia.info
Быстрое решение проблемы с PhpBB3: Кодировки
Аватара пользователя
MXM
phpBB 2.0.7
Сообщения: 555
Стаж: 19 лет 9 месяцев
Откуда: Санкт-Петербург

Сообщение MXM »

YogSagot, хм... не нашел твою тему, когда искал ответ на свой вопрос, моя тема похожа на твою:
Страница со своим lang.

У меня вопрос: как образуются константы.
YogSagot писал(а):phpbb/includes/constatns.php

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

define('SITE_INDEX', -20);
define('SITE_LINKS', -21);
Почему именно минусовые, с каким шагом должны они отличаться друг от друга, с какого числа они должны начаться?
Аватара пользователя
YogSagot
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 2 месяца
Откуда: Латвия, г.Даугавпилс

Сообщение YogSagot »

MXM
Число больше нуля означает ID форума, на котором сидит пользователь. По этому константы минусовые. Всего в phpbb определено 12 родных констант от 0 до -11. Число -20 было взято просто так, с потолка.
Аватара пользователя
MXM
phpBB 2.0.7
Сообщения: 555
Стаж: 19 лет 9 месяцев
Откуда: Санкт-Петербург

Сообщение MXM »

YogSagot, можно еще вопросик:
Ситуация: пытаюсь вставить на созданную страницу: ссылку на прикрепленный файл из одной темы на форуме, вот к примеру, вставляю -

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

<a href="./download.php?id=40" target="_blank" class="genmed"><b>Скачать</b></a>
Делаю это так:

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

ОТКРЫВАЮ addpage_body.tpl и вставляю ссылку, ПОЛУЧАЮ:
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
        <tr>
                <td align="left" class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></td>
        </tr>
</table>

<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0" align="center">
        <tr>
                <th class="thHead">{L_ADDPAGE_TITLE}</th>
        </tr>
        <tr>
                <td class="row1">

                        <br />

<a href="./download.php?id=40" target="_blank" class="genmed"><b>Скачать</b></a></td>

</table>

<table width="100%" cellspacing="2" border="0" align="center">
        <tr>
                <td align="right" valign="top" nowrap="nowrap"><span class="gensmall">{S_TIMEZONE}</span>{JUMPBOX}</td> 
        </tr>
</table>
Но, почему-то не работает sid? Зарегистрированным пользователям скачать вложение с этой страницы нельзя? Подскажи, в чем может быть причина?

Вот код страницы addpage:

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

<?php

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_ADDPAGE);
init_userprefs($userdata);
//
// End session management
//

$lang_file = 'lang_addpage';

include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/' . $lang_file . '.' . $phpEx);

//
// Generate page
//
$page_title = $lang['addpage'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
        'body' => 'addpage_body.tpl')
);
make_jumpbox('viewforum.'.$phpEx);



$template->assign_vars(array(
        'L_ADDPAGE_TITLE' => $lang['addpage'])
);

$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
Аватара пользователя
YogSagot
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 2 месяца
Откуда: Латвия, г.Даугавпилс

Сообщение YogSagot »

MXM
Все внутренние ссылки должны пропускаться через функцию append_sid(); на стороне рнр скрипта, чего у тебя я как раз таки и не наблюдаю. Ну а так как ты подключал common.php (а ты не мог его не подключить), то эта функция тебе полностью доступна.
Lstasss
phpBB 1.4.4
Сообщения: 166
Стаж: 17 лет 8 месяцев
Откуда: Варшава (Польша) / Кишинёв (Молдова)

Сообщение Lstasss »

MXM, тебе нужно написать там не конкреиный адрес страницы, а переменную, как для других ссылок и в соответсвующем файле этой переменной присвоить значение. Иначе SIDа не будет...
обожаю строку "EoM" :D
http://nepopsisty.net/forum.php - форум НЕпопсистов :twisted:

Вернуться в «Для авторов (phpBB 2.0.x)»