19 declare(strict_types=1);
35 $this->db = $DIC[
'ilDB'];
36 $this->
user = $a_user;
39 public function isOwner(
int $a_ml_id,
int $a_usr_id): bool
41 $res = $this->db->queryF(
42 'SELECT EXISTS(SELECT 1 FROM addressbook_mlist WHERE ml_id = %s AND user_id = %s) cnt',
43 [
'integer',
'integer'],
46 $row = $this->db->fetchAssoc(
$res);
48 return is_array($row) && (
int) $row[
'cnt'] === 1;
64 foreach ($a_ids as $id) {
73 $res = $this->db->queryF(
74 'SELECT EXISTS(SELECT 1 FROM addressbook_mlist WHERE user_id = %s) cnt',
76 [$this->
user->getId()]
78 $row = $this->db->fetchAssoc(
$res);
80 return (is_array($row) && (
int) $row[
'cnt'] === 1);
88 $res = $this->db->queryF(
89 'SELECT * FROM addressbook_mlist WHERE user_id = %s',
91 [$this->
user->getId()]
99 $tmpObj->setId((
int) $row->ml_id);
100 $tmpObj->setUserId((
int) $row->user_id);
101 $tmpObj->setTitle($row->title);
102 $tmpObj->setDescription($row->description);
103 $tmpObj->setCreatedate($row->createdate);
104 $tmpObj->setChangedate($row->changedate);
105 $tmpObj->setMode((
int) $row->lmode);
107 $entries[$counter] = $tmpObj;
119 $ml_id = (
int) substr($a_list_name, strrpos($a_list_name,
'_') + 1);
120 if (!is_numeric($ml_id) || $ml_id <= 0) {
131 $this->ml = $this->
get(
$id);
142 foreach ($this->
getAll() as $mlist) {
151 $this->db->manipulateF(
152 'DELETE ass FROM addressbook_mlist_ass ass INNER JOIN addressbook_mlist list ON ass.ml_id = list.ml_id WHERE list.user_id = %s',
154 [$this->
user->getId()]
156 $this->db->manipulateF(
157 'DELETE FROM addressbook_mlist WHERE user_id = %s',
159 [$this->
user->getId()]
165 $this->db->manipulate(
166 'DELETE FROM addressbook_mlist_ass WHERE usr_id = ' . $this->db->quote($this->user->getId(),
'integer')
setCurrentMailingList(int $id=0)
__construct(ilObjUser $a_user)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
mailingListExists(string $a_list_name)
getSelected(array $a_ids=[])
isOwner(int $a_ml_id, int $a_usr_id)