Как программно добавить пользователя?
Чтобы добавить пользователя мы будем оперировать встроенным классом
vB_Datamanager_User.
Он позволит нам управлять всем возможными пользовательскими настройками.
Пример:
PHP Code:
$newuser =& datamanager_init('User', $vbulletin, ERRTYPE_ARRAY);
$newuser->set('username', 'NewUserName');
$newuser->set('email', 'user@email.com');
$newuser->set('password', 'verysecret');
$newuser->set('usergroupid', 2);
Если в процессе создания пользователя возникнут ошибки, их можно просмотреть использовав массив
PHP Code:
$newuser->errors
если ошибок нет, сохраняем пользователя:
PHP Code:
$newuserid = $newuser->save();
ID нового пользователя будет содержаться в
$newuserid
Так же можно использовать следующие поля при регистрации:
membergroupids = дополнительные группы в которых сотоит пользователь, через запятую (5,10,12)
displaygroupid = Группа пользователя для отображения
styleid = стиль используемый пользователем
languageid = язык используемый пользователем
threadedmode = режим просмотра форума Линейный (0), Комбинированный (1), Древовидный (2)
maxposts = Число сообщений на странице
ipaddress = IP
refererid = Реферер
daysprune = Возраст тем для отображения в днях
startofweek = Начало недели (1=Воскр, 2=Пон, ...)
timezoneoffset = Часовой пояс (-12 .. +12)
autosubscribe = Метод подписки на новые сообщения (-1 = Без подписки, 1 = Немедленно, 2 = Ежедневно, 3 = Еженедельно)
homepage = Хомяк юзера
icq = ICQ
aim = и так ясно
yahoo = тоже ясно
MSN = и ежику понятно
usertitle = Статус
customtitle = Тип статуса. 0=Нет статуса, 1=Обычный, с HTML, 2=обычный без HTML
birthday = Дата рождения Массив: array(month, day, year).
avatarid = ID аватара
signature = Подпись
buddylist = Списко друзей: ID через пробел
ignorelist = Список игнорирования: ID через пробел
Далее можно установить дополнительные Опции:
PHP Code:
$userdata->set_bitfield('options', 'optionname', 'value');
showsignatures = Показыать подпись
showavatars = Показывать аватар
showimages = Показывать изображения [img] BBCode
adminemail = Получать сообщения от администрации
dstauto = Автоматически определять переход на летнее время
dstonoff = Автоматический переход на летнее время включен
showemail = Получать сообщения от других пользователей
invisible = Невидимый режим
showreputation = Показыать репутацию
receivepm = Получать персоональные сообщения
emailonpm = Уведомления на почту о персоональных сообщениях
Значения должны принимать 0,1 (false, true)
-------------------------------------
ЗЫ Все описанное выше для версий форума 3,5,х
ЗЗЫ This How-To is (C) 2005 by KirbyDE