Готовый сценарий вы найдете
на прилагаемом компакт-диске в каталоге Glava_19.
Для подключения сценария к нашей CMS лучше использовать отдельную
переменную шаблона. Поэтому первым делом добавьте в шаблон page.tpl
переменную {online}. Затем добавьте следующие строки в файл index.php:
$online = join С1, file(«http://$SERVERJtf???/online.php»));
$tpl->set_value(‘ONLINE1,$online);
Примечание
В файле index.php (из каталога Glava_19 компакт-диска) строки
подключения сценария online.php закомментированы. Для его включения нужно
раскомментировать приведенные строки.
Лучше всего это сделать перед строкой:
if (!isset($p)) {
19.5. Изменение названий полей
Просмотрите профиль любого пользователя. В нем есть поля MSN
Messenger, Yahoo Messenger, AIM Address (рис. 19.4). На наших просторах эти
сервисы быстрого обмена сообщениями попросту не действуют, поэтому
данные поля в большинстве случаев останутся незаполненными.
Я предлагаю изменить названия этих полей, чтобы они стали полезными для
форума. Например, поле MSN Messenger можно заменить на Моб. телефон,
а поле Yahoo Messenger — на Дата рождения.
Первым делом измените текстовые константы. Для этого откройте файл
/phpBB2/languages/lang_russian/lang_main.php и найдите в нем строки:
$lang['MSNM'] = ‘MSN Messenger’;
$lang['YIM'] = ‘Yahoo Messenger’;
Глава 19. Базовая интеграция
237
Рис. 19.4. «Лишние» поля
Поменяйте значения ‘MSN Messenger1 И ‘Yahoo Messenger1 на ‘Моб.
телефон* и ‘Дата рождения (дд/мм/гггг) ‘ соответственно:
Slang['MSNM'] = ‘Моб. телефон’;
$lang['YIM'] = ‘Дата рождения (ДД/ММ/ГГГГ)’;
Теперь просмотрим профиль пользователя. Все отображается правильно. Но
это еще не все. Поскольку поля MSN Messenger и Yahoo Messenger ни разу не
использовались, заполните их. В окне редактирования профиля все
отображается тоже корректно, но если после заполнения данных полей просмотреть
профиль пользователя, то мы увидим не совсем то, что ожидали (рис. 19.5).
Значение поля Моб. телефон отображается нормально, чего нельзя сказать о
поле Yahoo Messenger— его значение заменено ссылкой на Yahoo! и
картинкой. Понятно, что нам нужно найти код, который отвечает за
формирование ссылки, и изменить его. Смотрим, какой сценарий выводит профиль
пользователя: profile.php. Открываем его и пытаемся понять, где
формируется ссылка.
Сценарию profile.php передается переменная mode, задающая режим работы с
профилем. В нашем случае она равна viewprof ile.
238
Часть V. Интеграция CMS с форумом phpBB
Находим место, где сценарий profile.php обрабатывает эту переменную:
if ( $mode == ‘viewprofile’ )
{
include($phpbb_root_path .
‘ includes/usercp_viewprofile.’.$phpEx);
exit;
}
Рис. 19.5. Неожиданный результат
Оказывается, непосредственно выводом профиля занимается сценарий
/phpBB2/includes/usercp_viewprofile.php. Откройте его. Вспоминаем, как
назывался элемент ассоциативного массива $iang в файле lang_main.php,
содержащий строку Yahoo Messenger. Правильно, ·???\ Ищем это значение в
файле usercpviewprofile.php (листинг 19.6).
$yim_img = ( $profiledata[ 'user_yim' ] ) ? ‘
href=»http://edit.yahoo.com/config/send_webmesg?.target=’ .
$profiledata [ 'use r_yim' ] . ‘&.src=pg»>Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
5th Фев 2011
|
Теги:
|