ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilMDEditorGUI Class Reference
+ Collaboration diagram for ilMDEditorGUI:

Public Member Functions

 __construct ($a_rbac_id, $a_obj_id, $a_obj_type)
 
 executeCommand ()
 
 debug ()
 
 listQuickEdit_scorm ()
 
 listQuickEdit ()
 
 initQuickEditForm ($a_signal_id)
 Init quick edit form. More...
 
 keywordAutocomplete ()
 Keyword list for autocomplete. More...
 
 updateQuickEdit ()
 update quick edit properties More...
 
 updateQuickEdit_scorm_propagate ($request, $type)
 
 updateQuickEdit_scorm_prop_expert ()
 
 updateQuickEdit_scorm_prop_designer ()
 
 updateQuickEdit_scorm_prop_poc ()
 
 updateQuickEdit_scorm ()
 update quick edit properties - SCORM customization More...
 
 listGeneral ()
 
 updateGeneral ()
 update general section More...
 
 updateTechnical ()
 
 listTechnical ()
 
 listLifecycle ()
 
 updateLifecycle ()
 
 listMetaMetaData ()
 
 updateMetaMetaData ()
 
 listRights ()
 
 updateRights ()
 
 listEducational ()
 
 updateEducational ()
 
 listRelation ()
 
 updateRelation ()
 
 listAnnotation ()
 
 updateAnnotation ()
 
 listClassification ()
 
 updateClassification ()
 
 deleteElement ()
 
 deleteSection ()
 
 addSection ()
 
 addSectionElement ()
 
 listSection ()
 
 __fillSubelements ()
 
 __setTabs ($a_active)
 
 __showLanguageSelect ($a_name, $a_value="")
 shows language select box More...
 
 __buildMonthsSelect ($sel_month)
 
 __buildDaysSelect ($sel_day)
 
 addObserver (&$a_class, $a_method, $a_element)
 
 callListeners ($a_element)
 

Data Fields

 $ctrl = null
 
 $lng = null
 
 $tpl = null
 
 $md_obj = null
 
 $observers = array()
 
 $rbac_id = null
 
 $obj_id = null
 
 $obj_type = null
 

Protected Member Functions

 listQuickEditCopyright (ilPropertyFormGUI $form)
 Show copyright selecetion. More...
 
 getChangeCopyrightModal ()
 Get cnange copyright modal. More...
 

Detailed Description

Definition at line 17 of file class.ilMDEditorGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilMDEditorGUI::__construct (   $a_rbac_id,
  $a_obj_id,
  $a_obj_type 
)

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

31 {
32 global $DIC;
33
34 $this->lng = $DIC->language();
35 $this->tpl = $DIC['tpl'];
36 $this->tabs_gui = $DIC->tabs();
37 $this->ctrl = $DIC->ctrl();
38
39 $this->ui_factory = $DIC->ui()->factory();
40 $this->ui_renderer = $DIC->ui()->renderer();
41
42 $this->md_obj = new ilMD($a_rbac_id, $a_obj_id, $a_obj_type);
43
44 $this->lng->loadLanguageModule('meta');
45
46 include_once('Services/MetaData/classes/class.ilMDSettings.php');
47 $this->md_settings = ilMDSettings::_getInstance();
48 }
static _getInstance()
get instance
global $DIC
Definition: saml.php:7

References $DIC, and ilMDSettings\_getInstance().

+ Here is the call graph for this function:

Member Function Documentation

◆ __buildDaysSelect()

ilMDEditorGUI::__buildDaysSelect (   $sel_day)

Definition at line 3498 of file class.ilMDEditorGUI.php.

3499 {
3500 for ($i = 0;$i <= 31;$i++) {
3501 $options[$i] = sprintf('%02d', $i);
3502 }
3503 return ilUtil::formSelect($sel_day, 'tlt[d]', $options, false, true);
3504 }
static formSelect( $selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
$i
Definition: disco.tpl.php:19

References $i, PHPMailer\PHPMailer\$options, and ilUtil\formSelect().

Referenced by listEducational(), and listQuickEdit_scorm().

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

◆ __buildMonthsSelect()

ilMDEditorGUI::__buildMonthsSelect (   $sel_month)

Definition at line 3489 of file class.ilMDEditorGUI.php.

3490 {
3491 for ($i = 0;$i <= 24;$i++) {
3492 $options[$i] = sprintf('%02d', $i);
3493 }
3494 return ilUtil::formSelect($sel_month, 'tlt[mo]', $options, false, true);
3495 }

References $i, PHPMailer\PHPMailer\$options, and ilUtil\formSelect().

Referenced by listEducational(), and listQuickEdit_scorm().

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

◆ __fillSubelements()

ilMDEditorGUI::__fillSubelements ( )

Definition at line 3392 of file class.ilMDEditorGUI.php.

3393 {
3394 if (count($subs = $this->md_section->getPossibleSubelements())) {
3395 //$subs = array_merge(array('' => 'meta_please_select'),$subs);
3396
3397 $this->tpl->setCurrentBlock("subelements");
3398 $this->tpl->setVariable("SEL_SUBELEMENTS", ilUtil::formSelect('', 'section_element', $subs));
3399 $this->tpl->setVariable("TXT_NEW_ELEMENT", $this->lng->txt("meta_new_element"));
3400 $this->tpl->parseCurrentBlock();
3401
3402 $this->tpl->setVariable("TXT_ADD", $this->lng->txt('meta_add'));
3403 }
3404 return true;
3405 }

References ilUtil\formSelect().

Referenced by listGeneral(), listLifecycle(), listMetaMetaData(), and listTechnical().

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

◆ __setTabs()

ilMDEditorGUI::__setTabs (   $a_active)

Definition at line 3409 of file class.ilMDEditorGUI.php.

3410 {
3411 global $DIC;
3412
3413 $ilToolbar = $DIC['ilToolbar'];
3414
3415 $tabs = array('meta_quickedit' => 'listQuickEdit',
3416 'meta_general' => 'listGeneral',
3417 'meta_lifecycle' => 'listLifecycle',
3418 'meta_meta_metadata' => 'listMetaMetadata',
3419 'meta_technical' => 'listTechnical',
3420 'meta_educational' => 'listEducational',
3421 'meta_rights' => 'listRights',
3422 'meta_relation' => 'listRelation',
3423 'meta_annotation' => 'listAnnotation',
3424 'meta_classification' => 'listClassification');
3425
3426 if (DEVMODE) {
3427 $tabs['debug'] = 'debug';
3428 }
3429
3430 include_once 'Services/Form/classes/class.ilSelectInputGUI.php';
3431 $section = new ilSelectInputGUI($this->lng->txt("meta_section"), "section");
3432
3433 $options = array();
3434 foreach (array_keys($tabs) as $key) {
3435 $options[$key] = $this->lng->txt($key);
3436 }
3437 $section->setOptions($options);
3438 $section->setValue($a_active);
3439
3440 $ilToolbar->addStickyItem($section, true);
3441
3442 include_once "Services/UIComponent/Button/classes/class.ilSubmitButton.php";
3443 $button = ilSubmitButton::getInstance();
3444 $button->setCaption("show");
3445 $button->setCommand("listSection");
3446 $ilToolbar->addStickyItem($button);
3447
3448 $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "listSection"));
3449
3450 return true;
3451 }
$section
Definition: Utf8Test.php:83
This class represents a selection list property in a property form.
static getInstance()
Factory.
$key
Definition: croninfo.php:18
if(!empty($this->data['faventry'])) $tabs
Definition: disco.tpl.php:124

References $DIC, $key, PHPMailer\PHPMailer\$options, $section, $tabs, and ilSubmitButton\getInstance().

Referenced by debug(), listAnnotation(), listClassification(), listEducational(), listGeneral(), listLifecycle(), listMetaMetaData(), listQuickEdit(), listQuickEdit_scorm(), listRelation(), listRights(), and listTechnical().

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

◆ __showLanguageSelect()

ilMDEditorGUI::__showLanguageSelect (   $a_name,
  $a_value = "" 
)

shows language select box

Definition at line 3457 of file class.ilMDEditorGUI.php.

3458 {
3459 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
3460
3461 $tpl = new ilTemplate(
3462 "tpl.lang_selection.html",
3463 true,
3464 true,
3465 "Services/MetaData"
3466 );
3467
3468 foreach (ilMDLanguageItem::_getLanguages() as $code => $text) {
3469 $tpl->setCurrentBlock("lg_option");
3470 $tpl->setVariable("VAL_LG", $code);
3471 $tpl->setVariable("TXT_LG", $text);
3472
3473 if ($a_value != "" &&
3474 $a_value == $code) {
3475 $tpl->setVariable("SELECTED", "selected");
3476 }
3477
3478 $tpl->parseCurrentBlock();
3479 }
3480 $tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
3481 $tpl->setVariable("SEL_NAME", $a_name);
3482
3483 $return = $tpl->get();
3484 unset($tpl);
3485
3486 return $return;
3487 }
special template class to simplify handling of ITX/PEAR
$code
Definition: example_050.php:99
$text
Definition: errorreport.php:18

References $code, $text, $tpl, and ilMDLanguageItem\_getLanguages().

Referenced by listAnnotation(), listClassification(), listEducational(), listGeneral(), listLifecycle(), listMetaMetaData(), listQuickEdit_scorm(), listRelation(), listRights(), and listTechnical().

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

◆ addObserver()

ilMDEditorGUI::addObserver ( $a_class,
  $a_method,
  $a_element 
)

Definition at line 3509 of file class.ilMDEditorGUI.php.

3510 {
3511 $this->observers[$a_element]['class'] = &$a_class;
3512 $this->observers[$a_element]['method'] = &$a_method;
3513
3514 return true;
3515 }

◆ addSection()

ilMDEditorGUI::addSection ( )

Definition at line 3152 of file class.ilMDEditorGUI.php.

3153 {
3154 // Switch section
3155 switch ($_GET['section']) {
3156 case 'meta_technical':
3157 $this->md_section = &$this->md_obj->addTechnical();
3158 $this->md_section->save();
3159 break;
3160
3161
3162 case 'meta_lifecycle':
3163 $this->md_section = &$this->md_obj->addLifecycle();
3164 $this->md_section->save();
3165 $con = &$this->md_section->addContribute();
3166 $con->save();
3167
3168 $ent = &$con->addEntity();
3169 $ent->save();
3170 break;
3171
3172 case 'meta_meta_metadata':
3173 $this->md_section = $this->md_obj->addMetaMetadata();
3174 $this->md_section->save();
3175
3176 $ide = &$this->md_section->addIdentifier();
3177 $ide->save();
3178
3179 $con = &$this->md_section->addContribute();
3180 $con->save();
3181
3182 $ent = &$con->addEntity();
3183 $ent->save();
3184 break;
3185
3186 case 'meta_rights':
3187 $this->md_section = $this->md_obj->addRights();
3188 $this->md_section->save();
3189 break;
3190
3191 case 'meta_educational':
3192 $this->md_section = $this->md_obj->addEducational();
3193 $this->md_section->save();
3194 break;
3195
3196 case 'meta_relation':
3197 $this->md_section = $this->md_obj->addRelation();
3198 $this->md_section->save();
3199 $ident = $this->md_section->addIdentifier_();
3200 $ident->save();
3201 $des = $this->md_section->addDescription();
3202 $des->save();
3203 break;
3204
3205 case 'meta_annotation':
3206 $this->md_section = $this->md_obj->addAnnotation();
3207 $this->md_section->save();
3208 break;
3209
3210 case 'meta_classification':
3211 $this->md_section = $this->md_obj->addClassification();
3212 $this->md_section->save();
3213
3214 $taxon_path = &$this->md_section->addTaxonPath();
3215 $taxon_path->save();
3216
3217 $taxon = &$taxon_path->addTaxon();
3218 $taxon->save();
3219
3220 $key = &$this->md_section->addKeyword();
3221 $key->save();
3222 break;
3223
3224 }
3225
3226 $this->listSection();
3227 return true;
3228 }
$_GET["client_id"]

References $_GET, $key, and listSection().

+ Here is the call graph for this function:

◆ addSectionElement()

ilMDEditorGUI::addSectionElement ( )

Definition at line 3230 of file class.ilMDEditorGUI.php.

3231 {
3232 $section_element = (empty($_POST['section_element']))
3233 ? $_GET['section_element']
3234 : $_POST['section_element'];
3235
3236
3237 // Switch section
3238 switch ($_GET['section']) {
3239 case 'meta_technical':
3240 $this->md_section = &$this->md_obj->getTechnical();
3241 break;
3242
3243 case 'meta_lifecycle':
3244 $this->md_section = &$this->md_obj->getLifecycle();
3245 break;
3246
3247 case 'meta_meta_metadata':
3248 $this->md_section = &$this->md_obj->getMetaMetadata();
3249 break;
3250
3251 case 'meta_general':
3252 $this->md_section = $this->md_obj->getGeneral();
3253 break;
3254
3255 case 'meta_educational':
3256 $this->md_section = $this->md_obj->getEducational();
3257 break;
3258
3259 case 'meta_classification':
3260 $arr = explode("_", $section_element);
3261 $section_element = $arr[0];
3262 $this->md_section = $this->md_obj->getClassification($arr[1]);
3263 break;
3264 }
3265
3266 // Switch new element
3267 switch ($section_element) {
3268 case 'meta_or_composite':
3269 $md_new = &$this->md_section->addOrComposite();
3270 $md_new = $md_new->addRequirement();
3271 break;
3272
3273 case 'meta_requirement':
3274 $md_new = &$this->md_section->addRequirement();
3275 break;
3276
3277 case 'meta_location':
3278 $md_new = &$this->md_section->addLocation();
3279 break;
3280
3281 case 'meta_format':
3282 $md_new = $this->md_section->addFormat();
3283 break;
3284
3285 case 'meta_entity':
3286 $md_new = $this->md_section->getContribute((int) $_GET['meta_index']);
3287 $md_new = $md_new->addEntity();
3288 break;
3289
3290 case 'meta_identifier':
3291 $md_new = $this->md_section->addIdentifier();
3292 break;
3293
3294 case 'meta_contribute':
3295 $md_new = &$this->md_section->addContribute();
3296 $md_new->save();
3297 $md_new = $md_new->addEntity();
3298 break;
3299
3300 case 'educational_language':
3301 case 'meta_language':
3302 $md_new = $this->md_section->addLanguage();
3303 break;
3304
3305 case 'educational_description':
3306 case 'meta_description':
3307 $md_new = $this->md_section->addDescription();
3308 break;
3309
3310 case 'Keyword':
3311 case 'meta_keyword':
3312 $md_new = $this->md_section->addKeyword();
3313 break;
3314
3315 case 'educational_typical_age_range':
3316 $md_new = $this->md_section->addTypicalAgeRange();
3317 break;
3318
3319 case 'relation_resource_identifier':
3320 $rel = $this->md_obj->getRelation($_GET['meta_index']);
3321 $md_new = $rel->addIdentifier_();
3322 break;
3323
3324 case 'relation_resource_description':
3325 $rel = $this->md_obj->getRelation($_GET['meta_index']);
3326 $md_new = $rel->addDescription();
3327 break;
3328
3329 case 'TaxonPath':
3330 $md_new = $this->md_section->addTaxonPath();
3331 $md_new->save();
3332 $md_new = $md_new->addTaxon();
3333 break;
3334
3335 case 'Taxon':
3336 $tax_path = $this->md_section->getTaxonPath($_GET['meta_index']);
3337 $md_new = $tax_path->addTaxon();
3338 break;
3339 }
3340
3341 $md_new->save();
3342
3343 $this->listSection();
3344
3345 return true;
3346 }
$_POST["username"]

References $_GET, $_POST, and listSection().

+ Here is the call graph for this function:

◆ callListeners()

ilMDEditorGUI::callListeners (   $a_element)

Definition at line 3516 of file class.ilMDEditorGUI.php.

3517 {
3518 if (isset($this->observers[$a_element])) {
3519 $class = &$this->observers[$a_element]['class'];
3520 $method = $this->observers[$a_element]['method'];
3521
3522 return $class->$method($a_element);
3523 }
3524 return false;
3525 }

Referenced by updateAnnotation(), updateClassification(), updateEducational(), updateGeneral(), updateLifecycle(), updateMetaMetaData(), updateQuickEdit(), updateQuickEdit_scorm(), updateRelation(), updateRights(), and updateTechnical().

+ Here is the caller graph for this function:

◆ debug()

ilMDEditorGUI::debug ( )

Definition at line 80 of file class.ilMDEditorGUI.php.

81 {
82 include_once 'Services/MetaData/classes/class.ilMD2XML.php';
83
84
85 $xml_writer = new ilMD2XML($this->md_obj->getRBACId(), $this->md_obj->getObjId(), $this->md_obj->getObjType());
86 $xml_writer->startExport();
87
88 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
89
90 $this->__setTabs('meta_general');
91
92 $this->tpl->setVariable("MD_CONTENT", htmlentities($xml_writer->getXML()));
93
94 return true;
95 }

References __setTabs().

Referenced by listSection().

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

◆ deleteElement()

ilMDEditorGUI::deleteElement ( )

Definition at line 3128 of file class.ilMDEditorGUI.php.

3129 {
3130 include_once 'Services/MetaData/classes/class.ilMDFactory.php';
3131
3132 $md_element = ilMDFactory::_getInstance($_GET['meta_path'], $_GET['meta_index'], $_GET['meta_technical']);
3133 $md_element->delete();
3134
3135 $this->listSection();
3136
3137 return true;
3138 }
static _getInstance($a_type, $a_index, $a_technical_id=0)

References $_GET, ilMDFactory\_getInstance(), and listSection().

+ Here is the call graph for this function:

◆ deleteSection()

ilMDEditorGUI::deleteSection ( )

Definition at line 3140 of file class.ilMDEditorGUI.php.

3141 {
3142 include_once 'Services/MetaData/classes/class.ilMDFactory.php';
3143
3144 $md_element = ilMDFactory::_getInstance($_GET['section'], $_GET['meta_index']);
3145 $md_element->delete();
3146
3147 $this->listSection();
3148
3149 return true;
3150 }

References $_GET, ilMDFactory\_getInstance(), and listSection().

+ Here is the call graph for this function:

◆ executeCommand()

ilMDEditorGUI::executeCommand ( )

Definition at line 50 of file class.ilMDEditorGUI.php.

51 {
52 global $DIC;
53
54 $rbacsystem = $DIC['rbacsystem'];
55
56 $next_class = $this->ctrl->getNextClass($this);
57
58 $cmd = $this->ctrl->getCmd();
59 switch ($next_class) {
60 case 'ilformpropertydispatchgui':
61 // see ilTaxMDGUI / ilTaxSelectInputGUI
62 include_once './Services/Form/classes/class.ilFormPropertyDispatchGUI.php';
63 $form_prop_dispatch = new ilFormPropertyDispatchGUI();
64 $this->initFilter();
65 $item = $this->getFilterItemByPostVar($_GET["postvar"]);
66 $form_prop_dispatch->setItem($item);
67 return $this->ctrl->forwardCommand($form_prop_dispatch);
68
69 default:
70 if (!$cmd) {
71 $cmd = "listSection";
72 }
73 $this->$cmd();
74 break;
75 }
76 return true;
77 }

References $_GET, and $DIC.

◆ getChangeCopyrightModal()

ilMDEditorGUI::getChangeCopyrightModal ( )
protected

Get cnange copyright modal.

Returns
\ILIAS\UI\Component\Modal\Interruptive

Definition at line 3532 of file class.ilMDEditorGUI.php.

3533 {
3534 $md_settings = ilMDSettings::_getInstance();
3535 if (!$md_settings->isCopyrightSelectionActive()) {
3536 return null;
3537 }
3538
3539 $link = $this->ctrl->getLinkTarget($this, 'updateQuickEdit');
3540 return $this->ui_factory
3541 ->modal()
3542 ->interruptive(
3543 $this->lng->txt("meta_copyright_change_warning_title"),
3544 $this->lng->txt("meta_copyright_change_info"),
3545 $link
3546 );
3547 }

References ilMDSettings\_getInstance().

Referenced by listQuickEdit().

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

◆ initQuickEditForm()

ilMDEditorGUI::initQuickEditForm (   $a_signal_id)

Init quick edit form.

Definition at line 392 of file class.ilMDEditorGUI.php.

