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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11222
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 47 раз
Поблагодарили: 2476 раз
Контактная информация:

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

Сообщение Sheer » 20.09.2016 12:19

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

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

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

Сообщение Sheer » 26.10.2016 3:07

Требуется событие в includes/functions_messenger.php
Найти

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

function build_header($to, $cc, $bcc)
    {
        global $config; 
Найти в строке Добавить в строке после

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

, $phpbb_dispatcher
Найти

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

		return $headers;
Добавить перед

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

        /**
         * Modify e-mail header
         *
         * @event 'core.core.build_header_after
         * @var array    $headers            Array containing e-mail header
         * @since 3.1.11
         */

        $vars = array('headers');
        extract($phpbb_dispatcher->trigger_event('core.build_header_after', compact($vars)));
 
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

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

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

Сообщение rxu » 26.10.2016 18:55

Sheer писал(а): Требуется событие в includes/functions_messenger.php
А для чего оно конкретно?
Изображение

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

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

Сообщение Sheer » 26.10.2016 19:11

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

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

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

Сообщение rxu » 26.10.2016 19:25

Sheer писал(а):
rxu писал(а): конкретно?
Какой хедер модифицировать?

Отправлено спустя 10 секунд:
Или добавлять новый?
Изображение

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

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

Сообщение Sheer » 26.10.2016 19:40

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

        $headers[] = 'Reply-To: ' . $this->replyto;
        $headers[] = 'Return-Path: <' . $config['board_email'] . '>';
        $headers[] = 'Sender: <' . $config['board_email'] . '>';
        $headers[] = 'MIME-Version: 1.0';
        $headers[] = 'Message-ID: <' . $this->generate_message_id() . '>';
        $headers[] = 'Date: ' . date('r', time());
        $headers[] = 'Content-Type: text/plain; charset=UTF-8'; // format=flowed
        $headers[] = 'Content-Transfer-Encoding: 8bit'; // 7bit

        $headers[] = 'X-Priority: ' . $this->mail_priority;
        $headers[] = 'X-MSMail-Priority: ' . (($this->mail_priority == MAIL_LOW_PRIORITY) ? 'Low' : (($this->mail_priority == MAIL_NORMAL_PRIORITY) ? 'Normal' : 'High'));
        $headers[] = 'X-Mailer: phpBB3';
        $headers[] = 'X-MimeOLE: phpBB3';
        $headers[] = 'X-phpBB-Origin: phpbb://' . str_replace(array('http://', 'https://'), array('', ''), generate_board_url());
Нужно заменить

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

        $headers[] = 'Content-Type: text/plain; charset=UTF-8'; // format=flowed  
На

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

        $headers[] = 'Content-Type: text/html; charset=UTF-8'; // format=flowed  
Для этого в перехватчик нужно отправить массив $headers
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

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

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

Сообщение rxu » 26.10.2016 20:00

А если через function headers($headers) просто его добавить, первый не перезапишется последним при отправке сообщения?
Изображение

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

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

Сообщение Sheer » 26.10.2016 20:42

Он не перезаписывается, добавляется в конец

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

MIME-Version: 1.0
Message-ID: <d6ce78dcb7d47ae028f3a1c8a24ca537@localhost>
Date: Wed, 26 Oct 2016 20:40:38 +0300
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: phpBB3
X-MimeOLE: phpBB3
X-phpBB-Origin: phpbb://localhost/319
X-AntiAbuse: Board servername - localhost
X-AntiAbuse: User_id - 2
X-AntiAbuse: Username - Sheer
X-AntiAbuse: User IP - 127.0.0.1
Content-Type: text/html; charset=UTF-8
Не знаю, насколько это корректно.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

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

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

Сообщение rxu » 26.10.2016 21:07

OK, а как менять собираешься? Перебором массива в поиске значения с нужным хедером? Он же не ассоциативный.
Изображение

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

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

Сообщение Sheer » 26.10.2016 21:29

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

        $headers = $event['headers'];
        if ($this->request->variable('s_html', 0))
        {
            $headers = $event['headers'];
            $key = array_search('Content-Type: text/plain; charset=UTF-8', $headers);
            $headers[$key] = 'Content-Type: text/html; charset=UTF-8';
            $event['headers'] = $headers;
        } 
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

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

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

Сообщение rxu » 04.11.2016 14:44

Sheer писал(а): Требуется событие в includes/functions_messenger.php
https://github.com/phpbb/phpbb/pull/4502
Изображение

Andex
phpBB 1.2.1
Сообщения: 28
Зарегистрирован: 02.05.2006 11:51
Благодарил (а): 1 раз
Поблагодарили: 4 раза

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

Сообщение Andex » 24.11.2016 15:10

Продолжаю мучать общественность вопросами.

Ищу ивент чтобы выполнить определенный код при No route found for ... т.е. грубо говоря, когда "страница не найдена" и phpbb отдает 404 (или любую другую http-ошибку).
Что-то есть такое? Куда смотреть? :geek:

Спасибо

rudtp_pp
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 25.12.2016 17:19

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

Сообщение rudtp_pp » 25.12.2016 17:42

Пока не хватает опыта самому сделать и среди экстеншнов не нашел нужного. А задача не очень сложная: натравить скрипт file.php на функцию create_thumbnail в файле functions_posting.php при отсутствии уменьшенного изображения с префиксом thumb_
Читал древнюю тему Создание миниатюр по мере необходимости (thumb_*) но насколько я хоть капельку понимаю в php - этот код из первого поста убивает картинки а не создает. На что собственно чуть ниже в теме и жалуются люди.
У меня просто форум достаточно древний с 2004 года, при конвертации из версии 2 в 3 потерялись превьюшки к картинкам. Хотелось бы их воссоздать. Я бы даже руками сам воссоздал в папке с загруженными файлами около 100 маленьких картинок, но не цепляются они так, я уж как их только не называл с префиксом thumb_ и проч. Раньше форум хранил физическое имя файла с постфиксом - порядковым номером, но просто так превьюшка с таким именем и префиксом thumb_ что-то не цепляется.
Помогите пожалуйста решить задачку.
Может быть надо посмотреть просто в сторону физического 'physical_filename' имени в скрипте file.php? Чувствую для настоящих гуру задачка не сложная, а я застрял.
Форум 3.1.10 на сегодня самый свежий. Поправить код руками не боюсь когда понимаю что он делает.

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

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

Сообщение rxu » 25.12.2016 17:43

rudtp_pp, данная тема к вашему вопросу никакого отношения не имеет.
Изображение

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9299
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 164 раза
Поблагодарили: 2594 раза
Контактная информация:

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

Сообщение Татьяна5 » 13.08.2017 23:27

Что накопилось по событиям

1. posting.php
Перед

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

// Get Poll Data
if ($post_data['poll_start'])
Параметры mode и post_data

2. includex/functions_posting.php
После блока

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

$template->assign_block_vars('attach_row', array(
Параметры attach_row и массив, который идёт в шаблон
Сейчас attach_row в шаблоне невозможно изменить

3. includes/mesage_parser.php
После строки (таких строк 2, и событий тоже 2 надо)

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

$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
Параметр $this->attachment_data
Цель - добавить что-либо в json-ответ, отправляемый для plupload, а он формируется в 2-х местах

4. includes\functions_user.php
В существующем событии core.delete_user_after не хватает параметра user_rows

5. viewforum.php
После

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

		unset($rowset[$topic_id]);
	}
}
Т.е. в конце страницы, но вне циклов

6. styles/prosilver/template/posting_attach_body.html
После кода

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

					<!-- BEGIN attach_row -->
						<tr class="attach-row" data-attach-id="{attach_row.ATTACH_ID}">
							<td class="attach-name">
								<span class="file-name ellipsis-text"><a href="{attach_row.U_VIEW_ATTACHMENT}">{attach_row.FILENAME}</a></span>
								<span class="attach-controls">
									<!-- IF S_INLINE_ATTACHMENT_OPTIONS --><input type="button" value="{L_PLACE_INLINE}" class="button2 file-inline-bbcode" />&nbsp; <!-- ENDIF -->
									<input type="submit" name="delete_file[{attach_row.ASSOC_INDEX}]" value="{L_DELETE_FILE}" class="button2 file-delete" />
								</span>
Сейчас там вообще нет событий, ничего добавить невозможно

7. memberlist.php
После блока

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

// Generate page
		$template->assign_vars(array(
			'TOTAL_USERS'	=> $user->lang('LIST_USERS', (int) $total_users),
Передать туда этот массив, который потом пойдёт в шаблон, а также params и sort_url


Возможно добавить?

Ответить

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