ILIAS  trunk Revision v11.0_alpha-1749-g1a06bdef097
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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)
 

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.

References ILIAS\GlobalScreen\Provider\__construct().

38  {
39  parent::__construct($repositories);
40  }
__construct(Container $dic, ilPlugin $plugin)
+ 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.

References Vendor\Package\$d, and $r.

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
51 FROM il_resource_revision
52 JOIN il_resource_info ON il_resource_revision.rid = il_resource_info.rid AND il_resource_info.version_number = il_resource_revision.version_number
53 JOIN il_resource ON il_resource_revision.rid = il_resource.rid
54 JOIN il_resource_stkh_u ON il_resource_stkh_u.rid = il_resource.rid
55 JOIN il_resource_stkh ON il_resource_stkh_u.stakeholder_id = il_resource_stkh.id
56 WHERE " . $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  }
$r

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: