PHPからユーザーを追加/編集/削除する

執筆時点でのバージョンは 7.5.7 です。

ユーザーの作成

/** @var \Concrete\Core\User\RegistrationService $userRegistrationService */
$userRegistrationService = Core::make('Concrete\Core\User\RegistrationServiceInterface');
$data = array(
    'uName' => 'example', // ユーザーID
    'uEmail' => 'example@example.com', // メールアドレス
    'uPassword' => 'password', // 指定しなければ自動設定
    'uDefaultLanguage' => 'ja_JP', // 指定しなければデフォルト言語
);
$ui = $userRegistrationService->create($data);

既存のユーザーの取得

// ユーザーIDから取得
$ui = Core::make('Concrete\Core\User\UserInfoFactory')->getByID($uID);

// ユーザー名から取得
$ui = Core::make('Concrete\Core\User\UserInfoFactory')->getByName($uName);

// メールアドレスから取得
$ui = Core::make('Concrete\Core\User\UserInfoFactory')->getByEmail($uEmail);

ユーザーの更新

$ui->update(array('uEmail' => $uEmail));

ユーザーの削除

$ui->delete();

ユーザー属性の変更

$ui->setAttribute('last_name', 'コンクリート');
$ui->setAttribute('first_name', '太郎');

ユーザーが所属するグループの更新

$groups = [];
$g = Group::getByName($gName);
$groups[] = $g->getGroupID();
$ui->updateGroups($groups);

API

Class UserInfo

Class UserInfoFactory

Class RegistrationService