60 : void
61 {
62 if ($are_ref_ids) {
63 $query = "SELECT title, rid, file_id, page_count, on_click_mode
64 FROM file_data
65 JOIN object_data ON object_data.obj_id = file_data.file_id
66 JOIN object_reference ON object_reference.obj_id = object_data.obj_id
67 WHERE rid IS NOT NULL AND " . $this->db->in(
68 'ref_id',
69 $ids,
70 false,
71 'integer'
72 );
73 } else {
74 $query = "SELECT title, rid, file_id, page_count, on_click_mode FROM file_data JOIN object_data ON object_data.obj_id = file_data.file_id WHERE rid IS NOT NULL AND " . $this->db->in(
75 'file_id',
76 $ids,
77 false,
78 'integer'
79 );
80 }
81
82 $res = $this->db->query(
83 $query
84 );
85 $rids = [];
86 $page_counts = [];
87 $object_titles = [];
88 $click_modes = [];
89
90 while ($row = $this->db->fetchObject(
$res)) {
91 $rids[(
int) $row->file_id] = $row->rid;
92 $page_counts[(int) $row->file_id] = $row->page_count;
93 $object_titles[(
int) $row->file_id] = $row->title;
95 }
96 $this->irss->preload($rids);
97
98 foreach ($rids as $file_id => $rid) {
99 if ((
$id = $this->irss->manage()->find($rid)) !==
null) {
100 $max = $this->irss->manage()->getResource(
$id)->getCurrentRevision();
101
103 $object_titles[$file_id] ?? $max->getTitle(),
105 $max->getInformation()->getTitle(),
106 $max->getInformation()->getSuffix(),
107 in_array(strtolower($max->getInformation()->getSuffix()), $this->inline_suffixes, true),
109 $max->getVersionNumber(),
110 $max->getInformation()->getCreationDate(),
111 in_array(strtolower($max->getInformation()->getMimeType()), [
112 MimeType::APPLICATION__ZIP,
113 MimeType::APPLICATION__X_ZIP_COMPRESSED
114 ], true),
115 $max->getInformation()->getMimeType(),
116 new DataSize($max->getInformation()->getSize() ?? 0, DataSize::Byte),
117 $page_counts[$file_id] === null ? null : (int) $page_counts[$file_id]
118 );
119
120 self::$cache[$file_id] =
$info;
121 }
122 }
123 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
const CLICK_MODE_DOWNLOAD