19 declare(strict_types=1);
39 private \ilDBInterface
$db;
49 return $this->
buildResult($rid, $revision, $definition,
false)->numRows() > 0;
58 self::F_RESOURCE_ID => [
'text', $flavour->
getResourceId()->serialize()],
59 self::F_REVISION => [
'integer', $flavour->
getRevision()],
60 self::F_DEFINITION => [
'text', $flavour->
getDefinition()->getId()],
61 self::F_VARIANT => [
'text', $flavour->
getDefinition()->getVariantName() ??
'']
77 public function delete(
Flavour $flavour):
void 79 $rid = $flavour->getResourceId();
80 $definition = $flavour->getDefinition();
82 $r = $this->db->manipulateF(
83 "DELETE FROM " . self::TABLE_NAME
84 .
" WHERE " . self::F_RESOURCE_ID .
" = %s AND " 85 . self::F_REVISION .
" = %s AND " 86 . self::F_DEFINITION .
" = %s AND (" . self::F_VARIANT .
" = %s OR " . self::F_VARIANT .
" IS NULL)",
87 [
'text',
'integer',
'text',
'text'],
88 [$rid->
serialize(), $flavour->getRevision(), $definition->getId(), $definition->getVariantName()]
93 public function preload(array $identification_strings): void
108 bool $use_cache =
true 111 if ($use_cache && isset($this->results_cache[$rcache])) {
112 return $this->results_cache[$rcache];
115 $r = $this->db->queryF(
116 "SELECT * FROM " . self::TABLE_NAME
117 .
" WHERE " . self::F_RESOURCE_ID .
" = %s AND " 118 . self::F_REVISION .
" = %s AND " 119 . self::F_DEFINITION .
" = %s AND (" . self::F_VARIANT .
" = %s OR " . self::F_VARIANT .
" IS NULL)",
129 $definition->
getId(),
133 return $this->results_cache[$rcache] =
$r;
preload(array $identification_strings)
getVariantName()
If a definition can be used in several variants (e.g.
buildResult(ResourceIdentification $rid, int $revision, FlavourDefinition $definition, bool $use_cache=true)
has(ResourceIdentification $rid, int $revision, FlavourDefinition $definition)
Class ResourceIdentification.
__construct(\ilDBInterface $db)
populateFromArray(array $data)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...