Я бы хотела добавить событие при формировании списка navlinks
что-то типа
Код: Выделить всё
viewforum_modify_navlinksrow
Код: Выделить всё
function generate_forum_nav(&$forum_data)
Код: Выделить всё
viewforum_modify_navlinksrow
Код: Выделить всё
function generate_forum_nav(&$forum_data)
Код: Выделить всё
// refresh data
Код: Выделить всё
// Need event!
/**
* Event to get autologin type
*
* @core.session_create
* @var bool session_autologin Check if presists autologin
* @var array sql_ary Information about created session
* @since 3.1.???
*/
global $phpbb_dispatcher;
$vars = array('session_autologin', 'sql_ary');
extract($phpbb_dispatcher->trigger_event('core.session_create', compact($vars)));
// Need event!
Посмотрел в код.
$sql_ary
полностью интегрируется в объект $user
, все данные можно взять оттуда через массив $user->data
.В каком именно месте лучше быть событию? перед
// Build navigation links
, в самом конце перед return
, или наоборот в самом начале?Во-первых не полностью, а во-вторых мне нужно в этом месте передать управление перехватчику, чтобы в момент создания сессии при автовходе заполнить данные в сторонней таблице БД.
Код: Выделить всё
$this->data = array_merge($this->data, $sql_ary);
В любом месте
Код: Выделить всё
if ($user->data['session_created'] && $user->data['session_autologin'])
{
// Do something here
}
Да не жалко, но если задачу можно решить уже сейчас и без доп. события...
Мдя... если запихать событие дальше, в самый коец функции, то полностью.
Проверю...
Ну, может и не в любом...
core.user_setup
видимо нужно, а там через user_data
.Код: Выделить всё
if (isset($this->user->data['session_created']) && $this->user->data['session_created'] && $this->user->data['session_autologin'])
ucp_main_front.html
, их там нет вообще.Код: Выделить всё
<dl class="details">
<dt>{L_JOINED}{L_COLON}</dt> <dd>{JOINED}</dd>
<dt>{L_LAST_ACTIVE}{L_COLON}</dt> <dd>{LAST_VISIT_YOU}</dd>
Хочу сюда!
<dt>{L_TOTAL_POSTS}{L_COLON}</dt> <dd><!-- IF POSTS_PCT -->{POSTS}<!-- IF S_DISPLAY_SEARCH --> | <strong><a href="{U_SEARCH_USER}">{L_SEARCH_YOUR_POSTS}</a></strong><!-- ENDIF --><br />({POSTS_DAY} / {POSTS_PCT})<!-- ELSE -->{POSTS}<!-- ENDIF --></dd>
<!-- IF ACTIVE_FORUM != '' --><dt>{L_ACTIVE_IN_FORUM}{L_COLON}</dt> <dd><strong><a href="{U_ACTIVE_FORUM}">{ACTIVE_FORUM}</a></strong><br />({ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT})</dd><!-- ENDIF -->
<!-- IF ACTIVE_TOPIC != '' --><dt>{L_ACTIVE_IN_TOPIC}{L_COLON}</dt> <dd><strong><a href="{U_ACTIVE_TOPIC}">{ACTIVE_TOPIC}</a></strong><br />({ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT})</dd><!-- ENDIF -->
<!-- IF WARNINGS --><dt>{L_YOUR_WARNINGS}{L_COLON}</dt> <dd class="error">{WARNING_IMG} [{WARNINGS}]</dd><!-- ENDIF -->
</dl>
Код: Выделить всё
<table width="100%" cellspacing="1" cellpadding="4">
Вот сюда строчку с событием в начале.
<tr>
<td align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap"><b class="genmed">{L_JOINED}{L_COLON} </b></td>
<td width="100%"><b class="gen">{JOINED}</b></td>
</tr>
<tr>
<td align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap"><b class="genmed">{L_TOTAL_POSTS}{L_COLON} </b></td>
<td><!-- IF POSTS_PCT --><b class="gen">{POSTS}</b><br /><span class="genmed">[{POSTS_PCT} / {POSTS_DAY}]<!-- IF S_DISPLAY_SEARCH --><br /><a href="{U_SEARCH_SELF}">{L_SEARCH_YOUR_POSTS}</a><!-- ENDIF --></span><!-- ELSE --><b class="gen">{POSTS}<b><!-- ENDIF --></td>
</tr>
<!-- IF S_SHOW_ACTIVITY -->
<tr>
<td align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap"><b class="genmed">{L_ACTIVE_IN_FORUM}{L_COLON} </b></td>
<td><!-- IF ACTIVE_FORUM != '' --><b><a class="gen" href="{U_ACTIVE_FORUM}">{ACTIVE_FORUM}</a></b><br /><span class="genmed">[ {ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT} ]</span><!-- ELSE --><span class="gen">-</span><!-- ENDIF --></td>
</tr>
<tr>
<td align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap"><b class="genmed">{L_ACTIVE_IN_TOPIC}{L_COLON} </b></td>
<td><!-- IF ACTIVE_TOPIC != '' --><b><a class="gen" href="{U_ACTIVE_TOPIC}">{ACTIVE_TOPIC}</a></b><br /><span class="genmed">[ {ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT} ]</span><!-- ELSE --><span class="gen">-</span><!-- ENDIF --></td>
</tr>
<!-- ENDIF -->
<!-- IF WARNINGS -->
<tr>
<td align="{S_CONTENT_FLOW_END}" valign="middle" nowrap="nowrap"><b class="genmed">{L_YOUR_WARNINGS}{L_COLON} </b></td>
<td class="genmed">{WARNING_IMG} [ <b>{WARNINGS}</b> ]</td>
</tr>
<!-- ENDIF -->
Вот сюда строчку с событием в конце.
</table>
<!-- IF S_SHOW_ACTIVITY -->
Мне бы внутри блока <dl class="details">, пока не поздно исправить. Благодарю за помощь.