393 {
394 global $DIC;
395
396 $lng = $DIC['lng'];
397 $ilCtrl = $DIC['ilCtrl'];
398 $tree = $DIC['tree'];
399
400 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
401 $this->form = new ilPropertyFormGUI();
402 $this->form->setId('ilquickeditform');
403 $this->form->setShowTopButtons(false);
404
405 // title
406 $ti = new ilTextInputGUI($this->lng->txt("title"), "gen_title");
407 $ti->setMaxLength(200);
408 $ti->setSize(50);
409 if ($this->md_obj->getObjType() != 'sess') {
410 $ti->setRequired(true);
411 }
412 $ti->setValue($this->md_section->getTitle());
413 $this->form->addItem($ti);
414
415 // description(s)
416 foreach ($ids = $this->md_section->getDescriptionIds() as $id) {
417 $md_des = $this->md_section->getDescription($id);
418
419 $ta = new ilTextAreaInputGUI($this->lng->txt("meta_description"), "gen_description[" . $id . "][description]");
420 $ta->setCols(50);
421 $ta->setRows(4);
422 $ta->setValue($md_des->getDescription());
423 if (count($ids) > 1) {
424 $ta->setInfo($this->lng->txt("meta_l_" . $md_des->getDescriptionLanguageCode()));
425 }
426
427 $this->form->addItem($ta);
428 }
429
430 // language(s)
431 $first = "";
433 foreach ($ids = $this->md_section->getLanguageIds() as $id) {
434 $md_lan = $this->md_section->getLanguage($id);
435 $first_lang = $md_lan->getLanguageCode();
436 $si = new ilSelectInputGUI($this->lng->txt("meta_language"), "gen_language[" . $id . "][language]");
437 $si->setOptions($options);
438 $si->setValue($md_lan->getLanguageCode());
439 $this->form->addItem($si);
440 $first = false;
441 }
442 if ($first) {
443 $si = new ilSelectInputGUI($this->lng->txt("meta_language"), "gen_language[][language]");
444 $si->setOptions($options);
445 $this->form->addItem($si);
446 }
447
448 // keyword(s)
449 $first = true;
450 $keywords = array();
451 foreach ($ids = $this->md_section->getKeywordIds() as $id) {
452 $md_key = $this->md_section->getKeyword($id);
453 if (trim($md_key->getKeyword()) != "") {
454 $keywords[$md_key->getKeywordLanguageCode()][]
455 = $md_key->getKeyword();
456 }
457 }
458 foreach ($keywords as $lang => $keyword_set) {
459 $kw = new ilTextInputGUI(
460 $this->lng->txt("keywords"),
461 "keywords[value][" . $lang . "]"
462 );
463 $kw->setDataSource($this->ctrl->getLinkTarget($this, "keywordAutocomplete", "", true));
464 $kw->setMaxLength(200);
465 $kw->setSize(50);
466 $kw->setMulti(true);
467 if (count($keywords) > 1) {
468 $kw->setInfo($this->lng->txt("meta_l_" . $lang));
469 }
470 $this->form->addItem($kw);
471 asort($keyword_set);
472 $kw->setValue($keyword_set);
473 }
474 if (count($keywords) == 0) {
475 $kw = new ilTextInputGUI(
476 $this->lng->txt("keywords"),
477 "keywords[value][" . $first_lang . "]"
478 );
479 $kw->setDataSource($this->ctrl->getLinkTarget($this, "keywordAutocomplete", "", true));
480 $kw->setMaxLength(200);
481 $kw->setSize(50);
482 $kw->setMulti(true);
483 $this->form->addItem($kw);
484 }
485
486 // Lifecycle...
487 // Authors
488 $ta = new ilTextAreaInputGUI(
489 $this->lng->txt('authors') . "<br />" .
490 "(" . sprintf($this->lng->txt('md_separated_by'), $this->md_settings->getDelimiter()) . ")",
491 "life_authors"
492 );
493 $ta->setCols(50);
494 $ta->setRows(2);
495 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
496 $sep = $ent_str = "";
497 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
498 $md_con = $this->md_section->getContribute($con_id);
499 if ($md_con->getRole() == "Author") {
500 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
501 $md_ent = $md_con->getEntity($ent_id);
502 $ent_str = $ent_str . $sep . $md_ent->getEntity();
503 $sep = $this->md_settings->getDelimiter() . " ";
504 }
505 }
506 }
507 $ta->setValue($ent_str);
508 }
509 $this->form->addItem($ta);
510
511 // copyright
512 $this->listQuickEditCopyright($this->form);
513
514
515 // typical learning time
516 include_once("./Services/MetaData/classes/class.ilTypicalLearningTimeInputGUI.php");
517 $tlt = new ilTypicalLearningTimeInputGUI($this->lng->txt("meta_typical_learning_time"), "tlt");
518 $edu = $this->md_obj->getEducational();
519 if (is_object($edu)) {
520 $tlt->setValueByLOMDuration($edu->getTypicalLearningTime());
521 }
522 $this->form->addItem($tlt);
523
524 $this->form->addCommandButton("updateQuickEdit", $lng->txt("save"), 'button_ilquickeditform');
525 $this->form->setTitle($this->lng->txt("meta_quickedit"));
526 $this->form->setFormAction($ilCtrl->getFormAction($this));
527
528
529 if (ilMDSettings::_getInstance()->isCopyrightSelectionActive()) {
530 $DIC->ui()->mainTemplate()->addJavaScript(
531 'Services/MetaData/js/ilMetaCopyrightListener.js'
532 );
533 $DIC->ui()->mainTemplate()->addOnLoadCode(
534 'il.MetaDataCopyrightListener.init("' .
535 $a_signal_id . '","copyright","form_ilquickeditform","button_ilquickeditform");'
536 );
537 }
538
539
540
541 return $this->form;
542 }
listQuickEditCopyright(ilPropertyFormGUI $form)
Show copyright selecetion.
This class represents a property form user interface.
This class represents a text area property in a property form.
This class represents a text property in a property form.
This class represents a typical learning time property in a property form.
if(!array_key_exists('StateId', $_REQUEST)) $id
global $ilCtrl
Definition: ilias.php:18
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
Definition: langwiz.php:349
if(isset($_POST['submit'])) $form

References $DIC, $form, $id, $ilCtrl, $lang, $lng, PHPMailer\PHPMailer\$options, $si, $tree, ilMDSettings\_getInstance(), ilMDLanguageItem\_getLanguages(), and listQuickEditCopyright().

Referenced by listQuickEdit().

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

◆ keywordAutocomplete()

ilMDEditorGUI::keywordAutocomplete ( )

Keyword list for autocomplete.

Parameters

return

Definition at line 638 of file class.ilMDEditorGUI.php.

639 {
640 include_once("./Services/MetaData/classes/class.ilMDKeyword.php");
643 $this->md_obj->getObjType(),
644 $this->md_obj->getRBACId()
645 );
646
647 $result = array();
648 $cnt = 0;
649 foreach ($res as $r) {
650 if ($cnt++ > 19) {
651 continue;
652 }
653 $entry = new stdClass();
654 $entry->value = $r;
655 $entry->label = $r;
656 $result[] = $entry;
657 }
658
659 include_once './Services/JSON/classes/class.ilJsonUtil.php';
661 exit;
662 }
$result
exit
Definition: backend.php:16
static encode($mixed, $suppress_native=false)
static _getMatchingKeywords($a_query, $a_type, $a_rbac_id=0)
Search for keywords.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$r
Definition: example_031.php:79
foreach($_POST as $key=> $value) $res

References $_GET, $r, $res, $result, ilMDKeyword\_getMatchingKeywords(), ilJsonUtil\encode(), exit, and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ listAnnotation()

ilMDEditorGUI::listAnnotation ( )

Definition at line 2768 of file class.ilMDEditorGUI.php.

2769 {
2770 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2771 $this->__setTabs('meta_annotation');
2772 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_annotation.html', 'Services/MetaData');
2773
2774 $anno_ids = $this->md_obj->getAnnotationIds();
2775 if (!is_array($anno_ids) || count($anno_ids) == 0) {
2776 $this->tpl->setCurrentBlock("no_annotation");
2777 $this->tpl->setVariable("TXT_NO_ANNOTATION", $this->lng->txt("meta_no_annotation"));
2778 $this->tpl->setVariable("TXT_ADD_ANNOTATION", $this->lng->txt("meta_add"));
2779 $this->ctrl->setParameter($this, "section", "meta_annotation");
2780 $this->tpl->setVariable(
2781 "ACTION_ADD_ANNOTATION",
2782 $this->ctrl->getLinkTarget($this, "addSection")
2783 );
2784 $this->tpl->parseCurrentBlock();
2785 } else {
2786 foreach ($anno_ids as $anno_id) {
2787 $this->ctrl->setParameter($this, 'meta_index', $anno_id);
2788 $this->ctrl->setParameter($this, "section", "meta_annotation");
2789
2790 $this->md_section = $this->md_obj->getAnnotation($anno_id);
2791
2792 $this->tpl->setCurrentBlock("annotation_loop");
2793 $this->tpl->setVariable("ANNOTATION_ID", $anno_id);
2794 $this->tpl->setVariable("TXT_ANNOTATION", $this->lng->txt("meta_annotation"));
2795 $this->ctrl->setParameter($this, "meta_index", $anno_id);
2796 $this->tpl->setVariable(
2797 "ACTION_DELETE",
2798 $this->ctrl->getLinkTarget($this, "deleteSection")
2799 );
2800 $this->ctrl->setParameter($this, "section", "meta_annotation");
2801 $this->tpl->setVariable(
2802 "ACTION_ADD",
2803 $this->ctrl->getLinkTarget($this, "addSection")
2804 );
2805 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2806 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
2807
2808 $this->tpl->setVariable("TXT_ENTITY", $this->lng->txt("meta_entity"));
2809 $this->tpl->setVariable("VAL_ENTITY", ilUtil::prepareFormOutput($this->md_section->getEntity()));
2810 $this->tpl->setVariable("TXT_DATE", $this->lng->txt("meta_date"));
2811 $this->tpl->setVariable("VAL_DATE", ilUtil::prepareFormOutput($this->md_section->getDate()));
2812
2813 /* Description */
2814 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2815 $this->tpl->setVariable("TXT_VALUE", $this->lng->txt("meta_value"));
2816 $this->tpl->setVariable("VAL_DESCRIPTION", ilUtil::prepareFormOutput($this->md_section->getDescription()));
2817 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
2818 $this->tpl->setVariable(
2819 "VAL_DESCRIPTION_LANGUAGE",
2820 $this->__showLanguageSelect(
2821 'annotation[' . $anno_id . '][Language]',
2822 $this->md_section->getDescriptionLanguageCode()
2823 )
2824 );
2825
2826 $this->tpl->parseCurrentBlock();
2827 }
2828
2829 $this->tpl->setCurrentBlock("annotation");
2830 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
2831 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2832 $this->tpl->parseCurrentBlock();
2833 }
2834 }
__showLanguageSelect($a_name, $a_value="")
shows language select box
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public

References __setTabs(), __showLanguageSelect(), and ilUtil\prepareFormOutput().

Referenced by listSection().

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

◆ listClassification()

ilMDEditorGUI::listClassification ( )

Definition at line 2862 of file class.ilMDEditorGUI.php.

2863 {
2864 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2865 $this->__setTabs('meta_classification');
2866 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_classification.html', 'Services/MetaData');
2867
2868 $class_ids = $this->md_obj->getClassificationIds();
2869 if (!is_array($class_ids) || count($class_ids) == 0) {
2870 $this->tpl->setCurrentBlock("no_classification");
2871 $this->tpl->setVariable("TXT_NO_CLASSIFICATION", $this->lng->txt("meta_no_classification"));
2872 $this->tpl->setVariable("TXT_ADD_CLASSIFICATION", $this->lng->txt("meta_add"));
2873 $this->ctrl->setParameter($this, "section", "meta_classification");
2874 $this->tpl->setVariable(
2875 "ACTION_ADD_CLASSIFICATION",
2876 $this->ctrl->getLinkTarget($this, "addSection")
2877 );
2878 $this->tpl->parseCurrentBlock();
2879 } else {
2880 foreach ($class_ids as $class_id) {
2881 $this->md_section = $this->md_obj->getClassification($class_id);
2882 $this->ctrl->setParameter($this, "section", "meta_classification");
2883
2884 /* TaxonPath */
2885 $tp_ids = $this->md_section->getTaxonPathIds();
2886 foreach ($tp_ids as $tp_id) {
2887 $tax_path = $this->md_section->getTaxonPath($tp_id);
2888
2889 $tax_ids = $tax_path->getTaxonIds();
2890
2891 foreach ($tax_ids as $tax_id) {
2892 $taxon = $tax_path->getTaxon($tax_id);
2893
2894 if (count($tax_ids) > 1) {
2895 $this->tpl->setCurrentBlock("taxon_delete");
2896 $this->ctrl->setParameter($this, "meta_index", $tax_id);
2897 $this->ctrl->setParameter($this, "meta_path", "classification_taxon");
2898 $this->tpl->setVariable(
2899 "TAXONPATH_TAXON_LOOP_ACTION_DELETE",
2900 $this->ctrl->getLinkTarget($this, "deleteElement")
2901 );
2902 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2903 $this->tpl->parseCurrentBlock();
2904 }
2905
2906 $this->tpl->setCurrentBlock("taxonpath_taxon_loop");
2907 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_NO", $tax_id);
2908 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TAXONPATH_NO", $tp_id);
2909 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_TAXON", $this->lng->txt("meta_taxon"));
2910 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2911 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_VAL_TAXON", ilUtil::prepareFormOutput($taxon->getTaxon()));
2912 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_ID", $this->lng->txt("meta_id"));
2913 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_VAL_ID", ilUtil::prepareFormOutput($taxon->getTaxonId()));
2914 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2915 $this->tpl->setVariable(
2916 "TAXONPATH_TAXON_LOOP_VAL_TAXON_LANGUAGE",
2917 $this->__showLanguageSelect(
2918 'classification[TaxonPath][Taxon][' . $tax_id . '][Language]',
2919 $taxon->getTaxonLanguageCode()
2920 )
2921 );
2922
2923 $this->ctrl->setParameter($this, "section_element", "Taxon_" . $class_id);
2924 $this->ctrl->setParameter($this, "meta_index", $tp_id);
2925 $this->tpl->setVariable(
2926 "TAXONPATH_TAXON_LOOP_ACTION_ADD",
2927 $this->ctrl->getLinkTarget($this, "addSectionElement")
2928 );
2929 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2930 $this->tpl->parseCurrentBlock();
2931 }
2932
2933 if (count($tp_ids) > 1) {
2934 $this->tpl->setCurrentBlock("taxonpath_delete");
2935 $this->ctrl->setParameter($this, "meta_index", $tp_id);
2936 $this->ctrl->setParameter($this, "meta_path", "classification_taxon_path");
2937 $this->tpl->setVariable(
2938 "TAXONPATH_LOOP_ACTION_DELETE",
2939 $this->ctrl->getLinkTarget($this, "deleteElement")
2940 );
2941 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2942 $this->tpl->parseCurrentBlock();
2943 }
2944
2945 $this->tpl->setCurrentBlock("taxonpath_loop");
2946 $this->tpl->setVariable("TAXONPATH_LOOP_NO", $tp_id);
2947 $this->tpl->setVariable("TAXONPATH_LOOP_ROWSPAN", (3 * count($tax_ids)) + 2);
2948 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_TAXONPATH", $this->lng->txt("meta_taxon_path"));
2949 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_SOURCE", $this->lng->txt("meta_source"));
2950 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2951 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2952 $this->tpl->setVariable("TAXONPATH_LOOP_VAL_SOURCE", ilUtil::prepareFormOutput($tax_path->getSource()));
2953 $this->tpl->setVariable(
2954 "TAXONPATH_LOOP_VAL_SOURCE_LANGUAGE",
2955 $this->__showLanguageSelect(
2956 'classification[TaxonPath][' . $tp_id . '][Source][Language]',
2957 $tax_path->getSourceLanguageCode()
2958 )
2959 );
2960 $this->ctrl->setParameter($this, "section_element", "TaxonPath_" . $class_id);
2961 $this->ctrl->setParameter($this, "meta_index", $class_id);
2962 $this->tpl->setVariable(
2963 "TAXONPATH_LOOP_ACTION_ADD",
2964 $this->ctrl->getLinkTarget($this, "addSectionElement")
2965 );
2966 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2967 $this->tpl->parseCurrentBlock();
2968 }
2969
2970 /* Description */
2971 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2972 $this->tpl->setVariable("TXT_VALUE", $this->lng->txt("meta_value"));
2973 $this->tpl->setVariable(
2974 "VAL_DESCRIPTION",
2975 ilUtil::prepareFormOutput($this->md_section->getDescription())
2976 );
2977 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
2978 $this->tpl->setVariable(
2979 "VAL_DESCRIPTION_LANGUAGE",
2980 $this->__showLanguageSelect(
2981 'classification[' . $class_id . '][Language]',
2982 $this->md_section->getDescriptionLanguageCode()
2983 )
2984 );
2985
2986 /* Keyword */
2987 $key_ids = $this->md_section->getKeywordIds();
2988 foreach ($key_ids as $key_id) {
2989 if (count($key_ids) > 1) {
2990 $this->ctrl->setParameter($this, "meta_index", $key_id);
2991 $this->ctrl->setParameter($this, "meta_path", "classification_keyword");
2992 $this->tpl->setCurrentBlock("keyword_delete");
2993 $this->tpl->setVariable(
2994 "KEYWORD_LOOP_ACTION_DELETE",
2995 $this->ctrl->getLinkTarget($this, "deleteElement")
2996 );
2997 $this->tpl->setVariable("KEYWORD_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2998 $this->tpl->parseCurrentBlock();
2999 }
3000
3001 $keyword = $this->md_section->getKeyword($key_id);
3002 $this->tpl->setCurrentBlock("keyword_loop");
3003 $this->tpl->setVariable("KEYWORD_LOOP_NO", $key_id);
3004 $this->tpl->setVariable("KEYWORD_LOOP_TXT_KEYWORD", $this->lng->txt("meta_keyword"));
3005 $this->tpl->setVariable("KEYWORD_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
3006 $this->tpl->setVariable(
3007 "KEYWORD_LOOP_VAL",
3008 ilUtil::prepareFormOutput($keyword->getKeyword())
3009 );
3010 $this->tpl->setVariable("KEYWORD_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
3011 $this->tpl->setVariable(
3012 "KEYWORD_LOOP_VAL_LANGUAGE",
3013 $this->__showLanguageSelect(
3014 'classification[Keyword][' . $key_id . '][Language]',
3015 $keyword->getKeywordLanguageCode()
3016 )
3017 );
3018 $this->ctrl->setParameter($this, "meta_index", $class_id);
3019 $this->ctrl->setParameter($this, "section_element", "Keyword_" . $class_id);
3020 $this->tpl->setVariable(
3021 "KEYWORD_LOOP_ACTION_ADD",
3022 $this->ctrl->getLinkTarget($this, "addSectionElement")
3023 );
3024 $this->tpl->setVariable("KEYWORD_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
3025 $this->tpl->parseCurrentBlock();
3026 }
3027
3028 $this->tpl->setCurrentBlock("classification_loop");
3029 $this->tpl->setVariable("TXT_CLASSIFICATION", $this->lng->txt("meta_classification"));
3030 $this->ctrl->setParameter($this, "meta_index", $class_id);
3031 $this->tpl->setVariable(
3032 "ACTION_DELETE",
3033 $this->ctrl->getLinkTarget($this, "deleteSection")
3034 );
3035 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
3036 $this->tpl->setVariable(
3037 "ACTION_ADD",
3038 $this->ctrl->getLinkTarget($this, "addSection")
3039 );
3040 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
3041
3042 $this->tpl->setVariable("TXT_NEW_ELEMENT", $this->lng->txt("meta_new_element"));
3043 $this->tpl->setVariable("TXT_TAXONPATH", $this->lng->txt("meta_taxon_path"));
3044 $this->tpl->setVariable("TXT_KEYWORD", $this->lng->txt("meta_keyword"));
3045 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
3046
3047 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
3048 $this->tpl->setVariable("CLASS_ID", $class_id);
3049 $this->tpl->setVariable("TXT_PURPOSE", $this->lng->txt("meta_purpose"));
3050 $this->tpl->setVariable("TXT_DISCIPLINE", $this->lng->txt("meta_learning_resource_type"));
3051 $this->tpl->setVariable("TXT_IDEA", $this->lng->txt("meta_idea"));
3052 $this->tpl->setVariable("TXT_PREREQUISITE", $this->lng->txt("meta_prerequisite"));
3053 $this->tpl->setVariable("TXT_EDUCATIONALOBJECTIVE", $this->lng->txt("meta_educational_objective"));
3054 $this->tpl->setVariable("TXT_ACCESSIBILITYRESTRICTIONS", $this->lng->txt("meta_accessibility_restrictions"));
3055 $this->tpl->setVariable("TXT_EDUCATIONALLEVEL", $this->lng->txt("meta_educational_level"));
3056 $this->tpl->setVariable("TXT_SKILLLEVEL", $this->lng->txt("meta_skill_level"));
3057 $this->tpl->setVariable("TXT_SECURITYLEVEL", $this->lng->txt("meta_security_level"));
3058 $this->tpl->setVariable("TXT_COMPETENCY", $this->lng->txt("meta_competency"));
3059 $this->tpl->setVariable("VAL_PURPOSE_" . strtoupper($this->md_section->getPurpose()), " selected");
3060 $this->tpl->parseCurrentBlock();
3061 }
3062
3063 $this->tpl->setCurrentBlock("classification");
3064 $this->tpl->setVariable(
3065 "EDIT_ACTION",
3066 $this->ctrl->getFormAction($this)
3067 );
3068 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
3069 $this->tpl->parseCurrentBlock();
3070 }
3071 }

References __setTabs(), __showLanguageSelect(), and ilUtil\prepareFormOutput().

Referenced by listSection().

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

◆ listEducational()

ilMDEditorGUI::listEducational ( )

Definition at line 2234 of file class.ilMDEditorGUI.php.

2235 {
2236 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2237 $this->__setTabs('meta_educational');
2238 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_educational.html', 'Services/MetaData');
2239
2240 if (!is_object($this->md_section = $this->md_obj->getEducational())) {
2241 $this->tpl->setCurrentBlock("no_educational");
2242 $this->tpl->setVariable("TXT_NO_EDUCATIONAL", $this->lng->txt("meta_no_educational"));
2243 $this->tpl->setVariable("TXT_ADD_EDUCATIONAL", $this->lng->txt("meta_add"));
2244 $this->ctrl->setParameter($this, "section", "meta_educational");
2245 $this->tpl->setVariable(
2246 "ACTION_ADD_EDUCATIONAL",
2247 $this->ctrl->getLinkTarget($this, "addSection")
2248 );
2249 $this->tpl->parseCurrentBlock();
2250 } else {
2251 $this->ctrl->setReturn($this, 'listEducational');
2252 $this->ctrl->setParameter($this, 'section', 'meta_educational');
2253 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
2254
2255 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
2256 $this->tpl->setVariable(
2257 "ACTION_DELETE",
2258 $this->ctrl->getLinkTarget($this, "deleteSection")
2259 );
2260
2261 $this->tpl->setVariable("TXT_EDUCATIONAL", $this->lng->txt("meta_educational"));
2262 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2263 $this->tpl->setVariable("TXT_NEW_ELEMENT", $this->lng->txt("meta_new_element"));
2264 $this->tpl->setVariable("TXT_TYPICALAGERANGE", $this->lng->txt("meta_typical_age_range"));
2265 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2266 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
2267 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
2268 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
2269
2270 $this->tpl->setVariable("TXT_INTERACTIVITYTYPE", $this->lng->txt("meta_interactivity_type"));
2271 $this->tpl->setVariable("TXT_LEARNINGRESOURCETYPE", $this->lng->txt("meta_learning_resource_type"));
2272 $this->tpl->setVariable("TXT_INTERACTIVITYLEVEL", $this->lng->txt("meta_interactivity_level"));
2273 $this->tpl->setVariable("TXT_SEMANTICDENSITY", $this->lng->txt("meta_semantic_density"));
2274 $this->tpl->setVariable("TXT_INTENDEDENDUSERROLE", $this->lng->txt("meta_intended_end_user_role"));
2275 $this->tpl->setVariable("TXT_CONTEXT", $this->lng->txt("meta_context"));
2276 $this->tpl->setVariable("TXT_DIFFICULTY", $this->lng->txt("meta_difficulty"));
2277
2278 $this->tpl->setVariable("VAL_INTERACTIVITYTYPE_" . strtoupper($this->md_section->getInteractivityType()), " selected");
2279 $this->tpl->setVariable("VAL_LEARNINGRESOURCETYPE_" . strtoupper($this->md_section->getLearningResourceType()), " selected");
2280 $this->tpl->setVariable("VAL_INTERACTIVITYLEVEL_" . strtoupper($this->md_section->getInteractivityLevel()), " selected");
2281 $this->tpl->setVariable("VAL_SEMANTICDENSITY_" . strtoupper($this->md_section->getSemanticDensity()), " selected");
2282 $this->tpl->setVariable("VAL_INTENDEDENDUSERROLE_" . strtoupper($this->md_section->getIntendedEndUserRole()), " selected");
2283 $this->tpl->setVariable("VAL_CONTEXT_" . strtoupper($this->md_section->getContext()), " selected");
2284 $this->tpl->setVariable("VAL_DIFFICULTY_" . strtoupper($this->md_section->getDifficulty()), " selected");
2285 #$this->tpl->setVariable("VAL_TYPICALLEARNINGTIME", ilUtil::prepareFormOutput($this->md_section->getTypicalLearningTime()));
2286
2287 $this->tpl->setVariable("TXT_ACTIVE", $this->lng->txt("meta_active"));
2288 $this->tpl->setVariable("TXT_EXPOSITIVE", $this->lng->txt("meta_expositive"));
2289 $this->tpl->setVariable("TXT_MIXED", $this->lng->txt("meta_mixed"));
2290 $this->tpl->setVariable("TXT_EXERCISE", $this->lng->txt("meta_exercise"));
2291 $this->tpl->setVariable("TXT_SIMULATION", $this->lng->txt("meta_simulation"));
2292 $this->tpl->setVariable("TXT_QUESTIONNAIRE", $this->lng->txt("meta_questionnaire"));
2293 $this->tpl->setVariable("TXT_DIAGRAMM", $this->lng->txt("meta_diagramm"));
2294 $this->tpl->setVariable("TXT_FIGURE", $this->lng->txt("meta_figure"));
2295 $this->tpl->setVariable("TXT_GRAPH", $this->lng->txt("meta_graph"));
2296 $this->tpl->setVariable("TXT_INDEX", $this->lng->txt("meta_index"));
2297 $this->tpl->setVariable("TXT_SLIDE", $this->lng->txt("meta_slide"));
2298 $this->tpl->setVariable("TXT_TABLE", $this->lng->txt("meta_table"));
2299 $this->tpl->setVariable("TXT_NARRATIVETEXT", $this->lng->txt("meta_narrative_text"));
2300 $this->tpl->setVariable("TXT_EXAM", $this->lng->txt("meta_exam"));
2301 $this->tpl->setVariable("TXT_EXPERIMENT", $this->lng->txt("meta_experiment"));
2302 $this->tpl->setVariable("TXT_PROBLEMSTATEMENT", $this->lng->txt("meta_problem_statement"));
2303 $this->tpl->setVariable("TXT_SELFASSESSMENT", $this->lng->txt("meta_self_assessment"));
2304 $this->tpl->setVariable("TXT_LECTURE", $this->lng->txt("meta_lecture"));
2305 $this->tpl->setVariable("TXT_VERYLOW", $this->lng->txt("meta_very_low"));
2306 $this->tpl->setVariable("TXT_LOW", $this->lng->txt("meta_low"));
2307 $this->tpl->setVariable("TXT_MEDIUM", $this->lng->txt("meta_medium"));
2308 $this->tpl->setVariable("TXT_HIGH", $this->lng->txt("meta_high"));
2309 $this->tpl->setVariable("TXT_VERYHIGH", $this->lng->txt("meta_very_high"));
2310 $this->tpl->setVariable("TXT_TEACHER", $this->lng->txt("meta_teacher"));
2311 $this->tpl->setVariable("TXT_AUTHOR", $this->lng->txt("meta_author"));
2312 $this->tpl->setVariable("TXT_LEARNER", $this->lng->txt("meta_learner"));
2313 $this->tpl->setVariable("TXT_MANAGER", $this->lng->txt("meta_manager"));
2314 $this->tpl->setVariable("TXT_SCHOOL", $this->lng->txt("meta_school"));
2315 $this->tpl->setVariable("TXT_HIGHEREDUCATION", $this->lng->txt("meta_higher_education"));
2316 $this->tpl->setVariable("TXT_TRAINING", $this->lng->txt("meta_training"));
2317 $this->tpl->setVariable("TXT_OTHER", $this->lng->txt("meta_other"));
2318 $this->tpl->setVariable("TXT_VERYEASY", $this->lng->txt("meta_very_easy"));
2319 $this->tpl->setVariable("TXT_EASY", $this->lng->txt("meta_easy"));
2320 $this->tpl->setVariable("TXT_DIFFICULT", $this->lng->txt("meta_difficult"));
2321 $this->tpl->setVariable("TXT_VERYDIFFICULT", $this->lng->txt("meta_very_difficult"));
2322 $this->tpl->setVariable("TXT_TYPICALLEARNINGTIME", $this->lng->txt("meta_typical_learning_time"));
2323
2324
2325 // Typical learning time
2326 $tlt = array(0,0,0,0,0);
2327 $valid = true;
2328
2329 include_once 'Services/MetaData/classes/class.ilMDUtils.php';
2330
2331 if (!$tlt = ilMDUtils::_LOMDurationToArray($this->md_section->getTypicalLearningTime())) {
2332 if (strlen($this->md_section->getTypicalLearningTime())) {
2333 $tlt = array(0,0,0,0,0);
2334 $valid = false;
2335 }
2336 }
2337
2338 $this->tpl->setVariable("TXT_MONTH", $this->lng->txt('md_months'));
2339 $this->tpl->setVariable("SEL_MONTHS", $this->__buildMonthsSelect($tlt[0]));
2340 $this->tpl->setVariable("SEL_DAYS", $this->__buildDaysSelect($tlt[1]));
2341
2342 $this->tpl->setVariable("TXT_DAYS", $this->lng->txt('md_days'));
2343 $this->tpl->setVariable("TXT_TIME", $this->lng->txt('md_time'));
2344
2345 $this->tpl->setVariable("TXT_TYPICAL_LEARN_TIME", $this->lng->txt('meta_typical_learning_time'));
2346 $this->tpl->setVariable("SEL_TLT", ilUtil::makeTimeSelect(
2347 'tlt',
2348 $tlt[4] ? false : true,
2349 $tlt[2],
2350 $tlt[3],
2351 $tlt[4],
2352 false
2353 ));
2354 $this->tpl->setVariable("TLT_HINT", $tlt[4] ? '(hh:mm:ss)' : '(hh:mm)');
2355
2356 if (!$valid) {
2357 $this->tpl->setCurrentBlock("tlt_not_valid");
2358 $this->tpl->setVariable("TXT_CURRENT_VAL", $this->lng->txt('meta_current_value'));
2359 $this->tpl->setVariable("TLT", $this->md_section->getTypicalLearningTime());
2360 $this->tpl->setVariable("INFO_TLT_NOT_VALID", $this->lng->txt('meta_info_tlt_not_valid'));
2361 $this->tpl->parseCurrentBlock();
2362 }
2363
2364
2365 /* TypicalAgeRange */
2366 $first = true;
2367 foreach ($ids = $this->md_section->getTypicalAgeRangeIds() as $id) {
2368 $md_age = $this->md_section->getTypicalAgeRange($id);
2369
2370 // extra test due to bug 5316 (may be due to eLaix import)
2371 if (is_object($md_age)) {
2372 if ($first) {
2373 $this->tpl->setCurrentBlock("agerange_head");
2374 $this->tpl->setVariable(
2375 "TYPICALAGERANGE_LOOP_TXT_TYPICALAGERANGE",
2376 $this->lng->txt("meta_typical_age_range")
2377 );
2378 $this->tpl->setVariable("ROWSPAN_AGERANGE", count($ids));
2379 $this->tpl->parseCurrentBlock();
2380 $first = false;
2381 }
2382
2383
2384 $this->ctrl->setParameter($this, 'meta_index', $id);
2385 $this->ctrl->setParameter($this, 'meta_path', 'educational_typical_age_range');
2386
2387 $this->tpl->setCurrentBlock("typicalagerange_delete");
2388 $this->tpl->setVariable(
2389 "TYPICALAGERANGE_LOOP_ACTION_DELETE",
2390 $this->ctrl->getLinkTarget($this, "deleteElement")
2391 );
2392 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2393 $this->tpl->parseCurrentBlock();
2394
2395 $this->tpl->setCurrentBlock("typicalagerange_loop");
2396 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2397 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_VAL", ilUtil::prepareFormOutput($md_age->getTypicalAgeRange()));
2398 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_NO", $id);
2399 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2400 $this->tpl->setVariable(
2401 "TYPICALAGERANGE_LOOP_VAL_LANGUAGE",
2402 $this->__showLanguageSelect(
2403 'educational[TypicalAgeRange][' . $id . '][Language]',
2404 $md_age->getTypicalAgeRangeLanguageCode()
2405 )
2406 );
2407 $this->ctrl->setParameter($this, "section_element", "educational_typical_age_range");
2408 $this->tpl->setVariable(
2409 "TYPICALAGERANGE_LOOP_ACTION_ADD",
2410 $this->ctrl->getLinkTarget($this, "addSectionElement")
2411 );
2412 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2413 $this->tpl->parseCurrentBlock();
2414 }
2415 }
2416
2417 /* Description */
2418 $first = true;
2419 foreach ($ids = $this->md_section->getDescriptionIds() as $id) {
2420 if ($first) {
2421 $this->tpl->setCurrentBlock("desc_head");
2422 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2423 $this->tpl->setVariable("ROWSPAN_DESC", count($ids));
2424 $this->tpl->parseCurrentBlock();
2425 $first = false;
2426 }
2427
2428 $md_des = $this->md_section->getDescription($id);
2429
2430 $this->ctrl->setParameter($this, 'meta_index', $id);
2431 $this->ctrl->setParameter($this, 'meta_path', 'educational_description');
2432
2433 $this->tpl->setCurrentBlock("description_loop");
2434 $this->tpl->setVariable("DESCRIPTION_LOOP_NO", $id);
2435 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2436 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL", ilUtil::prepareFormOutput($md_des->getDescription()));
2437 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2438 $this->tpl->setVariable(
2439 "DESCRIPTION_LOOP_VAL_LANGUAGE",
2440 $this->__showLanguageSelect(
2441 'educational[Description][' . $id . '][Language]',
2442 $md_des->getDescriptionLanguageCode()
2443 )
2444 );
2445 $this->tpl->setVariable(
2446 "DESCRIPTION_LOOP_ACTION_DELETE",
2447 $this->ctrl->getLinkTarget($this, "deleteElement")
2448 );
2449 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2450 $this->ctrl->setParameter($this, "section_element", "educational_description");
2451 $this->tpl->setVariable(
2452 "DESCRIPTION_LOOP_ACTION_ADD",
2453 $this->ctrl->getLinkTarget($this, "addSectionElement")
2454 );
2455 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2456 $this->tpl->parseCurrentBlock();
2457 }
2458
2459
2460 /* Language */
2461 $first = true;
2462 foreach ($ids = $this->md_section->getLanguageIds() as $id) {
2463 if ($first) {
2464 $this->tpl->setCurrentBlock("language_head");
2465 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2466 $this->tpl->setVariable("ROWSPAN_LANG", count($ids));
2467 $this->tpl->parseCurrentBlock();
2468 $first = false;
2469 }
2470
2471 $md_lang = $this->md_section->getLanguage($id);
2472
2473 $this->ctrl->setParameter($this, 'meta_index', $id);
2474 $this->ctrl->setParameter($this, 'meta_path', 'educational_language');
2475
2476 $this->tpl->setCurrentBlock("language_loop");
2477 $this->tpl->setVariable(
2478 "LANGUAGE_LOOP_VAL_LANGUAGE",
2479 $this->__showLanguageSelect(
2480 'educational[Language][' . $id . ']',
2481 $md_lang->getLanguageCode()
2482 )
2483 );
2484
2485 $this->tpl->setVariable(
2486 "LANGUAGE_LOOP_ACTION_DELETE",
2487 $this->ctrl->getLinkTarget($this, "deleteElement")
2488 );
2489 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2490 $this->ctrl->setParameter($this, "section_element", "educational_language");
2491 $this->tpl->setVariable(
2492 "LANGUAGE_LOOP_ACTION_ADD",
2493 $this->ctrl->getLinkTarget($this, "addSectionElement")
2494 );
2495 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2496 $this->tpl->parseCurrentBlock();
2497 }
2498
2499 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2500
2501 $this->tpl->setCurrentBlock("educational");
2502 $this->tpl->parseCurrentBlock();
2503 }
2504 }
__buildMonthsSelect($sel_month)
static _LOMDurationToArray($a_string)
LOM datatype duration is a string like P2M4DT7H18M2S (2 months 4 days 7 hours 18 minutes 2 seconds) T...
static makeTimeSelect($prefix, $short=true, $hour="", $minute="", $second="", $a_use_default=true, $a_further_options=array())
Creates a combination of HTML selects for time inputs.
$valid

References $id, $valid, __buildDaysSelect(), __buildMonthsSelect(), __setTabs(), __showLanguageSelect(), ilMDUtils\_LOMDurationToArray(), ilUtil\makeTimeSelect(), and ilUtil\prepareFormOutput().

Referenced by listSection().

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

◆ listGeneral()

ilMDEditorGUI::listGeneral ( )

Definition at line 1248 of file class.ilMDEditorGUI.php.

1249 {
1250 if (!is_object($this->md_section = $this->md_obj->getGeneral())) {
1251 $this->md_section = $this->md_obj->addGeneral();
1252 $this->md_section->save();
1253 }
1254
1255 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
1256
1257 $this->__setTabs('meta_general');
1258
1259 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_general.html', 'Services/MetaData');
1260
1261 $this->ctrl->setReturn($this, 'listGeneral');
1262 $this->ctrl->setParameter($this, 'section', 'meta_general');
1263 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
1264
1265 $this->__fillSubelements();
1266
1267 $this->tpl->setVariable("TXT_GENERAL", $this->lng->txt("meta_general"));
1268 $this->tpl->setVariable("TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
1269 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
1270 $this->tpl->setVariable("TXT_KEYWORD", $this->lng->txt("meta_keyword"));
1271 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
1272 $this->tpl->setVariable("TXT_STRUCTURE", $this->lng->txt("meta_structure"));
1273 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
1274 $this->tpl->setVariable("TXT_ATOMIC", $this->lng->txt("meta_atomic"));
1275 $this->tpl->setVariable("TXT_COLLECTION", $this->lng->txt("meta_collection"));
1276 $this->tpl->setVariable("TXT_NETWORKED", $this->lng->txt("meta_networked"));
1277 $this->tpl->setVariable("TXT_HIERARCHICAL", $this->lng->txt("meta_hierarchical"));
1278 $this->tpl->setVariable("TXT_LINEAR", $this->lng->txt("meta_linear"));
1279
1280 // Structure
1281 $this->tpl->setVariable("STRUCTURE_VAL_" . strtoupper($this->md_section->getStructure()), " selected=selected");
1282
1283 // Identifier
1284 $first = true;
1285 foreach ($ids = $this->md_section->getIdentifierIds() as $id) {
1286 $md_ide = $this->md_section->getIdentifier($id);
1287
1288 //
1289 if ($first) {
1290 $this->tpl->setCurrentBlock("id_head");
1291 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
1292 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_CATALOG", $this->lng->txt("meta_catalog"));
1293 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_ENTRY", $this->lng->txt("meta_entry"));
1294 $this->tpl->setVariable("ROWSPAN_ID", count($ids));
1295 $this->tpl->parseCurrentBlock();
1296 $first = false;
1297 }
1298
1299 if (count($ids) > 1) {
1300 $this->ctrl->setParameter($this, 'meta_index', $id);
1301 $this->ctrl->setParameter($this, 'meta_path', 'meta_identifier');
1302
1303 if ($md_ide->getCatalog() != "ILIAS") {
1304 $this->tpl->setCurrentBlock("identifier_delete");
1305 $this->tpl->setVariable("IDENTIFIER_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1306 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1307 $this->tpl->parseCurrentBlock();
1308 }
1309 }
1310
1311 $this->tpl->setCurrentBlock("identifier_loop");
1312 if ($md_ide->getCatalog() == "ILIAS") {
1313 $this->tpl->setVariable("DISABLE_IDENT", ' disabled="disabled" ');
1314 }
1315 $this->tpl->setVariable("IDENTIFIER_LOOP_NO", $id);
1316 $this->tpl->setVariable(
1317 "IDENTIFIER_LOOP_VAL_IDENTIFIER_CATALOG",
1318 ilUtil::prepareFormOutput($md_ide->getCatalog())
1319 );
1320 $this->tpl->setVariable(
1321 "IDENTIFIER_LOOP_VAL_IDENTIFIER_ENTRY",
1322 ilUtil::prepareFormOutput($md_ide->getEntry())
1323 );
1324 $this->tpl->parseCurrentBlock();
1325 }
1326
1327
1328 // Language
1329 $first = true;
1330 foreach ($ids = $this->md_section->getLanguageIds() as $id) {
1331 $md_lan = $this->md_section->getLanguage($id);
1332
1333 if ($first) {
1334 $this->tpl->setCurrentBlock("language_head");
1335 $this->tpl->setVariable("ROWSPAN_LANG", count($ids));
1336 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
1337 $this->tpl->parseCurrentBlock();
1338 $first = false;
1339 }
1340
1341 if (count($ids) > 1) {
1342 $this->ctrl->setParameter($this, 'meta_index', $id);
1343 $this->ctrl->setParameter($this, 'meta_path', 'meta_language');
1344
1345 $this->tpl->setCurrentBlock("language_delete");
1346 $this->tpl->setVariable("LANGUAGE_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1347 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
1348 $this->tpl->parseCurrentBlock();
1349 }
1350 $this->tpl->setCurrentBlock("language_loop");
1351 $this->tpl->setVariable("LANGUAGE_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
1352 'gen_language[' . $id . '][language]',
1353 $md_lan->getLanguageCode()
1354 ));
1355 $this->tpl->parseCurrentBlock();
1356 }
1357
1358 // TITLE
1359 $this->tpl->setVariable("TXT_TITLE", $this->lng->txt('title'));
1360 $this->tpl->setVariable("VAL_TITLE", ilUtil::prepareFormOutput($this->md_section->getTitle()));
1361 $this->tpl->setVariable("VAL_TITLE_LANGUAGE", $this->__showLanguageSelect(
1362 'gen_title_language',
1363 $this->md_section->getTitleLanguageCode()
1364 ));
1365
1366
1367 // DESCRIPTION
1368 foreach ($ids = $this->md_section->getDescriptionIds() as $id) {
1369 $md_des = $this->md_section->getDescription($id);
1370
1371 if (count($ids) > 1) {
1372 $this->ctrl->setParameter($this, 'meta_index', $id);
1373 $this->ctrl->setParameter($this, 'meta_path', 'meta_description');
1374
1375 $this->tpl->setCurrentBlock("description_delete");
1376 $this->tpl->setVariable("DESCRIPTION_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1377 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
1378 $this->tpl->parseCurrentBlock();
1379 }
1380
1381 $this->tpl->setCurrentBlock("description_loop");
1382 $this->tpl->setVariable("DESCRIPTION_LOOP_NO", $id);
1383 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
1384 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
1385 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL", ilUtil::prepareFormOutput($md_des->getDescription()));
1386 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
1387 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
1388 "gen_description[" . $id . '][language]',
1389 $md_des->getDescriptionLanguageCode()
1390 ));
1391 $this->tpl->parseCurrentBlock();
1392 }
1393
1394 // KEYWORD
1395 $first = true;
1396 foreach ($ids = $this->md_section->getKeywordIds() as $id) {
1397 $md_key = $this->md_section->getKeyword($id);
1398
1399 if ($first) {
1400 $this->tpl->setCurrentBlock("keyword_head");
1401 $this->tpl->setVariable("ROWSPAN_KEYWORD", count($ids));
1402 $this->tpl->setVariable("KEYWORD_LOOP_TXT_KEYWORD", $this->lng->txt("meta_keyword"));
1403 $this->tpl->parseCurrentBlock();
1404 $first = false;
1405 }
1406
1407
1408 if (count($ids) > 1) {
1409 $this->ctrl->setParameter($this, 'meta_index', $id);
1410 $this->ctrl->setParameter($this, 'meta_path', 'meta_keyword');
1411
1412 $this->tpl->setCurrentBlock("keyword_delete");
1413 $this->tpl->setVariable("KEYWORD_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1414 $this->tpl->setVariable("KEYWORD_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
1415 $this->tpl->parseCurrentBlock();
1416 }
1417
1418 $this->tpl->setCurrentBlock("keyword_loop");
1419 $this->tpl->setVariable("KEYWORD_LOOP_NO", $id);
1420 $this->tpl->setVariable("KEYWORD_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
1421 $this->tpl->setVariable("KEYWORD_LOOP_VAL", ilUtil::prepareFormOutput($md_key->getKeyword()));
1422 $this->tpl->setVariable("KEYWORD_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
1423 $this->tpl->setVariable("KEYWORD_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
1424 "gen_keyword[" . $id . '][language]',
1425 $md_key->getKeywordLanguageCode()
1426 ));
1427
1428 $this->tpl->parseCurrentBlock();
1429 }
1430
1431 // Coverage
1432 $this->tpl->setVariable("COVERAGE_LOOP_TXT_COVERAGE", $this->lng->txt('meta_coverage'));
1433 $this->tpl->setVariable("COVERAGE_LOOP_VAL", ilUtil::prepareFormOutput($this->md_section->getCoverage()));
1434 $this->tpl->setVariable("COVERAGE_LOOP_TXT_LANGUAGE", $this->lng->txt('meta_language'));
1435 $this->tpl->setVariable("COVERAGE_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
1436 'gen_coverage_language',
1437 $this->md_section->getCoverageLanguageCode()
1438 ));
1439
1440 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt('save'));
1441 }

References $id, __fillSubelements(), __setTabs(), __showLanguageSelect(), and ilUtil\prepareFormOutput().

Referenced by listSection(), and updateGeneral().

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

◆ listLifecycle()

ilMDEditorGUI::listLifecycle ( )

Definition at line 1818 of file class.ilMDEditorGUI.php.

1819 {
1820 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
1821 $this->__setTabs('meta_lifecycle');
1822 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_lifecycle.html', 'Services/MetaData');
1823
1824
1825 $this->ctrl->setParameter($this, "section", "meta_lifecycle");
1826 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
1827 $this->tpl->setCurrentBlock("no_lifecycle");
1828 $this->tpl->setVariable("TXT_NO_LIFECYCLE", $this->lng->txt("meta_no_lifecycle"));
1829 $this->tpl->setVariable("TXT_ADD_LIFECYCLE", $this->lng->txt("meta_add"));
1830 $this->tpl->setVariable("ACTION_ADD_LIFECYCLE", $this->ctrl->getLinkTarget($this, "addSection"));
1831 $this->tpl->parseCurrentBlock();
1832
1833 return true;
1834 }
1835 $this->ctrl->setReturn($this, 'listLifecycle');
1836 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
1837
1838 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
1839 $this->tpl->setVariable("TXT_LIFECYCLE", $this->lng->txt('meta_lifecycle'));
1840
1841 // Delete link
1842 $this->tpl->setVariable(
1843 "ACTION_DELETE",
1844 $this->ctrl->getLinkTarget($this, "deleteSection")
1845 );
1846 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt('delete'));
1847
1848 // New element
1849 $this->__fillSubelements();
1850
1851 // Status
1852 $this->tpl->setVariable("TXT_STATUS", $this->lng->txt('meta_status'));
1853 $this->tpl->setVariable("SEL_STATUS", ilMDUtilSelect::_getStatusSelect(
1854 $this->md_section->getStatus(),
1855 "lif_status",
1856 array(0 => $this->lng->txt('meta_please_select'))
1857 ));
1858 // Version
1859 $this->tpl->setVariable("TXT_VERSION", $this->lng->txt('meta_version'));
1860 $this->tpl->setVariable("VAL_VERSION", ilUtil::prepareFormOutput($this->md_section->getVersion()));
1861
1862 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt('meta_language'));
1863 $this->tpl->setVariable("VAL_VERSION_LANGUAGE", $this->__showLanguageSelect(
1864 'lif_language',
1865 $this->md_section->getVersionLanguageCode()
1866 ));
1867
1868 // Contributes
1869 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1870 $md_con = $this->md_section->getContribute($con_id);
1871
1872 if (count($ids) > 1) {
1873 $this->ctrl->setParameter($this, 'meta_index', $con_id);
1874 $this->ctrl->setParameter($this, 'meta_path', 'meta_contribute');
1875
1876 $this->tpl->setCurrentBlock("contribute_delete");
1877 $this->tpl->setVariable("CONTRIBUTE_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1878 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1879 $this->tpl->parseCurrentBlock();
1880 }
1881 // Entities
1882 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
1883 $md_ent = $md_con->getEntity($ent_id);
1884
1885 $this->ctrl->setParameter($this, 'meta_path', 'meta_entity');
1886
1887 if (count($ent_ids) > 1) {
1888 $this->tpl->setCurrentBlock("contribute_entity_delete");
1889
1890 $this->ctrl->setParameter($this, 'meta_index', $ent_id);
1891 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1892 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1893 $this->tpl->parseCurrentBlock();
1894 }
1895
1896 $this->tpl->setCurrentBlock("contribute_entity_loop");
1897
1898 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_CONTRIBUTE_NO", $con_id);
1899 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_NO", $ent_id);
1900 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_VAL_ENTITY", ilUtil::prepareFormOutput($md_ent->getEntity()));
1901 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_ENTITY", $this->lng->txt('meta_entity'));
1902 $this->tpl->parseCurrentBlock();
1903 }
1904 $this->tpl->setCurrentBlock("contribute_loop");
1905
1906 $this->ctrl->setParameter($this, 'section_element', 'meta_entity');
1907 $this->ctrl->setParameter($this, 'meta_index', $con_id);
1908 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_ACTION_ADD", $this->ctrl->getLinkTarget($this, 'addSectionElement'));
1909 $this->tpl->setVariable(
1910 "CONTRIBUTE_ENTITY_LOOP_TXT_ADD",
1911 $this->lng->txt('add') . " " . $this->lng->txt('meta_entity')
1912 );
1913
1914 $this->tpl->setVariable("CONTRIBUTE_LOOP_ROWSPAN", 2 + count($ent_ids));
1915 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_CONTRIBUTE", $this->lng->txt('meta_contribute'));
1916 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_ROLE", $this->lng->txt('meta_role'));
1917 $this->tpl->setVariable("SEL_CONTRIBUTE_ROLE", ilMDUtilSelect::_getRoleSelect(
1918 $md_con->getRole(),
1919 "met_contribute[" . $con_id . "][Role]",
1920 array(0 => $this->lng->txt('meta_please_select'))
1921 ));
1922 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_DATE", $this->lng->txt('meta_date'));
1923 $this->tpl->setVariable("CONTRIBUTE_LOOP_NO", $con_id);
1924 $this->tpl->setVariable("CONTRIBUTE_LOOP_VAL_DATE", ilUtil::prepareFormOutput($md_con->getDate()));
1925
1926 $this->tpl->parseCurrentBlock();
1927 }
1928 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt('save'));
1929 }
static _getStatusSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta lifecycle status selector.
static _getRoleSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta lifecycle status selector.

