[API, OAuth] Внешняя авторизация для phpBB3.1

Расширения над которыми ведётся работа или планируется их создание.
Вы можете принимать участие в обсуждении, тестировании, выдвигать свои мнения и наработки.
Аватара пользователя
Герберт Уэллс
bb3.0
bb3.0
Сообщения: 7
Зарегистрирован: 13.01.2017, 14:01

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Герберт Уэллс » 17.09.2017, 14:22 #121

В 3.2.1 в админке ругается, что неправильное сжатие. Отключил сжатие в админке и все работает, но пишет:

[API, OAuth] Внешняя авторизация для phpBB3.1 - Снимок экрана 2017-09-17 в 14.26.04.png

А там код

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

$boarddays = (time() - $config['start_date']) / 86400;
Еще один глюк не пойму почему. При первой регистрации через соцсети окошко не закрывается, а появляется сообщение "не указан получатель сообщения". Профиль создается и логинится, но не приходит приветственное сообщение в личку. Ну и фейсбук не передает емайл, его нужно вводить в ручную. Но это как я понимаю не проблема расширения.

Аватара пользователя
Герберт Уэллс
bb3.0
bb3.0
Сообщения: 7
Зарегистрирован: 13.01.2017, 14:01

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Герберт Уэллс » 17.09.2017, 17:30 #122

Герберт Уэллс писал(а):
17.09.2017, 16:24
А там код
Проблема решается заменой на 'board_startdate' или 'social_start_date' в зависимости статистика нужна от установки форума или установки расширения. Сжатие можно включать, все работает.

Со второй проблемой неотправки сообщения пока не разобрался.

Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1316
Зарегистрирован: 08.08.2014, 14:26

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Anvar » 18.09.2017, 06:47 #123

Интересно как упустил и не заметил об этом раньше?!

Что за проблема неотправки сообщений?
Не пишите в ЛС и ICQ вопросы которые можете задать на форуме!
Заказы по разработке не выполняю!

Аватара пользователя
Герберт Уэллс
bb3.0
bb3.0
Сообщения: 7
Зарегистрирован: 13.01.2017, 14:01

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Герберт Уэллс » 18.09.2017, 08:55 #124

Anvar писал(а):
18.09.2017, 06:47
Интересно как упустил и не заметил об этом раньше?!
Раньше у меня в 3.1.10 такой же код в версии расширения 2.1.0 ни на что не ругался. Не понимаю почему такое сейчас?
Anvar писал(а):
18.09.2017, 06:47
Что за проблема неотправки сообщений?
Я же уже писал. В общем при регистрации нового пользователя нет приветственного письма. Срабатывает по тирггеру

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

 if (!sizeof($recipients))
                {
                        trigger_error('NO_RECIPIENT');
                }
в includes/functions_privmsgs.php и пишет 'Получатель сообщения не выбран.' Например, когда повляется всплывающее окно, после регистрации и отправки письма должен срабатывать джаваскрипт по его закрытию и переходу в основное, но до него не доходит, так как появляется и висит это сообщение. Пользователь при этом регистрируется. Мне почему-то кажется затык где-то здесь:

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

/** Private MSG Welcome! */
                        $pm_user = (isset($this->config['social_pm_user'])) ? $this->config['social_pm_user'] : false;
                        if ($this->config['social_privmsg'] && $this->config['social_pm_subject'] && $pm_user && $pm_new_user)
                        {
                                $this->core_helper->user_welcome($user_id, $pm_user, $this->config['social_pm_subject'], $this->config['social_privmsg']);
                        }

                        $redirect = $this->phpbb_root_path . 'index.' . $this->php_ext;
                        $message_text = $this->user->lang['LOGIN_REDIRECT'];
                        $message_text .= '<br /><br />' . sprintf($this->user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>');

                        if ($this->config['social_popup'])
                        {
                                $message_text .= '<script type="text/javascript">window.opener.location.reload(); window.close();</script>';
                        }

                        $this->template->assign_vars(array(
                                'MESSAGE_TITLE'         => $this->user->lang['LOGIN'],
                                'MESSAGE_TEXT'          => $message_text,
                                'S_SIMPLE_MESSAGE'      => ($this->config['social_popup']) ? true : false, // Simple type
                        ));

                        meta_refresh(2, "$redirect");

                        page_header($this->user->lang['LOGIN'], false);

                        $this->template->set_filenames(array(
                                'body' => 'message_body.html')
                        );

                        page_footer();
                }
                /** Add accounts */
