3 declare(strict_types=1);
47 $this->db = $DIC->database();
48 $this->
lng = $DIC->language();
49 $this->
lng->loadLanguageModule(
'meta');
58 if (!isset(self::$instances[$record_id])) {
82 foreach ($this->
getTranslations($field_id) as $language => $translation) {
83 if ($language == self::getDefaultLanguage() && !$with_default) {
86 $activated[] = $language;
91 public function isConfigured(
int $field_id,
string $lang_key): bool
93 if (!$this->record_translations->isConfigured($lang_key)) {
96 return isset($this->translations[$field_id][$lang_key]);
104 return $this->translations[$field_id][$lang_key];
112 if (isset($this->translations[$field_id])) {
113 return $this->translations[$field_id];
133 $query =
'select fi.field_id tfield, de.field_id ofield, fi.title, fi.description, ri.lang_code ' .
134 'from adv_md_record_int ri join adv_mdf_definition de on ri.record_id = de.record_id ' .
135 'left join adv_md_field_int fi on (ri.lang_code = fi.lang_code and de.field_id = fi.field_id) ' .
140 $this->default_language = $this->record->getDefaultLanguage();
142 $this->translations = [];
147 (
string) $row->title,
148 (
string) $row->description,
149 (
string) $row->lang_code
151 if ((
string) $row->lang_code == $this->default_language && $row->tfield == null) {
152 $this->translations[(
int) $row->ofield][(
string) $row->lang_code]->setTitle($this->definitions[(
int) $row->ofield]->getTitle());
153 $this->translations[(
int) $row->ofield][(
string) $row->lang_code]->setDescription(
154 $this->definitions[(
int) $row->ofield]->getDescription()
167 $txt = $this->
lng->txt(
'md_adv_int_current') .
' ' . $this->
lng->txt(
'meta_l_' . $active_language);
171 $txt .= ($this->
lng->txt(
'md_adv_int_default') .
' ' . $this->
lng->txt(
'meta_l_' . $translation->getLangKey()));
182 string $active_language
184 if (!strlen($active_language)) {
190 $title->
setInfo($default->getLangKey() .
': ' . $default->getTitle());
201 string $active_language
203 if (!strlen($active_language)) {
209 $description->
setInfo($default->getLangKey() .
': ' . $default->getDescription());
218 $translation = $this->
getTranslation($field_id, $active_language);
222 $translation->setTitle($form->
getInput(
'title'));
223 $translation->setDescription($form->
getInput(
'description'));
224 $translation->update();
242 return $this->definitions[$field_id]->getTitle();
252 )->getDescription())) {
253 return $this->
getTranslation($field_id, $language)->getDescription();
261 return $this->definitions[$field_id]->getDescription();
getDefaultTranslation(int $field_id)
Class ilAdvancedMDFieldTranslations.
modifyTranslationInfoForDescription(int $field_id, ilPropertyFormGUI $form, ilTextAreaInputGUI $description, string $active_language)
__construct(int $record_id)
modifyTranslationInfoForTitle(int $field_id, ilPropertyFormGUI $form, ilTextInputGUI $title, string $active_language)
AMD field abstract base class.
ilAdvancedMDRecord $record
getActivatedLanguages(int $field_id, bool $with_default=true)
Class ilAdvancedMDRecordTranslation.
static getInstancesByRecordId( $a_record_id, $a_only_searchable=false, string $language='')
Get definitions by record id.
getDescriptionForLanguage(int $field_id, string $language)
setValue(string $a_value)
static _getInstanceByRecordId(int $a_record_id)
getTranslation(int $field_id, string $lang_key)
isConfigured(int $field_id, string $lang_key)
getTitleForLanguage(int $field_id, string $language)
ilAdvancedMDRecordTranslations $record_translations
getTranslations(int $field_id)
static getInstanceByRecordId(int $record_id)
This class represents a text area property in a property form.
getFormTranslationInfo(int $field_id, string $active_language)
Class ilAdvancedMDFieldTranslation.
updateFromForm(int $field_id, string $active_language, ilPropertyFormGUI $form)
static getInstanceByRecordId(int $record_id)