phpbb 3.2.x user_add, включая пользовательское поле профиля

Это сводило меня с ума в течение 2 дней, и я не могу найти ответ нигде в Google, поэтому был бы очень признателен за небольшую помощь.

У меня есть специальная регистрационная форма на моем веб-сайте, которая отправляет данные в довольно стандартный процесс PHPBB3 user_add следующим образом:

$user_row = array(
                'username'              => request_var('createUsername',''),
                'user_password'         => phpbb_hash(request_var('createPassword','')),
                'user_email'            => request_var('createEmail',''),
                'group_id'              => '2',
                'user_timezone'         => '1.00',
//              'user_dst'              => '0',
                'user_lang'             => 'en',
                'user_type'             => $user_type,
                'user_actkey'           => $user_actkey,
                'user_ip'               => $user->ip,
                'user_regdate'          => time(),
                'user_inactive_reason'  => $user_inactive_reason,
                'user_inactive_time'    => $user_inactive_time,
            );

            // Register user...
            $user_id = user_add($user_row, $cp_data);

            // If creating the user failed, display an error
            if ($user_id === false)
            {
                trigger_error('NO_USER', E_USER_ERROR);
            }

Это отлично работает, и я доволен этим, однако я создал поле пользовательского профиля в панели управления администратора под названием 'ea_real_name', в котором я хочу сохранить настоящее имя пользователя. Это соответствует полю в регистрационной форме под названием 'createRealName' (отправлено как $_POST['createRealName'])

Я знаю, что user_add принимает необязательное поле с именем 'cp_data', но я не могу понять, как форматировать эти данные... Должен ли это быть массив (что-то вроде 'ea_real_name' => request_var('createRealName','') или что-то еще?

Вики PHPBB для поля пусто (https://wiki.phpbb.com/Custom_profile::submit_cp_field) так что не сильно поможет...

Спасибо! :-)


person The All Powerful    schedule 22.02.2018    source источник


Ответы (1)


Я был прав в своем предположении! Это массив с именем поля с префиксом pf_.

Наконец нашел ответ здесь: https://www.phpbb.com/community/viewtopic.php?f=71&t=1638905

$cp_data = array(
                    'pf_ea_real_name'  => request_var('createRealName','')
                    );

Это правильный способ сделать это...

person The All Powerful    schedule 22.02.2018