ILIAS  release_7 Revision v7.30-3-g800a261c036
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...
 
 getAllTypes ()
 Get all persisted type-objects. More...
 
 getType (int $type_id)
 Get a type with given type_id. More...
 
 getAllTypesArray ()
 Get an assicative array of all persisted types id => title. More...
 
 getAssignedAMDRecordsByType (int $type_id, bool $only_active=false)
 
 getAllAMDRecords ()
 
 getAMDRecordsByTypeIdAndRecordId (int $type_id, int $record_id)
 
 getAMDRecordsByTypeId (int $type_id, bool $only_active=false)
 
 getTranslationsArrayByTypeIdAndLangCode (int $type_id, string $lang_code)
 
 getStudyProgrammesByTypeId (int $type_id)
 Get all prg-settings objects by corresponding type-id. More...
 
 getStudyProgrammeIdsByTypeId (int $type_id)
 Get all prg-settings ids by corresponding type-id. More...
 
 getAvailableAdvancedMDRecords ()
 
 getAvailableAdvancedMDRecordIds ()
 
 getTranslationsByTypeAndLang (int $type_id, string $lang_code)
 
 getTranslationByTypeIdMemberLang (int $type_id, string $member, string $lang_code)
 
- Public Member Functions inherited from ilStudyProgrammeTypeRepository
 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...
 
 deleteType (ilStudyProgrammeType $type)
 Delete record corresponding to given object. 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...
 
 getAllTypes ()
 Get all persisted type-objects. More...
 
 getType (int $type_id)
 Get a type with given type_id. More...
 
 getAllTypesArray ()
 Get an assicative array of all persisted types id => title. More...
 
 getAssignedAMDRecordsByType (int $type_id, bool $only_active=false)
 
 getAssignedAMDRecordIdsByType (int $type_id, bool $only_active=false)
 
 getAllAMDRecords ()
 
 getAllAMDRecordIds ()
 
 getAMDRecordsByTypeIdAndRecordId (int $type_id, int $record_id)
 
 getAMDRecordsByTypeId (int $type_id, bool $only_active=false)
 
 getTranslationsArrayByTypeIdAndLangCode (int $type_id, string $lang_code)
 
 getStudyProgrammesByTypeId (int $type_id)
 Get all prg-settings objects by corresponding type-id. More...
 
 getStudyProgrammeIdsByTypeId (int $type_id)
 Get all prg-settings ids by corresponding type-id. More...
 
 getAvailableAdvancedMDRecords ()
 
 getAvailableAdvancedMDRecordIds ()
 
 getTranslationsByTypeAndLang (int $type_id, string $lang_code)
 
 getTranslationByTypeIdMemberLang (int $type_id, string $member, string $lang_code)
 

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)
 
 getAllTypesRecords ()
 

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.

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 }

Referenced by createAMDRecord(), getAMDRecordsByTypeId(), getAMDRecordsByTypeIdAndRecordId(), and getAvailableAdvancedMDRecords().

+ 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.

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 }

References createAMDByRow(), and insertRowAMDDB().

+ 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.

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 }
Class ilStudyProgrammeType.
static now()
Return current timestamp in Y-m-d H:i:s format.

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

+ Here is the call graph for this function:

◆ createTypeByRow()

ilStudyProgrammeTypeDBRepository::createTypeByRow ( array  $row)
protected

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

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 }

References ilStudyProgrammeType\DATE_TIME_FORMAT.

Referenced by createType(), getAllTypes(), and getType().

+ 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.

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...

References createTypeTranslationByRow(), and insertRowTypeTranslationDB().

+ Here is the call graph for this function:

◆ createTypeTranslationByRow()

ilStudyProgrammeTypeDBRepository::createTypeTranslationByRow ( array  $row)
protected

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

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 }

Referenced by createTypeTranslation(), and getTranslationByTypeIdMemberLang().

+ Here is the caller graph for this function:

◆ deleteAllTranslationsByTypeId()

