ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilStudyProgrammeTypeDBRepository Class Reference
+ Inheritance diagram for ilStudyProgrammeTypeDBRepository:
+ Collaboration diagram for ilStudyProgrammeTypeDBRepository:

Public Member Functions

 __construct (\ilDBInterface $db, \ilStudyProgrammeSettingsRepository $settings_repo, ILIAS\Filesystem\Filesystem $webdir, ilObjUser $usr, ilPluginAdmin $plugin_admin, ilLanguage $lng)
 
 createType (string $default_language)
 Create a type record and return an object representing it. More...
 
 createAMDRecord ()
 Create an amd-record record and return an object representing it. More...
 
 createTypeTranslation ()
 Create a type translation record and return an object representing it. More...
 
 updateType (ilStudyProgrammeType $type)
 Persist type properties. More...
 
 updateAMDRecord (ilStudyProgrammeAdvancedMetadataRecord $rec)
 Persist amd-record properties. More...
 
 updateTypeTranslation (ilStudyProgrammeTypeTranslation $tt)
 Persist type translation properties. More...
 
 deleteAMDRecord (ilStudyProgrammeAdvancedMetadataRecord $rec)
 Delete record corresponding to given object. More...
 
 deleteTypeTranslation (ilStudyProgrammeTypeTranslation $tt)
 Delete record corresponding to given object. More...
 
 deleteTypeTranslationByTypeId (int $type_id)
 Delete all translation records corresponding to a type id. More...
 
 readAllTypes ()
 Get all persisted type-objects. More...
 
 readType (int $type_id)
 Get a type with given type_id. More...
 
 readAllTypesArray ()
 Get an assicative array of all persisted types id => title. More...
 
 readAssignedAMDRecordsByType (int $type_id, bool $only_active=false)
 
 readAllAMDRecords ()
 
 readAMDRecordsByTypeIdAndRecordId (int $type_id, int $record_id)
 
 readAMDRecordsByTypeId (int $type_id, bool $only_active=false)
 
 readTranslationsArrayByTypeIdAndLangCode (int $type_id, string $lang_code)
 
 readStudyProgrammesByTypeId (int $type_id)
 Get all prg-settings objects by corresponding type-id. More...
 
 readStudyProgrammeIdsByTypeId (int $type_id)
 Get all prg-settings ids by corresponding type-id. More...
 
 getAvailableAdvancedMDRecords ()
 
 getAvailableAdvancedMDRecordIds ()
 
 readTranslationsByTypeAndLang (int $type_id, string $lang_code)
 
 readTranslationByTypeIdMemberLang (int $type_id, string $member, string $lang_code)
 
- Public Member Functions inherited from ilStudyProgrammeTypeRepository
 deleteType (ilStudyProgrammeType $type)
 Delete record corresponding to given object. More...
 
 readAssignedAMDRecordIdsByType (int $type_id, bool $only_active=false)
 
 readAllAMDRecordIds ()
 

Data Fields

const TYPE_TABLE = 'prg_type'
 
const FIELD_ID = 'id'
 
const FIELD_DEFAULT_LANG = 'default_lang'
 
const FIELD_OWNER = 'owner'
 
const FIELD_CREATE_DATE = 'create_date'
 
const FIELD_LAST_UPDATE = 'last_update'
 
const FIELD_ICON = 'icon'
 
const TYPE_TRANSLATION_TABLE = 'prg_translations'
 
const FIELD_PRG_TYPE_ID = 'prg_type_id'
 
const FIELD_LANG = 'lang'
 
const FIELD_MEMBER = 'member'
 
const FIELD_VALUE = 'value'
 
const AMD_TABLE = 'prg_type_adv_md_rec'
 
const FIELD_TYPE_ID = 'type_id'
 
const FIELD_REC_ID = 'rec_id'
 

Protected Member Functions

 insertRowTypeDB (array $row)
 
 createTypeByRow (array $row)
 
 insertRowAMDDB (array $row)
 
 createAMDByRow (array $row)
 
 insertRowTypeTranslationDB (array $row)
 
 createTypeTranslationByRow (array $row)
 
 updateRowTypeDB (array $row)
 
 updateRowAMDRecordDB (array $row)
 
 updateRowTypeTranslationDB (array $row)
 
 deleteAllTranslationsByTypeId (int $type_id)
 
 deleteAMDRecordsByTypeId (int $type_id)
 
 readAllTypesRecords ()
 

Protected Attributes

 $db
 
 $settings_repo
 
 $webdir
 
 $plugin_admin
 
 $lng
 
 $usr
 
 $amd_records_assigned = []
 

Static Protected Attributes

static $amd_records_available
 

Detailed Description

Definition at line 5 of file class.ilStudyProgrammeTypeDBRepository.php.

