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

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Алг
Former team member
Сообщения: 878
Зарегистрирован: 31.07.2012 23:11
Откуда: Израиль
Благодарил (а): 84 раза
Поблагодарили: 276 раз
Контактная информация:

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

Сообщение Алг » 17.03.2015 13:27

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

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

viewforum_modify_navlinksrow
в функцию

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

function generate_forum_nav(&$forum_data)
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14324
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

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

Сообщение rxu » 18.03.2015 20:08

Алг, какие конкретно данные там надо модифицировать?
Изображение

Аватара пользователя
Алг
Former team member
Сообщения: 878
Зарегистрирован: 31.07.2012 23:11
Откуда: Израиль
Благодарил (а): 84 раза
Поблагодарили: 276 раз
Контактная информация:

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

Сообщение Алг » 19.03.2015 8:12

Конкретно хочу изменять имена форумов

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

Т. Шаов

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11415
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2535 раз
Контактная информация:

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

Сообщение Sheer » 21.03.2015 18:43

Для создания расширения лога подключений нужно событие в 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! 
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14324
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

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

Сообщение rxu » 21.03.2015 20:54

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

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

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11415
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2535 раз
Контактная информация:

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

Сообщение Sheer » 21.03.2015 22:30

rxu писал(а): полностью интегрируется в объект $user
Во-первых не полностью, а во-вторых мне нужно в этом месте передать управление перехватчику, чтобы в момент создания сессии при автовходе заполнить данные в сторонней таблице БД.
Ну жалко что ли?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14324
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

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

Сообщение rxu » 21.03.2015 22:49

Sheer писал(а): Во-первых не полностью

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

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

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

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

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11415
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2535 раз
Контактная информация:

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

Сообщение Sheer » 21.03.2015 22:52

Sheer писал(а): не полностью
Мдя... если запихать событие дальше, в самый коец функции, то полностью.
Но тем не менее...
rxu писал(а): В любом месте
Проверю...
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14324
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

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

Сообщение rxu » 21.03.2015 23:04

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

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11415
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2535 раз
Контактная информация:

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

Сообщение Sheer » 21.03.2015 23:08

Получилось. Если использовать core.page_header

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

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

Отправлено спустя 43 секунды:
core.user_setup, да, так лучше наверное будет.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14324
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

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

Сообщение rxu » 07.04.2015 18:01

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

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14324
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

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

Сообщение rxu » 08.05.2015 12:17

В ядре (будет в 3.1.5-RC1).
Изображение

Аватара пользователя
Sumanai
phpBB 3.0.0 RC5
Сообщения: 1664
Зарегистрирован: 02.11.2014 13:57
Благодарил (а): 267 раз
Поблагодарили: 219 раз
Контактная информация:

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

Сообщение Sumanai » 11.07.2015 12:58

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

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14324
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

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

Сообщение rxu » 11.07.2015 13:22

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

Аватара пользователя
Sumanai
phpBB 3.0.0 RC5
Сообщения: 1664
Зарегистрирован: 02.11.2014 13:57
Благодарил (а): 267 раз
Поблагодарили: 219 раз
Контактная информация:

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

Сообщение Sumanai » 11.07.2015 13:42

Честно? Понятия не имею. В 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">

Ответить

Вернуться в «Для авторов»