ilStudyProgrammeTypeDBRepository::deleteAllTranslationsByTypeId ( int  $type_id)
protected

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

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 }

◆ deleteAMDRecord()

ilStudyProgrammeTypeDBRepository::deleteAMDRecord ( ilStudyProgrammeAdvancedMetadataRecord  $rec)

Delete record corresponding to given object.

Implements ilStudyProgrammeTypeRepository.

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

351 {
352 $this->db->manipulate(
353 'DELETE FROM ' . self::AMD_TABLE . ' WHERE ' . self::FIELD_ID . ' = ' . $this->db->quote($rec->getId(), 'integer')
354 );
355 }

References ilStudyProgrammeAdvancedMetadataRecord\getId().

+ Here is the call graph for this function:

◆ deleteAMDRecordsByTypeId()

ilStudyProgrammeTypeDBRepository::deleteAMDRecordsByTypeId ( int  $type_id)
protected

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

341 {
342 $this->db->manipulate(
343 'DELETE FROM ' . self::AMD_TABLE . ' WHERE ' . self::FIELD_TYPE_ID . ' = ' . $this->db->quote($type_id, 'integer')
344 );
345 }

◆ deleteTypeTranslation()

ilStudyProgrammeTypeDBRepository::deleteTypeTranslation ( ilStudyProgrammeTypeTranslation  $tt)

Delete record corresponding to given object.

Implements ilStudyProgrammeTypeRepository.

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

361 {
362 $this->db->manipulate(
363 'DELETE FROM ' . self::TYPE_TRANSLATION_TABLE . ' WHERE ' . self::FIELD_ID . ' = ' . $this->db->quote($tt->getId(), 'integer')
364 );
365 }

References ilStudyProgrammeTypeTranslation\getId().

+ 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 }

◆ getAllAMDRecords()

ilStudyProgrammeTypeDBRepository::getAllAMDRecords ( )

Implements ilStudyProgrammeTypeRepository.

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

486 : array
487 {
488 if (is_array(self::$amd_records_available)) {
490 }
491 self::$amd_records_available = ilAdvancedMDRecord::_getActivatedRecordsByObjectType('prg', 'prg_type');
493 }
static _getActivatedRecordsByObjectType($a_obj_type, $a_sub_type="", $a_only_optional=false)
Get activated records by object type.

References $amd_records_available, and ilAdvancedMDRecord\_getActivatedRecordsByObjectType().

+ Here is the call graph for this function:

◆ getAllTypes()

ilStudyProgrammeTypeDBRepository::getAllTypes ( )

Get all persisted type-objects.

Implements ilStudyProgrammeTypeRepository.

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

380 : array
381 {
382 $return = [];
383 foreach ($this->getAllTypesRecords() as $row) {
384 $return[] = $this->createTypeByRow($row);
385 }
386 return $return;
387 }

References createTypeByRow(), and getAllTypesRecords().

Referenced by getAllTypesArray().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAllTypesArray()

ilStudyProgrammeTypeDBRepository::getAllTypesArray ( )

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

Implements ilStudyProgrammeTypeRepository.

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

429 : array
430 {
431 $return = [];
432 foreach ($this->getAllTypes() as $type) {
433 $return[$type->getId()] = $type->getTitle();
434 }
435 return $return;
436 }
$type

References $type, and getAllTypes().

+ Here is the call graph for this function:

◆ getAllTypesRecords()

ilStudyProgrammeTypeDBRepository::getAllTypesRecords ( )
protected

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

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

References $res, and TYPE_TABLE.

Referenced by getAllTypes().

+ Here is the caller graph for this function:

◆ getAMDRecordsByTypeId()

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

Implements ilStudyProgrammeTypeRepository.

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

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 }

References $res, and createAMDByRow().

+ Here is the call graph for this function:

◆ getAMDRecordsByTypeIdAndRecordId()

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

Implements ilStudyProgrammeTypeRepository.

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

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 }

References $res, and createAMDByRow().

+ Here is the call graph for this function:

◆ getAssignedAMDRecordsByType()

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

