Получить инфу о пользователе в index.php

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
blaga_pro
phpBB 1.2.0
Сообщения: 15
Стаж: 18 лет 3 месяца

Получить инфу о пользователе в index.php

Сообщение blaga_pro »

Доброго времени суток.
Для своего форума решил сделать такую фичу что бы при заходе на форум на главной странице между шапкой и списком форумов выводилась информация о пользователе, ну там его аватара, логин, дата регистрации ранг и все такое.
Сейчас у меня появилась проблема с определением ранга пользователя.
До этого я все данные брал из массива $user->data , а в этом массиве нет конкретного ранга только его ID.
В файле includes/functions_display.php я нашел функцию get_user_rank, но использовать ее на индексе не получилось.
Подскажите какие переменные с индекса нужно передавать этой функции?


Или еще вариант я в файле includes/ucp/ucp_pm_viewmessage.php нашел функцию get_user_information может быть это как раз то что мне нужно? Но при попытке ее подключить пишет что мол не знает такой функции индекс, а когда я с индекса с помощью include юзаю этот файл то вылетают ошибки типа NOTICE и функция все равно не хочет работать....

Подскажите пожалуйста каким мне лучше способом получать информацию о пользователе. Если же я все начал делать правильно с $user->data, то подскажите пожалуйста по поводу вышеупомянутой функции get_user_rank.
Заранее спасибо!
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Получить инфу о пользователе в index.php

Сообщение nissin »

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

/**
* Get user rank title and image
*
* @param int $user_rank the current stored users rank id
* @param int $user_posts the users number of posts
* @param string &$rank_title the rank title will be stored here after execution
* @param string &$rank_img the rank image as full img tag is stored here after execution
* @param string &$rank_img_src the rank image source is stored here after execution
*
* Note: since we do not want to break backwards-compatibility, this function will only properly assign ranks to guests if you call it for them with user_posts == false
*/
function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
Пример использования:

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

			$rank_title = $rank_img =  $rank_img_src = '';
			get_user_rank($user->data['user_rank'], (($user->data['user_id'] == ANONYMOUS) ? false : $user->data['user_posts']), $rank_title, $rank_img, $rank_img_src);
Аватара пользователя
blaga_pro
phpBB 1.2.0
Сообщения: 15
Стаж: 18 лет 3 месяца

Re: Получить инфу о пользователе в index.php

Сообщение blaga_pro »

что то тут не так. :(
не получаетсья использовать. По идее все должно работать но у меня не отображаеться ничего. использую это так.
в файле index.php

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

$template->assign_vars(array(
	'TOTAL_POSTS'	=> sprintf($user->lang[$l_total_post_s], $total_posts),
	.............
            ............
	'US_AVA' => $user->data['user_avatar'],
	'US_AVA_W' => $user->data['user_avatar_width'],
	'US_AVA_H' => $user->data['user_avatar_height'],
	'US_USERNAME' => $user->data['username'],
	'US_COLOR' => $user->data['user_colour'],
	'US_RANKS' => get_user_rank($user->data['user_rank'], (($user->data['user_id'] == ANONYMOUS) ? false : $user->data['user_posts']), $rank_title, $rank_img, $rank_img_src),
	'US_POSTS' => $user->data['user_posts'],
	'US_LAST_VISIT' => sprintf($user->lang['YOU_LAST_VISIT'], $us_last_visit),
	'US_REG_DATE' => sprintf($user->lang['US_REG_DATE'], $user->format_date($user->data['user_regdate'])),
	)	
	
);
в шаблоне index_body.html

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

<a href="{US_PROFIL}" style="color: #{US_COLOR}" class="username-coloured">{US_USERNAME}</a><br />
{US_RANKS}
Всего сообщений: {US_POSTS}<br />
{US_LAST_VISIT}<br />
но там где должно быть значение переменной {US_RANKS} ничего нет. Абсолютно.
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Получить инфу о пользователе в index.php

Сообщение nissin »

И не будет, Вы хоть смотрели что я написал?
Я Вам дал описание и привёл пример.
Используйте значение переменных $rank_title, $rank_img, $rank_img_src для передачи в шаблон.

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