19 declare(strict_types=1);
40 $this->db = $DIC->database();
47 foreach ($this->assignments as $assignment) {
48 if (!$assignment[
'domain'] || !$assignment[
'role']) {
51 if (stripos($a_email, $assignment[
'domain']) !==
false) {
56 return $assignment[
'role'];
65 $query = $this->db->query(
"SELECT * FROM reg_er_assignments " .
66 "WHERE role = " . $this->db->quote($role_id,
'integer'));
69 while ($row = $this->db->fetchAssoc(
$query)) {
70 $res[] = $row[
"domain"];
82 $this->assignments[
$id][
'domain'] = $a_domain;
87 $this->assignments[
$id][
'role'] = $a_role;
97 $this->default_role = $a_role_id;
102 $query =
"DELETE FROM reg_er_assignments ";
103 $this->db->manipulate(
$query);
113 foreach ($this->assignments as $assignment) {
114 if (empty($assignment[
'id'])) {
115 $next_id = $this->db->nextId(
'reg_er_assignments');
116 $query =
"INSERT INTO reg_er_assignments (assignment_id,domain,role) " .
118 $this->db->quote($next_id,
'integer') .
', ' .
119 $this->db->quote($assignment[
'domain'],
'text') .
", " .
120 $this->db->quote($assignment[
'role'],
'integer') .
131 $query =
"SELECT * FROM reg_er_assignments ";
134 $this->assignments = [];
136 $this->assignments[$row->assignment_id][
'id'] = (
int) $row->assignment_id;
137 $this->assignments[$row->assignment_id][
'role'] = (
int) $row->role;
138 $this->assignments[$row->assignment_id][
'domain'] = $row->domain;
140 $this->default_role = (
int) $this->
settings->get(
'reg_default_role',
'0');
const IL_REG_MISSING_DOMAIN
Class class.ilregistrationEmailRoleAssignments.
getDomainsByRole(int $role_id)
getRoleByEmail(string $a_email)
setRole(int $id, int $a_role)
const IL_REG_MISSING_ROLE
setDomain(int $id, string $a_domain)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
setDefaultRole(int $a_role_id)
static _lookupType(int $id, bool $reference=false)