19declare(strict_types=1);
48 protected \ilDBInterface
$db;
68 $new_version_number = $info_resolver->getNextVersionNumber();
71 $revision->setVersionNumber($new_version_number);
80 bool $keep_original =
false
82 $new_version_number = $info_resolver->getNextVersionNumber();
85 $revision->setVersionNumber($new_version_number);
95 $new_version_number = $info_resolver->getNextVersionNumber();
97 $revision->setStorageID($revision_to_clone->
getStorageID());
98 $revision->setVersionNumber($new_version_number);
106 $r = $this->db->queryF(
107 "SELECT " . self::IDENTIFICATION .
" FROM " . self::TABLE_NAME .
" WHERE " . self::IDENTIFICATION .
" = %s AND version_number = %s",
112 if ($r->numRows() > 0) {
117 'available' => [
'integer',
true],
118 'owner_id' => [
'integer', $revision->
getOwnerId()],
119 'title' => [
'text', $revision->
getTitle()]
122 self::IDENTIFICATION => [
'text', $rid],
131 self::IDENTIFICATION => [
'text', $rid],
133 'available' => [
'integer',
true],
134 'owner_id' => [
'integer', $revision->
getOwnerId()],
135 'title' => [
'text', $revision->
getTitle()]
150 if (isset($this->cache[$rid]) && is_array($this->cache[$rid])) {
151 foreach ($this->cache[$rid] as $rev) {
152 $collection->add($rev);
156 $r = $this->db->queryF(
157 "SELECT * FROM " . self::TABLE_NAME .
" WHERE " . self::IDENTIFICATION .
" = %s",
161 while (
$d = $this->db->fetchObject($r)) {
163 $revision->setVersionNumber((
int)
$d->version_number);
164 $revision->setOwnerId((
int)
$d->owner_id);
165 $revision->setTitle((
string)
$d->title);
166 $collection->add($revision);
167 $this->cache[
$d->rid][(
int)
$d->version_number] = $revision;
178 $rid = $revision->getIdentification()->serialize();
179 $this->db->manipulateF(
180 "DELETE FROM " . self::TABLE_NAME .
" WHERE " . self::IDENTIFICATION .
" = %s AND version_number = %s",
182 [$rid, $revision->getVersionNumber()]
184 unset($this->cache[$rid][$revision->getVersionNumber()]);
187 public function preload(array $identification_strings): void
189 $r = $this->db->query(
190 "SELECT * FROM " . self::TABLE_NAME .
" WHERE " . $this->db->in(
191 self::IDENTIFICATION,
192 $identification_strings,
197 while (
$d = $this->db->fetchAssoc($r)) {
198 $this->populateFromArray(
$d);
205 $revision->setVersionNumber((
int)
$data[
'version_number']);
206 $revision->setOwnerId((
int)
$data[
'owner_id']);
207 $revision->setTitle((
string)
$data[
'revision_title']);
208 $this->cache[
$data[
'rid']][(
int)
$data[
'version_number']] = $revision;
Class ResourceIdentification.
Class UploadedFileRevision.
Class RevisionDBRepository.
blankFromUpload(InfoResolver $info_resolver, StorableResource $resource, UploadResult $result)
__construct(\ilDBInterface $db)
populateFromArray(array $data)
blankFromClone(InfoResolver $info_resolver, StorableResource $resource, FileRevision $revision_to_clone)
blankFromStream(InfoResolver $info_resolver, StorableResource $resource, FileStream $stream, bool $keep_original=false)
store(Revision $revision)
preload(array $identification_strings)
Class RevisionCollection.
Class UploadedFileRevision.
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
Interface StorageResource.
Class RevisionARRepository.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...