или здесь:

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

public function user_welcome($user_to, $user_id, $subject, $text)
        {
                $m_flags = 3; // 1 is bbcode, 2 is smiles, 4 is urls (add together to turn on more than one)
                $uid = $bitfield = '';
                $allow_bbcode = $allow_urls = $allow_smilies = true;

                generate_text_for_storage($text, $uid, $bitfield, $m_flags, $allow_bbcode, $allow_urls, $allow_smilies);

                include_once($this->phpbb_root_path . 'includes/functions_privmsgs.' . $this->php_ext);

                $pm_data = array(
                        'address_list'          => array('u' => array($user_to['user_id'] => 'to')),
                        'from_user_id'          => $user_id,
                        'from_user_ip'          => $this->user->ip,
                        'enable_sig'            => false,
                        'enable_bbcode'         => $allow_bbcode,
                        'enable_smilies'        => $allow_smilies,
                        'enable_urls'           => $allow_urls,
                        'icon_id'                       => 0,
                        'bbcode_bitfield'       => $bitfield,
                        'bbcode_uid'            => $uid,
                        'message'                       => utf8_normalize_nfc($text),
                );

                submit_pm('post', utf8_normalize_nfc($subject), $pm_data, false);
        }
Может что-то с переменными в 3.2 намудрили? Может ноги растут оттуда же откуда и проблема с start_date?

Аватара пользователя
Герберт Уэллс
bb3.0
bb3.0
Сообщения: 7
Зарегистрирован: 13.01.2017, 14:01

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Герберт Уэллс » 21.09.2017, 15:41 #125

Анвар, есть какие-то мысли насчет проблемы?

Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1316
Зарегистрирован: 08.08.2014, 14:26

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Anvar » 21.09.2017, 22:10 #126

Надо детально изучать, может быть id пользователя указан не верно? У меня тут работает, ошибки такой не встречал.

В любом случае я собирался выпилить приветственное сообщение из этого расширения, так как после создания данного расширения появилось это расширение PM Welcome - Приветственное сообщение

Аватара пользователя
Герберт Уэллс
bb3.0
bb3.0
Сообщения: 7
Зарегистрирован: 13.01.2017, 14:01

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Герберт Уэллс » 21.09.2017, 22:40 #127

Anvar писал(а):
21.09.2017, 22:10
У меня тут работает, ошибки такой не встречал.
А какая тут версия phpbb?
Anvar писал(а):
21.09.2017, 22:10
В любом случае я собирался выпилить приветственное сообщение из этого расширения
Мне кажется, не стоит. Часто регистрируются из соцсети случайно, так вот в этом сообщении хорошо писать, что вы уже зарегистрировались и вам доступны все функции зарегистрированного пользователя форума.

Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1316
Зарегистрирован: 08.08.2014, 14:26

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Anvar » 21.09.2017, 22:56 #128

Здесь 3.2.

Если функционал отправки лс оставить, то хотябы обновить надо до уровня того расширения. Ведь то расширение, начало взяло с этого и было неоднократно усовершенствовано.

Аватара пользователя
Герберт Уэллс
bb3.0
bb3.0
Сообщения: 7
Зарегистрирован: 13.01.2017, 14:01

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Герберт Уэллс » 23.09.2017, 19:50 #129

Anvar писал(а):
21.09.2017, 22:56
Здесь 3.2.
На 3.2.1. у всех нормально работает?
Думал сначала, что не передается user_id в

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

$this->core_helper->user_welcome($user_id, $pm_user, $this->config['social_pm_subject'], $this->config['social_privmsg']);

Сделал точку останова в коде и вывод переменных - все нормально. Присваевается-передается и номер зарегистрировавшегося и номер отправителя. Почему тогда не появляется письмо и срабатывает по триггеру trigger_error('NO_RECIPIENT') ????

Затыкается на

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

submit_pm('post', utf8_normalize_nfc($subject), $pm_data, false);
в helper.php. До этого кода все работает ок.

Аватара пользователя
Герберт Уэллс
bb3.0
bb3.0
Сообщения: 7
Зарегистрирован: 13.01.2017, 14:01

Re: [API, OAuth] Внешняя авторизация для phpBB3.1

Сообщение Герберт Уэллс » 23.09.2017, 23:43 #130

Разобрался! Заработало после замены:

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

'address_list'          => array('u' => array($user_to['user_id'] => 'to')),
на

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

'address_list'          => array('u' => array($user_to => 'to')),
в helper.php.

Ответить Вложения 12