丰富c5用户属性的最佳途径是什么。
我有包含用户信息的非 C5 表,该信息是在旧的 cms(非 c5)上创建的,我现在使用 c5 构建新网站,想知道迁移用户的最佳方法。
使用 SQL 查询是个好主意还是应该使用 php 脚本来丰富,我已经在 c5 中创建了用户,并手动添加了“ anchor ”的电子邮件地址以供以后丰富。
如果有人可以告诉或者可以举一些例子,我会非常高兴。
最佳答案
终于自己搞定了,比较简单: 我将外部用户导出到 php 数组并使用 c5 用户函数来添加用户,并在丰富它们之后我的示例:
$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']);
}
关于php - Concrete5 5.6/7 以编程方式添加用户和丰富属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31229513/