Регистрация со стороннего сайта

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
patison

Регистрация со стороннего сайта

Сообщение patison »

Здравствуйте, товарищи Гуру!
Имеется сайт и на той-же площадке, но на другом поддомене, форум phpBB3.
Делаю сейчас регистрацию общую для сайта и форума.
Вопрос вот в чём - сделал на своём сайте форму регистрации, когда форма сабмитится, всё это дело отправляется в скрипт. В данном скрипте подключаю файлы common.php и functions_user.php . Заполняю $user_row данными и вызываю для него user_add() . Если данные введены как надо, то всё окей. Регистрация проходит на ура.
Однако, вопрос теперь стоит следующий - каким образом средствами phpBB мне проверить есть-ли ошибки (не верный адрес email, либо юзер с таким именем/ящиком уже существует , и т.п.). Копался в файлах форума, но так и не нашёл при помощи каких функций можно проделать все нужные валидации, и получить (если таковые есть) тексты ошибок.
Вот собственно и всё.
Ниже код данного скрипта (часть его)

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

	
	include($FORUM_ABSOLUTE_PATH.'/common.php');
	include($FORUM_ABSOLUTE_PATH.'/includes/functions_user.php');

	$user_row = array(
		'username'				=> $_POST['username'],
		'group_id'				=> 0,
		'user_type'				=> 0,
		'user_password'			=> phpbb_hash($_POST['new_password']),
		'user_email'			=> $_POST['email'],
		'user_regdate'			=> time()
	);

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

	if ($user_id === false)
		die('Registration Failed');// Вот тут, вероятно, нужно "узнать" какие именно ошибки возникли
Заранее спасибо!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Зарегистрирован: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Регистрация со стороннего сайта

Сообщение rxu »

patison
См. includes/ucp/ucp_register.php. И ваш вопрос - в форум для авторов подходит.
Изображение
patison

Re: Регистрация со стороннего сайта

Сообщение patison »

Да, и этот файлик я тоже смотрел (видимо не очень хорошо :))
Просмотрел единственный метод (main) класса.. Нашёл вот это:

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

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

				// This should not happen, because the required variables are listed above...
				if ($user_id === false)
				{
					trigger_error('NO_USER', E_USER_ERROR);
				}
А вызовы функций для валидации так и не обнаружил... :(
И ваш вопрос - в форум для авторов подходит.
Долго думал куда запостить ...
Пусть администрация переносит тему в "правильный" раздел :)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Зарегистрирован: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Регистрация со стороннего сайта

Сообщение rxu »

patison писал(а):А вызовы функций для валидации так и не обнаружил
Ну, например:

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

            $error = validate_data($data, array(
                'username'            => array(
                    array('string', false, $config['min_name_chars'], $config['max_name_chars']),
                    array('username', '')),
                'new_password'        => array(
                    array('string', false, $config['min_pass_chars'], $config['max_pass_chars']),
                    array('password')),
                'password_confirm'    => array('string', false, $config['min_pass_chars'], $config['max_pass_chars']),
                'email'                => array(
                    array('string', false, 6, 60),
                    array('email')),
                'email_confirm'        => array('string', false, 6, 60),
                'confirm_code'        => array('string', !$config['enable_confirm'], 5, 8),
                'tz'                => array('num', false, -14, 14),
                'lang'                => array('match', false, '#^[a-z_\-]{2,}$#i'),
            )); 
Изображение
patison

Re: Регистрация со стороннего сайта

Сообщение patison »

То что надо! Спасибо Вам :)

Добавлено спустя 51 минуту 25 секунд:
Не понятным остаётся только то, как обрабатывать результаты из массива $error ...
Допустим в форме я ввёл логин, email, и не ввёл пароль.
$error будет содержать на первой позиции ( $error[0] ) значение "TOO_SHORT" ... Вот тут-то и вопрос... а к какому полю относится этот TOO_SHORT? К емэйлу, юзернэйму, или-же к паролю?
patison

Re: Регистрация со стороннего сайта

Сообщение patison »

вопрос всё ещё актуален...
Помимо результата TOO_SHORT так-же не понятно и с остальными как быть.. Например, с INVALID_CHARS..
Повторю на всякий случай суть вопроса: Отправил я на валидацию массив данных (логин, пароль, мыло, и тд). Вернулся мне массив $error с данными в нём (TOO_SHORT, TOO_SHORT, INVALID_CHARS) . Как определить какое из этих значений, к какому полю в массиве данных (отправленном на валидацию) соответствует?

Вернуться в «Для авторов (phpBB 3.0.x)»