19 declare(strict_types=1);
    39         if ($object_reference_id === null
    40             || $object_reference_id === 0) {
    44         if (!isset($this->data_cache[$object_reference_id])) {
    48         $data = $this->data_cache[$object_reference_id];
    52             $data[
'date_of_deletion'],
    54             $this->time_based_activation_properties_repository->getFor($object_reference_id)
    61         $this->time_based_activation_properties_repository->store(
    62             $time_based_activation_property
    70     public function preload(array $object_reference_ids): void
    73         $this->time_based_activation_properties_repository->preload($object_reference_ids);
    78         $this->data_cache = [];
    79         $this->reference_properties_repository->resetPreloadedData();
    91             throw new \Exception(
'The object with the following reference_id does not exist: '    92                 . (
string) $object_reference_id);
    95         return $data[$object_reference_id];
   110             . 
'ref_id, obj_id, deleted, deleted_by' . PHP_EOL
   111             . 
'FROM ' . self::REFERENCE_PROPERTIES_TABLE . PHP_EOL
   114         $statement = $this->database->query($query);
   115         $num_rows = $this->database->numRows($statement);
   117         if ($num_rows === 0) {
   122         while ($row = $this->database->fetchAssoc($statement)) {
   123             $data[$row[
'ref_id']] = [
   124                 'obj_id' => $row[
'obj_id'],
   125                 'date_of_deletion' => $row[
'deleted'] !== null
   126                     ? new \DateTimeImmutable($row[
'deleted'], 
new \
DateTimeZone(
'UTC'))
   128                 'deleted_by' => $row[
'deleted_by']
 
retrieveDataForWhereClause(string $where)
 
const REFERENCE_PROPERTIES_TABLE
 
storePropertyAvailabilityPeriod(ObjectAvailabilityPeriodProperty $time_based_activation_property)
 
retrieveDataForObjectReferenceId(int $object_reference_id)
 
__construct(private readonly ObjectAvailabilityPeriodPropertiesCachedRepository $time_based_activation_properties_repository, private readonly \ilDBInterface $database)
 
preload(array $object_reference_ids)
 
retrieveDataForObjectReferenceIds(array $object_reference_ids)
 
getFor(?int $object_reference_id)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...