47 if (isset(self::$pool_loaded[$pool_id]) && self::$pool_loaded[$pool_id]) {
52 "SELECT * FROM booking_object " .
53 " WHERE pool_id = %s ORDER BY title ASC, booking_object_id ASC",
57 self::$pool_objects[$pool_id] = [];
59 while ($rec =
$db->fetchAssoc($set)) {
60 self::$raw_data[$rec[
"booking_object_id"]] = $rec;
62 self::$pool_objects[$pool_id][] = $rec;
65 self::$pool_loaded[$pool_id] =
true;
70 if (!isset(self::$raw_data[$book_obj_id])) {
71 throw new \ilBookingPoolException(
"Data for booking object $book_obj_id not loaded.");
73 return (
int) self::$raw_data[$book_obj_id][
"nr_of_items"];
78 if (!isset(self::$raw_data[$book_obj_id])) {
79 throw new \ilBookingPoolException(
"Data for booking object $book_obj_id not loaded.");
81 return (
int) self::$color_number[$book_obj_id];
88 return self::$pool_objects[$pool_id] ?? [];
97 $set = $this->db->queryF(
98 "SELECT obj_info_rid FROM booking_object " .
99 " WHERE booking_object_id = %s ",
103 $rec = $this->db->fetchAssoc($set);
104 return ($rec[
"obj_info_rid"] ??
"");
109 $rid = $this->getObjectInfoRidForBookingObjectId($booking_object_id);
110 return ($rid !==
"");
115 $rid = $this->getObjectInfoRidForBookingObjectId($booking_object_id);
120 $this->wrapper->deleteResource($rid, $stakeholder);
130 $rid = $this->getObjectInfoRidForBookingObjectId($booking_object_id);
131 return $this->wrapper->getResourcePath($rid);
136 $rid = $this->getObjectInfoRidForBookingObjectId($booking_object_id);
137 $this->wrapper->deliverFile($rid);
142 $rid = $this->getObjectInfoRidForBookingObjectId($booking_object_id);
144 $info = $this->wrapper->getResourceInfo($rid);
145 return $info->getTitle();
152 int $booking_object_id,
156 $rcid = $this->wrapper->importFileFromLegacyUpload($file_input, $stakeholder);
173 $set = $this->db->queryF(
174 "SELECT book_info_rid FROM booking_object " .
175 " WHERE booking_object_id = %s ",
179 $rec = $this->db->fetchAssoc($set);
180 return ($rec[
"book_info_rid"] ??
"");
185 $rid = $this->getBookingInfoRidForBookingObjectId($booking_object_id);
186 return ($rid !==
"");
191 $rid = $this->getBookingInfoRidForBookingObjectId($booking_object_id);
196 $this->wrapper->deleteResource($rid, $stakeholder);
206 $rid = $this->getBookingInfoRidForBookingObjectId($booking_object_id);
207 $this->wrapper->deliverFile($rid);
212 $rid = $this->getBookingInfoRidForBookingObjectId($booking_object_id);
213 return $this->wrapper->getResourcePath($rid);
218 $rid = $this->getBookingInfoRidForBookingObjectId($booking_object_id);
220 ? $this->wrapper->getResourceInfo($rid)->getTitle()
226 int $booking_object_id,
230 $rcid = $this->wrapper->importFileFromLegacyUpload($file_input, $stakeholder);
249 $from_rid = $this->getObjectInfoRidForBookingObjectId($from_id);
250 $to_rid = $this->wrapper->cloneResource($from_rid);
261 $from_rid = $this->getBookingInfoRidForBookingObjectId($from_id);
262 $to_rid = $this->wrapper->cloneResource($from_rid);
Repo class for booking objects.
deliverObjectInfo(int $booking_object_id)
__construct(protected IRSSWrapper $wrapper, protected \ilDBInterface $db)
importBookingInfoFromLegacyUpload(int $booking_object_id, array $file_input, ResourceStakeholder $stakeholder)
loadDataOfPool(int $pool_id)
hasObjectInfo(int $booking_object_id)
deliverBookingInfo(int $booking_object_id)
static array $pool_loaded
deleteObjectInfo(int $booking_object_id, ResourceStakeholder $stakeholder)
getObjectInfoFilename(int $booking_object_id)
getObjectInfoRidForBookingObjectId(int $booking_object_id)
getBookingInfoRidForBookingObjectId(int $booking_object_id)
getBookingInfoFilename(int $booking_object_id)
hasBookingInfo(int $booking_object_id)
getBookingInfoPath(int $booking_object_id)
getObjectInfoPath(int $booking_object_id)
importObjectInfoFromLegacyUpload(int $booking_object_id, array $file_input, ResourceStakeholder $stakeholder)
clone(int $from_id, int $to_id)
getNrOfItemsForObject(int $book_obj_id)
deleteBookingInfo(int $booking_object_id, ResourceStakeholder $stakeholder)
getColorNrForObject(int $book_obj_id)
getObjectDataForPool(int $pool_id)
Interface ResourceStakeholder.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...