19 declare(strict_types=1);
44 $result = $this->database->query(
'SELECT * FROM etal_data');
46 while ($row = $result->fetchObject()) {
58 $result = $this->database->query(
59 'SELECT * FROM etal_data AS talk 60 WHERE ' . $this->database->in(
'employee', $employees,
false,
'integer')
63 while ($row = $result->fetchObject()) {
76 $result = $this->database->query(
$q =
'SELECT * FROM etal_data AS talk 77 INNER JOIN object_data AS od ON od.obj_id = talk.object_id 78 WHERE (' . $this->database->in(
'employee', $employees,
false,
'integer') .
79 ' AND ' . $this->database->in(
'od.owner', $employees,
false,
'integer') .
80 ') OR od.owner = ' . $this->database->quote($user,
'integer') .
81 ' OR employee = ' . $this->database->quote($user,
'integer'));
83 while ($row = $result->fetchObject()) {
96 $result = $this->database->query(
'SELECT * FROM etal_data AS talk 97 INNER JOIN object_data AS od ON od.obj_id = talk.object_id 98 WHERE talk.employee = ' . $this->database->quote($employee,
'integer') .
99 ' AND od.owner = ' . $this->database->quote($owner,
'integer'));
101 while ($row = $result->fetchObject()) {
109 $result = $this->database->query(
'SELECT * FROM etal_data WHERE object_id = ' .
110 $this->database->quote($objectId,
'integer'));
111 while ($row = $result->fetchObject()) {
114 throw new \ilEmployeeTalkDBException(
'No EmployeeTalk found with obj_id ' . $objectId);
119 $this->database->insert(
'etal_data', [
122 'start_date' => [
'int', $talk->
getStartDate()->getUnixTime()],
123 'end_date' => [
'int', $talk->
getEndDate()->getUnixTime()],
137 $this->database->update(
'etal_data', [
139 'start_date' => [
'int', $talk->
getStartDate()->getUnixTime()],
140 'end_date' => [
'int', $talk->
getEndDate()->getUnixTime()],
156 $this->database->manipulate(
'DELETE FROM etal_data WHERE object_id = ' .
157 $this->database->quote($talk->getObjectId(),
'integer'));
166 $result = $this->database->query(
'SELECT * FROM etal_data WHERE employee = ' .
167 $this->database->quote($iliasUserId,
'integer'));
169 while ($row = $result->fetchObject()) {
181 $result = $this->database->query(
'SELECT * FROM etal_data WHERE series_id = ' .
182 $this->database->quote($seriesId,
'text'));
184 while ($row = $result->fetchObject()) {
192 $all_day = boolval($stdClass->all_day);
202 intval($stdClass->object_id),
206 $stdClass->series_id ??
'',
207 $stdClass->location ??
'',
208 intval($stdClass->employee),
209 boolval($stdClass->completed),
210 boolval($stdClass->standalone_date),
211 intval($stdClass->template_id)
parseFromStdClass($stdClass)
findByEmployee(int $iliasUserId)
create(EmployeeTalk $talk)
findBySeries(string $seriesId)
findTalksBetweenEmployeeAndOwner(int $employee, int $owner)
__construct(ilDBInterface $database)
update(EmployeeTalk $talk)
findByObjectId(int $objectId)
findByUserOrTheirEmployees(int $user, array $employees)
findByEmployees(array $employees)