References __fillSubelements(), __setTabs(), __showLanguageSelect(), ilMDUtilSelect\_getRoleSelect(), ilMDUtilSelect\_getStatusSelect(), and ilUtil\prepareFormOutput().

Referenced by listSection().

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

◆ listMetaMetaData()

ilMDEditorGUI::listMetaMetaData ( )

Definition at line 1978 of file class.ilMDEditorGUI.php.

1979 {
1980 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
1981 $this->__setTabs('meta_meta_metadata');
1982 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_meta_metadata.html', 'Services/MetaData');
1983
1984
1985 $this->ctrl->setParameter($this, "section", "meta_meta_metadata");
1986 if (!is_object($this->md_section = $this->md_obj->getMetaMetadata())) {
1987 $this->tpl->setCurrentBlock("no_meta_meta");
1988 $this->tpl->setVariable("TXT_NO_META_META", $this->lng->txt("meta_no_meta_metadata"));
1989 $this->tpl->setVariable("TXT_ADD_META_META", $this->lng->txt("meta_add"));
1990 $this->tpl->setVariable("ACTION_ADD_META_META", $this->ctrl->getLinkTarget($this, "addSection"));
1991 $this->tpl->parseCurrentBlock();
1992
1993 return true;
1994 }
1995 $this->ctrl->setReturn($this, 'listMetaMetaData');
1996 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
1997
1998 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
1999 $this->tpl->setVariable("TXT_META_METADATA", $this->lng->txt('meta_meta_metadata'));
2000
2001 // Delete link
2002 $this->tpl->setVariable(
2003 "ACTION_DELETE",
2004 $this->ctrl->getLinkTarget($this, "deleteSection")
2005 );
2006 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt('delete'));
2007
2008 // New element
2009 $this->__fillSubelements();
2010
2011 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt('meta_language'));
2012
2013 $this->tpl->setVariable("VAL_LANGUAGE", $this->__showLanguageSelect('met_language', $this->md_section->getLanguageCode()));
2014 $this->tpl->setVariable("TXT_METADATASCHEME", $this->lng->txt('meta_metadatascheme'));
2015 $this->tpl->setVariable("VAL_METADATASCHEME", $this->md_section->getMetaDataScheme());
2016
2017
2018 // Identifier
2019 foreach ($ids = $this->md_section->getIdentifierIds() as $id) {
2020 $md_ide = $this->md_section->getIdentifier($id);
2021
2022 if (count($ids) > 1) {
2023 $this->ctrl->setParameter($this, 'meta_index', $id);
2024 $this->ctrl->setParameter($this, 'meta_path', 'meta_identifier');
2025
2026 $this->tpl->setCurrentBlock("identifier_delete");
2027 $this->tpl->setVariable("IDENTIFIER_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
2028 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_DELETE", $this->lng->txt('delete'));
2029 $this->tpl->parseCurrentBlock();
2030 }
2031
2032 $this->tpl->setCurrentBlock("identifier_loop");
2033 $this->tpl->setVariable("IDENTIFIER_LOOP_NO", $id);
2034 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
2035 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_CATALOG", $this->lng->txt("meta_catalog"));
2036 $this->tpl->setVariable(
2037 "IDENTIFIER_LOOP_VAL_IDENTIFIER_CATALOG",
2038 ilUtil::prepareFormOutput($md_ide->getCatalog())
2039 );
2040 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_ENTRY", $this->lng->txt("meta_entry"));
2041 $this->tpl->setVariable(
2042 "IDENTIFIER_LOOP_VAL_IDENTIFIER_ENTRY",
2043 ilUtil::prepareFormOutput($md_ide->getEntry())
2044 );
2045 $this->tpl->parseCurrentBlock();
2046 }
2047
2048 // Contributes
2049 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
2050 $md_con = $this->md_section->getContribute($con_id);
2051
2052 if (count($ids) > 1) {
2053 $this->ctrl->setParameter($this, 'meta_index', $con_id);
2054 $this->ctrl->setParameter($this, 'meta_path', 'meta_contribute');
2055
2056 $this->tpl->setCurrentBlock("contribute_delete");
2057 $this->tpl->setVariable("CONTRIBUTE_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
2058 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_DELETE", $this->lng->txt('delete'));
2059 $this->tpl->parseCurrentBlock();
2060 }
2061 // Entities
2062 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
2063 $md_ent = $md_con->getEntity($ent_id);
2064
2065 $this->ctrl->setParameter($this, 'meta_path', 'meta_entity');
2066
2067 if (count($ent_ids) > 1) {
2068 $this->tpl->setCurrentBlock("contribute_entity_delete");
2069
2070 $this->ctrl->setParameter($this, 'meta_index', $ent_id);
2071 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
2072 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_DELETE", $this->lng->txt('delete'));
2073 $this->tpl->parseCurrentBlock();
2074 }
2075
2076 $this->tpl->setCurrentBlock("contribute_entity_loop");
2077
2078 $this->ctrl->setParameter($this, 'section_element', 'meta_entity');
2079 $this->ctrl->setParameter($this, 'meta_index', $con_id);
2080 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_ACTION_ADD", $this->ctrl->getLinkTarget($this, 'addSectionElement'));
2081 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_ADD", $this->lng->txt('add'));
2082
2083
2084 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_CONTRIBUTE_NO", $con_id);
2085 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_NO", $ent_id);
2086 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_VAL_ENTITY", ilUtil::prepareFormOutput($md_ent->getEntity()));
2087 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_ENTITY", $this->lng->txt('meta_entity'));
2088 $this->tpl->parseCurrentBlock();
2089 }
2090 $this->tpl->setCurrentBlock("contribute_loop");
2091 $this->tpl->setVariable("CONTRIBUTE_LOOP_ROWSPAN", 2 + count($ent_ids));
2092 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_CONTRIBUTE", $this->lng->txt('meta_contribute'));
2093 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_ROLE", $this->lng->txt('meta_role'));
2094 $this->tpl->setVariable("SEL_CONTRIBUTE_ROLE", ilMDUtilSelect::_getRoleSelect(
2095 $md_con->getRole(),
2096 "met_contribute[" . $con_id . "][Role]",
2097 array(0 => $this->lng->txt('meta_please_select'))
2098 ));
2099 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_DATE", $this->lng->txt('meta_date'));
2100 $this->tpl->setVariable("CONTRIBUTE_LOOP_NO", $con_id);
2101 $this->tpl->setVariable("CONTRIBUTE_LOOP_VAL_DATE", ilUtil::prepareFormOutput($md_con->getDate()));
2102
2103 $this->tpl->parseCurrentBlock();
2104 }
2105 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt('save'));
2106 }

References $id, __fillSubelements(), __setTabs(), __showLanguageSelect(), ilMDUtilSelect\_getRoleSelect(), and ilUtil\prepareFormOutput().

+ Here is the call graph for this function:

◆ listQuickEdit()

ilMDEditorGUI::listQuickEdit ( )

Definition at line 361 of file class.ilMDEditorGUI.php.

362 {
363 global $DIC;
364
365 $tpl = $DIC['tpl'];
366
367 if (!is_object($this->md_section = $this->md_obj->getGeneral())) {
368 $this->md_section = $this->md_obj->addGeneral();
369 $this->md_section->save();
370 }
371
372 $this->__setTabs('meta_quickedit');
373
374
375 $interruptive_modal = $this->getChangeCopyrightModal();
376 $interruptive_signal = '';
377 $modal_content = '';
378 if ($interruptive_modal != null) {
379 $interruptive_signal = $interruptive_modal->getShowSignal();
380 $modal_content = $this->ui_renderer->render($interruptive_modal);
381 }
382 $form = $this->initQuickEditForm($interruptive_signal);
383
384 $tpl->setContent(
385 $modal_content . $form->getHTML()
386 );
387 }
getChangeCopyrightModal()
Get cnange copyright modal.
initQuickEditForm($a_signal_id)
Init quick edit form.

References $DIC, $form, $tpl, __setTabs(), getChangeCopyrightModal(), and initQuickEditForm().

Referenced by listSection(), and updateQuickEdit().

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

◆ listQuickEdit_scorm()

ilMDEditorGUI::listQuickEdit_scorm ( )
Deprecated:
with release 5_3

Definition at line 100 of file class.ilMDEditorGUI.php.

101 {
102 global $DIC;
103
104 $lng = $DIC['lng'];
105 if (!is_object($this->md_section = $this->md_obj->getGeneral())) {
106 $this->md_section = $this->md_obj->addGeneral();
107 $this->md_section->save();
108 }
109
110 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
111
112 $this->__setTabs('meta_quickedit');
113
114 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_quick_edit_scorm.html', 'Services/MetaData');
115
116 $this->ctrl->setReturn($this, 'listGeneral');
117 $this->ctrl->setParameter($this, 'section', 'meta_general');
118 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
119
120 $this->tpl->setVariable("TXT_QUICK_EDIT", $this->lng->txt("meta_quickedit"));
121 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
122 $this->tpl->setVariable("TXT_KEYWORD", $this->lng->txt("meta_keyword"));
123 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
124 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
125
126 // Language
127 $first = true;
128 foreach ($ids = $this->md_section->getLanguageIds() as $id) {
129 $md_lan = $this->md_section->getLanguage($id);
130
131 if ($first) {
132 $this->tpl->setCurrentBlock("language_head");
133 $this->tpl->setVariable("ROWSPAN_LANG", count($ids));
134 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
135 $this->tpl->parseCurrentBlock();
136 $first = false;
137 }
138
139 if (count($ids) > 1) {
140 $this->ctrl->setParameter($this, 'meta_index', $id);
141 $this->ctrl->setParameter($this, 'meta_path', 'meta_language');
142
143 $this->tpl->setCurrentBlock("language_delete");
144 $this->tpl->setVariable("LANGUAGE_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
145 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
146 $this->tpl->parseCurrentBlock();
147 }
148 $this->tpl->setCurrentBlock("language_loop");
149 $this->tpl->setVariable("LANGUAGE_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
150 'gen_language[' . $id . '][language]',
151 $md_lan->getLanguageCode()
152 ));
153 $this->tpl->parseCurrentBlock();
154 }
155
156 if ($first) {
157 $this->tpl->setCurrentBlock("language_head");
158 $this->tpl->setVariable("ROWSPAN_LANG", 1);
159 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
160 $this->tpl->parseCurrentBlock();
161 $this->tpl->setCurrentBlock("language_loop");
162 $this->tpl->setVariable("LANGUAGE_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
163 'gen_language[][language]',
164 ""
165 ));
166 $this->tpl->parseCurrentBlock();
167 }
168
169 // TITLE
170 $this->tpl->setVariable("TXT_TITLE", $this->lng->txt('title'));
171 $this->tpl->setVariable("VAL_TITLE", ilUtil::prepareFormOutput($this->md_section->getTitle()));
172 $this->tpl->setVariable("VAL_TITLE_LANGUAGE", $this->__showLanguageSelect(
173 'gen_title_language',
174 $this->md_section->getTitleLanguageCode()
175 ));
176
177 // DESCRIPTION
178 foreach ($ids = $this->md_section->getDescriptionIds() as $id) {
179 $md_des = $this->md_section->getDescription($id);
180
181 if (count($ids) > 1) {
182 $this->ctrl->setParameter($this, 'meta_index', $id);
183 $this->ctrl->setParameter($this, 'meta_path', 'meta_description');
184
185 $this->tpl->setCurrentBlock("description_delete");
186 $this->tpl->setVariable("DESCRIPTION_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
187 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
188 $this->tpl->parseCurrentBlock();
189 }
190
191 $this->tpl->setCurrentBlock("description_loop");
192 $this->tpl->setVariable("DESCRIPTION_LOOP_NO", $id);
193 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
194 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
195 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL", ilUtil::prepareFormOutput($md_des->getDescription()));
196 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
197 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
198 "gen_description[" . $id . '][language]',
199 $md_des->getDescriptionLanguageCode()
200 ));
201 $this->tpl->parseCurrentBlock();
202 }
203
204 // KEYWORD
205 $first = true;
206 $keywords = array();
207 foreach ($ids = $this->md_section->getKeywordIds() as $id) {
208 $md_key = $this->md_section->getKeyword($id);
209 $keywords[$md_key->getKeywordLanguageCode()][]
210 = $md_key->getKeyword();
211 }
212
213 foreach ($keywords as $lang => $keyword_set) {
214 if ($first) {
215 $this->tpl->setCurrentBlock("keyword_head");
216 $this->tpl->setVariable("ROWSPAN_KEYWORD", count($keywords));
217 $this->tpl->setVariable("TXT_COMMA_SEP2", $this->lng->txt('comma_separated'));
218 $this->tpl->setVariable("KEYWORD_LOOP_TXT_KEYWORD", $this->lng->txt("keywords"));
219 $this->tpl->parseCurrentBlock();
220 $first = false;
221 }
222
223 $this->tpl->setCurrentBlock("keyword_loop");
224 $this->tpl->setVariable("KEYWORD_LOOP_VAL", ilUtil::prepareFormOutput(
225 implode(", ", $keyword_set)
226 ));
227 $this->tpl->setVariable("LANG", $lang);
228 $this->tpl->setVariable("KEYWORD_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
229 "keyword[language][$lang]",
230 $lang
231 ));
232 $this->tpl->parseCurrentBlock();
233 }
234
235 if (count($keywords) == 0) {
236 $this->tpl->setCurrentBlock("keyword_head");
237 $this->tpl->setVariable("ROWSPAN_KEYWORD", 1);
238 $this->tpl->setVariable("TXT_COMMA_SEP2", $this->lng->txt('comma_separated'));
239 $this->tpl->setVariable("KEYWORD_LOOP_TXT_KEYWORD", $this->lng->txt("keywords"));
240 $this->tpl->parseCurrentBlock();
241 $this->tpl->setCurrentBlock("keyword_loop");
242 $this->tpl->setVariable("KEYWORD_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
243 "keyword[language][$lang]",
244 $lang
245 ));
246 }
247
248 // Lifecycle...
249 // experts
250 $this->tpl->setVariable("TXT_EXPERTS", $lng->txt('meta_subjectmatterexpert'));
251 $this->tpl->setVariable("TXT_COMMA_SEP", $this->lng->txt('comma_separated'));
252 $this->tpl->setVariable("TXT_SCOPROP_EXPERT", $this->lng->txt('sco_propagate'));
253 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
254 $sep = $ent_str = "";
255 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
256 $md_con = $this->md_section->getContribute($con_id);
257 if ($md_con->getRole() == "SubjectMatterExpert") {
258 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
259 $md_ent = $md_con->getEntity($ent_id);
260 $ent_str = $ent_str . $sep . $md_ent->getEntity();
261 $sep = ", ";
262 }
263 }
264 }
265 $this->tpl->setVariable("EXPERTS_VAL", ilUtil::prepareFormOutput($ent_str));
266 }
267 // InstructionalDesigner
268 $this->tpl->setVariable("TXT_DESIGNERS", $lng->txt('meta_instructionaldesigner'));
269 $this->tpl->setVariable("TXT_SCOPROP_DESIGNERS", $this->lng->txt('sco_propagate'));
270 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
271 $sep = $ent_str = "";
272 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
273 $md_con = $this->md_section->getContribute($con_id);
274 if ($md_con->getRole() == "InstructionalDesigner") {
275 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
276 $md_ent = $md_con->getEntity($ent_id);
277 $ent_str = $ent_str . $sep . $md_ent->getEntity();
278 $sep = ", ";
279 }
280 }
281 }
282 $this->tpl->setVariable("DESIGNERS_VAL", ilUtil::prepareFormOutput($ent_str));
283 }
284 // Point of Contact
285 $this->tpl->setVariable("TXT_POC", $lng->txt('meta_pointofcontact'));
286 $this->tpl->setVariable("TXT_SCOPROP_POC", $this->lng->txt('sco_propagate'));
287 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
288 $sep = $ent_str = "";
289 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
290 $md_con = $this->md_section->getContribute($con_id);
291 if ($md_con->getRole() == "PointOfContact") {
292 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
293 $md_ent = $md_con->getEntity($ent_id);
294 $ent_str = $ent_str . $sep . $md_ent->getEntity();
295 $sep = ", ";
296 }
297 }
298 }
299 $this->tpl->setVariable("POC_VAL", ilUtil::prepareFormOutput($ent_str));
300 }
301
302 $this->tpl->setVariable("TXT_STATUS", $this->lng->txt('meta_status'));
303 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
304 $this->md_section = $this->md_obj->addLifecycle();
305 $this->md_section->save();
306 }
307 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
308 $this->tpl->setVariable("SEL_STATUS", ilMDUtilSelect::_getStatusSelect(
309 $this->md_section->getStatus(),
310 "lif_status",
311 array(0 => $this->lng->txt('meta_please_select'))
312 ));
313 }
314
315 // Rights...
316 // Copyright
317 // smeyer 2018-09-14 not supported
318
319 $tlt = array(0,0,0,0,0);
320 $valid = true;
321 if (is_object($this->md_section = $this->md_obj->getEducational())) {
322 include_once 'Services/MetaData/classes/class.ilMDUtils.php';
323
324 if (!$tlt = ilMDUtils::_LOMDurationToArray($this->md_section->getTypicalLearningTime())) {
325 if (strlen($this->md_section->getTypicalLearningTime())) {
326 $tlt = array(0,0,0,0,0);
327 $valid = false;
328 }
329 }
330 }
331 $this->tpl->setVariable("TXT_MONTH", $this->lng->txt('md_months'));
332 $this->tpl->setVariable("SEL_MONTHS", $this->__buildMonthsSelect($tlt[0]));
333 $this->tpl->setVariable("SEL_DAYS", $this->__buildDaysSelect($tlt[1]));
334
335 $this->tpl->setVariable("TXT_DAYS", $this->lng->txt('md_days'));
336 $this->tpl->setVariable("TXT_TIME", $this->lng->txt('md_time'));
337
338 $this->tpl->setVariable("TXT_TYPICAL_LEARN_TIME", $this->lng->txt('meta_typical_learning_time'));
339 $this->tpl->setVariable("SEL_TLT", ilUtil::makeTimeSelect(
340 'tlt',
341 $tlt[4] ? false : true,
342 $tlt[2],
343 $tlt[3],
344 $tlt[4],
345 false
346 ));
347 $this->tpl->setVariable("TLT_HINT", $tlt[4] ? '(hh:mm:ss)' : '(hh:mm)');
348
349 if (!$valid) {
350 $this->tpl->setCurrentBlock("tlt_not_valid");
351 $this->tpl->setVariable("TXT_CURRENT_VAL", $this->lng->txt('meta_current_value'));
352 $this->tpl->setVariable("TLT", $this->md_section->getTypicalLearningTime());
353 $this->tpl->setVariable("INFO_TLT_NOT_VALID", $this->lng->txt('meta_info_tlt_not_valid'));
354 $this->tpl->parseCurrentBlock();
355 }
356
357
358 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt('save'));
359 }

References $DIC, $id, $lang, $lng, $valid, __buildDaysSelect(), __buildMonthsSelect(), __setTabs(), __showLanguageSelect(), ilMDUtilSelect\_getStatusSelect(), ilMDUtils\_LOMDurationToArray(), ilUtil\makeTimeSelect(), and ilUtil\prepareFormOutput().

Referenced by listSection().

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

◆ listQuickEditCopyright()

ilMDEditorGUI::listQuickEditCopyright ( ilPropertyFormGUI  $form)
protected

Show copyright selecetion.

Parameters
ilPropertyFormGUI$form

Definition at line 548 of file class.ilMDEditorGUI.php.

549 {
550 $md_settings = ilMDSettings::_getInstance();
551 $oer_settings = ilOerHarvesterSettings::getInstance();
552
555 $this->md_obj->getRBACId(),
556 $this->md_obj->getObjId()
557 );
558
559 //current id can be 0 for non predefined copyright.
560 //Todo add new DB column with copyright id instead of parse descriptions to get entry ID.
561 if ($description) {
563 } else {
565 }
566
567 if (
568 !$this->md_settings->isCopyrightSelectionActive() ||
569 !count($cp_entries)
570 ) {
571 return true;
572 }
573
574 $copyright = new ilRadioGroupInputGUI($this->lng->txt('meta_copyright'), 'copyright');
575 $copyright->setValue($current_id);
576
577
578 foreach ($cp_entries as $copyright_entry) {
579 $radio_entry = new ilRadioOption(
580 $copyright_entry->getTitle(),
581 $copyright_entry->getEntryId(),
582 $copyright_entry->getDescription()
583 );
584
585 if ($copyright_entry->getOutdated()) {
586 $radio_entry->setTitle("(" . $this->lng->txt('meta_copyright_outdated') . ") " . $radio_entry->getTitle());
587 $radio_entry->setDisabled(true);
588 }
589
590 if (
591 $oer_settings->supportsHarvesting($this->md_obj->getObjType()) &&
592 $oer_settings->isActiveCopyrightTemplate($copyright_entry->getEntryId())
593 ) {
594 // block harvesting
595 $blocked = new ilCheckboxInputGUI(
596 $this->lng->txt('meta_oer_blocked'),
597 'copyright_oer_blocked_' . $copyright_entry->getEntryId()
598 );
599 $blocked->setInfo($this->lng->txt('meta_oer_blocked_info'));
600 $blocked->setValue(1);
601 $status = new ilOerHarvesterObjectStatus($this->md_obj->getRBACId());
602 if ($status->isBlocked()) {
603 $blocked->setChecked(true);
604 }
605 $radio_entry->addSubItem($blocked);
606 }
607
608
609 $copyright->addOption($radio_entry);
610 }
611
612 // add own selection
613 $own_selection = new ilRadioOption(
614 $this->lng->txt('meta_cp_own'),
615 'copyright_text'
616 );
617 $own_selection->setValue(0);
618
619 // copyright text
620 $own_copyright = new ilTextAreaInputGUI(
621 '',
622 'copyright_text'
623 );
624 if ($current_id == 0) {
625 $own_copyright->setValue($description);
626 }
627 $own_selection->addSubItem($own_copyright);
628 $copyright->addOption($own_selection);
629 $form->addItem($copyright);
630 }
This class represents a checkbox property in a property form.
static _extractEntryId($a_cp_string)
extract entry id
static _lookupDescription($a_rbac_id, $a_obj_id)
Lookup description (copyright)
This class represents a property in a property form.
This class represents an option in a radio group.

References $description, $form, ilMDCopyrightSelectionEntry\_extractEntryId(), ilMDCopyrightSelectionEntry\_getEntries(), ilMDSettings\_getInstance(), ilMDRights\_lookupDescription(), ilMDCopyrightSelectionEntry\getDefault(), and ilOerHarvesterSettings\getInstance().

Referenced by initQuickEditForm().

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

◆ listRelation()

ilMDEditorGUI::listRelation ( )

Definition at line 2577 of file class.ilMDEditorGUI.php.

2578 {
2579 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2580 $this->__setTabs('meta_relation');
2581 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_relation.html', 'Services/MetaData');
2582
2583 $rel_ids = $this->md_obj->getRelationIds();
2584 if (!is_array($rel_ids) || count($rel_ids) == 0) {
2585 $this->tpl->setCurrentBlock("no_relation");
2586 $this->tpl->setVariable("TXT_NO_RELATION", $this->lng->txt("meta_no_relation"));
2587 $this->tpl->setVariable("TXT_ADD_RELATION", $this->lng->txt("meta_add"));
2588 $this->ctrl->setParameter($this, "section", "meta_relation");
2589 $this->tpl->setVariable(
2590 "ACTION_ADD_RELATION",
2591 $this->ctrl->getLinkTarget($this, "addSection")
2592 );
2593 $this->tpl->parseCurrentBlock();
2594 } else {
2595 foreach ($rel_ids as $rel_id) {
2596 $this->md_section = $this->md_obj->getRelation($rel_id);
2597
2598 $this->ctrl->setParameter($this, 'meta_index', $rel_id);
2599 $this->ctrl->setParameter($this, "section", "meta_relation");
2600
2601 /* Identifier_ */
2602 $res_ids = $this->md_section->getIdentifier_Ids();
2603 foreach ($res_ids as $res_id) {
2604 $ident = $this->md_section->getIdentifier_($res_id);
2605 $this->ctrl->setParameter($this, "meta_index", $res_id);
2606
2607 if (count($res_ids) > 1) {
2608 $this->tpl->setCurrentBlock("identifier_delete");
2609 $this->ctrl->setParameter($this, "meta_path", "relation_resource_identifier");
2610 $this->tpl->setVariable(
2611 "IDENTIFIER_LOOP_ACTION_DELETE",
2612 $this->ctrl->getLinkTarget($this, "deleteElement")
2613 );
2614 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2615 $this->tpl->parseCurrentBlock();
2616 }
2617
2618 $this->tpl->setCurrentBlock("identifier_loop");
2619
2620 $this->tpl->setVariable("IDENTIFIER_LOOP_NO", $res_id);
2621 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
2622 $this->ctrl->setParameter($this, 'meta_index', $rel_id);
2623 $this->ctrl->setParameter($this, "section_element", "relation_resource_identifier");
2624 $this->tpl->setVariable(
2625 "IDENTIFIER_LOOP_ACTION_ADD",
2626 $this->ctrl->getLinkTarget($this, "addSectionElement")
2627 );
2628 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2629 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_ENTRY", $this->lng->txt("meta_entry"));
2630 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_CATALOG", $this->lng->txt("meta_catalog"));
2631 $this->tpl->setVariable(
2632 "IDENTIFIER_LOOP_VAL_CATALOG",
2633 ilUtil::prepareFormOutput($ident->getCatalog())
2634 );
2635 $this->tpl->setVariable(
2636 "IDENTIFIER_LOOP_VAL_ENTRY",
2637 ilUtil::prepareFormOutput($ident->getEntry())
2638 );
2639 $this->tpl->parseCurrentBlock();
2640 }
2641
2642 /* Description */
2643 $res_dess = $this->md_section->getDescriptionIds();
2644 foreach ($res_dess as $res_des) {
2645 $des = $this->md_section->getDescription($res_des);
2646 $this->ctrl->setParameter($this, "meta_index", $res_des);
2647
2648 if (count($res_dess) > 1) {
2649 $this->tpl->setCurrentBlock("description_delete");
2650 $this->ctrl->setParameter($this, "meta_path", "relation_resource_description");
2651 $this->tpl->setVariable(
2652 "DESCRIPTION_LOOP_ACTION_DELETE",
2653 $this->ctrl->getLinkTarget($this, "deleteElement")
2654 );
2655 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2656 $this->tpl->parseCurrentBlock();
2657 }
2658
2659 $this->tpl->setCurrentBlock("description_loop");
2660 $this->tpl->setVariable("DESCRIPTION_LOOP_NO", $res_des);
2661 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2662 $this->ctrl->setParameter($this, 'meta_index', $rel_id);
2663 $this->ctrl->setParameter($this, "section_element", "relation_resource_description");
2664 $this->tpl->setVariable(
2665 "DESCRIPTION_LOOP_ACTION_ADD",
2666 $this->ctrl->getLinkTarget($this, "addSectionElement")
2667 );
2668 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2669 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2670 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2671 $this->tpl->setVariable(
2672 "DESCRIPTION_LOOP_VAL",
2673 ilUtil::prepareFormOutput($des->getDescription())
2674 );
2675 $this->tpl->setVariable(
2676 "DESCRIPTION_LOOP_VAL_LANGUAGE",
2677 $this->__showLanguageSelect(
2678 'relation[Resource][Description][' . $res_des . '][Language]',
2679 $des->getDescriptionLanguageCode()
2680 )
2681 );
2682 $this->tpl->parseCurrentBlock();
2683 }
2684
2685 $this->tpl->setCurrentBlock("relation_loop");
2686 $this->tpl->setVariable("REL_ID", $rel_id);
2687 $this->tpl->setVariable("TXT_RELATION", $this->lng->txt("meta_relation"));
2688 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
2689 $this->tpl->setVariable(
2690 "ACTION_DELETE",
2691 $this->ctrl->getLinkTarget($this, "deleteSection")
2692 );
2693 $this->ctrl->setParameter($this, "section", "meta_relation");
2694 $this->tpl->setVariable(
2695 "ACTION_ADD",
2696 $this->ctrl->getLinkTarget($this, "addSection")
2697 );
2698 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2699 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
2700 $this->tpl->setVariable("TXT_NEW_ELEMENT", $this->lng->txt("meta_new_element"));
2701 $this->tpl->setVariable("TXT_KIND", $this->lng->txt("meta_kind"));
2702 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
2703 $this->tpl->setVariable("TXT_ISPARTOF", $this->lng->txt("meta_is_part_of"));
2704 $this->tpl->setVariable("TXT_HASPART", $this->lng->txt("meta_has_part"));
2705 $this->tpl->setVariable("TXT_ISVERSIONOF", $this->lng->txt("meta_is_version_of"));
2706 $this->tpl->setVariable("TXT_HASVERSION", $this->lng->txt("meta_has_version"));
2707 $this->tpl->setVariable("TXT_ISFORMATOF", $this->lng->txt("meta_is_format_of"));
2708 $this->tpl->setVariable("TXT_HASFORMAT", $this->lng->txt("meta_has_format"));
2709 $this->tpl->setVariable("TXT_REFERENCES", $this->lng->txt("meta_references"));
2710 $this->tpl->setVariable("TXT_ISREFERENCEDBY", $this->lng->txt("meta_is_referenced_by"));
2711 $this->tpl->setVariable("TXT_ISBASEDON", $this->lng->txt("meta_is_based_on"));
2712 $this->tpl->setVariable("TXT_ISBASISFOR", $this->lng->txt("meta_is_basis_for"));
2713 $this->tpl->setVariable("TXT_REQUIRES", $this->lng->txt("meta_requires"));
2714 $this->tpl->setVariable("TXT_ISREQUIREDBY", $this->lng->txt("meta_is_required_by"));
2715 $this->tpl->setVariable("TXT_RESOURCE", $this->lng->txt("meta_resource"));
2716 $this->tpl->setVariable("VAL_KIND_" . strtoupper($this->md_section->getKind()), " selected");
2717 $this->tpl->parseCurrentBlock();
2718 }
2719
2720 $this->tpl->setCurrentBlock("relation");
2721 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
2722 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2723 $this->tpl->parseCurrentBlock();
2724 }
2725 }

