Подскажите, пожалуйста, как правильно написать?
В скрипте есть обновление пользователя. В результате этого обновления у него удаляется email вся информация. Если это не сложно — подскажите, пожалуйста, тут.
// Добавляем/Обновляем юзера
if ($user = $this->modx->getObject('modUser', array('username' => $data['username']))) {
$action = 'update';
if (isset($data['active'])) {
$user->set('active', $data['active']);
}
$profile = $user->Profile;
if (!empty($data['extended'])) {
if (!is_array($profile->extended)) {
$extendeds = $this->modx->fromJSON($profile->extended);
}
if (!is_array($extendeds)) {
$extendeds = array();
}
$data['extended'] = array_merge($extendeds, $data['extended']);
}
} else {
$action = 'create';
$user = $this->modx->newObject('modUser');
$user->fromArray(array(
'username' => $data['username'],
'active' => isset($data['active'])
? $data['active']
: 1,
));
$profile = $this->modx->newObject('modUserProfile');
$user->addOne($profile);
$profile->fromArray($data);
}
// $profile->fromArray($data);
if (!$this->debug) {
// ----------------- добавление в группу ---------------
$group = 8; // id - группы User, в эту группу добавляем пользователя
$user->set('primary_group', $group);
$groupMember = $this->modx->newObject('modUserGroupMember');
$groupMember->set('user_group', $group); // Устанавливаем группу
$groupMember->set('member', $user->get('id')); // Устанавливаем id в группу
$groupMember->set('role', 1); // 1 - это членство с ролью Member
$groupMember->save();
// -----------------------------------------------------
$user->save();
}
Комментарии: 7
Сам процесс сохранения остался за кулисами. Во это
$profile = $user->Profile;
для чего?
Если бы знала — не спрашивала бы… Писала не я.
Ясно. Тогда ждём телепатов.
П.С. А вместо кода можно вставить фото Филиппа Киркорова. Так как проблема не в этом скрипте. ))
П.С. А вместо кода можно вставить фото Филиппа Киркорова. Так как проблема не в этом скрипте. ))
А так не проще?
$user->joinGroup(8, 1);
Это вместо чего?
$groupMember->set('user_group', $group); // Устанавливаем группу
$groupMember->set('member', $user->get('id')); // Устанавливаем id в группу
$groupMember->set('role', 1); // 1 - это членство с ролью Member
Так, конечно, проще) Жаль, это не решит проблему. Опубликовала в раздел работа.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.