Implements ilStudyProgrammeTypeRepository.

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

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 }

References $res.

◆ getAvailableAdvancedMDRecordIds()

ilStudyProgrammeTypeDBRepository::getAvailableAdvancedMDRecordIds ( )

Implements ilStudyProgrammeTypeRepository.

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

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 }

References $res, AMD_TABLE, and FIELD_REC_ID.

◆ getAvailableAdvancedMDRecords()

ilStudyProgrammeTypeDBRepository::getAvailableAdvancedMDRecords ( )

Implements ilStudyProgrammeTypeRepository.

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

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 }

References $res, AMD_TABLE, and createAMDByRow().

+ Here is the call graph for this function:

◆ getStudyProgrammeIdsByTypeId()

ilStudyProgrammeTypeDBRepository::getStudyProgrammeIdsByTypeId ( int  $type_id)

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

Implements ilStudyProgrammeTypeRepository.

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

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

◆ getStudyProgrammesByTypeId()

ilStudyProgrammeTypeDBRepository::getStudyProgrammesByTypeId ( 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 }

◆ getTranslationByTypeIdMemberLang()

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

Implements ilStudyProgrammeTypeRepository.

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

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 }

References $res, and createTypeTranslationByRow().

+ Here is the call graph for this function:

◆ getTranslationsArrayByTypeIdAndLangCode()

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

Implements ilStudyProgrammeTypeRepository.

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

551 : array
552 {
553 }

◆ getTranslationsByTypeAndLang()

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

Implements ilStudyProgrammeTypeRepository.

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

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 }

References $res, FIELD_MEMBER, and FIELD_VALUE.

◆ getType()

ilStudyProgrammeTypeDBRepository::getType ( int  $type_id)

Get a type with given type_id.

Implements ilStudyProgrammeTypeRepository.

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

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 }

References $res, and createTypeByRow().

+ Here is the call graph for this function:

◆ insertRowAMDDB()

ilStudyProgrammeTypeDBRepository::insertRowAMDDB ( array  $row)
protected

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

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 }

Referenced by createAMDRecord().

+ Here is the caller graph for this function:

◆ insertRowTypeDB()

ilStudyProgrammeTypeDBRepository::insertRowTypeDB ( array  $row)
protected

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

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 }

Referenced by createType().

+ Here is the caller graph for this function:

◆ insertRowTypeTranslationDB()

ilStudyProgrammeTypeDBRepository::insertRowTypeTranslationDB ( array  $row)
protected

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

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 }

Referenced by createTypeTranslation().

+ Here is the caller graph for this function:

◆ updateAMDRecord()

ilStudyProgrammeTypeDBRepository::updateAMDRecord ( ilStudyProgrammeAdvancedMetadataRecord  $rec)

◆ updateRowAMDRecordDB()

ilStudyProgrammeTypeDBRepository::updateRowAMDRecordDB ( array  $row)
protected

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

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 }

Referenced by updateAMDRecord().

+ Here is the caller graph for this function:

◆ updateRowTypeDB()

ilStudyProgrammeTypeDBRepository::updateRowTypeDB ( array  $row)
protected

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

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 }

Referenced by updateType().

+ Here is the caller graph for this function:

◆ updateRowTypeTranslationDB()

ilStudyProgrammeTypeDBRepository::updateRowTypeTranslationDB ( array  $row)
protected

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

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 }

Referenced by updateTypeTranslation().

+ 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.

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 }

References $type, ilStudyProgrammeType\DATE_TIME_FORMAT, and updateRowTypeDB().

+ 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.

Referenced by getAllAMDRecords().

◆ $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'

◆ 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'

◆ 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'

◆ TYPE_TABLE

const ilStudyProgrammeTypeDBRepository::TYPE_TABLE = 'prg_type'

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

Referenced by getAllTypesRecords().

◆ TYPE_TRANSLATION_TABLE

const ilStudyProgrammeTypeDBRepository::TYPE_TRANSLATION_TABLE = 'prg_translations'

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