References __setTabs(), __showLanguageSelect(), and ilUtil\prepareFormOutput().

Referenced by listSection().

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

◆ listRights()

ilMDEditorGUI::listRights ( )

Definition at line 2154 of file class.ilMDEditorGUI.php.

2155 {
2156 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2157 $this->__setTabs('meta_rights');
2158 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_rights.html', 'Services/MetaData');
2159
2160 if (!is_object($this->md_section = $this->md_obj->getRights())) {
2161 $this->tpl->setCurrentBlock("no_rights");
2162 $this->tpl->setVariable("TXT_NO_RIGHTS", $this->lng->txt("meta_no_rights"));
2163 $this->tpl->setVariable("TXT_ADD_RIGHTS", $this->lng->txt("meta_add"));
2164 $this->ctrl->setParameter($this, "section", "meta_rights");
2165 $this->tpl->setVariable(
2166 "ACTION_ADD_RIGHTS",
2167 $this->ctrl->getLinkTarget($this, "addSection")
2168 );
2169 $this->tpl->parseCurrentBlock();
2170 } else {
2171 $this->ctrl->setReturn($this, 'listRights');
2172 $this->ctrl->setParameter($this, 'section', 'meta_rights');
2173 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
2174
2175 $this->tpl->setVariable("TXT_RIGHTS", $this->lng->txt("meta_rights"));
2176 $this->tpl->setVariable("TXT_COST", $this->lng->txt("meta_cost"));
2177 $this->tpl->setVariable("TXT_COPYRIGHTANDOTHERRESTRICTIONS", $this->lng->txt("meta_copyright_and_other_restrictions"));
2178 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
2179 $this->tpl->setVariable("TXT_YES", $this->lng->txt("meta_yes"));
2180 $this->tpl->setVariable("TXT_NO", $this->lng->txt("meta_no"));
2181
2182 $this->ctrl->setParameter($this, "section", "meta_rights");
2183 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
2184 $this->tpl->setVariable(
2185 "ACTION_DELETE",
2186 $this->ctrl->getLinkTarget($this, "deleteSection")
2187 );
2188
2189 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2190
2191 $this->tpl->setVariable("VAL_COST_" . strtoupper($this->md_section->getCosts()), " selected");
2192 $this->tpl->setVariable("VAL_COPYRIGHTANDOTHERRESTRICTIONS_" .
2193 strtoupper($this->md_section->getCopyrightAndOtherRestrictions()), " selected");
2194
2195 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2196 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2197 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL", ilUtil::prepareFormOutput($this->md_section->getDescription()));
2198 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2199 $this->tpl->setVariable(
2200 "DESCRIPTION_LOOP_VAL_LANGUAGE",
2201 $this->__showLanguageSelect(
2202 'rights[DescriptionLanguage]',
2203 $this->md_section->getDescriptionLanguageCode()
2204 )
2205 );
2206
2207 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2208
2209 $this->tpl->setCurrentBlock("rights");
2210 $this->tpl->parseCurrentBlock();
2211 }
2212 }

References __setTabs(), __showLanguageSelect(), and ilUtil\prepareFormOutput().

Referenced by listSection().

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

◆ listSection()

ilMDEditorGUI::listSection ( )

Definition at line 3348 of file class.ilMDEditorGUI.php.

3349 {
3350 switch ($_REQUEST['section']) {
3351 case 'meta_general':
3352 return $this->listGeneral();
3353
3354 case 'meta_lifecycle':
3355 return $this->listLifecycle();
3356
3357 case 'meta_technical':
3358 return $this->listTechnical();
3359
3360 case 'meta_meta_metadata':
3361 return $this->listMetaMetadata();
3362
3363 case 'debug':
3364 return $this->debug();
3365
3366 case 'meta_rights':
3367 return $this->listRights();
3368
3369 case 'meta_educational':
3370 return $this->listEducational();
3371
3372 case 'meta_relation':
3373 return $this->listRelation();
3374
3375 case 'meta_annotation':
3376 return $this->listAnnotation();
3377
3378 case 'meta_classification':
3379 return $this->listClassification();
3380
3381 default:
3382 if ($this->md_obj->obj_type == 'sahs' || $this->md_obj->obj_type == 'sco') {
3383 return $this->listQuickEdit_scorm();
3384 } else {
3385 return $this->listQuickEdit();
3386 }
3387 }
3388 }

References debug(), listAnnotation(), listClassification(), listEducational(), listGeneral(), listLifecycle(), listQuickEdit(), listQuickEdit_scorm(), listRelation(), listRights(), and listTechnical().

Referenced by addSection(), addSectionElement(), deleteElement(), deleteSection(), updateAnnotation(), updateClassification(), updateEducational(), updateLifecycle(), updateMetaMetaData(), updateRelation(), updateRights(), and updateTechnical().

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

◆ listTechnical()

ilMDEditorGUI::listTechnical ( )

Definition at line 1565 of file class.ilMDEditorGUI.php.

1566 {
1567 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
1568 $this->__setTabs('meta_technical');
1569 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_technical.html', 'Services/MetaData');
1570
1571
1572 $this->ctrl->setParameter($this, "section", "meta_technical");
1573 if (!is_object($this->md_section = $this->md_obj->getTechnical())) {
1574 $this->tpl->setCurrentBlock("no_technical");
1575 $this->tpl->setVariable("TXT_NO_TECHNICAL", $this->lng->txt("meta_no_technical"));
1576 $this->tpl->setVariable("TXT_ADD_TECHNICAL", $this->lng->txt("meta_add"));
1577 $this->tpl->setVariable("ACTION_ADD_TECHNICAL", $this->ctrl->getLinkTarget($this, "addSection"));
1578 $this->tpl->parseCurrentBlock();
1579
1580 return true;
1581 }
1582 $this->ctrl->setReturn($this, 'listTechnical');
1583 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
1584
1585 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
1586 $this->tpl->setVariable("TXT_TECHNICAL", $this->lng->txt('meta_technical'));
1587
1588 // Delete link
1589 $this->tpl->setVariable(
1590 "ACTION_DELETE",
1591 $this->ctrl->getLinkTarget($this, "deleteSection")
1592 );
1593 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt('delete'));
1594
1595 // New element
1596 $this->__fillSubelements();
1597
1598 // Format
1599 foreach ($ids = $this->md_section->getFormatIds() as $id) {
1600 $md_for = &$this->md_section->getFormat($id);
1601
1602 $this->tpl->setCurrentBlock("format_loop");
1603
1604 $this->ctrl->setParameter($this, 'meta_index', $id);
1605 $this->ctrl->setParameter($this, 'meta_path', 'meta_format');
1606 $this->tpl->setVariable("FORMAT_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1607 $this->tpl->setVariable("FORMAT_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1608
1609 $this->tpl->setVariable("FORMAT_LOOP_NO", $id);
1610 $this->tpl->setVariable("FORMAT_LOOP_TXT_FORMAT", $this->lng->txt('meta_format'));
1611 $this->tpl->setVariable("FORMAT_LOOP_VAL", ilUtil::prepareFormOutput($md_for->getFormat()));
1612
1613 $this->tpl->parseCurrentBlock();
1614 }
1615 // Size
1616 $this->tpl->setVariable("SIZE_TXT_SIZE", $this->lng->txt('meta_size'));
1617 $this->tpl->setVariable("SIZE_VAL", ilUtil::prepareFormOutput($this->md_section->getSize()));
1618
1619 // Location
1620 foreach ($ids = $this->md_section->getLocationIds() as $id) {
1621 $md_loc = &$this->md_section->getLocation($id);
1622
1623 $this->tpl->setCurrentBlock("location_loop");
1624
1625 $this->ctrl->setParameter($this, 'meta_index', $id);
1626 $this->ctrl->setParameter($this, 'meta_path', 'meta_location');
1627 $this->tpl->setVariable("LOCATION_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1628 $this->tpl->setVariable("LOCATION_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1629
1630 $this->tpl->setVariable("LOCATION_LOOP_TXT_LOCATION", $this->lng->txt('meta_location'));
1631 $this->tpl->setVariable("LOCATION_LOOP_NO", $id);
1632 $this->tpl->setVariable("LOCATION_LOOP_TXT_TYPE", $this->lng->txt('meta_type'));
1633 $this->tpl->setVariable("LOCATION_LOOP_VAL", ilUtil::prepareFormOutput($md_loc->getLocation()));
1634
1635 $this->tpl->setVariable(
1636 "SEL_LOCATION_TYPE",
1638 $md_loc->getLocationType(),
1639 "met_location[" . $id . "][Type]",
1640 array(0 => $this->lng->txt('meta_please_select'))
1641 )
1642 );
1643 $this->tpl->parseCurrentBlock();
1644 }
1645 // Requirement
1646 foreach ($ids = $this->md_section->getRequirementIds() as $id) {
1647 $md_re = &$this->md_section->getRequirement($id);
1648
1649 $this->tpl->setCurrentBlock("requirement_loop");
1650
1651 $this->ctrl->setParameter($this, 'meta_index', $id);
1652 $this->ctrl->setParameter($this, 'meta_path', 'meta_requirement');
1653 $this->tpl->setVariable("REQUIREMENT_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1654 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1655
1656 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_REQUIREMENT", $this->lng->txt('meta_requirement'));
1657 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_TYPE", $this->lng->txt('meta_type'));
1658 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_OPERATINGSYSTEM", $this->lng->txt('meta_operating_system'));
1659 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_BROWSER", $this->lng->txt('meta_browser'));
1660 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_NAME", $this->lng->txt('meta_name'));
1661 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_MINIMUMVERSION", $this->lng->txt('meta_minimum_version'));
1662 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_MAXIMUMVERSION", $this->lng->txt('meta_maximum_version'));
1663
1664 $this->tpl->setVariable("REQUIREMENT_LOOP_NO", $id);
1665 $this->tpl->setVariable(
1666 "REQUIREMENT_SEL_OS_NAME",
1668 $md_re->getOperatingSystemName(),
1669 "met_re[" . $id . "][os][name]",
1670 array(0 => $this->lng->txt('meta_please_select'))
1671 )
1672 );
1673 $this->tpl->setVariable(
1674 "REQUIREMENT_SEL_BROWSER_NAME",
1676 $md_re->getBrowserName(),
1677 "met_re[" . $id . "][browser][name]",
1678 array(0 => $this->lng->txt('meta_please_select'))
1679 )
1680 );
1681
1682 $this->tpl->setVariable(
1683 "REQUIREMENT_LOOP_VAL_OPERATINGSYSTEM_MINIMUMVERSION",
1684 ilUtil::prepareFormOutput($md_re->getOperatingSystemMinimumVersion())
1685 );
1686
1687 $this->tpl->setVariable(
1688 "REQUIREMENT_LOOP_VAL_OPERATINGSYSTEM_MAXIMUMVERSION",
1689 ilUtil::prepareFormOutput($md_re->getOperatingSystemMaximumVersion())
1690 );
1691
1692 $this->tpl->setVariable(
1693 "REQUIREMENT_LOOP_VAL_BROWSER_MINIMUMVERSION",
1694 ilUtil::prepareFormOutput($md_re->getBrowserMinimumVersion())
1695 );
1696
1697 $this->tpl->setVariable(
1698 "REQUIREMENT_LOOP_VAL_BROWSER_MAXIMUMVERSION",
1699 ilUtil::prepareFormOutput($md_re->getBrowserMaximumVersion())
1700 );
1701 $this->tpl->parseCurrentBlock();
1702 }
1703 // OrComposite
1704 foreach ($ids = $this->md_section->getOrCompositeIds() as $or_id) {
1705 $md_or = &$this->md_section->getOrComposite($or_id);
1706 foreach ($ids = $md_or->getRequirementIds() as $id) {
1707 $md_re = &$this->md_section->getRequirement($id);
1708
1709 $this->tpl->setCurrentBlock("orrequirement_loop");
1710
1711 $this->ctrl->setParameter($this, 'meta_index', $id);
1712 $this->ctrl->setParameter($this, 'meta_path', 'meta_requirement');
1713 $this->tpl->setVariable("ORREQUIREMENT_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1714 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1715
1716 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_REQUIREMENT", $this->lng->txt('meta_requirement'));
1717 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_TYPE", $this->lng->txt('meta_type'));
1718 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_OPERATINGSYSTEM", $this->lng->txt('meta_operating_system'));
1719 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_BROWSER", $this->lng->txt('meta_browser'));
1720 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_NAME", $this->lng->txt('meta_name'));
1721 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_MINIMUMVERSION", $this->lng->txt('meta_minimum_version'));
1722 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_MAXIMUMVERSION", $this->lng->txt('meta_maximum_version'));
1723
1724 $this->tpl->setVariable("ORREQUIREMENT_LOOP_NO", $id);
1725 $this->tpl->setVariable(
1726 "ORREQUIREMENT_SEL_OS_NAME",
1728 $md_re->getOperatingSystemName(),
1729 "met_re[" . $id . "][os][name]",
1730 array(0 => $this->lng->txt('meta_please_select'))
1731 )
1732 );
1733 $this->tpl->setVariable(
1734 "ORREQUIREMENT_SEL_BROWSER_NAME",
1736 $md_re->getBrowserName(),
1737 "met_re[" . $id . "][browser][name]",
1738 array(0 => $this->lng->txt('meta_please_select'))
1739 )
1740 );
1741
1742 $this->tpl->setVariable(
1743 "ORREQUIREMENT_LOOP_VAL_OPERATINGSYSTEM_MINIMUMVERSION",
1744 ilUtil::prepareFormOutput($md_re->getOperatingSystemMinimumVersion())
1745 );
1746
1747 $this->tpl->setVariable(
1748 "ORREQUIREMENT_LOOP_VAL_OPERATINGSYSTEM_MAXIMUMVERSION",
1749 ilUtil::prepareFormOutput($md_re->getOperatingSystemMaximumVersion())
1750 );
1751
1752 $this->tpl->setVariable(
1753 "ORREQUIREMENT_LOOP_VAL_BROWSER_MINIMUMVERSION",
1754 ilUtil::prepareFormOutput($md_re->getBrowserMinimumVersion())
1755 );
1756
1757 $this->tpl->setVariable(
1758 "ORREQUIREMENT_LOOP_VAL_BROWSER_MAXIMUMVERSION",
1759 ilUtil::prepareFormOutput($md_re->getBrowserMaximumVersion())
1760 );
1761 $this->tpl->parseCurrentBlock();
1762 }
1763 $this->tpl->setCurrentBlock("orcomposite_loop");
1764
1765 $this->ctrl->setParameter($this, 'meta_index', $or_id);
1766 $this->ctrl->setParameter($this, 'meta_path', 'meta_or_composite');
1767 $this->ctrl->setParameter($this, 'meta_technical', $this->md_section->getMetaId());
1768 $this->tpl->setVariable("ORCOMPOSITE_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1769 $this->tpl->setVariable("ORCOMPOSITE_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1770
1771 $this->tpl->setVariable("ORCOMPOSITE_LOOP_TXT_ORCOMPOSITE", $this->lng->txt('meta_or_composite'));
1772 $this->tpl->parseCurrentBlock();
1773 }
1774
1775 // InstallationRemarks
1776 $this->tpl->setVariable("INSTALLATIONREMARKS_TXT_INSTALLATIONREMARKS", $this->lng->txt('meta_installation_remarks'));
1777 $this->tpl->setVariable("INSTALLATIONREMARKS_TXT_LANGUAGE", $this->lng->txt('meta_language'));
1778
1779 $this->tpl->setVariable("INSTALLATIONREMARKS_VAL", ilUtil::prepareFormOutput($this->md_section->getInstallationRemarks()));
1780 $this->tpl->setVariable(
1781 "INSTALLATIONREMARKS_VAL_LANGUAGE",
1782 $this->__showLanguageSelect(
1783 'inst_language',
1784 $this->md_section->getInstallationRemarksLanguageCode()
1785 )
1786 );
1787
1788 // Other platform requirement
1789 $this->tpl->setVariable(
1790 "OTHERPLATTFORMREQUIREMENTS_TXT_OTHERPLATTFORMREQUIREMENTS",
1791 $this->lng->txt('meta_other_plattform_requirements')
1792 );
1793 $this->tpl->setVariable("OTHERPLATTFORMREQUIREMENTS_TXT_LANGUAGE", $this->lng->txt('meta_language'));
1794
1795 $this->tpl->setVariable(
1796 "OTHERPLATTFORMREQUIREMENTS_VAL",
1797 ilUtil::prepareFormOutput($this->md_section->getOtherPlatformRequirements())
1798 );
1799 $this->tpl->setVariable(
1800 "OTHERPLATTFORMREQUIREMENTS_VAL_LANGUAGE",
1801 $this->__showLanguageSelect(
1802 'opr_language',
1803 $this->md_section->getOtherPlatformRequirementsLanguageCode()
1804 )
1805 );
1806
1807 // Duration
1808 $this->tpl->setVariable("DURATION_TXT_DURATION", $this->lng->txt('meta_duration'));
1809 $this->tpl->setVariable("DURATION_VAL", ilUtil::prepareFormOutput($this->md_section->getDuration()));
1810
1811 $this->tpl->setCurrentBlock("technical");
1812 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt('save'));
1813 $this->tpl->parseCurrentBlock();
1814 }
static _getLocationTypeSelect($a_selected, $a_name, $prepend=array())
Prepare a meta location type.
static _getOperatingSystemSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta technical os selector.
static _getBrowserSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta technical browser selector.

References $id, __fillSubelements(), __setTabs(), __showLanguageSelect(), ilMDUtilSelect\_getBrowserSelect(), ilMDUtilSelect\_getLocationTypeSelect(), ilMDUtilSelect\_getOperatingSystemSelect(), and ilUtil\prepareFormOutput().

Referenced by listSection().

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

◆ updateAnnotation()

ilMDEditorGUI::updateAnnotation ( )

Definition at line 2836 of file class.ilMDEditorGUI.php.

2837 {
2838 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2839
2840 // relation
2841 foreach ($ids = $this->md_obj->getAnnotationIds() as $id) {
2842 // entity
2843 $annotation = $this->md_obj->getAnnotation($id);
2844 $annotation->setEntity(ilUtil::stripSlashes($_POST['annotation'][$id]['Entity']));
2845 $annotation->setDate(ilUtil::stripSlashes($_POST['annotation'][$id]['Date']));
2846 $annotation->setDescription(ilUtil::stripSlashes($_POST['annotation'][$id]['Description']));
2847 $annotation->setDescriptionLanguage(
2848 new ilMDLanguageItem($_POST['annotation'][$id]['Language'])
2849 );
2850
2851 $annotation->update();
2852 }
2853
2854 $this->callListeners('Annotation');
2855 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2856 $this->listSection();
2857 }
callListeners($a_element)

References $_POST, $id, callListeners(), listSection(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ updateClassification()

ilMDEditorGUI::updateClassification ( )

Definition at line 3073 of file class.ilMDEditorGUI.php.

3074 {
3075 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
3076
3077 // relation
3078 foreach ($ids = $this->md_obj->getClassificationIds() as $id) {
3079 // entity
3080 $classification = $this->md_obj->getClassification($id);
3081 $classification->setPurpose($_POST['classification'][$id]['Purpose']);
3082
3083 $classification->setDescription(ilUtil::stripSlashes($_POST['classification'][$id]['Description']));
3084 $classification->setDescriptionLanguage(
3085 new ilMDLanguageItem($_POST['classification'][$id]['Language'])
3086 );
3087
3088 $classification->update();
3089
3090 $key_ids = $classification->getKeywordIds();
3091 foreach ($key_ids as $key_id) {
3092 $keyword = $classification->getKeyword($key_id);
3093 $keyword->setKeyword(ilUtil::stripSlashes($_POST['classification']['Keyword'][$key_id]['Value']));
3094 $keyword->setKeywordLanguage(
3095 new ilMDLanguageItem($_POST['classification']['Keyword'][$key_id]['Language'])
3096 );
3097 $keyword->update();
3098 }
3099
3100 $tp_ids = $classification->getTaxonPathIds();
3101 foreach ($tp_ids as $tp_id) {
3102 $tax_path = $classification->getTaxonPath($tp_id);
3103 $tax_path->setSource(ilUtil::stripSlashes($_POST['classification']['TaxonPath'][$tp_id]['Source']['Value']));
3104 $tax_path->setSourceLanguage(
3105 new ilMDLanguageItem($_POST['classification']['TaxonPath'][$tp_id]['Source']['Language'])
3106 );
3107 $tax_path->update();
3108
3109 $tax_ids = $tax_path->getTaxonIds();
3110
3111 foreach ($tax_ids as $tax_id) {
3112 $taxon = $tax_path->getTaxon($tax_id);
3113 $taxon->setTaxon(ilUtil::stripSlashes($_POST['classification']['TaxonPath']['Taxon'][$tax_id]['Value']));
3114 $taxon->setTaxonLanguage(
3115 new ilMDLanguageItem($_POST['classification']['TaxonPath']['Taxon'][$tax_id]['Language'])
3116 );
3117 $taxon->setTaxonId(ilUtil::stripSlashes($_POST['classification']['TaxonPath']['Taxon'][$tax_id]['Id']));
3118 $taxon->update();
3119 }
3120 }
3121 }
3122
3123 $this->callListeners('Classification');
3124 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
3125 $this->listSection();
3126 }

References $_POST, $id, callListeners(), listSection(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ updateEducational()

ilMDEditorGUI::updateEducational ( )

Definition at line 2506 of file class.ilMDEditorGUI.php.

2507 {
2508 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2509
2510 // update rights section
2511 $this->md_section = $this->md_obj->getEducational();
2512 $this->md_section->setInteractivityType($_POST['educational']['InteractivityType']);
2513 $this->md_section->setLearningResourceType($_POST['educational']['LearningResourceType']);
2514 $this->md_section->setInteractivityLevel($_POST['educational']['InteractivityLevel']);
2515 $this->md_section->setSemanticDensity($_POST['educational']['SemanticDensity']);
2516 $this->md_section->setIntendedEndUserRole($_POST['educational']['IntendedEndUserRole']);
2517 $this->md_section->setContext($_POST['educational']['Context']);
2518 $this->md_section->setDifficulty($_POST['educational']['Difficulty']);
2519
2520
2521 // TLT
2522
2523 if ($_POST['tlt']['mo'] or $_POST['tlt']['d'] or
2524 $_POST['tlt']['h'] or $_POST['tlt']['m'] or $_POST['tlt']['s']) {
2525 $this->md_section->setPhysicalTypicalLearningTime(
2526 (int) $_POST['tlt']['mo'],
2527 (int) $_POST['tlt']['d'],
2528 (int) $_POST['tlt']['h'],
2529 (int) $_POST['tlt']['m'],
2530 (int) $_POST['tlt']['s']
2531 );
2532 } else {
2533 $this->md_section->setTypicalLearningTime('');
2534 }
2535 $this->callListeners('Educational');
2536
2537
2538 /* TypicalAgeRange */
2539 foreach ($ids = $this->md_section->getTypicalAgeRangeIds() as $id) {
2540 $md_age = $this->md_section->getTypicalAgeRange($id);
2541 $md_age->setTypicalAgeRange(ilUtil::stripSlashes($_POST['educational']['TypicalAgeRange'][$id]['Value']));
2542 $md_age->setTypicalAgeRangeLanguage(
2543 new ilMDLanguageItem($_POST['educational']['TypicalAgeRange'][$id]['Language'])
2544 );
2545 $md_age->update();
2546 }
2547
2548 /* Description */
2549 foreach ($ids = $this->md_section->getDescriptionIds() as $id) {
2550 $md_des = $this->md_section->getDescription($id);
2551 $md_des->setDescription(ilUtil::stripSlashes($_POST['educational']['Description'][$id]['Value']));
2552 $md_des->setDescriptionLanguage(
2553 new ilMDLanguageItem($_POST['educational']['Description'][$id]['Language'])
2554 );
2555 $md_des->update();
2556 }
2557
2558 /* Language */
2559 foreach ($ids = $this->md_section->getLanguageIds() as $id) {
2560 $md_lang = $this->md_section->getLanguage($id);
2561 $md_lang->setLanguage(
2562 new ilMDLanguageItem($_POST['educational']['Language'][$id])
2563 );
2564 $md_lang->update();
2565 }
2566
2567 $this->md_section->update();
2568
2569 $this->callListeners('Educational');
2570 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2571 $this->listSection();
2572 }

References $_POST, $id, callListeners(), listSection(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ updateGeneral()

ilMDEditorGUI::updateGeneral ( )

update general section

Definition at line 1446 of file class.ilMDEditorGUI.php.

1447 {
1448 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
1449
1450 if (!strlen(trim($_POST['gen_title']))) {
1451 if ($this->md_obj->getObjType() != 'sess') {
1452 ilUtil::sendFailure($this->lng->txt('title_required'));
1453 $this->listGeneral();
1454 return false;
1455 }
1456 }
1457
1458 // General values
1459 $this->md_section = $this->md_obj->getGeneral();
1460 $this->md_section->setStructure($_POST['gen_structure']);
1461 $this->md_section->setTitle(ilUtil::stripSlashes($_POST['gen_title']));
1462 $this->md_section->setTitleLanguage(new ilMDLanguageItem($_POST['gen_title_language']));
1463 $this->md_section->setCoverage(ilUtil::stripSlashes($_POST['gen_coverage']));
1464 $this->md_section->setCoverageLanguage(new ilMDLanguageItem($_POST['gen_coverage_language']));
1465 $this->md_section->update();
1466
1467 // Identifier
1468 if (is_array($_POST['gen_identifier'])) {
1469 foreach ($_POST['gen_identifier'] as $id => $data) {
1470 $md_ide = $this->md_section->getIdentifier($id);
1471 $md_ide->setCatalog(ilUtil::stripSlashes($data['Catalog']));
1472 $md_ide->setEntry(ilUtil::stripSlashes($data['Entry']));
1473 $md_ide->update();
1474 }
1475 }
1476
1477 // Language
1478 if (is_array($_POST['gen_language'])) {
1479 foreach ($_POST['gen_language'] as $id => $data) {
1480 $md_lan = $this->md_section->getLanguage($id);
1481 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
1482 $md_lan->update();
1483 }
1484 }
1485 // Description
1486 if (is_array($_POST['gen_description'])) {
1487 foreach ($_POST['gen_description'] as $id => $data) {
1488 $md_des = $this->md_section->getDescription($id);
1489 $md_des->setDescription(ilUtil::stripSlashes($data['description']));
1490 $md_des->setDescriptionLanguage(new ilMDLanguageItem($data['language']));
1491 $md_des->update();
1492 }
1493 }
1494 // Keyword
1495 if (is_array($_POST['gen_keyword'])) {
1496 foreach ($_POST['gen_keyword'] as $id => $data) {
1497 $md_key = $this->md_section->getKeyword($id);
1498
1499 $md_key->setKeyword(ilUtil::stripSlashes($data['keyword']));
1500 $md_key->setKeywordLanguage(new ilMDLanguageItem($data['language']));
1501 $md_key->update();
1502 }
1503 }
1504 $this->callListeners('General');
1505
1506 // Redirect here to read new title and description
1507 // Otherwise ('Lifecycle' 'technical' ...) simply call listSection()
1508 $this->ctrl->setParameter($this, "section", "meta_general");
1509 ilUtil::sendSuccess($this->lng->txt("saved_successfully"), true);
1510 $this->ctrl->redirect($this, 'listSection');
1511 }
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$data
Definition: bench.php:6

References $_POST, $data, $id, callListeners(), listGeneral(), ilUtil\sendFailure(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ updateLifecycle()

ilMDEditorGUI::updateLifecycle ( )

Definition at line 1931 of file class.ilMDEditorGUI.php.

1932 {
1933 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
1934
1935 // update metametadata section
1936 $this->md_section = $this->md_obj->getLifecycle();
1937 $this->md_section->setVersionLanguage(new ilMDLanguageItem($_POST['lif_language']));
1938 $this->md_section->setVersion(ilUtil::stripSlashes($_POST['lif_version']));
1939 $this->md_section->setStatus($_POST['lif_status']);
1940 $this->md_section->update();
1941
1942 // Identifier
1943 if (is_array($_POST['met_identifier'])) {
1944 foreach ($_POST['met_identifier'] as $id => $data) {
1945 $md_ide = $this->md_section->getIdentifier($id);
1946 $md_ide->setCatalog(ilUtil::stripSlashes($data['Catalog']));
1947 $md_ide->setEntry(ilUtil::stripSlashes($data['Entry']));
1948 $md_ide->update();
1949 }
1950 }
1951 // Contribute
1952 if (is_array($_POST['met_contribute'])) {
1953 foreach ($_POST['met_contribute'] as $id => $data) {
1954 $md_con = &$this->md_section->getContribute($id);
1955 $md_con->setRole(ilUtil::stripSlashes($data['Role']));
1956 $md_con->setDate(ilUtil::stripSlashes($data['Date']));
1957 $md_con->update();
1958
1959 if (is_array($_POST['met_entity'][$id])) {
1960 foreach ($_POST['met_entity'][$id] as $ent_id => $data) {
1961 $md_ent = &$md_con->getEntity($ent_id);
1962 $md_ent->setEntity(ilUtil::stripSlashes($data['Entity']));
1963 $md_ent->update();
1964 }
1965 }
1966 }
1967 }
1968 $this->callListeners('Lifecycle');
1969 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
1970 $this->listSection();
1971 return true;
1972 }

References $_POST, $data, $id, callListeners(), listSection(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ updateMetaMetaData()

ilMDEditorGUI::updateMetaMetaData ( )

Definition at line 2109 of file class.ilMDEditorGUI.php.

2110 {
2111 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2112
2113 // update metametadata section
2114 $this->md_section = $this->md_obj->getMetaMetadata();
2115 $this->md_section->setLanguage(new ilMDLanguageItem($_POST['met_language']));
2116 $this->md_section->update();
2117
2118 // Identifier
2119 if (is_array($_POST['met_identifier'])) {
2120 foreach ($_POST['met_identifier'] as $id => $data) {
2121 $md_ide = $this->md_section->getIdentifier($id);
2122 $md_ide->setCatalog(ilUtil::stripSlashes($data['Catalog']));
2123 $md_ide->setEntry(ilUtil::stripSlashes($data['Entry']));
2124 $md_ide->update();
2125 }
2126 }
2127 // Contribute
2128 if (is_array($_POST['met_contribute'])) {
2129 foreach ($_POST['met_contribute'] as $id => $data) {
2130 $md_con = &$this->md_section->getContribute($id);
2131 $md_con->setRole(ilUtil::stripSlashes($data['Role']));
2132 $md_con->setDate(ilUtil::stripSlashes($data['Date']));
2133 $md_con->update();
2134
2135 if (is_array($_POST['met_entity'][$id])) {
2136 foreach ($_POST['met_entity'][$id] as $ent_id => $data) {
2137 $md_ent = &$md_con->getEntity($ent_id);
2138 $md_ent->setEntity(ilUtil::stripSlashes($data['Entity']));
2139 $md_ent->update();
2140 }
2141 }
2142 }
2143 }
2144 $this->callListeners('MetaMetaData');
2145 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2146 $this->listSection();
2147 return true;
2148 }

References $_POST, $data, $id, callListeners(), listSection(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ updateQuickEdit()

ilMDEditorGUI::updateQuickEdit ( )

update quick edit properties

Definition at line 668 of file class.ilMDEditorGUI.php.

669 {
670 ilLoggerFactory::getLogger('root')->dump($_REQUEST);
671
672
673 if (!trim($_POST['gen_title'])) {
674 if ($this->md_obj->getObjType() != 'sess') {
675 ilUtil::sendFailure($this->lng->txt('title_required'));
676 $this->listQuickEdit();
677 return false;
678 }
679 }
680
681 // General values
682 $this->md_section = $this->md_obj->getGeneral();
683 $this->md_section->setTitle(ilUtil::stripSlashes($_POST['gen_title']));
684 // $this->md_section->setTitleLanguage(new ilMDLanguageItem($_POST['gen_title_language']));
685 $this->md_section->update();
686
687 // Language
688 if (is_array($_POST['gen_language'])) {
689 foreach ($_POST['gen_language'] as $id => $data) {
690 if ($id > 0) {
691 $md_lan = $this->md_section->getLanguage($id);
692 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
693 $md_lan->update();
694 } else {
695 $md_lan = $this->md_section->addLanguage();
696 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
697 $md_lan->save();
698 }
699 }
700 }
701 // Description
702 if (is_array($_POST['gen_description'])) {
703 foreach ($_POST['gen_description'] as $id => $data) {
704 $md_des = $this->md_section->getDescription($id);
705 $md_des->setDescription(ilUtil::stripSlashes($data['description']));
706 // $md_des->setDescriptionLanguage(new ilMDLanguageItem($data['language']));
707 $md_des->update();
708 }
709 }
710
711 // Keyword
712 if (is_array($_POST["keywords"]["value"])) {
713 include_once("./Services/MetaData/classes/class.ilMDKeyword.php");
714 ilMDKeyword::updateKeywords($this->md_section, $_POST["keywords"]["value"]);
715 }
716 $this->callListeners('General');
717
718 // Copyright
719 if ($_POST['copyright'] || $_POST['copyright_text']) {
720 if (!is_object($this->md_section = $this->md_obj->getRights())) {
721 $this->md_section = $this->md_obj->addRights();
722 $this->md_section->save();
723 }
724 if ($_POST['copyright'] > 0) {
725 $this->md_section->setCopyrightAndOtherRestrictions("Yes");
726 $this->md_section->setDescription('il_copyright_entry__' . IL_INST_ID . '__' . (int) $_POST['copyright']);
727 } else {
728 $this->md_section->setCopyrightAndOtherRestrictions("Yes");
729 $this->md_section->setDescription(ilUtil::stripSlashes($_POST['copyright_text']));
730 }
731 $this->md_section->update();
732
733 // update oer status
734
735 $oer_settings = ilOerHarvesterSettings::getInstance();
736 if ($oer_settings->supportsHarvesting($this->md_obj->getObjType())) {
737 $chosen_copyright = (int) $_POST['copyright'];
738
739 $status = new ilOerHarvesterObjectStatus($this->md_obj->getRBACId());
740 $status->setBlocked((int) $_POST['copyright_oer_blocked_' . $chosen_copyright] ? true : false);
741 $status->save();
742 }
743 } else {
744 if (is_object($this->md_section = $this->md_obj->getRights())) {
745 $this->md_section->setCopyrightAndOtherRestrictions("No");
746 $this->md_section->setDescription("");
747 $this->md_section->update();
748 }
749 }
750 $this->callListeners('Rights');
751
752 //Educational...
753 // Typical Learning Time
754 if ($_POST['tlt']['mo'] or $_POST['tlt']['d'] or
755 $_POST["tlt"]['h'] or $_POST['tlt']['m'] or $_POST['tlt']['s']) {
756 if (!is_object($this->md_section = $this->md_obj->getEducational())) {
757 $this->md_section = $this->md_obj->addEducational();
758 $this->md_section->save();
759 }
760 $this->md_section->setPhysicalTypicalLearningTime(
761 (int) $_POST['tlt']['mo'],
762 (int) $_POST['tlt']['d'],
763 (int) $_POST['tlt']['h'],
764 (int) $_POST['tlt']['m'],
765 (int) $_POST['tlt']['s']
766 );
767 $this->md_section->update();
768 } else {
769 if (is_object($this->md_section = $this->md_obj->getEducational())) {
770 $this->md_section->setPhysicalTypicalLearningTime(0, 0, 0, 0, 0);
771 $this->md_section->update();
772 }
773 }
774 $this->callListeners('Educational');
775 //Lifecycle...
776 // Authors
777 if ($_POST["life_authors"] != "") {
778 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
779 $this->md_section = $this->md_obj->addLifecycle();
780 $this->md_section->save();
781 }
782
783 // determine all entered authors
784 $auth_arr = explode($this->md_settings->getDelimiter(), $_POST["life_authors"]);
785 for ($i = 0; $i < count($auth_arr); $i++) {
786 $auth_arr[$i] = trim($auth_arr[$i]);
787 }
788
789 $md_con_author = "";
790
791 // update existing author entries (delete if not entered)
792 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
793 $md_con = $this->md_section->getContribute($con_id);
794 if ($md_con->getRole() == "Author") {
795 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
796 $md_ent = $md_con->getEntity($ent_id);
797
798 // entered author already exists
799 if (in_array($md_ent->getEntity(), $auth_arr)) {
800 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
801 } else { // existing author has not been entered again -> delete
802 $md_ent->delete();
803 }
804 }
805 $md_con_author = $md_con;
806 }
807 }
808
809 // insert enterd, but not existing authors
810 if (count($auth_arr) > 0) {
811 if (!is_object($md_con_author)) {
812 $md_con_author = $this->md_section->addContribute();
813 $md_con_author->setRole("Author");
814 $md_con_author->save();
815 }
816 foreach ($auth_arr as $auth) {
817 $md_ent = $md_con_author->addEntity();
818 $md_ent->setEntity(ilUtil::stripSlashes($auth));
819 $md_ent->save();
820 }
821 }
822 } else { // nothing has been entered: delete all author contribs
823 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
824 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
825 $md_con = $this->md_section->getContribute($con_id);
826 if ($md_con->getRole() == "Author") {
827 $md_con->delete();
828 }
829 }
830 }
831 }
832 $this->callListeners('Lifecycle');
833
834 // #18563
835 /*
836 if(!$_REQUEST["wsp_id"])
837 {
838 // (parent) container taxonomies?
839 include_once "Services/Taxonomy/classes/class.ilTaxMDGUI.php";
840 $tax_gui = new ilTaxMDGUI($this->md_obj->getRBACId(),$this->md_obj->getObjId(),$this->md_obj->getObjType());
841 $tax_gui->updateFromMDForm();
842 }*/
843
844 // Redirect here to read new title and description
845 // Otherwise ('Lifecycle' 'technical' ...) simply call listSection()
846 ilUtil::sendSuccess($this->lng->txt("saved_successfully"), true);
847 $this->ctrl->redirect($this, 'listSection');
848 }
static getLogger($a_component_id)
Get component logger.
static updateKeywords(ilMDGeneral $a_md_section, array $a_keywords)
Update keywords from input array.
$auth
Definition: fileserver.php:48

References $_POST, $auth, $data, $i, $id, callListeners(), ilOerHarvesterSettings\getInstance(), ilLoggerFactory\getLogger(), listQuickEdit(), ilUtil\sendFailure(), ilUtil\stripSlashes(), and ilMDKeyword\updateKeywords().

+ Here is the call graph for this function:

◆ updateQuickEdit_scorm()

ilMDEditorGUI::updateQuickEdit_scorm ( )

update quick edit properties - SCORM customization

Definition at line 936 of file class.ilMDEditorGUI.php.

937 {
938 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
939
940 // General values
941 $this->md_section = $this->md_obj->getGeneral();
942 $this->md_section->setTitle(ilUtil::stripSlashes($_POST['gen_title']));
943 $this->md_section->setTitleLanguage(new ilMDLanguageItem($_POST['gen_title_language']));
944 $this->md_section->update();
945
946 // Language
947 if (is_array($_POST['gen_language'])) {
948 foreach ($_POST['gen_language'] as $id => $data) {
949 if ($id > 0) {
950 $md_lan = $this->md_section->getLanguage($id);
951 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
952 $md_lan->update();
953 } else {
954 $md_lan = $this->md_section->addLanguage();
955 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
956 $md_lan->save();
957 }
958 }
959 }
960 // Description
961 if (is_array($_POST['gen_description'])) {
962 foreach ($_POST['gen_description'] as $id => $data) {
963 $md_des = $this->md_section->getDescription($id);
964 $md_des->setDescription(ilUtil::stripSlashes($data['description']));
965 $md_des->setDescriptionLanguage(new ilMDLanguageItem($data['language']));
966 $md_des->update();
967 }
968 }
969
970
971 // Keyword
972 if (is_array($_POST["keywords"]["value"])) {
973 $new_keywords = array();
974 foreach ($_POST["keywords"]["value"] as $lang => $keywords) {
975 $language = $_POST["keyword"]["language"][$lang];
976 $keywords = explode(",", $keywords);
977 foreach ($keywords as $keyword) {
978 $new_keywords[$language][] = trim($keyword);
979 }
980 }
981
982 // update existing author entries (delete if not entered)
983 foreach ($ids = $this->md_section->getKeywordIds() as $id) {
984 $md_key = $this->md_section->getKeyword($id);
985
986 $lang = $md_key->getKeywordLanguageCode();
987
988 // entered keyword already exists
989 if (is_array($new_keywords[$lang]) &&
990 in_array($md_key->getKeyword(), $new_keywords[$lang])) {
991 unset($new_keywords[$lang]
992 [array_search($md_key->getKeyword(), $new_keywords[$lang])]);
993 } else { // existing keyword has not been entered again -> delete
994 $md_key->delete();
995 }
996 }
997
998 // insert entered, but not existing keywords
999 foreach ($new_keywords as $lang => $key_arr) {
1000 foreach ($key_arr as $keyword) {
1001 if ($keyword != "") {
1002 $md_key = $this->md_section->addKeyword();
1003 $md_key->setKeyword(ilUtil::stripSlashes($keyword));
1004 $md_key->setKeywordLanguage(new ilMDLanguageItem($lang));
1005 $md_key->save();
1006 }
1007 }
1008 }
1009 }
1010 $this->callListeners('General');
1011
1012 // Copyright
1013 if ($_POST['copyright_id'] or $_POST['rights_copyright']) {
1014 if (!is_object($this->md_section = $this->md_obj->getRights())) {
1015 $this->md_section = $this->md_obj->addRights();
1016 $this->md_section->save();
1017 }
1018 if ($_POST['copyright_id']) {
1019 $this->md_section->setCopyrightAndOtherRestrictions("Yes");
1020 $this->md_section->setDescription('il_copyright_entry__' . IL_INST_ID . '__' . (int) $_POST['copyright_id']);
1021 } else {
1022 $this->md_section->setCopyrightAndOtherRestrictions("Yes");
1023 $this->md_section->setDescription(ilUtil::stripSlashes($_POST["rights_copyright"]));
1024 }
1025 $this->md_section->update();
1026 } else {
1027 if (is_object($this->md_section = $this->md_obj->getRights())) {
1028 $this->md_section->setCopyrightAndOtherRestrictions("No");
1029 $this->md_section->setDescription("");
1030 $this->md_section->update();
1031 }
1032 }
1033 $this->callListeners('Rights');
1034
1035 //Educational...
1036 // Typical Learning Time
1037 if ($_POST['tlt']['mo'] or $_POST['tlt']['d'] or
1038 $_POST["tlt"]['h'] or $_POST['tlt']['m'] or $_POST['tlt']['s']) {
1039 if (!is_object($this->md_section = $this->md_obj->getEducational())) {
1040 $this->md_section = $this->md_obj->addEducational();
1041 $this->md_section->save();
1042 }
1043 $this->md_section->setPhysicalTypicalLearningTime(
1044 (int) $_POST['tlt']['mo'],
1045 (int) $_POST['tlt']['d'],
1046 (int) $_POST['tlt']['h'],
1047 (int) $_POST['tlt']['m'],
1048 (int) $_POST['tlt']['s']
1049 );
1050 $this->md_section->update();
1051 } else {
1052 if (is_object($this->md_section = $this->md_obj->getEducational())) {
1053 $this->md_section->setPhysicalTypicalLearningTime(0, 0, 0, 0, 0);
1054 $this->md_section->update();
1055 }
1056 }
1057 $this->callListeners('Educational');
1058 //Lifecycle...
1059 // experts
1060 if ($_POST["life_experts"] != "") {
1061 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
1062 $this->md_section = $this->md_obj->addLifecycle();
1063 $this->md_section->save();
1064 }
1065
1066 // determine all entered authors
1067 $auth_arr = explode(",", $_POST["life_experts"]);
1068 for ($i = 0; $i < count($auth_arr); $i++) {
1069 $auth_arr[$i] = trim($auth_arr[$i]);
1070 }
1071
1072 $md_con_author = "";
1073
1074 // update existing author entries (delete if not entered)
1075 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1076 $md_con = $this->md_section->getContribute($con_id);
1077 if ($md_con->getRole() == "SubjectMatterExpert") {
1078 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
1079 $md_ent = $md_con->getEntity($ent_id);
1080
1081 // entered author already exists
1082 if (in_array($md_ent->getEntity(), $auth_arr)) {
1083 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
1084 } else { // existing author has not been entered again -> delete
1085 $md_ent->delete();
1086 }
1087 }
1088 $md_con_author = $md_con;
1089 }
1090 }
1091
1092 // insert enterd, but not existing authors
1093 if (count($auth_arr) > 0) {
1094 if (!is_object($md_con_author)) {
1095 $md_con_author = $this->md_section->addContribute();
1096 $md_con_author->setRole("SubjectMatterExpert");
1097 $md_con_author->save();
1098 }
1099 foreach ($auth_arr as $auth) {
1100 $md_ent = $md_con_author->addEntity();
1101 $md_ent->setEntity(ilUtil::stripSlashes($auth));
1102 $md_ent->save();
1103 }
1104 }
1105 } else { // nothing has been entered: delete all author contribs
1106 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
1107 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1108 $md_con = $this->md_section->getContribute($con_id);
1109 if ($md_con->getRole() == "SubjectMatterExpert") {
1110 $md_con->delete();
1111 }
1112 }
1113 }
1114 }
1115
1116 // InstructionalDesigner
1117 if ($_POST["life_designers"] != "") {
1118 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
1119 $this->md_section = $this->md_obj->addLifecycle();
1120 $this->md_section->save();
1121 }
1122
1123 // determine all entered authors
1124 $auth_arr = explode(",", $_POST["life_designers"]);
1125 for ($i = 0; $i < count($auth_arr); $i++) {
1126 $auth_arr[$i] = trim($auth_arr[$i]);
1127 }
1128
1129 $md_con_author = "";
1130
1131 // update existing author entries (delete if not entered)
1132 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1133 $md_con = $this->md_section->getContribute($con_id);
1134 if ($md_con->getRole() == "InstructionalDesigner") {
1135 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
1136 $md_ent = $md_con->getEntity($ent_id);
1137
1138 // entered author already exists
1139 if (in_array($md_ent->getEntity(), $auth_arr)) {
1140 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
1141 } else { // existing author has not been entered again -> delete
1142 $md_ent->delete();
1143 }
1144 }
1145 $md_con_author = $md_con;
1146 }
1147 }
1148
1149 // insert enterd, but not existing authors
1150 if (count($auth_arr) > 0) {
1151 if (!is_object($md_con_author)) {
1152 $md_con_author = $this->md_section->addContribute();
1153 $md_con_author->setRole("InstructionalDesigner");
1154 $md_con_author->save();
1155 }
1156 foreach ($auth_arr as $auth) {
1157 $md_ent = $md_con_author->addEntity();
1158 $md_ent->setEntity(ilUtil::stripSlashes($auth));
1159 $md_ent->save();
1160 }
1161 }
1162 } else { // nothing has been entered: delete all author contribs
1163 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
1164 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1165 $md_con = $this->md_section->getContribute($con_id);
1166 if ($md_con->getRole() == "InstructionalDesigner") {
1167 $md_con->delete();
1168 }
1169 }
1170 }
1171 }
1172
1173 // Point of Contact
1174 if ($_POST["life_poc"] != "") {
1175 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
1176 $this->md_section = $this->md_obj->addLifecycle();
1177 $this->md_section->save();
1178 }
1179
1180 // determine all entered authors
1181 $auth_arr = explode(",", $_POST["life_poc"]);
1182 for ($i = 0; $i < count($auth_arr); $i++) {
1183 $auth_arr[$i] = trim($auth_arr[$i]);
1184 }
1185
1186 $md_con_author = "";
1187
1188 // update existing author entries (delete if not entered)
1189 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1190 $md_con = $this->md_section->getContribute($con_id);
1191 if ($md_con->getRole() == "PointOfContact") {
1192 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
1193 $md_ent = $md_con->getEntity($ent_id);
1194
1195 // entered author already exists
1196 if (in_array($md_ent->getEntity(), $auth_arr)) {
1197 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
1198 } else { // existing author has not been entered again -> delete
1199 $md_ent->delete();
1200 }
1201 }
1202 $md_con_author = $md_con;
1203 }
1204 }
1205
1206 // insert enterd, but not existing authors
1207 if (count($auth_arr) > 0) {
1208 if (!is_object($md_con_author)) {
1209 $md_con_author = $this->md_section->addContribute();
1210 $md_con_author->setRole("PointOfContact");
1211 $md_con_author->save();
1212 }
1213 foreach ($auth_arr as $auth) {
1214 $md_ent = $md_con_author->addEntity();
1215 $md_ent->setEntity(ilUtil::stripSlashes($auth));
1216 $md_ent->save();
1217 }
1218 }
1219 } else { // nothing has been entered: delete all author contribs
1220 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
1221 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1222 $md_con = $this->md_section->getContribute($con_id);
1223 if ($md_con->getRole() == "PointOfContact") {
1224 $md_con->delete();
1225 }
1226 }
1227 }
1228 }
1229
1230 $this->md_section = $this->md_obj->getLifecycle();
1231 $this->md_section->setVersionLanguage(new ilMDLanguageItem($_POST['lif_language']));
1232 $this->md_section->setVersion(ilUtil::stripSlashes($_POST['lif_version']));
1233 $this->md_section->setStatus($_POST['lif_status']);
1234 $this->md_section->update();
1235
1236
1237 $this->callListeners('Lifecycle');
1238
1239 // Redirect here to read new title and description
1240 // Otherwise ('Lifecycle' 'technical' ...) simply call listSection()
1241 ilUtil::sendSuccess($this->lng->txt("saved_successfully"), true);
1242 $this->ctrl->redirect($this, 'listSection');
1243 }

