ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\ResourceStorage\Preloader\DBRepositoryPreloader Class Reference

Class DBRepositoryPreloader. More...

+ Inheritance diagram for ILIAS\ResourceStorage\Preloader\DBRepositoryPreloader:
+ Collaboration diagram for ILIAS\ResourceStorage\Preloader\DBRepositoryPreloader:

Public Member Functions

 __construct (protected \ilDBInterface $db, Repositories $repositories)
 
 preload (array $identification_strings)
 
- Public Member Functions inherited from ILIAS\ResourceStorage\Preloader\StandardRepositoryPreloader
 __construct (Repositories $repositories)
 
 preload (array $identification_strings)
 
 preload (array $identification_strings)
 

Protected Attributes

array $preloaded = []
 
- Protected Attributes inherited from ILIAS\ResourceStorage\Preloader\StandardRepositoryPreloader
ResourceRepository $resource_repository
 
RevisionRepository $revision_repository
 
InformationRepository $information_repository
 
StakeholderRepository $stakeholder_repository
 
FlavourRepository $flavour_repository
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ILIAS\ResourceStorage\Preloader\DBRepositoryPreloader::__construct ( protected \ilDBInterface  $db,
Repositories  $repositories 
)

Definition at line 37 of file DBRepositoryPreloader.php.

38 {
39 parent::__construct($repositories);
40 }
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

References ILIAS\GlobalScreen\Provider\__construct().

+ Here is the call graph for this function:

Member Function Documentation

◆ preload()

ILIAS\ResourceStorage\Preloader\DBRepositoryPreloader::preload ( array  $identification_strings)

Implements ILIAS\ResourceStorage\Preloader\RepositoryPreloader.

Definition at line 43 of file DBRepositoryPreloader.php.

43 : void
44 {
45 $requested = array_diff($identification_strings, $this->preloaded);
46 if ($requested === []) {
47 return;
48 }
49 $r = $this->db->query(
50 "SELECT *, il_resource_revision.title AS revision_title
51FROM il_resource_revision
52JOIN il_resource_info ON il_resource_revision.rid = il_resource_info.rid AND il_resource_info.version_number = il_resource_revision.version_number
53JOIN il_resource ON il_resource_revision.rid = il_resource.rid
54JOIN il_resource_stkh_u ON il_resource_stkh_u.rid = il_resource.rid
55JOIN il_resource_stkh ON il_resource_stkh_u.stakeholder_id = il_resource_stkh.id
56WHERE " . $this->db->in('il_resource_revision.rid', $requested, false, 'text')
57 );
58 while ($d = $this->db->fetchAssoc($r)) {
59 $this->resource_repository->populateFromArray($d);
60 $this->revision_repository->populateFromArray($d);
61 $this->information_repository->populateFromArray($d);
62 $this->stakeholder_repository->populateFromArray($d);
63 }
64 $this->preloaded = array_merge($this->preloaded, $identification_strings);
65 $this->preloaded = array_unique($this->preloaded);
66 }

References Vendor\Package\$d.

Field Documentation

◆ $preloaded

array ILIAS\ResourceStorage\Preloader\DBRepositoryPreloader::$preloaded = []
protected

Definition at line 35 of file DBRepositoryPreloader.php.


The documentation for this class was generated from the following file: