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

Обсуждение новой системы расширения функциональности phpBB 4.0-dev, разработки новых расширений.
Аватара пользователя
rxu
Сообщения: 1125
Зарегистрирован: 21 янв 2014, 21:20
Откуда: Krasnoyarsk
Github repo: https://github.com/rxu
Контактная информация:

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

Сообщение rxu »

Код посмотреть можно?

Аватара пользователя
HAMMER663
Сообщения: 123
Зарегистрирован: 22 янв 2014, 09:23
Откуда: Москва
Github repo: https://github.com/HAMMER663

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

Сообщение HAMMER663 »

в includes/message_parser.php
Перед

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

if ($this->message_status == 'plain')
Вставить

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

		/**
		* Event to modify the text after it is parsed
		*
		* @event core.modify_format_display_text_before
		* @var string	message				The message text to parse	
		* @var bool		allow_bbcode		Do we allow bbcodes
		* @var bool		allow_magic_url		Do we allow magic urls
		* @var bool		allow_smilies		Do we allow smilies
		* @var bool		update_this_message	Do we update the internal message
		*									with the parsed result
		* @since 3.1.0-RC6
		*/
		$message = $this->message;
		$vars = array('message', 'allow_bbcode', 'allow_magic_url', 'allow_smilies', 'update_this_message');
		extract($phpbb_dispatcher->trigger_event('core.modify_format_display_text_before', compact($vars)));
		$this->message = $message;

Аватара пользователя
rxu
Сообщения: 1125
Зарегистрирован: 21 янв 2014, 21:20
Откуда: Krasnoyarsk
Github repo: https://github.com/rxu
Контактная информация:

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

Сообщение rxu »

Есть проблема - format_display() мало где используется, а для просмотра тем - нет.

Отправлено спустя 17 минут 8 секунд:
А если в posting.php добавить перед

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

	// Parse message
и передать туда $message = $message_parser->message и $post_data (соответственно, будут доступны $post_data['enable_bbcode'], $post_data['enable_urls'], $post_data['enable_smilies'])?

Аватара пользователя
HAMMER663
Сообщения: 123
Зарегистрирован: 22 янв 2014, 09:23
Откуда: Москва
Github repo: https://github.com/HAMMER663

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

Сообщение HAMMER663 »

Тогда в posting.php добавить перед

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

   // Parse message

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

    /**
    * Event to modify the text after it is parsed
    *
    * @event core.modify_format_display_text_before
    * @var string   message         	The message text to parse   
	* @var	array	post_data			Array with post data
    * @since 3.1.0-RC6
    */
	$message = $message_parser->message;
	$vars = array('message', 'post_data');
	extract($phpbb_dispatcher->trigger_event('core.posting_modify_parse_message_before', compact($vars)));
	$message_parser->message = $message;
Или может надо еще какие переменные передать?

Отправлено спустя 2 минуты 37 секунд:
$mode может?

Аватара пользователя
rxu
Сообщения: 1125
Зарегистрирован: 21 янв 2014, 21:20
Откуда: Krasnoyarsk
Github repo: https://github.com/rxu
Контактная информация:

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

Сообщение rxu »

Можно и mode. Так оно работает, или нет?

Аватара пользователя
HAMMER663
Сообщения: 123
Зарегистрирован: 22 янв 2014, 09:23
Откуда: Москва
Github repo: https://github.com/HAMMER663

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

Сообщение HAMMER663 »

rxu, да. Все работает. Если есть идеи, то лучше еще чего туда передать. Вдруг пригодится в дальнейшем ;)

Аватара пользователя
rxu
Сообщения: 1125
Зарегистрирован: 21 янв 2014, 21:20
Откуда: Krasnoyarsk
Github repo: https://github.com/rxu
Контактная информация:

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

Сообщение rxu »

HAMMER663, вот в таком виде в posting.php перед

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

 	// Grab md5 'checksum' of new message

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

    /**
    * This event allows you to modify message text before parsing
    *
    * @event core.posting_modify_message_text
    * @var    array    post_data    Array with post data
    * @var    string    mode        What action to take if the form is submitted
    *                post|reply|quote|edit|delete|bump|smilies|popup
    * @var    int    post_id        ID of the post
    * @var    int    topic_id    ID of the topic
    * @var    int    forum_id    ID of the forum
    * @var    bool    submit        Whether or not the form has been submitted
    * @var    bool    preview        Whether or not the post is being previewed
    * @var    bool    save        Whether or not a draft is being saved
    * @var    bool    load        Whether or not a draft is being loaded
    * @var    bool    delete        Whether or not the post is being deleted
    * @var    bool    cancel        Whether or not to cancel the form (returns to
    *                viewtopic or viewforum depending on if the user
    *                is posting a new topic or editing a post)
    * @var    bool    refresh        Whether or not to retain previously submitted data
    * @var    object    message_parser    The message parser object
    * @since 3.1.0-RC6
    */
    $vars = array(
        'post_data',
        'mode',
        'post_id',
        'topic_id',
        'forum_id',
        'submit',
        'preview',
        'save',
        'load',
        'delete',
        'cancel',
        'refresh',
        'message_parser',
    );
    extract($phpbb_dispatcher->trigger_event('core.posting_modify_message_text', compact($vars)));
Проверьте плз, как заработает. Текст брать из $message_parser->message прямо в событии, объект message_parser передан.

Отправлено спустя 1 час 14 минут 17 секунд:
Вобщем, как-то так
https://tracker.phpbb.com/browse/PHPBB3-13182
https://github.com/phpbb/phpbb/pull/3043

Аватара пользователя
HAMMER663
Сообщения: 123
Зарегистрирован: 22 янв 2014, 09:23
Откуда: Москва
Github repo: https://github.com/HAMMER663

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

Сообщение HAMMER663 »

rxu, Да. Проверил. Мод работает :)

Аватара пользователя
HAMMER663
Сообщения: 123
Зарегистрирован: 22 янв 2014, 09:23
Откуда: Москва
Github repo: https://github.com/HAMMER663

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

Сообщение HAMMER663 »

rxu, я не понял, событие мое добавили или нет? Смотрю и вижу новые события в постинг, но не вижу моего...

Отправлено спустя 1 минуту 8 секунд:
аа. это 22 дня назад. Значит еще не добавили

Аватара пользователя
rxu
Сообщения: 1125
Зарегистрирован: 21 янв 2014, 21:20
Откуда: Krasnoyarsk
Github repo: https://github.com/rxu
Контактная информация:

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

Сообщение rxu »

Скорее всего, теперь уже только в 3.1.1 добавят. Сейчас главное - релиз голда.

Ответить