References $_POST, $auth, $data, $i, $id, $lang, $language, callListeners(), and ilUtil\stripSlashes().

Referenced by updateQuickEdit_scorm_propagate().

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

◆ updateQuickEdit_scorm_prop_designer()

ilMDEditorGUI::updateQuickEdit_scorm_prop_designer ( )

Definition at line 925 of file class.ilMDEditorGUI.php.

926 {
927 $this->updateQuickEdit_scorm_propagate("life_designers", "InstructionalDesigner");
928 }
updateQuickEdit_scorm_propagate($request, $type)

References updateQuickEdit_scorm_propagate().

+ Here is the call graph for this function:

◆ updateQuickEdit_scorm_prop_expert()

ilMDEditorGUI::updateQuickEdit_scorm_prop_expert ( )

Definition at line 921 of file class.ilMDEditorGUI.php.

922 {
923 $this->updateQuickEdit_scorm_propagate("life_experts", "SubjectMatterExpert");
924 }

References updateQuickEdit_scorm_propagate().

+ Here is the call graph for this function:

◆ updateQuickEdit_scorm_prop_poc()

ilMDEditorGUI::updateQuickEdit_scorm_prop_poc ( )

Definition at line 929 of file class.ilMDEditorGUI.php.

930 {
931 $this->updateQuickEdit_scorm_propagate("life_poc", "PointOfContact");
932 }

References updateQuickEdit_scorm_propagate().

+ Here is the call graph for this function:

◆ updateQuickEdit_scorm_propagate()

ilMDEditorGUI::updateQuickEdit_scorm_propagate (   $request,
  $type 
)

Definition at line 850 of file class.ilMDEditorGUI.php.

851 {
852 $module_id = $this->md_obj->obj_id;
853 if ($this->md_obj->obj_type == 'sco') {
854 $module_id = $this->md_obj->rbac_id;
855 }
856 $tree = new ilTree($module_id);
857 $tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
858 $tree->setTreeTablePK("slm_id");
859 foreach ($tree->getSubTree($tree->getNodeData($tree->getRootId()), true, 'sco') as $sco) {
860 $sco_md = new ilMD($module_id, $sco['obj_id'], 'sco');
861 if ($_POST[$request] != "") {
862 $sco_md_section;
863 if (!is_object($sco_md_section = $sco_md->getLifecycle())) {
864 $sco_md_section = $sco_md->addLifecycle();
865 $sco_md_section->save();
866 }
867 // determine all entered authors
868 $auth_arr = explode(",", $_POST[$request]);
869 for ($i = 0; $i < count($auth_arr); $i++) {
870 $auth_arr[$i] = trim($auth_arr[$i]);
871 }
872
873 $md_con_author = "";
874
875 // update existing author entries (delete if not entered)
876 foreach (($ids = $sco_md_section->getContributeIds()) as $con_id) {
877 $md_con = $sco_md_section->getContribute($con_id);
878 if ($md_con->getRole() == $type) {
879 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
880 $md_ent = $md_con->getEntity($ent_id);
881
882 // entered author already exists
883 if (in_array($md_ent->getEntity(), $auth_arr)) {
884 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
885 } else { // existing author has not been entered again -> delete
886 $md_ent->delete();
887 }
888 }
889 $md_con_author = $md_con;
890 }
891 }
892
893 // insert enterd, but not existing authors
894 if (count($auth_arr) > 0) {
895 if (!is_object($md_con_author)) {
896 $md_con_author = $sco_md_section->addContribute();
897 $md_con_author->setRole($type);
898 $md_con_author->save();
899 }
900 foreach ($auth_arr as $auth) {
901 $md_ent = $md_con_author->addEntity();
902 $md_ent->setEntity(ilUtil::stripSlashes($auth));
903 $md_ent->save();
904 }
905 }
906 } else { // nothing has been entered: delete all author contribs
907 if (is_object($sco_md_section = $sco_md->getLifecycle())) {
908 foreach (($ids = $sco_md_section->getContributeIds()) as $con_id) {
909 $md_con = $sco_md_section->getContribute($con_id);
910 if ($md_con->getRole() == $type) {
911 $md_con->delete();
912 }
913 }
914 }
915 }
916 $sco_md->update();
917 }
918 $this->updateQuickEdit_scorm();
919 }
foreach($paths as $path) $request
Definition: asyncclient.php:32
updateQuickEdit_scorm()
update quick edit properties - SCORM customization
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
$type

References $_POST, $auth, $i, $request, $tree, $type, ilUtil\stripSlashes(), and updateQuickEdit_scorm().

Referenced by updateQuickEdit_scorm_prop_designer(), updateQuickEdit_scorm_prop_expert(), and updateQuickEdit_scorm_prop_poc().

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

◆ updateRelation()

ilMDEditorGUI::updateRelation ( )

Definition at line 2727 of file class.ilMDEditorGUI.php.

2728 {
2729 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2730
2731 // relation
2732 foreach ($ids = $this->md_obj->getRelationIds() as $id) {
2733 // kind
2734 $relation = $this->md_obj->getRelation($id);
2735 $relation->setKind($_POST['relation'][$id]['Kind']);
2736
2737 $relation->update();
2738
2739 // identifiers
2740 $res_idents = $relation->getIdentifier_Ids();
2741 foreach ($res_idents as $res_id) {
2742 $ident = $relation->getIdentifier_($res_id);
2743 $ident->setCatalog(ilUtil::stripSlashes($_POST['relation']['Resource']['Identifier'][$res_id]['Catalog']));
2744 $ident->setEntry(ilUtil::stripSlashes($_POST['relation']['Resource']['Identifier'][$res_id]['Entry']));
2745 $ident->update();
2746 }
2747
2748 // descriptions
2749 $res_dess = $relation->getDescriptionIds();
2750 foreach ($res_dess as $res_des) {
2751 $des = $relation->getDescription($res_des);
2752 $des->setDescription(ilUtil::stripSlashes($_POST['relation']['Resource']['Description'][$res_des]['Value']));
2753 $des->setDescriptionLanguage(
2754 new ilMDLanguageItem($_POST['relation']['Resource']['Description'][$res_des]['Language'])
2755 );
2756 $des->update();
2757 }
2758 }
2759
2760 $this->callListeners('Relation');
2761 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2762 $this->listSection();
2763 }

References $_POST, $id, callListeners(), listSection(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ updateRights()

ilMDEditorGUI::updateRights ( )

Definition at line 2214 of file class.ilMDEditorGUI.php.

2215 {
2216 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2217
2218 // update rights section
2219 $this->md_section = $this->md_obj->getRights();
2220 $this->md_section->setCosts($_POST['rights']['Cost']);
2221 $this->md_section->setCopyrightAndOtherRestrictions($_POST['rights']['CopyrightAndOtherRestrictions']);
2222 $this->md_section->setDescriptionLanguage(new ilMDLanguageItem($_POST['rights']['DescriptionLanguage']));
2223 $this->md_section->setDescription(ilUtil::stripSlashes($_POST['rights']['Description']));
2224 $this->md_section->update();
2225
2226 $this->callListeners('Rights');
2227 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2228 $this->listSection();
2229 }

References $_POST, callListeners(), listSection(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ updateTechnical()

ilMDEditorGUI::updateTechnical ( )

Definition at line 1513 of file class.ilMDEditorGUI.php.

1514 {
1515 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
1516
1517 // update technical section
1518 $this->md_section = $this->md_obj->getTechnical();
1519 $this->md_section->setSize(ilUtil::stripSlashes($_POST['met_size']));
1520 $this->md_section->setInstallationRemarks(ilUtil::stripSlashes($_POST['met_inst']));
1521 $this->md_section->setInstallationRemarksLanguage(new ilMDLanguageItem($_POST['inst_language']));
1522 $this->md_section->setOtherPlatformRequirements(ilUtil::stripSlashes($_POST['met_opr']));
1523 $this->md_section->setOtherPlatformRequirementsLanguage(new ilMDLanguageItem($_POST['opr_language']));
1524 $this->md_section->setDuration(ilUtil::stripSlashes($_POST['duration']));
1525 $this->md_section->update();
1526
1527 // Format
1528 if (is_array($_POST['met_format'])) {
1529 foreach ($_POST['met_format'] as $id => $data) {
1530 $md_for = $this->md_section->getFormat($id);
1531 $md_for->setFormat(ilUtil::stripSlashes($data['Format']));
1532 $md_for->update();
1533 }
1534 }
1535 // Location
1536 if (is_array($_POST['met_location'])) {
1537 foreach ($_POST['met_location'] as $id => $data) {
1538 $md_loc = $this->md_section->getLocation($id);
1539 $md_loc->setLocation(ilUtil::stripSlashes($data['Location']));
1540 $md_loc->setLocationType(ilUtil::stripSlashes($data['Type']));
1541 $md_loc->update();
1542 }
1543 }
1544 if (is_array($_POST['met_re'])) {
1545 foreach ($_POST['met_re'] as $id => $data) {
1546 $md_re = $this->md_section->getRequirement($id);
1547 $md_re->setOperatingSystemName(ilUtil::stripSlashes($data['os']['name']));
1548 $md_re->setOperatingSystemMinimumVersion(ilUtil::stripSlashes($data['os']['MinimumVersion']));
1549 $md_re->setOperatingSystemMaximumVersion(ilUtil::stripSlashes($data['os']['MaximumVersion']));
1550 $md_re->setBrowserName(ilUtil::stripSlashes($data['browser']['name']));
1551 $md_re->setBrowserMinimumVersion(ilUtil::stripSlashes($data['browser']['MinimumVersion']));
1552 $md_re->setBrowserMaximumVersion(ilUtil::stripSlashes($data['browser']['MaximumVersion']));
1553 $md_re->update();
1554 }
1555 }
1556 $this->callListeners('Technical');
1557
1558 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
1559 $this->listSection();
1560 return true;
1561 }

References $_POST, $data, $id, callListeners(), listSection(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

ilMDEditorGUI::$ctrl = null

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

◆ $lng

ilMDEditorGUI::$lng = null

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

Referenced by initQuickEditForm(), and listQuickEdit_scorm().

◆ $md_obj

ilMDEditorGUI::$md_obj = null

Definition at line 22 of file class.ilMDEditorGUI.php.

◆ $obj_id

ilMDEditorGUI::$obj_id = null

Definition at line 27 of file class.ilMDEditorGUI.php.

◆ $obj_type

ilMDEditorGUI::$obj_type = null

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

◆ $observers

ilMDEditorGUI::$observers = array()

Definition at line 24 of file class.ilMDEditorGUI.php.

◆ $rbac_id

ilMDEditorGUI::$rbac_id = null

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

◆ $tpl

ilMDEditorGUI::$tpl = null

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

Referenced by __showLanguageSelect(), and listQuickEdit().


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