Constructor & Destructor Documentation

◆ __construct()

Member Function Documentation

◆ createAMDByRow()

ilStudyProgrammeTypeDBRepository::createAMDByRow ( array  $row)
protected

Definition at line 140 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by createAMDRecord(), getAvailableAdvancedMDRecords(), readAMDRecordsByTypeId(), and readAMDRecordsByTypeIdAndRecordId().

141  {
142  $return = new ilStudyProgrammeAdvancedMetadataRecord((int) $row[self::FIELD_ID]);
143  $return->setTypeId((int) $row[self::FIELD_TYPE_ID]);
144  $return->setRecId((int) $row[self::FIELD_REC_ID]);
145  return $return;
146  }
+ Here is the caller graph for this function:

◆ createAMDRecord()

ilStudyProgrammeTypeDBRepository::createAMDRecord ( )

Create an amd-record record and return an object representing it.

Implements ilStudyProgrammeTypeRepository.

Definition at line 116 of file class.ilStudyProgrammeTypeDBRepository.php.

References createAMDByRow(), and insertRowAMDDB().

117  {
118  $id = (int) $this->db->nextId(self::AMD_TABLE);
119  $row = [
120  self::FIELD_ID => $id,
121  self::FIELD_TYPE_ID => null,
122  self::FIELD_REC_ID => null
123  ];
124  $this->insertRowAMDDB($row);
125  return $this->createAMDByRow($row);
126  }
+ Here is the call graph for this function:

◆ createType()

ilStudyProgrammeTypeDBRepository::createType ( string  $default_language)

Create a type record and return an object representing it.

Implements ilStudyProgrammeTypeRepository.

Definition at line 54 of file class.ilStudyProgrammeTypeDBRepository.php.

References createTypeByRow(), insertRowTypeDB(), and ilUtil\now().

55  {
56  $id = (int) $this->db->nextId(self::TYPE_TABLE);
57  $now = ilUtil::now();
58  $row = [
59  self::FIELD_ID => $id,
60  self::FIELD_DEFAULT_LANG => $default_language,
61  self::FIELD_OWNER => $this->usr->getId(),
62  self::FIELD_CREATE_DATE => $now,
63  self::FIELD_LAST_UPDATE => $now,
64  self::FIELD_ICON => ''
65  ];
66  $this->insertRowTypeDB($row);
67  return $this->createTypeByRow($row);
68  }
static now()
Return current timestamp in Y-m-d H:i:s format.
Class ilStudyProgrammeType.
+ Here is the call graph for this function:

◆ createTypeByRow()

ilStudyProgrammeTypeDBRepository::createTypeByRow ( array  $row)
protected

Definition at line 85 of file class.ilStudyProgrammeTypeDBRepository.php.

References ilStudyProgrammeType\DATE_TIME_FORMAT.

Referenced by createType(), readAllTypes(), and readType().

86  {
87  $return = new ilStudyProgrammeType(
88  (int) $row[self::FIELD_ID],
89  $this,
90  $this->webdir,
91  $this->plugin_admin,
92  $this->lng,
93  $this->usr
94  );
95  $return->setDefaultLang($row[self::FIELD_DEFAULT_LANG]);
96  $return->setOwner((int) $row[self::FIELD_OWNER]);
97  $return->setCreateDate(
98  \DateTime::createFromFormat(
100  $row[self::FIELD_CREATE_DATE]
101  )
102  );
103  $return->setLastUpdate(
104  \DateTime::createFromFormat(
106  $row[self::FIELD_LAST_UPDATE]
107  )
108  );
109  $return->setIcon((string) $row[self::FIELD_ICON]);
110  return $return;
111  }
Class ilStudyProgrammeType.
+ Here is the caller graph for this function:

◆ createTypeTranslation()

ilStudyProgrammeTypeDBRepository::createTypeTranslation ( )

Create a type translation record and return an object representing it.

Implements ilStudyProgrammeTypeRepository.

Definition at line 151 of file class.ilStudyProgrammeTypeDBRepository.php.

References createTypeTranslationByRow(), and insertRowTypeTranslationDB().

152  {
153  $id = (int) $this->db->nextId(self::TYPE_TRANSLATION_TABLE);
154  $row = [
155  self::FIELD_ID => $id,
156  self::FIELD_PRG_TYPE_ID => null,
157  self::FIELD_LANG => null,
158  self::FIELD_MEMBER => null,
159  self::FIELD_VALUE => null
160  ];
161  $this->insertRowTypeTranslationDB($row);
162  return $this->createTypeTranslationByRow($row);
163  }
Class ilStudyProgrammeTypeTranslation This class represents a translation for a given ilStudyProgramm...
+ Here is the call graph for this function:

◆ createTypeTranslationByRow()

