丰富c5用户属性的最佳方法是什么。
我有非C5表和用户信息这个信息是在旧的cms(非c5)上创建的,而我现在用c5构建新站点想知道迁移用户的最佳方法。
使用SQL查询是否是个好主意,或者我应该使用php脚本进行丰富,我已经在c5中创建了用户并且手动添加了#34;锚点"为了以后的浓缩。
如果有人能说出来或maby可能会导致一些例子,那真的很高兴。
答案 0 :(得分:0)
$external_users = array({
array('id'=>'1', 'name'='JON', 'email'=>'blank@blank.blank', 'last_name'=>'DOE', 'attr1'=>'smthing', 'attr2'=>'123'),
array(...), ...
});
foreach($external_users as $singleUser_data){
$email = $singleUser_data['email'];
$ui = UserInfo::getByEmail($email);
if (!is_null($ui)) {
// Email is already in use, so let's not create the user
return;
}
$userData['uName'] = $singleUser_data['name']." ".$singleUser_data['lastname'];
//users later need to reset password
$userData['uPassword'] = 'asd52465465456454asd';
$userData['uPasswordConfirm'] = 'asd52465465456454asd';
//user registererd
$ui = UserInfo::register($userData);
set_new_user_group($ui);
enrichAtributes($ui, $singleUser_data);
}
function set_new_user_group($ui){
// assign the new user to a group
$g = Group::getByName('GroupName');
$u = $ui->getUserObject();
$u->enterGroup($g);
}
function enrichAtributes($ui, $singleUser_data){
$ui->setAttribute('atr_handler1', $singleUser_data['attr1']);
$ui->setAttribute('atr_handler2', $singleUser_data['attr2']);
}