Страница 1 из 14

Пожелания дополнений Event List

Добавлено: 17.03.2015 13:27
Алг
Продолжение темы, начатой ТУТ
Я бы хотела добавить событие при формировании списка navlinks
что-то типа

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

viewforum_modify_navlinksrow
в функцию

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

function generate_forum_nav(&$forum_data)

Re: Пожелания дополнений Event List

Добавлено: 18.03.2015 20:08
rxu
Алг, какие конкретно данные там надо модифицировать?

Re: Пожелания дополнений Event List

Добавлено: 19.03.2015 8:12
Алг
Конкретно хочу изменять имена форумов

Отправлено спустя 2 минуты 19 секунд:
Сейчас могу это сделать только с помощью лишнего SQL-запроса и джаваскпирта на клиенте

Re: Пожелания дополнений Event List

Добавлено: 21.03.2015 18:43
Sheer
Для создания расширения лога подключений нужно событие в function session_create (./phpbb/session.php)
Найти

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

        // 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! 

Re: Пожелания дополнений Event List

Добавлено: 21.03.2015 20:54
rxu
Sheer писал(а): Для создания расширения лога подключений нужно событие в function session_create (./phpbb/session.php)
Посмотрел в код. $sql_ary полностью интегрируется в объект $user, все данные можно взять оттуда через массив $user->data.

Отправлено спустя 17 минут 58 секунд:
Алг писал(а): Конкретно хочу изменять имена форумов
В каком именно месте лучше быть событию? перед // Build navigation links, в самом конце перед return, или наоборот в самом начале?

Re: Пожелания дополнений Event List

Добавлено: 21.03.2015 22:30
Sheer
rxu писал(а): полностью интегрируется в объект $user
Во-первых не полностью, а во-вторых мне нужно в этом месте передать управление перехватчику, чтобы в момент создания сессии при автовходе заполнить данные в сторонней таблице БД.
Ну жалко что ли?

Re: Пожелания дополнений Event List

Добавлено: 21.03.2015 22:49
rxu
Sheer писал(а): Во-первых не полностью

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

$this->data = array_merge($this->data, $sql_ary);
Sheer писал(а): а во-вторых мне нужно в этом месте передать управление перехватчику, чтобы в момент создания сессии при автовходе заполнить данные в сторонней таблице БД
В любом месте

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

if ($user->data['session_created'] && $user->data['session_autologin'])
 {
 // Do something here
  }
Sheer писал(а): Ну жалко что ли?
Да не жалко, но если задачу можно решить уже сейчас и без доп. события...

Re: Пожелания дополнений Event List

Добавлено: 21.03.2015 22:52
Sheer
Sheer писал(а): не полностью
Мдя... если запихать событие дальше, в самый коец функции, то полностью.
Но тем не менее...
rxu писал(а): В любом месте
Проверю...

Re: Пожелания дополнений Event List

Добавлено: 21.03.2015 23:04
rxu
Sheer писал(а): Проверю...
Ну, может и не в любом... core.user_setup видимо нужно, а там через user_data.

Re: Пожелания дополнений Event List

Добавлено: 21.03.2015 23:08
Sheer
Получилось. Если использовать core.page_header

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

if (isset($this->user->data['session_created']) && $this->user->data['session_created'] && $this->user->data['session_autologin'])
Вопрос снят. Сам дурак. Спасибо.

Отправлено спустя 43 секунды:
core.user_setup, да, так лучше наверное будет.

Re: Пожелания дополнений Event List

Добавлено: 07.04.2015 18:01
rxu
Алг писал(а): добавить событие при формировании списка navlinks
https://tracker.phpbb.com/browse/PHPBB3-13750
https://github.com/phpbb/phpbb/pull/3526

Re: Пожелания дополнений Event List

Добавлено: 08.05.2015 12:17
rxu
В ядре (будет в 3.1.5-RC1).

Re: Пожелания дополнений Event List

Добавлено: 11.07.2015 12:58
Sumanai
Нужны события в шаблоне 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>
Но в принципе подойдёт и в начале/конце. Благодарю заранее.

Re: Пожелания дополнений Event List

Добавлено: 11.07.2015 13:22
rxu
Sumanai писал(а): Нужны события в шаблоне ucp_main_front.html
https://tracker.phpbb.com/browse/PHPBB3-14002
https://github.com/phpbb/phpbb/pull/3754

Re: Пожелания дополнений Event List

Добавлено: 11.07.2015 13:42
Sumanai
Честно? Понятия не имею. В phpBBex поддержки саба не было никогда, и я этот стиль видел только со стороны пользователя, и не смотрел в его код. К тому же я совершенно не разбираюсь в использовании таблиц для чего либо, кроме собственно таблиц. Сейчас установлю и посмотрю, что с ним можно сделать.

Отправлено спустя 4 минуты 26 секунд:
Вы наверное не так поняли. В случаи сабсилвера нужно будет добавлять строчки к таблице. Колонки трогать не нужно. То есть как-то так, если добавлять события в начало и конец списка:

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

		<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 -->

Отправлено спустя 9 минут 36 секунд:
rxu писал(а):
Sumanai писал(а): Нужны события в шаблоне ucp_main_front.html
https://tracker.phpbb.com/browse/PHPBB3-14002
https://github.com/phpbb/phpbb/pull/3754
Мне бы внутри блока <dl class="details">, пока не поздно исправить. Благодарю за помощь.
Хотя ладно, там не заметно, можно будет просто обернуть в <dl class="details">