19 declare(strict_types=1);
36 protected \ilDBInterface
$db;
44 public function preload(array $identification_strings): void
46 $requested = array_diff($identification_strings, $this->preloaded);
47 if ($requested === []) {
50 $r = $this->db->query(
51 "SELECT *, il_resource_revision.title AS revision_title 52 FROM il_resource_revision 53 JOIN il_resource_info ON il_resource_revision.rid = il_resource_info.rid AND il_resource_info.version_number = il_resource_revision.version_number 54 JOIN il_resource ON il_resource_revision.rid = il_resource.rid 55 JOIN il_resource_stkh_u ON il_resource_stkh_u.rid = il_resource.rid 56 JOIN il_resource_stkh ON il_resource_stkh_u.stakeholder_id = il_resource_stkh.id 57 WHERE " . $this->db->in(
'il_resource_revision.rid', $requested,
false,
'text')
59 while (
$d = $this->db->fetchAssoc($r)) {
60 $this->resource_repository->populateFromArray(
$d);
61 $this->revision_repository->populateFromArray(
$d);
62 $this->information_repository->populateFromArray(
$d);
63 $this->stakeholder_repository->populateFromArray(
$d);
65 $this->preloaded = array_merge($this->preloaded, $identification_strings);
66 $this->preloaded = array_unique($this->preloaded);
__construct(\ilDBInterface $db, Repositories $repositories)
preload(array $identification_strings)
__construct(Container $dic, ilPlugin $plugin)
Class StandardRepositoryPreloader.
Interface RepositoryPreloader.
for($i=6; $i< 13; $i++) for($i=1; $i< 13; $i++) $d
Class DBRepositoryPreloader.