ilStudyProgrammeTypeDBRepository::createTypeTranslationByRow ( array  $row)
protected

Definition at line 182 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by createTypeTranslation(), and readTranslationByTypeIdMemberLang().

183  {
184  $return = new ilStudyProgrammeTypeTranslation((int) $row[self::FIELD_ID]);
185  $return->setPrgTypeId((int) $row[self::FIELD_PRG_TYPE_ID]);
186  $return->setLang((string) $row[self::FIELD_LANG]);
187  $return->setMember((string) $row[self::FIELD_MEMBER]);
188  $return->setValue((string) $row[self::FIELD_VALUE]);
189  return $return;
190  }
Class ilStudyProgrammeTypeTranslation This class represents a translation for a given ilStudyProgramm...
+ Here is the caller graph for this function:

◆ deleteAllTranslationsByTypeId()

ilStudyProgrammeTypeDBRepository::deleteAllTranslationsByTypeId ( int  $type_id)
protected

Definition at line 334 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by updateRowTypeTranslationDB().

335  {
336  $this->db->manipulate(
337  'DELETE FROM ' . self::TYPE_TRANSLATION_TABLE . ' WHERE ' . self::FIELD_PRG_TYPE_ID . ' = ' . $this->db->quote($type_id, 'integer')
338  );
339  }
+ Here is the caller graph for this function:

◆ deleteAMDRecord()

ilStudyProgrammeTypeDBRepository::deleteAMDRecord ( ilStudyProgrammeAdvancedMetadataRecord  $rec)

Delete record corresponding to given object.

Implements ilStudyProgrammeTypeRepository.

Definition at line 350 of file class.ilStudyProgrammeTypeDBRepository.php.

References ilStudyProgrammeAdvancedMetadataRecord\getId().

351  {
352  $this->db->manipulate(
353  'DELETE FROM ' . self::AMD_TABLE . ' WHERE ' . self::FIELD_ID . ' = ' . $this->db->quote($rec->getId(), 'integer')
354  );
355  }
+ Here is the call graph for this function:

◆ deleteAMDRecordsByTypeId()

ilStudyProgrammeTypeDBRepository::deleteAMDRecordsByTypeId ( int  $type_id)
protected

Definition at line 340 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by updateRowTypeTranslationDB().

341  {
342  $this->db->manipulate(
343  'DELETE FROM ' . self::AMD_TABLE . ' WHERE ' . self::FIELD_TYPE_ID . ' = ' . $this->db->quote($type_id, 'integer')
344  );
345  }
+ Here is the caller graph for this function:

◆ deleteTypeTranslation()

ilStudyProgrammeTypeDBRepository::deleteTypeTranslation ( ilStudyProgrammeTypeTranslation  $tt)

Delete record corresponding to given object.

Implements ilStudyProgrammeTypeRepository.

Definition at line 360 of file class.ilStudyProgrammeTypeDBRepository.php.

References ilStudyProgrammeTypeTranslation\getId().

361  {
362  $this->db->manipulate(
363  'DELETE FROM ' . self::TYPE_TRANSLATION_TABLE . ' WHERE ' . self::FIELD_ID . ' = ' . $this->db->quote($tt->getId(), 'integer')
364  );
365  }
+ Here is the call graph for this function:

◆ deleteTypeTranslationByTypeId()

ilStudyProgrammeTypeDBRepository::deleteTypeTranslationByTypeId ( int  $type_id)

Delete all translation records corresponding to a type id.

Implements ilStudyProgrammeTypeRepository.

Definition at line 370 of file class.ilStudyProgrammeTypeDBRepository.php.

371  {
372  $this->db->manipulate(
373  'DELETE FROM ' . self::TYPE_TRANSLATION_TABLE . ' WHERE ' . self::FIELD_REC_ID . ' = ' . $this->db->quote($type_id, 'integer')
374  );
375  }

◆ getAvailableAdvancedMDRecordIds()

ilStudyProgrammeTypeDBRepository::getAvailableAdvancedMDRecordIds ( )

Implements ilStudyProgrammeTypeRepository.

Definition at line 597 of file class.ilStudyProgrammeTypeDBRepository.php.

References $res.

597  : array
598  {
599  $q = 'SELECT ' . self::FIELD_REC_ID
600  . ' FROM ' . self::AMD_TABLE;
601  $return = [];
602  $res = $this->db->query($q);
603  while ($rec = $this->db->fetchAssoc($res)) {
604  $return[] = $rec[self::FIELD_REC_ID];
605  }
606  return $return;
607  }
foreach($_POST as $key=> $value) $res

◆ getAvailableAdvancedMDRecords()

ilStudyProgrammeTypeDBRepository::getAvailableAdvancedMDRecords ( )

Implements ilStudyProgrammeTypeRepository.

Definition at line 579 of file class.ilStudyProgrammeTypeDBRepository.php.

References $res, and createAMDByRow().

579  : array
580  {
581  $q = 'SELECT'
582  . ' ' . self::FIELD_REC_ID
583  . ' ,' . self::FIELD_TYPE_ID
584  . ' ,' . self::FIELD_ID
585  . ' FROM ' . self::AMD_TABLE;
586  $return = [];
587  $res = $this->db->query($q);
588  while ($rec = $this->db->fetchAssoc($res)) {
589  $return[] = $this->createAMDByRow($rec);
590  }
591  return $return;
592  }
foreach($_POST as $key=> $value) $res
+ Here is the call graph for this function:

◆ insertRowAMDDB()

ilStudyProgrammeTypeDBRepository::insertRowAMDDB ( array  $row)
protected

Definition at line 128 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by createAMDRecord().

129  {
130  $this->db->insert(
131  self::AMD_TABLE,
132  [
133  self::FIELD_ID => ['interger',$row[self::FIELD_ID]]
134  ,self::FIELD_TYPE_ID => ['integer',$row[self::FIELD_TYPE_ID]]
135  ,self::FIELD_REC_ID => ['interger',$row[self::FIELD_REC_ID]]
136  ]
137  );
138  }
+ Here is the caller graph for this function:

◆ insertRowTypeDB()

ilStudyProgrammeTypeDBRepository::insertRowTypeDB ( array  $row)
protected

Definition at line 70 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by createType().

71  {
72  $this->db->insert(
73  self::TYPE_TABLE,
74  [
75  self::FIELD_ID => ['interger',$row[self::FIELD_ID]]
76  ,self::FIELD_DEFAULT_LANG => ['text',$row[self::FIELD_DEFAULT_LANG]]
77  ,self::FIELD_OWNER => ['interger',$row[self::FIELD_OWNER]]
78  ,self::FIELD_CREATE_DATE => ['text',$row[self::FIELD_CREATE_DATE]]
79  ,self::FIELD_LAST_UPDATE => ['text',$row[self::FIELD_LAST_UPDATE]]
80  ,self::FIELD_ICON => ['text',$row[self::FIELD_ICON]]
81  ]
82  );
83  }
+ Here is the caller graph for this function:

◆ insertRowTypeTranslationDB()

ilStudyProgrammeTypeDBRepository::insertRowTypeTranslationDB ( array  $row)
protected

Definition at line 165 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by createTypeTranslation().

166  {
167  $this->db->insert(
168  self::TYPE_TRANSLATION_TABLE,
169  [
170  self::FIELD_ID => ['interger',$row[self::FIELD_ID]]
171  ,self::FIELD_PRG_TYPE_ID => ['integer',$row[self::FIELD_PRG_TYPE_ID]]
172  ,self::FIELD_LANG => ['text',$row[self::FIELD_LANG]]
173  ,self::FIELD_MEMBER => ['text',$row[self::FIELD_MEMBER]]
174  ,self::FIELD_VALUE => ['text',$row[self::FIELD_VALUE]]
175  ]
176  );
177  }
+ Here is the caller graph for this function:

◆ readAllAMDRecords()

ilStudyProgrammeTypeDBRepository::readAllAMDRecords ( )

Implements ilStudyProgrammeTypeRepository.

Definition at line 486 of file class.ilStudyProgrammeTypeDBRepository.php.

References ilAdvancedMDRecord\_getActivatedRecordsByObjectType(), and ilStudyProgrammeTypeRepository\readAllAMDRecordIds().

486  : array
487  {
488  if (is_array(self::$amd_records_available)) {
489  return self::$amd_records_available;
490  }
491  self::$amd_records_available = ilAdvancedMDRecord::_getActivatedRecordsByObjectType('prg', 'prg_type');
492  return self::$amd_records_available;
493  }
static _getActivatedRecordsByObjectType($a_obj_type, $a_sub_type="", $a_only_optional=false)
Get activated records by object type.
+ Here is the call graph for this function:

◆ readAllTypes()

ilStudyProgrammeTypeDBRepository::readAllTypes ( )

Get all persisted type-objects.

Implements ilStudyProgrammeTypeRepository.

Definition at line 380 of file class.ilStudyProgrammeTypeDBRepository.php.

References createTypeByRow(), and readAllTypesRecords().

Referenced by readAllTypesArray().

380  : array
381  {
382  $return = [];
383  foreach ($this->readAllTypesRecords() as $row) {
384  $return[] = $this->createTypeByRow($row);
385  }
386  return $return;
387  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ readAllTypesArray()

ilStudyProgrammeTypeDBRepository::readAllTypesArray ( )

Get an assicative array of all persisted types id => title.

Implements ilStudyProgrammeTypeRepository.

Definition at line 429 of file class.ilStudyProgrammeTypeDBRepository.php.

References readAllTypes().

429  : array
430  {
431  $return = [];
432  foreach ($this->readAllTypes() as $type) {
433  $return[$type->getId()] = $type->getTitle();
434  }
435  return $return;
436  }
$type
+ Here is the call graph for this function:

◆ readAllTypesRecords()

ilStudyProgrammeTypeDBRepository::readAllTypesRecords ( )
protected

Definition at line 389 of file class.ilStudyProgrammeTypeDBRepository.php.

References $res.

Referenced by readAllTypes().

390  {
391  $q = 'SELECT'
392  . ' ' . self::FIELD_DEFAULT_LANG
393  . ' ,' . self::FIELD_OWNER
394  . ' ,' . self::FIELD_CREATE_DATE
395  . ' ,' . self::FIELD_LAST_UPDATE
396  . ' ,' . self::FIELD_ICON
397  . ' ,' . self::FIELD_ID
398  . ' FROM ' . self::TYPE_TABLE;
399  $res = $this->db->query($q);
400  $return = [];
401  while ($rec = $this->db->fetchAssoc($res)) {
402  yield $rec;
403  }
404  }
foreach($_POST as $key=> $value) $res
+ Here is the caller graph for this function:

◆ readAMDRecordsByTypeId()

ilStudyProgrammeTypeDBRepository::readAMDRecordsByTypeId ( int  $type_id,
bool  $only_active = false 
)

Implements ilStudyProgrammeTypeRepository.

Definition at line 532 of file class.ilStudyProgrammeTypeDBRepository.php.

References $res, and createAMDByRow().

532  : array
533  {
534  $q = 'SELECT'
535  . ' ' . self::FIELD_REC_ID
536  . ' ,' . self::FIELD_TYPE_ID
537  . ' ,' . self::FIELD_ID
538  . ' FROM ' . self::AMD_TABLE
539  . ' WHERE ' . self::FIELD_TYPE_ID . ' = ' . $this->db->quote($type_id, 'integer');
540  $return = [];
541  $res = $this->db->query($q);
542  while ($rec = $this->db->fetchAssoc($res)) {
543  $return[] = $this->createAMDByRow($rec);
544  }
545  return $return;
546  }
foreach($_POST as $key=> $value) $res
+ Here is the call graph for this function:

◆ readAMDRecordsByTypeIdAndRecordId()

ilStudyProgrammeTypeDBRepository::readAMDRecordsByTypeIdAndRecordId ( int  $type_id,
int  $record_id 
)

Implements ilStudyProgrammeTypeRepository.

Definition at line 512 of file class.ilStudyProgrammeTypeDBRepository.php.

References $res, and createAMDByRow().

512  : array
513  {
514  $q = 'SELECT'
515  . ' ' . self::FIELD_REC_ID
516  . ' ,' . self::FIELD_TYPE_ID
517  . ' ,' . self::FIELD_ID
518  . ' FROM ' . self::AMD_TABLE
519  . ' WHERE ' . self::FIELD_TYPE_ID . ' = ' . $this->db->quote($type_id, 'integer')
520  . ' AND ' . self::FIELD_REC_ID . ' = ' . $this->db->quote($record_id, 'integer');
521  $return = [];
522  $res = $this->db->query($q);
523  while ($rec = $this->db->fetchAssoc($res)) {
524  $return[] = $this->createAMDByRow($rec);
525  }
526  return $return;
527  }
foreach($_POST as $key=> $value) $res
+ Here is the call graph for this function:

◆ readAssignedAMDRecordsByType()

ilStudyProgrammeTypeDBRepository::readAssignedAMDRecordsByType ( int  $type_id,
bool  $only_active = false 
)

Implements ilStudyProgrammeTypeRepository.

Definition at line 443 of file class.ilStudyProgrammeTypeDBRepository.php.

References $res, and ilStudyProgrammeTypeRepository\readAssignedAMDRecordIdsByType().

443  : array
444  {
445  $active = ($only_active) ? 1 : 0; // Cache key
446  if (array_key_exists($type_id, $this->amd_records_assigned) && is_array($this->amd_records_assigned[$type_id][$active])) {
447  return $this->amd_records_assigned[$type_id][$active];
448  }
449  $q = 'SELECT'
450  . ' ' . self::FIELD_REC_ID
451  . ' FROM ' . self::AMD_TABLE
452  . ' WHERE ' . self::FIELD_TYPE_ID . ' = ' . $this->db->quote($type_id, 'integer');
453  $res = $this->db->query($q);
454  $this->amd_records_assigned[$type_id][$active] = [];
455  while ($rec = $this->db->fetchAssoc($res)) {
456  $amd_record = new ilAdvancedMDRecord($rec[self::FIELD_REC_ID]);
457  if ($only_active) {
458  if ($amd_record->isActive()) {
459  $this->amd_records_assigned[$type_id][1][] = $amd_record;
460  }
461  } else {
462  $this->amd_records_assigned[$type_id][0][] = $amd_record;
463  }
464  }
465  return $this->amd_records_assigned[$type_id][$active];
466  }
foreach($_POST as $key=> $value) $res
+ Here is the call graph for this function:

◆ readStudyProgrammeIdsByTypeId()

ilStudyProgrammeTypeDBRepository::readStudyProgrammeIdsByTypeId ( int  $type_id)

Get all prg-settings ids by corresponding type-id.

Implements ilStudyProgrammeTypeRepository.

Definition at line 566 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by updateRowTypeTranslationDB().

566  : array
567  {
568  return array_map(
569  function ($settings) {
570  return $settings->getObjId();
571  },
572  $this->settings_repo->loadByType($type_id)
573  );
574  }
+ Here is the caller graph for this function:

◆ readStudyProgrammesByTypeId()

ilStudyProgrammeTypeDBRepository::readStudyProgrammesByTypeId ( int  $type_id)

Get all prg-settings objects by corresponding type-id.

Implements ilStudyProgrammeTypeRepository.

Definition at line 558 of file class.ilStudyProgrammeTypeDBRepository.php.

558  : array
559  {
560  return $this->settings_repo->loadByType($type_id);
561  }

◆ readTranslationByTypeIdMemberLang()

ilStudyProgrammeTypeDBRepository::readTranslationByTypeIdMemberLang ( int  $type_id,
string  $member,
string  $lang_code 
)

Implements ilStudyProgrammeTypeRepository.

Definition at line 625 of file class.ilStudyProgrammeTypeDBRepository.php.

References $res, and createTypeTranslationByRow().

626  {
627  $q = 'SELECT'
628  . ' ' . self::FIELD_LANG
629  . ' ,' . self::FIELD_PRG_TYPE_ID
630  . ' ,' . self::FIELD_ID
631  . ' ,' . self::FIELD_MEMBER
632  . ' ,' . self::FIELD_VALUE
633  . ' FROM ' . self::TYPE_TRANSLATION_TABLE
634  . ' WHERE ' . self::FIELD_PRG_TYPE_ID . ' = ' . $this->db->quote($type_id, 'integer')
635  . ' AND ' . self::FIELD_LANG . ' = ' . $this->db->quote($lang_code, 'text')
636  . ' AND ' . self::FIELD_MEMBER . ' = ' . $this->db->quote($member, 'text');
637  $res = $this->db->query($q);
638  $return = [];
639  while ($rec = $this->db->fetchAssoc($res)) {
640  return $this->createTypeTranslationByRow($rec);
641  }
642  return null;
643  }
foreach($_POST as $key=> $value) $res
+ Here is the call graph for this function:

◆ readTranslationsArrayByTypeIdAndLangCode()

ilStudyProgrammeTypeDBRepository::readTranslationsArrayByTypeIdAndLangCode ( int  $type_id,
string  $lang_code 
)

Implements ilStudyProgrammeTypeRepository.

Definition at line 551 of file class.ilStudyProgrammeTypeDBRepository.php.

551  : array
552  {
553  }

◆ readTranslationsByTypeAndLang()

ilStudyProgrammeTypeDBRepository::readTranslationsByTypeAndLang ( int  $type_id,
string  $lang_code 
)

Implements ilStudyProgrammeTypeRepository.

Definition at line 609 of file class.ilStudyProgrammeTypeDBRepository.php.

References $res.

610  {
611  $q = 'SELECT'
612  . ' ' . self::FIELD_MEMBER
613  . ' ,' . self::FIELD_VALUE
614  . ' FROM ' . self::TYPE_TRANSLATION_TABLE
615  . ' WHERE ' . self::FIELD_PRG_TYPE_ID . ' = ' . $this->db->quote($type_id, 'integer')
616  . ' AND ' . self::FIELD_LANG . ' = ' . $this->db->quote($lang_code, 'text');
617  $res = $this->db->query($q);
618  $return = [];
619  while ($rec = $this->db->fetchAssoc($res)) {
620  $return[$rec[self::FIELD_MEMBER]] = $rec[self::FIELD_VALUE];
621  }
622  return $return;
623  }
foreach($_POST as $key=> $value) $res

◆ readType()

ilStudyProgrammeTypeDBRepository::readType ( int  $type_id)

Get a type with given type_id.

Implements ilStudyProgrammeTypeRepository.

Definition at line 409 of file class.ilStudyProgrammeTypeDBRepository.php.

References $res, and createTypeByRow().

410  {
411  $q = 'SELECT'
412  . ' ' . self::FIELD_DEFAULT_LANG
413  . ' ,' . self::FIELD_OWNER
414  . ' ,' . self::FIELD_CREATE_DATE
415  . ' ,' . self::FIELD_LAST_UPDATE
416  . ' ,' . self::FIELD_ICON
417  . ' ,' . self::FIELD_ID
418  . ' FROM ' . self::TYPE_TABLE
419  . ' WHERE ' . self::FIELD_ID . ' = ' . $this->db->quote($type_id, 'integer');
420  $res = $this->db->query($q);
421  while ($rec = $this->db->fetchAssoc($res)) {
422  return $this->createTypeByRow($rec);
423  }
424  }
foreach($_POST as $key=> $value) $res
Class ilStudyProgrammeType.
+ Here is the call graph for this function:

◆ updateAMDRecord()

ilStudyProgrammeTypeDBRepository::updateAMDRecord ( ilStudyProgrammeAdvancedMetadataRecord  $rec)

◆ updateRowAMDRecordDB()

ilStudyProgrammeTypeDBRepository::updateRowAMDRecordDB ( array  $row)
protected

Definition at line 233 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by updateAMDRecord().

234  {
235  $q = 'UPDATE ' . self::AMD_TABLE
236  . ' SET'
237  . ' ' . self::FIELD_REC_ID . ' = ' . $this->db->quote($row[self::FIELD_REC_ID], 'integer')
238  . ' ,' . self::FIELD_TYPE_ID . ' = ' . $this->db->quote($row[self::FIELD_TYPE_ID], 'integer')
239  . ' WHERE ' . self::FIELD_ID . ' = ' . $this->db->quote($row[self::FIELD_ID], 'integer')
240  ;
241  $this->db->manipulate($q);
242  }
+ Here is the caller graph for this function:

◆ updateRowTypeDB()

ilStudyProgrammeTypeDBRepository::updateRowTypeDB ( array  $row)
protected

Definition at line 205 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by updateType().

206  {
207  $q = 'UPDATE ' . self::TYPE_TABLE
208  . ' SET'
209  . ' ' . self::FIELD_DEFAULT_LANG . ' = ' . $this->db->quote($row[self::FIELD_DEFAULT_LANG], 'text')
210  . ' ,' . self::FIELD_OWNER . ' = ' . $this->db->quote($row[self::FIELD_OWNER], 'integer')
211  . ' ,' . self::FIELD_CREATE_DATE . ' = ' . $this->db->quote($row[self::FIELD_CREATE_DATE], 'text')
212  . ' ,' . self::FIELD_LAST_UPDATE . ' = ' . $this->db->quote($row[self::FIELD_LAST_UPDATE], 'text')
213  . ' ,' . self::FIELD_ICON . ' = ' . $this->db->quote($row[self::FIELD_ICON], 'text')
214  . ' WHERE ' . self::FIELD_ID . ' = ' . $this->db->quote($row[self::FIELD_ID], 'integer')
215  ;
216  $this->db->manipulate($q);
217  }
+ Here is the caller graph for this function:

◆ updateRowTypeTranslationDB()

ilStudyProgrammeTypeDBRepository::updateRowTypeTranslationDB ( array  $row)
protected

Definition at line 260 of file class.ilStudyProgrammeTypeDBRepository.php.

References $container, XapiProxy\$plugin, $type, deleteAllTranslationsByTypeId(), deleteAMDRecordsByTypeId(), ilStudyProgrammeTypeRepository\deleteType(), ilStudyProgrammeType\getIconPath(), ilStudyProgrammeType\getId(), IL_COMP_MODULE, and readStudyProgrammeIdsByTypeId().

Referenced by updateTypeTranslation().

261  {
262  $q = 'UPDATE ' . self::TYPE_TRANSLATION_TABLE
263  . ' SET'
264  . ' ' . self::FIELD_PRG_TYPE_ID . ' = ' . $this->db->quote($row[self::FIELD_PRG_TYPE_ID], 'integer')
265  . ' ,' . self::FIELD_LANG . ' = ' . $this->db->quote($row[self::FIELD_LANG], 'text')
266  . ' ,' . self::FIELD_MEMBER . ' = ' . $this->db->quote($row[self::FIELD_MEMBER], 'text')
267  . ' ,' . self::FIELD_VALUE . ' = ' . $this->db->quote($row[self::FIELD_VALUE], 'text')
268  . ' WHERE ' . self::FIELD_ID . ' = ' . $this->db->quote($row[self::FIELD_ID], 'integer')
269  ;
270  $this->db->manipulate($q);
271  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateType()

ilStudyProgrammeTypeDBRepository::updateType ( ilStudyProgrammeType  $type)

Persist type properties.

Implements ilStudyProgrammeTypeRepository.

Definition at line 191 of file class.ilStudyProgrammeTypeDBRepository.php.

References ilStudyProgrammeType\DATE_TIME_FORMAT, ilStudyProgrammeType\getCreateDate(), ilStudyProgrammeType\getDefaultLang(), ilStudyProgrammeType\getIcon(), ilStudyProgrammeType\getId(), ilStudyProgrammeType\getLastUpdate(), ilStudyProgrammeType\getOwner(), and updateRowTypeDB().

192  {
193  $this->updateRowTypeDB(
194  [
195  self::FIELD_ID => $type->getId()
196  ,self::FIELD_DEFAULT_LANG => $type->getDefaultLang()
197  ,self::FIELD_OWNER => $type->getOwner()
198  ,self::FIELD_CREATE_DATE => $type->getCreateDate()->format(ilStudyProgrammeType::DATE_TIME_FORMAT)
199  ,self::FIELD_LAST_UPDATE => $type->getLastUpdate()->format(ilStudyProgrammeType::DATE_TIME_FORMAT)
200  ,self::FIELD_ICON => $type->getIcon()
201  ]
202  );
203  }
+ Here is the call graph for this function:

◆ updateTypeTranslation()

ilStudyProgrammeTypeDBRepository::updateTypeTranslation ( ilStudyProgrammeTypeTranslation  $tt)

Field Documentation

◆ $amd_records_assigned

ilStudyProgrammeTypeDBRepository::$amd_records_assigned = []
protected

Definition at line 438 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ $amd_records_available

ilStudyProgrammeTypeDBRepository::$amd_records_available
staticprotected

Definition at line 481 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ $db

ilStudyProgrammeTypeDBRepository::$db
protected

Definition at line 28 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by __construct().

◆ $lng

ilStudyProgrammeTypeDBRepository::$lng
protected

Definition at line 32 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by __construct().

◆ $plugin_admin

ilStudyProgrammeTypeDBRepository::$plugin_admin
protected

Definition at line 31 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by __construct().

◆ $settings_repo

ilStudyProgrammeTypeDBRepository::$settings_repo
protected

Definition at line 29 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by __construct().

◆ $usr

ilStudyProgrammeTypeDBRepository::$usr
protected

Definition at line 33 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by __construct().

◆ $webdir

ilStudyProgrammeTypeDBRepository::$webdir
protected

Definition at line 30 of file class.ilStudyProgrammeTypeDBRepository.php.

Referenced by __construct().

◆ AMD_TABLE

const ilStudyProgrammeTypeDBRepository::AMD_TABLE = 'prg_type_adv_md_rec'

◆ FIELD_CREATE_DATE

const ilStudyProgrammeTypeDBRepository::FIELD_CREATE_DATE = 'create_date'

Definition at line 12 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_DEFAULT_LANG

const ilStudyProgrammeTypeDBRepository::FIELD_DEFAULT_LANG = 'default_lang'

Definition at line 10 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_ICON

const ilStudyProgrammeTypeDBRepository::FIELD_ICON = 'icon'

Definition at line 14 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_ID

const ilStudyProgrammeTypeDBRepository::FIELD_ID = 'id'

◆ FIELD_LANG

const ilStudyProgrammeTypeDBRepository::FIELD_LANG = 'lang'

Definition at line 19 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_LAST_UPDATE

const ilStudyProgrammeTypeDBRepository::FIELD_LAST_UPDATE = 'last_update'

Definition at line 13 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_MEMBER

const ilStudyProgrammeTypeDBRepository::FIELD_MEMBER = 'member'

Definition at line 20 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_OWNER

const ilStudyProgrammeTypeDBRepository::FIELD_OWNER = 'owner'

Definition at line 11 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_PRG_TYPE_ID

const ilStudyProgrammeTypeDBRepository::FIELD_PRG_TYPE_ID = 'prg_type_id'

Definition at line 18 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_REC_ID

const ilStudyProgrammeTypeDBRepository::FIELD_REC_ID = 'rec_id'

Definition at line 26 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_TYPE_ID

const ilStudyProgrammeTypeDBRepository::FIELD_TYPE_ID = 'type_id'

Definition at line 25 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ FIELD_VALUE

const ilStudyProgrammeTypeDBRepository::FIELD_VALUE = 'value'

Definition at line 21 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ TYPE_TABLE

const ilStudyProgrammeTypeDBRepository::TYPE_TABLE = 'prg_type'

Definition at line 7 of file class.ilStudyProgrammeTypeDBRepository.php.

◆ TYPE_TRANSLATION_TABLE

const ilStudyProgrammeTypeDBRepository::TYPE_TRANSLATION_TABLE = 'prg_translations'

The documentation for this class was generated from the following file: