ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
ilMDEditorGUI Class Reference
+ Collaboration diagram for ilMDEditorGUI:

Public Member Functions

 ilMDEditorGUI ($a_rbac_id, $a_obj_id, $a_obj_type)
 
executeCommand ()
 
 debug ()
 
 listQuickEdit_scorm ()
 
 listQuickEdit ()
 
 initQuickEditForm ()
 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
 

Detailed Description

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

Member Function Documentation

◆ __buildDaysSelect()

ilMDEditorGUI::__buildDaysSelect (   $sel_day)

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

3446 {
3447 for($i = 0;$i <= 31;$i++)
3448 {
3449 $options[$i] = sprintf('%02d',$i);
3450 }
3451 return ilUtil::formSelect($sel_day,'tlt[d]',$options,false,true);
3452 }
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.
if(!is_array($argv)) $options

References $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 3435 of file class.ilMDEditorGUI.php.

3436 {
3437 for($i = 0;$i <= 24;$i++)
3438 {
3439 $options[$i] = sprintf('%02d',$i);
3440 }
3441 return ilUtil::formSelect($sel_month,'tlt[mo]',$options,false,true);
3442 }

References $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 3346 of file class.ilMDEditorGUI.php.

3347 {
3348 if(count($subs = $this->md_section->getPossibleSubelements()))
3349 {
3350 //$subs = array_merge(array('' => 'meta_please_select'),$subs);
3351
3352 $this->tpl->setCurrentBlock("subelements");
3353 $this->tpl->setVariable("SEL_SUBELEMENTS",ilUtil::formSelect('','section_element',$subs));
3354 $this->tpl->setVariable("TXT_NEW_ELEMENT", $this->lng->txt("meta_new_element"));
3355 $this->tpl->parseCurrentBlock();
3356
3357 $this->tpl->setVariable("TXT_ADD",$this->lng->txt('meta_add'));
3358
3359 }
3360 return true;
3361 }

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 3365 of file class.ilMDEditorGUI.php.

3366 {
3367 $tabs = array('meta_quickedit' => 'listQuickEdit',
3368 'meta_general' => 'listGeneral',
3369 'meta_lifecycle' => 'listLifecycle',
3370 'meta_meta_metadata' => 'listMetaMetadata',
3371 'meta_technical' => 'listTechnical',
3372 'meta_educational' => 'listEducational',
3373 'meta_rights' => 'listRights',
3374 'meta_relation' => 'listRelation',
3375 'meta_annotation' => 'listAnnotation',
3376 'meta_classification' => 'listClassification');
3377
3378 if(DEVMODE)
3379 {
3380 $tabs['debug'] = 'debug';
3381 }
3382
3383 foreach($tabs as $key => $target)
3384 {
3385 if($a_active == $key)
3386 {
3387 $active = true;
3388 }
3389 else
3390 {
3391 $active = false;
3392 }
3393 $this->ctrl->setParameter($this,'section',$key);
3394 $this->tabs_gui->addSubTabTarget($key, $this->ctrl->getLinkTarget($this,'listSection'),
3395 "", "", "", $active);
3396 }
3397 #$this->tpl->setVariable("SUB_TABS", $tab_gui->getHTML());
3398 return true;
3399 }

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

+ Here is the caller graph for this function:

◆ __showLanguageSelect()

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

shows language select box

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

3406 {
3407 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
3408
3409 $tpl = new ilTemplate("tpl.lang_selection.html", true, true,
3410 "Services/MetaData");
3411
3412 foreach(ilMDLanguageItem::_getLanguages() as $code => $text)
3413 {
3414 $tpl->setCurrentBlock("lg_option");
3415 $tpl->setVariable("VAL_LG", $code);
3416 $tpl->setVariable("TXT_LG", $text);
3417
3418 if ($a_value != "" &&
3419 $a_value == $code)
3420 {
3421 $tpl->setVariable("SELECTED", "selected");
3422 }
3423
3424 $tpl->parseCurrentBlock();
3425 }
3426 $tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
3427 $tpl->setVariable("SEL_NAME", $a_name);
3428
3429 $return = $tpl->get();
3430 unset($tpl);
3431
3432 return $return;
3433 }
special template class to simplify handling of ITX/PEAR

References $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 3457 of file class.ilMDEditorGUI.php.

3458 {
3459 $this->observers[$a_element]['class'] =& $a_class;
3460 $this->observers[$a_element]['method'] =& $a_method;
3461
3462 return true;
3463 }

◆ addSection()

ilMDEditorGUI::addSection ( )

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

3104 {
3105 // Switch section
3106 switch($_GET['section'])
3107 {
3108 case 'meta_technical':
3109 $this->md_section =& $this->md_obj->addTechnical();
3110 $this->md_section->save();
3111 break;
3112
3113
3114 case 'meta_lifecycle':
3115 $this->md_section =& $this->md_obj->addLifecycle();
3116 $this->md_section->save();
3117 $con =& $this->md_section->addContribute();
3118 $con->save();
3119
3120 $ent =& $con->addEntity();
3121 $ent->save();
3122 break;
3123
3124 case 'meta_meta_metadata':
3125 $this->md_section = $this->md_obj->addMetaMetadata();
3126 $this->md_section->save();
3127
3128 $ide =& $this->md_section->addIdentifier();
3129 $ide->save();
3130
3131 $con =& $this->md_section->addContribute();
3132 $con->save();
3133
3134 $ent =& $con->addEntity();
3135 $ent->save();
3136 break;
3137
3138 case 'meta_rights':
3139 $this->md_section = $this->md_obj->addRights();
3140 $this->md_section->save();
3141 break;
3142
3143 case 'meta_educational':
3144 $this->md_section = $this->md_obj->addEducational();
3145 $this->md_section->save();
3146 break;
3147
3148 case 'meta_relation':
3149 $this->md_section = $this->md_obj->addRelation();
3150 $this->md_section->save();
3151 $ident = $this->md_section->addIdentifier_();
3152 $ident->save();
3153 $des = $this->md_section->addDescription();
3154 $des->save();
3155 break;
3156
3157 case 'meta_annotation':
3158 $this->md_section = $this->md_obj->addAnnotation();
3159 $this->md_section->save();
3160 break;
3161
3162 case 'meta_classification':
3163 $this->md_section = $this->md_obj->addClassification();
3164 $this->md_section->save();
3165
3166 $taxon_path =& $this->md_section->addTaxonPath();
3167 $taxon_path->save();
3168
3169 $taxon =& $taxon_path->addTaxon();
3170 $taxon->save();
3171
3172 $key =& $this->md_section->addKeyword();
3173 $key->save();
3174 break;
3175
3176 }
3177
3178 $this->listSection();
3179 return true;
3180 }
$_GET["client_id"]

References $_GET, and listSection().

+ Here is the call graph for this function:

◆ addSectionElement()

ilMDEditorGUI::addSectionElement ( )

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

3183 {
3184 $section_element = (empty($_POST['section_element']))
3185 ? $_GET['section_element']
3186 : $_POST['section_element'];
3187
3188
3189 // Switch section
3190 switch($_GET['section'])
3191 {
3192 case 'meta_technical':
3193 $this->md_section =& $this->md_obj->getTechnical();
3194 break;
3195
3196 case 'meta_lifecycle':
3197 $this->md_section =& $this->md_obj->getLifecycle();
3198 break;
3199
3200 case 'meta_meta_metadata':
3201 $this->md_section =& $this->md_obj->getMetaMetadata();
3202 break;
3203
3204 case 'meta_general':
3205 $this->md_section = $this->md_obj->getGeneral();
3206 break;
3207
3208 case 'meta_educational':
3209 $this->md_section = $this->md_obj->getEducational();
3210 break;
3211
3212 case 'meta_classification':
3213 $arr = explode("_", $section_element);
3214 $section_element = $arr[0];
3215 $this->md_section = $this->md_obj->getClassification($arr[1]);
3216 break;
3217 }
3218
3219 // Switch new element
3220 switch($section_element)
3221 {
3222 case 'meta_or_composite':
3223 $md_new =& $this->md_section->addOrComposite();
3224 $md_new = $md_new->addRequirement();
3225 break;
3226
3227 case 'meta_requirement':
3228 $md_new =& $this->md_section->addRequirement();
3229 break;
3230
3231 case 'meta_location':
3232 $md_new =& $this->md_section->addLocation();
3233 break;
3234
3235 case 'meta_format':
3236 $md_new = $this->md_section->addFormat();
3237 break;
3238
3239 case 'meta_entity':
3240 $md_new = $this->md_section->getContribute((int) $_GET['meta_index']);
3241 $md_new = $md_new->addEntity();
3242 break;
3243
3244 case 'meta_identifier':
3245 $md_new = $this->md_section->addIdentifier();
3246 break;
3247
3248 case 'meta_contribute':
3249 $md_new =& $this->md_section->addContribute();
3250 $md_new->save();
3251 $md_new = $md_new->addEntity();
3252 break;
3253
3254 case 'educational_language':
3255 case 'meta_language':
3256 $md_new = $this->md_section->addLanguage();
3257 break;
3258
3259 case 'educational_description':
3260 case 'meta_description':
3261 $md_new = $this->md_section->addDescription();
3262 break;
3263
3264 case 'Keyword':
3265 case 'meta_keyword':
3266 $md_new = $this->md_section->addKeyword();
3267 break;
3268
3269 case 'educational_typical_age_range':
3270 $md_new = $this->md_section->addTypicalAgeRange();
3271 break;
3272
3273 case 'relation_resource_identifier':
3274 $rel = $this->md_obj->getRelation($_GET['meta_index']);
3275 $md_new = $rel->addIdentifier_();
3276 break;
3277
3278 case 'relation_resource_description':
3279 $rel = $this->md_obj->getRelation($_GET['meta_index']);
3280 $md_new = $rel->addDescription();
3281 break;
3282
3283 case 'TaxonPath':
3284 $md_new = $this->md_section->addTaxonPath();
3285 $md_new->save();
3286 $md_new = $md_new->addTaxon();
3287 break;
3288
3289 case 'Taxon':
3290 $tax_path = $this->md_section->getTaxonPath($_GET['meta_index']);
3291 $md_new = $tax_path->addTaxon();
3292 break;
3293 }
3294
3295 $md_new->save();
3296
3297 $this->listSection();
3298
3299 return true;
3300 }
$_POST['username']
Definition: cron.php:12

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

+ Here is the call graph for this function:

◆ callListeners()

ilMDEditorGUI::callListeners (   $a_element)

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

3465 {
3466 if(isset($this->observers[$a_element]))
3467 {
3468 $class =& $this->observers[$a_element]['class'];
3469 $method = $this->observers[$a_element]['method'];
3470
3471 return $class->$method($a_element);
3472 }
3473 return false;
3474 }

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 82 of file class.ilMDEditorGUI.php.

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

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 3079 of file class.ilMDEditorGUI.php.

3080 {
3081 include_once 'Services/MetaData/classes/class.ilMDFactory.php';
3082
3083 $md_element = ilMDFactory::_getInstance($_GET['meta_path'],$_GET['meta_index'],$_GET['meta_technical']);
3084 $md_element->delete();
3085
3086 $this->listSection();
3087
3088 return true;
3089 }
& _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 3091 of file class.ilMDEditorGUI.php.

3092 {
3093 include_once 'Services/MetaData/classes/class.ilMDFactory.php';
3094
3095 $md_element = ilMDFactory::_getInstance($_GET['section'],$_GET['meta_index']);
3096 $md_element->delete();
3097
3098 $this->listSection();
3099
3100 return true;
3101 }

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

+ Here is the call graph for this function:

◆ executeCommand()

& ilMDEditorGUI::executeCommand ( )

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

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

References $_GET, and $cmd.

◆ ilMDEditorGUI()

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

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

34 {
35 global $ilCtrl,$lng,$tpl,$ilTabs;
36
37 $this->md_obj =& new ilMD($a_rbac_id,$a_obj_id,$a_obj_type);
38 $this->ctrl =& $ilCtrl;
39
40 $this->lng =& $lng;
41 $this->lng->loadLanguageModule('meta');
42
43 include_once('Services/MetaData/classes/class.ilMDSettings.php');
44 $this->md_settings = ilMDSettings::_getInstance();
45
46 $this->tpl =& $tpl;
47
48 $this->tabs_gui =& $ilTabs;
49
50 }
static _getInstance()
get instance
global $ilCtrl
Definition: ilias.php:18

References $ilCtrl, $lng, $tpl, and ilMDSettings\_getInstance().

+ Here is the call graph for this function:

◆ initQuickEditForm()

ilMDEditorGUI::initQuickEditForm ( )

Init quick edit form.

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

413 {
414 global $lng, $ilCtrl, $tree;
415
416 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
417 $this->form = new ilPropertyFormGUI();
418
419 // title
420 $ti = new ilTextInputGUI($this->lng->txt("title"), "gen_title");
421 $ti->setMaxLength(200);
422 $ti->setSize(50);
423 $ti->setRequired(true);
424 $ti->setValue($this->md_section->getTitle());
425 $this->form->addItem($ti);
426
427 // description(s)
428 foreach($ids = $this->md_section->getDescriptionIds() as $id)
429 {
430 $md_des = $this->md_section->getDescription($id);
431
432 $ta = new ilTextAreaInputGUI($this->lng->txt("meta_description"), "gen_description[".$id."][description]");
433 $ta->setCols(50);
434 $ta->setRows(4);
435 $ta->setValue($md_des->getDescription());
436 if (count($ids) > 1)
437 {
438 $ta->setInfo($this->lng->txt("meta_l_".$md_des->getDescriptionLanguageCode()));
439 }
440
441 $this->form->addItem($ta);
442 }
443
444 // language(s)
445 $first = "";
447 foreach($ids = $this->md_section->getLanguageIds() as $id)
448 {
449 $md_lan = $this->md_section->getLanguage($id);
450 $first_lang = $md_lan->getLanguageCode();
451 $si = new ilSelectInputGUI($this->lng->txt("meta_language"), "gen_language[".$id."][language]");
452 $si->setOptions($options);
453 $si->setValue($md_lan->getLanguageCode());
454 $this->form->addItem($si);
455 $first = false;
456 }
457 if ($first)
458 {
459 $si = new ilSelectInputGUI($this->lng->txt("meta_language"), "gen_language[][language]");
460 $si->setOptions($options);
461 $this->form->addItem($si);
462 }
463
464 // keyword(s)
465 $first = true;
466 $keywords = array();
467 foreach($ids = $this->md_section->getKeywordIds() as $id)
468 {
469 $md_key = $this->md_section->getKeyword($id);
470 if (trim($md_key->getKeyword()) != "")
471 {
472 $keywords[$md_key->getKeywordLanguageCode()][]
473 = $md_key->getKeyword();
474 }
475 }
476 foreach($keywords as $lang => $keyword_set)
477 {
478 $kw = new ilTextInputGUI($this->lng->txt("keywords"),
479 "keywords[value][".$lang."]");
480 $kw->setDataSource($this->ctrl->getLinkTarget($this, "keywordAutocomplete", "", true));
481 $kw->setMaxLength(200);
482 $kw->setSize(50);
483 $kw->setMulti(true);
484 if (count($keywords) > 1)
485 {
486 $kw->setInfo($this->lng->txt("meta_l_".$lang));
487 }
488 $this->form->addItem($kw);
489 asort($keyword_set);
490 $kw->setValue($keyword_set);
491 }
492 if (count($keywords) == 0)
493 {
494 $kw = new ilTextInputGUI($this->lng->txt("keywords"),
495 "keywords[value][".$first_lang."]");
496 $kw->setDataSource($this->ctrl->getLinkTarget($this, "keywordAutocomplete", "", true));
497 $kw->setMaxLength(200);
498 $kw->setSize(50);
499 $kw->setMulti(true);
500 $this->form->addItem($kw);
501 }
502
503 // Lifecycle...
504 // Authors
505 $ta = new ilTextAreaInputGUI($this->lng->txt('authors')."<br />".
506 "(".sprintf($this->lng->txt('md_separated_by'), $this->md_settings->getDelimiter()).")",
507 "life_authors");
508 $ta->setCols(50);
509 $ta->setRows(2);
510 if(is_object($this->md_section = $this->md_obj->getLifecycle()))
511 {
512 $sep = $ent_str = "";
513 foreach(($ids = $this->md_section->getContributeIds()) as $con_id)
514 {
515 $md_con = $this->md_section->getContribute($con_id);
516 if ($md_con->getRole() == "Author")
517 {
518 foreach($ent_ids = $md_con->getEntityIds() as $ent_id)
519 {
520 $md_ent = $md_con->getEntity($ent_id);
521 $ent_str = $ent_str.$sep.$md_ent->getEntity();
522 $sep = $this->md_settings->getDelimiter()." ";
523 }
524 }
525 }
526 $ta->setValue($ent_str);
527 }
528 $this->form->addItem($ta);
529
530 // copyright
531 include_once("./Services/MetaData/classes/class.ilCopyrightInputGUI.php");
532 $cp = new ilCopyrightInputGUI($this->lng->txt("meta_copyright"), "copyright");
533 $cp->setCols(50);
534 $cp->setRows(3);
535 $desc = ilMDRights::_lookupDescription($this->md_obj->getRBACId(),
536 $this->md_obj->getObjId());
537 $val["ta"] = $desc;
538 $cp->setValue($val);
539 $this->form->addItem($cp);
540
541 // typical learning time
542 include_once("./Services/MetaData/classes/class.ilTypicalLearningTimeInputGUI.php");
543 $tlt = new ilTypicalLearningTimeInputGUI($this->lng->txt("meta_typical_learning_time"), "tlt");
544 $edu = $this->md_obj->getEducational();
545 if (is_object($edu))
546 {
547 $tlt->setValueByLOMDuration($edu->getTypicalLearningTime());
548 }
549 $this->form->addItem($tlt);
550
551 // (parent) container taxonomies?
552 include_once "Services/Taxonomy/classes/class.ilTaxMDGUI.php";
553 $tax_gui = new ilTaxMDGUI($this->md_obj->getRBACId(),$this->md_obj->getObjId(),$this->md_obj->getObjType());
554 $tax_gui->addToMDForm($this->form);
555
556 $this->form->addCommandButton("updateQuickEdit", $lng->txt("save"));
557 $this->form->setTitle($this->lng->txt("meta_quickedit"));
558 $this->form->setFormAction($ilCtrl->getFormAction($this));
559
560 return $this->form;
561 }
This class represents a copyright property in a property form.
_lookupDescription($a_rbac_id, $a_obj_id)
Lookup description (copyright)
This class represents a property form user interface.
This class represents a selection list property in a property form.
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.

References $ilCtrl, $lang, $lng, $options, $si, ilMDLanguageItem\_getLanguages(), and ilMDRights\_lookupDescription().

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 569 of file class.ilMDEditorGUI.php.

570 {
571
572 include_once("./Services/MetaData/classes/class.ilMDKeyword.php");
574 $this->md_obj->getObjType(), $this->md_obj->getRBACId());
575
576 $result = array();
577 $cnt = 0;
578 foreach ($res as $r)
579 {
580 if ($cnt++ > 19)
581 {
582 continue;
583 }
584 $entry = new stdClass();
585 $entry->value = $r;
586 $entry->label = $r;
587 $result[] = $entry;
588 }
589
590 include_once './Services/JSON/classes/class.ilJsonUtil.php';
592 exit;
593 }
$result
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
exit
Definition: login.php:54

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

+ Here is the call graph for this function:

◆ listAnnotation()

ilMDEditorGUI::listAnnotation ( )

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

2754 {
2755 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.md_editor.html','Services/MetaData');
2756 $this->__setTabs('meta_annotation');
2757 $this->tpl->addBlockFile('MD_CONTENT','md_content','tpl.md_annotation.html','Services/MetaData');
2758
2759 $anno_ids = $this->md_obj->getAnnotationIds();
2760 if (!is_array($anno_ids) || count($anno_ids) == 0)
2761 {
2762 $this->tpl->setCurrentBlock("no_annotation");
2763 $this->tpl->setVariable("TXT_NO_ANNOTATION", $this->lng->txt("meta_no_annotation"));
2764 $this->tpl->setVariable("TXT_ADD_ANNOTATION", $this->lng->txt("meta_add"));
2765 $this->ctrl->setParameter($this, "section", "meta_annotation");
2766 $this->tpl->setVariable("ACTION_ADD_ANNOTATION",
2767 $this->ctrl->getLinkTarget($this, "addSection"));
2768 $this->tpl->parseCurrentBlock();
2769 }
2770 else
2771 {
2772 foreach($anno_ids as $anno_id)
2773 {
2774 $this->ctrl->setParameter($this, 'meta_index', $anno_id);
2775 $this->ctrl->setParameter($this, "section", "meta_annotation");
2776
2777 $this->md_section = $this->md_obj->getAnnotation($anno_id);
2778
2779 $this->tpl->setCurrentBlock("annotation_loop");
2780 $this->tpl->setVariable("ANNOTATION_ID", $anno_id);
2781 $this->tpl->setVariable("TXT_ANNOTATION", $this->lng->txt("meta_annotation"));
2782 $this->ctrl->setParameter($this, "meta_index", $anno_id);
2783 $this->tpl->setVariable("ACTION_DELETE",
2784 $this->ctrl->getLinkTarget($this, "deleteSection"));
2785 $this->ctrl->setParameter($this, "section", "meta_annotation");
2786 $this->tpl->setVariable("ACTION_ADD",
2787 $this->ctrl->getLinkTarget($this, "addSection"));
2788 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2789 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
2790
2791 $this->tpl->setVariable("TXT_ENTITY", $this->lng->txt("meta_entity"));
2792 $this->tpl->setVariable("VAL_ENTITY", ilUtil::prepareFormOutput($this->md_section->getEntity()));
2793 $this->tpl->setVariable("TXT_DATE", $this->lng->txt("meta_date"));
2794 $this->tpl->setVariable("VAL_DATE", ilUtil::prepareFormOutput($this->md_section->getDate()));
2795
2796 /* Description */
2797 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2798 $this->tpl->setVariable("TXT_VALUE", $this->lng->txt("meta_value"));
2799 $this->tpl->setVariable("VAL_DESCRIPTION", ilUtil::prepareFormOutput($this->md_section->getDescription()));
2800 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
2801 $this->tpl->setVariable("VAL_DESCRIPTION_LANGUAGE",
2802 $this->__showLanguageSelect('annotation['.$anno_id.'][Language]',
2803 $this->md_section->getDescriptionLanguageCode()));
2804
2805 $this->tpl->parseCurrentBlock();
2806 }
2807
2808 $this->tpl->setCurrentBlock("annotation");
2809 $this->tpl->setVariable("EDIT_ACTION",$this->ctrl->getFormAction($this));
2810 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2811 $this->tpl->parseCurrentBlock();
2812 }
2813 }
__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 2841 of file class.ilMDEditorGUI.php.

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

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 2255 of file class.ilMDEditorGUI.php.

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

1295 {
1296 if(!is_object($this->md_section = $this->md_obj->getGeneral()))
1297 {
1298 $this->md_section = $this->md_obj->addGeneral();
1299 $this->md_section->save();
1300 }
1301
1302 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.md_editor.html','Services/MetaData');
1303
1304 $this->__setTabs('meta_general');
1305
1306 $this->tpl->addBlockFile('MD_CONTENT','md_content','tpl.md_general.html','Services/MetaData');
1307
1308 $this->ctrl->setReturn($this,'listGeneral');
1309 $this->ctrl->setParameter($this,'section','meta_general');
1310 $this->tpl->setVariable("EDIT_ACTION",$this->ctrl->getFormAction($this));
1311
1312 $this->__fillSubelements();
1313
1314 $this->tpl->setVariable("TXT_GENERAL", $this->lng->txt("meta_general"));
1315 $this->tpl->setVariable("TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
1316 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
1317 $this->tpl->setVariable("TXT_KEYWORD", $this->lng->txt("meta_keyword"));
1318 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
1319 $this->tpl->setVariable("TXT_STRUCTURE", $this->lng->txt("meta_structure"));
1320 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
1321 $this->tpl->setVariable("TXT_ATOMIC", $this->lng->txt("meta_atomic"));
1322 $this->tpl->setVariable("TXT_COLLECTION", $this->lng->txt("meta_collection"));
1323 $this->tpl->setVariable("TXT_NETWORKED", $this->lng->txt("meta_networked"));
1324 $this->tpl->setVariable("TXT_HIERARCHICAL", $this->lng->txt("meta_hierarchical"));
1325 $this->tpl->setVariable("TXT_LINEAR", $this->lng->txt("meta_linear"));
1326
1327 // Structure
1328 $this->tpl->setVariable("STRUCTURE_VAL_".strtoupper($this->md_section->getStructure())," selected=selected");
1329
1330 // Identifier
1331 $first = true;
1332 foreach($ids = $this->md_section->getIdentifierIds() as $id)
1333 {
1334 $md_ide = $this->md_section->getIdentifier($id);
1335
1336 //
1337 if ($first)
1338 {
1339 $this->tpl->setCurrentBlock("id_head");
1340 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
1341 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_CATALOG", $this->lng->txt("meta_catalog"));
1342 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_ENTRY", $this->lng->txt("meta_entry"));
1343 $this->tpl->setVariable("ROWSPAN_ID", count($ids));
1344 $this->tpl->parseCurrentBlock();
1345 $first = false;
1346 }
1347
1348 if(count($ids) > 1)
1349 {
1350 $this->ctrl->setParameter($this,'meta_index',$id);
1351 $this->ctrl->setParameter($this,'meta_path','meta_identifier');
1352
1353 if ($md_ide->getCatalog() != "ILIAS")
1354 {
1355 $this->tpl->setCurrentBlock("identifier_delete");
1356 $this->tpl->setVariable("IDENTIFIER_LOOP_ACTION_DELETE",$this->ctrl->getLinkTarget($this,'deleteElement'));
1357 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_DELETE",$this->lng->txt('delete'));
1358 $this->tpl->parseCurrentBlock();
1359 }
1360 }
1361
1362 $this->tpl->setCurrentBlock("identifier_loop");
1363 if ($md_ide->getCatalog() == "ILIAS")
1364 {
1365 $this->tpl->setVariable("DISABLE_IDENT", ' disabled="disabled" ');
1366 }
1367 $this->tpl->setVariable("IDENTIFIER_LOOP_NO", $id);
1368 $this->tpl->setVariable("IDENTIFIER_LOOP_VAL_IDENTIFIER_CATALOG",
1369 ilUtil::prepareFormOutput($md_ide->getCatalog()));
1370 $this->tpl->setVariable("IDENTIFIER_LOOP_VAL_IDENTIFIER_ENTRY",
1371 ilUtil::prepareFormOutput($md_ide->getEntry()));
1372 $this->tpl->parseCurrentBlock();
1373 }
1374
1375
1376 // Language
1377 $first = true;
1378 foreach($ids = $this->md_section->getLanguageIds() as $id)
1379 {
1380 $md_lan = $this->md_section->getLanguage($id);
1381
1382 if ($first)
1383 {
1384 $this->tpl->setCurrentBlock("language_head");
1385 $this->tpl->setVariable("ROWSPAN_LANG", count($ids));
1386 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
1387 $this->tpl->parseCurrentBlock();
1388 $first = false;
1389 }
1390
1391 if (count($ids) > 1)
1392 {
1393 $this->ctrl->setParameter($this,'meta_index',$id);
1394 $this->ctrl->setParameter($this,'meta_path','meta_language');
1395
1396 $this->tpl->setCurrentBlock("language_delete");
1397 $this->tpl->setVariable("LANGUAGE_LOOP_ACTION_DELETE",$this->ctrl->getLinkTarget($this,'deleteElement'));
1398 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
1399 $this->tpl->parseCurrentBlock();
1400 }
1401 $this->tpl->setCurrentBlock("language_loop");
1402 $this->tpl->setVariable("LANGUAGE_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect('gen_language['.$id.'][language]',
1403 $md_lan->getLanguageCode()));
1404 $this->tpl->parseCurrentBlock();
1405 }
1406
1407 // TITLE
1408 $this->tpl->setVariable("TXT_TITLE",$this->lng->txt('title'));
1409 $this->tpl->setVariable("VAL_TITLE",ilUtil::prepareFormOutput($this->md_section->getTitle()));
1410 $this->tpl->setVariable("VAL_TITLE_LANGUAGE",$this->__showLanguageSelect('gen_title_language',
1411 $this->md_section->getTitleLanguageCode()));
1412
1413
1414 // DESCRIPTION
1415 foreach($ids = $this->md_section->getDescriptionIds() as $id)
1416 {
1417 $md_des = $this->md_section->getDescription($id);
1418
1419 if (count($ids) > 1)
1420 {
1421 $this->ctrl->setParameter($this,'meta_index',$id);
1422 $this->ctrl->setParameter($this,'meta_path','meta_description');
1423
1424 $this->tpl->setCurrentBlock("description_delete");
1425 $this->tpl->setVariable("DESCRIPTION_LOOP_ACTION_DELETE",$this->ctrl->getLinkTarget($this,'deleteElement'));
1426 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
1427 $this->tpl->parseCurrentBlock();
1428 }
1429
1430 $this->tpl->setCurrentBlock("description_loop");
1431 $this->tpl->setVariable("DESCRIPTION_LOOP_NO",$id);
1432 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
1433 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
1434 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL", ilUtil::prepareFormOutput($md_des->getDescription()));
1435 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
1436 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect("gen_description[".$id.'][language]',
1437 $md_des->getDescriptionLanguageCode()));
1438 $this->tpl->parseCurrentBlock();
1439 }
1440
1441 // KEYWORD
1442 $first = true;
1443 foreach($ids = $this->md_section->getKeywordIds() as $id)
1444 {
1445 $md_key = $this->md_section->getKeyword($id);
1446
1447 if ($first)
1448 {
1449 $this->tpl->setCurrentBlock("keyword_head");
1450 $this->tpl->setVariable("ROWSPAN_KEYWORD", count($ids));
1451 $this->tpl->setVariable("KEYWORD_LOOP_TXT_KEYWORD", $this->lng->txt("meta_keyword"));
1452 $this->tpl->parseCurrentBlock();
1453 $first = false;
1454 }
1455
1456
1457 if(count($ids) > 1)
1458 {
1459 $this->ctrl->setParameter($this,'meta_index',$id);
1460 $this->ctrl->setParameter($this,'meta_path','meta_keyword');
1461
1462 $this->tpl->setCurrentBlock("keyword_delete");
1463 $this->tpl->setVariable("KEYWORD_LOOP_ACTION_DELETE",$this->ctrl->getLinkTarget($this,'deleteElement'));
1464 $this->tpl->setVariable("KEYWORD_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
1465 $this->tpl->parseCurrentBlock();
1466 }
1467
1468 $this->tpl->setCurrentBlock("keyword_loop");
1469 $this->tpl->setVariable("KEYWORD_LOOP_NO",$id);
1470 $this->tpl->setVariable("KEYWORD_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
1471 $this->tpl->setVariable("KEYWORD_LOOP_VAL", ilUtil::prepareFormOutput($md_key->getKeyword()));
1472 $this->tpl->setVariable("KEYWORD_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
1473 $this->tpl->setVariable("KEYWORD_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect("gen_keyword[".$id.'][language]',
1474 $md_key->getKeywordLanguageCode()));
1475
1476 $this->tpl->parseCurrentBlock();
1477 }
1478
1479 // Coverage
1480 $this->tpl->setVariable("COVERAGE_LOOP_TXT_COVERAGE",$this->lng->txt('meta_coverage'));
1481 $this->tpl->setVariable("COVERAGE_LOOP_VAL",ilUtil::prepareFormOutput($this->md_section->getCoverage()));
1482 $this->tpl->setVariable("COVERAGE_LOOP_TXT_LANGUAGE",$this->lng->txt('meta_language'));
1483 $this->tpl->setVariable("COVERAGE_LOOP_VAL_LANGUAGE",$this->__showLanguageSelect('gen_coverage_language',
1484 $this->md_section->getCoverageLanguageCode()));
1485
1486 $this->tpl->setVariable("TXT_SAVE",$this->lng->txt('save'));
1487 }

References __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 1835 of file class.ilMDEditorGUI.php.

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

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

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

+ Here is the call graph for this function:

◆ listQuickEdit()

ilMDEditorGUI::listQuickEdit ( )

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

395 {
396 global $tpl;
397
398 if(!is_object($this->md_section = $this->md_obj->getGeneral()))
399 {
400 $this->md_section = $this->md_obj->addGeneral();
401 $this->md_section->save();
402 }
403
404 $this->__setTabs('meta_quickedit');
405 $form = $this->initQuickEditForm();
406 $tpl->setContent($form->getHTML());
407 }
initQuickEditForm()
Init quick edit form.

References $tpl, __setTabs(), 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 ( )

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

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

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

Referenced by listSection().

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

◆ listRelation()

ilMDEditorGUI::listRelation ( )

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

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

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 2178 of file class.ilMDEditorGUI.php.

2179 {
2180 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.md_editor.html','Services/MetaData');
2181 $this->__setTabs('meta_rights');
2182 $this->tpl->addBlockFile('MD_CONTENT','md_content','tpl.md_rights.html','Services/MetaData');
2183
2184 if(!is_object($this->md_section = $this->md_obj->getRights()))
2185 {
2186 $this->tpl->setCurrentBlock("no_rights");
2187 $this->tpl->setVariable("TXT_NO_RIGHTS", $this->lng->txt("meta_no_rights"));
2188 $this->tpl->setVariable("TXT_ADD_RIGHTS", $this->lng->txt("meta_add"));
2189 $this->ctrl->setParameter($this, "section", "meta_rights");
2190 $this->tpl->setVariable("ACTION_ADD_RIGHTS",
2191 $this->ctrl->getLinkTarget($this, "addSection"));
2192 $this->tpl->parseCurrentBlock();
2193 }
2194 else
2195 {
2196
2197 $this->ctrl->setReturn($this,'listRights');
2198 $this->ctrl->setParameter($this,'section','meta_rights');
2199 $this->tpl->setVariable("EDIT_ACTION",$this->ctrl->getFormAction($this));
2200
2201 $this->tpl->setVariable("TXT_RIGHTS", $this->lng->txt("meta_rights"));
2202 $this->tpl->setVariable("TXT_COST", $this->lng->txt("meta_cost"));
2203 $this->tpl->setVariable("TXT_COPYRIGHTANDOTHERRESTRICTIONS", $this->lng->txt("meta_copyright_and_other_restrictions"));
2204 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
2205 $this->tpl->setVariable("TXT_YES", $this->lng->txt("meta_yes"));
2206 $this->tpl->setVariable("TXT_NO", $this->lng->txt("meta_no"));
2207
2208 $this->ctrl->setParameter($this, "section", "meta_rights");
2209 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
2210 $this->tpl->setVariable("ACTION_DELETE",
2211 $this->ctrl->getLinkTarget($this, "deleteSection"));
2212
2213 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2214
2215 $this->tpl->setVariable("VAL_COST_".strtoupper($this->md_section->getCosts()), " selected");
2216 $this->tpl->setVariable("VAL_COPYRIGHTANDOTHERRESTRICTIONS_".
2217 strtoupper($this->md_section->getCopyrightAndOtherRestrictions()), " selected");
2218
2219 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2220 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2221 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL", ilUtil::prepareFormOutput($this->md_section->getDescription()));
2222 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2223 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL_LANGUAGE",
2224 $this->__showLanguageSelect('rights[DescriptionLanguage]',
2225 $this->md_section->getDescriptionLanguageCode()));
2226
2227 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2228
2229 $this->tpl->setCurrentBlock("rights");
2230 $this->tpl->parseCurrentBlock();
2231
2232 }
2233 }

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 3302 of file class.ilMDEditorGUI.php.

3303 {
3304 switch($_REQUEST['section'])
3305 {
3306 case 'meta_general':
3307 return $this->listGeneral();
3308
3309 case 'meta_lifecycle':
3310 return $this->listLifecycle();
3311
3312 case 'meta_technical':
3313 return $this->listTechnical();
3314
3315 case 'meta_meta_metadata':
3316 return $this->listMetaMetadata();
3317
3318 case 'debug':
3319 return $this->debug();
3320
3321 case 'meta_rights':
3322 return $this->listRights();
3323
3324 case 'meta_educational':
3325 return $this->listEducational();
3326
3327 case 'meta_relation':
3328 return $this->listRelation();
3329
3330 case 'meta_annotation':
3331 return $this->listAnnotation();
3332
3333 case 'meta_classification':
3334 return $this->listClassification();
3335
3336 default:
3337 if($this->md_obj->obj_type=='sahs'||$this->md_obj->obj_type=='sco')
3338 return $this->listQuickEdit_scorm();
3339 else
3340 return $this->listQuickEdit();
3341 }
3342 }
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7

References $_REQUEST, 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 1625 of file class.ilMDEditorGUI.php.

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

References __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 2815 of file class.ilMDEditorGUI.php.

2816 {
2817 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2818
2819 // relation
2820 foreach($ids = $this->md_obj->getAnnotationIds() as $id)
2821 {
2822 // entity
2823 $annotation = $this->md_obj->getAnnotation($id);
2824 $annotation->setEntity(ilUtil::stripSlashes($_POST['annotation'][$id]['Entity']));
2825 $annotation->setDate(ilUtil::stripSlashes($_POST['annotation'][$id]['Date']));
2826 $annotation->setDescription(ilUtil::stripSlashes($_POST['annotation'][$id]['Description']));
2827 $annotation->setDescriptionLanguage(
2828 new ilMDLanguageItem($_POST['annotation'][$id]['Language']));
2829
2830 $annotation->update();
2831 }
2832
2833 $this->callListeners('Annotation');
2834 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2835 $this->listSection();
2836 }
callListeners($a_element)
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.

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

+ Here is the call graph for this function:

◆ updateClassification()

ilMDEditorGUI::updateClassification ( )

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

3023 {
3024 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
3025
3026 // relation
3027 foreach($ids = $this->md_obj->getClassificationIds() as $id)
3028 {
3029 // entity
3030 $classification = $this->md_obj->getClassification($id);
3031 $classification->setPurpose($_POST['classification'][$id]['Purpose']);
3032
3033 $classification->setDescription(ilUtil::stripSlashes($_POST['classification'][$id]['Description']));
3034 $classification->setDescriptionLanguage(
3035 new ilMDLanguageItem($_POST['classification'][$id]['Language']));
3036
3037 $classification->update();
3038
3039 $key_ids = $classification->getKeywordIds();
3040 foreach ($key_ids as $key_id)
3041 {
3042 $keyword = $classification->getKeyword($key_id);
3043 $keyword->setKeyword(ilUtil::stripSlashes($_POST['classification']['Keyword'][$key_id]['Value']));
3044 $keyword->setKeywordLanguage(
3045 new ilMDLanguageItem($_POST['classification']['Keyword'][$key_id]['Language']));
3046 $keyword->update();
3047 }
3048
3049 $tp_ids = $classification->getTaxonPathIds();
3050 foreach ($tp_ids as $tp_id)
3051 {
3052 $tax_path = $classification->getTaxonPath($tp_id);
3053 $tax_path->setSource(ilUtil::stripSlashes($_POST['classification']['TaxonPath'][$tp_id]['Source']['Value']));
3054 $tax_path->setSourceLanguage(
3055 new ilMDLanguageItem($_POST['classification']['TaxonPath'][$tp_id]['Source']['Language']));
3056 $tax_path->update();
3057
3058 $tax_ids = $tax_path->getTaxonIds();
3059
3060 foreach($tax_ids as $tax_id)
3061 {
3062 $taxon = $tax_path->getTaxon($tax_id);
3063 $taxon->setTaxon(ilUtil::stripSlashes($_POST['classification']['TaxonPath']['Taxon'][$tax_id]['Value']));
3064 $taxon->setTaxonLanguage(
3065 new ilMDLanguageItem($_POST['classification']['TaxonPath']['Taxon'][$tax_id]['Language']));
3066 $taxon->setTaxonId(ilUtil::stripSlashes($_POST['classification']['TaxonPath']['Taxon'][$tax_id]['Id']));
3067 $taxon->update();
3068 }
3069 }
3070
3071
3072 }
3073
3074 $this->callListeners('Classification');
3075 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
3076 $this->listSection();
3077 }

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

+ Here is the call graph for this function:

◆ updateEducational()

ilMDEditorGUI::updateEducational ( )

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

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

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

+ Here is the call graph for this function:

◆ updateGeneral()

ilMDEditorGUI::updateGeneral ( )

update general section

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

1493 {
1494 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
1495
1496 if(!strlen(trim($_POST['gen_title'])))
1497 {
1498 ilUtil::sendFailure($this->lng->txt('title_required'));
1499 $this->listGeneral();
1500 return false;
1501 }
1502
1503 // General values
1504 $this->md_section = $this->md_obj->getGeneral();
1505 $this->md_section->setStructure($_POST['gen_structure']);
1506 $this->md_section->setTitle(ilUtil::stripSlashes($_POST['gen_title']));
1507 $this->md_section->setTitleLanguage(new ilMDLanguageItem($_POST['gen_title_language']));
1508 $this->md_section->setCoverage(ilUtil::stripSlashes($_POST['gen_coverage']));
1509 $this->md_section->setCoverageLanguage(new ilMDLanguageItem($_POST['gen_coverage_language']));
1510 $this->md_section->update();
1511
1512 // Identifier
1513 if(is_array($_POST['gen_identifier']))
1514 {
1515 foreach($_POST['gen_identifier'] as $id => $data)
1516 {
1517 $md_ide = $this->md_section->getIdentifier($id);
1518 $md_ide->setCatalog(ilUtil::stripSlashes($data['Catalog']));
1519 $md_ide->setEntry(ilUtil::stripSlashes($data['Entry']));
1520 $md_ide->update();
1521 }
1522 }
1523
1524 // Language
1525 if(is_array($_POST['gen_language']))
1526 {
1527 foreach($_POST['gen_language'] as $id => $data)
1528 {
1529 $md_lan = $this->md_section->getLanguage($id);
1530 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
1531 $md_lan->update();
1532 }
1533 }
1534 // Description
1535 if(is_array($_POST['gen_description']))
1536 {
1537 foreach($_POST['gen_description'] as $id => $data)
1538 {
1539 $md_des = $this->md_section->getDescription($id);
1540 $md_des->setDescription(ilUtil::stripSlashes($data['description']));
1541 $md_des->setDescriptionLanguage(new ilMDLanguageItem($data['language']));
1542 $md_des->update();
1543 }
1544 }
1545 // Keyword
1546 if(is_array($_POST['gen_keyword']))
1547 {
1548 foreach($_POST['gen_keyword'] as $id => $data)
1549 {
1550 $md_key = $this->md_section->getKeyword($id);
1551
1552 $md_key->setKeyword(ilUtil::stripSlashes($data['keyword']));
1553 $md_key->setKeywordLanguage(new ilMDLanguageItem($data['language']));
1554 $md_key->update();
1555 }
1556 }
1557 $this->callListeners('General');
1558
1559 // Redirect here to read new title and description
1560 // Otherwise ('Lifecycle' 'technical' ...) simply call listSection()
1561 $this->ctrl->setParameter($this, "section", "meta_general");
1562 ilUtil::sendSuccess($this->lng->txt("saved_successfully"), true);
1563 $this->ctrl->redirect($this,'listSection');
1564 }
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

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

+ Here is the call graph for this function:

◆ updateLifecycle()

ilMDEditorGUI::updateLifecycle ( )

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

1945 {
1946 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
1947
1948 // update metametadata section
1949 $this->md_section = $this->md_obj->getLifecycle();
1950 $this->md_section->setVersionLanguage(new ilMDLanguageItem($_POST['lif_language']));
1951 $this->md_section->setVersion(ilUtil::stripSlashes($_POST['lif_version']));
1952 $this->md_section->setStatus($_POST['lif_status']);
1953 $this->md_section->update();
1954
1955 // Identifier
1956 if(is_array($_POST['met_identifier']))
1957 {
1958 foreach($_POST['met_identifier'] as $id => $data)
1959 {
1960 $md_ide = $this->md_section->getIdentifier($id);
1961 $md_ide->setCatalog(ilUtil::stripSlashes($data['Catalog']));
1962 $md_ide->setEntry(ilUtil::stripSlashes($data['Entry']));
1963 $md_ide->update();
1964 }
1965 }
1966 // Contribute
1967 if(is_array($_POST['met_contribute']))
1968 {
1969 foreach($_POST['met_contribute'] as $id => $data)
1970 {
1971 $md_con =& $this->md_section->getContribute($id);
1972 $md_con->setRole(ilUtil::stripSlashes($data['Role']));
1973 $md_con->setDate(ilUtil::stripSlashes($data['Date']));
1974 $md_con->update();
1975
1976 if(is_array($_POST['met_entity'][$id]))
1977 {
1978 foreach($_POST['met_entity'][$id] as $ent_id => $data)
1979 {
1980 $md_ent =& $md_con->getEntity($ent_id);
1981 $md_ent->setEntity(ilUtil::stripSlashes($data['Entity']));
1982 $md_ent->update();
1983 }
1984 }
1985 }
1986 }
1987 $this->callListeners('Lifecycle');
1988 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
1989 $this->listSection();
1990 return true;
1991 }

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

+ Here is the call graph for this function:

◆ updateMetaMetaData()

ilMDEditorGUI::updateMetaMetaData ( )

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

2128 {
2129 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2130
2131 // update metametadata section
2132 $this->md_section = $this->md_obj->getMetaMetadata();
2133 $this->md_section->setLanguage(new ilMDLanguageItem($_POST['met_language']));
2134 $this->md_section->update();
2135
2136 // Identifier
2137 if(is_array($_POST['met_identifier']))
2138 {
2139 foreach($_POST['met_identifier'] as $id => $data)
2140 {
2141 $md_ide = $this->md_section->getIdentifier($id);
2142 $md_ide->setCatalog(ilUtil::stripSlashes($data['Catalog']));
2143 $md_ide->setEntry(ilUtil::stripSlashes($data['Entry']));
2144 $md_ide->update();
2145 }
2146 }
2147 // Contribute
2148 if(is_array($_POST['met_contribute']))
2149 {
2150 foreach($_POST['met_contribute'] as $id => $data)
2151 {
2152 $md_con =& $this->md_section->getContribute($id);
2153 $md_con->setRole(ilUtil::stripSlashes($data['Role']));
2154 $md_con->setDate(ilUtil::stripSlashes($data['Date']));
2155 $md_con->update();
2156
2157 if(is_array($_POST['met_entity'][$id]))
2158 {
2159 foreach($_POST['met_entity'][$id] as $ent_id => $data)
2160 {
2161 $md_ent =& $md_con->getEntity($ent_id);
2162 $md_ent->setEntity(ilUtil::stripSlashes($data['Entity']));
2163 $md_ent->update();
2164 }
2165 }
2166 }
2167 }
2168 $this->callListeners('MetaMetaData');
2169 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2170 $this->listSection();
2171 return true;
2172 }

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

+ Here is the call graph for this function:

◆ updateQuickEdit()

ilMDEditorGUI::updateQuickEdit ( )

update quick edit properties

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

600 {
601 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
602
603 if(!trim($_POST['gen_title']))
604 {
605 ilUtil::sendFailure($this->lng->txt('title_required'));
606 $this->listQuickEdit();
607 return false;
608 }
609
610 // General values
611 $this->md_section = $this->md_obj->getGeneral();
612 $this->md_section->setTitle(ilUtil::stripSlashes($_POST['gen_title']));
613// $this->md_section->setTitleLanguage(new ilMDLanguageItem($_POST['gen_title_language']));
614 $this->md_section->update();
615
616 // Language
617 if(is_array($_POST['gen_language']))
618 {
619 foreach($_POST['gen_language'] as $id => $data)
620 {
621 if ($id > 0)
622 {
623 $md_lan = $this->md_section->getLanguage($id);
624 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
625 $md_lan->update();
626 }
627 else
628 {
629 $md_lan = $this->md_section->addLanguage();
630 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
631 $md_lan->save();
632 }
633 }
634 }
635 // Description
636 if(is_array($_POST['gen_description']))
637 {
638 foreach($_POST['gen_description'] as $id => $data)
639 {
640 $md_des = $this->md_section->getDescription($id);
641 $md_des->setDescription(ilUtil::stripSlashes($data['description']));
642// $md_des->setDescriptionLanguage(new ilMDLanguageItem($data['language']));
643 $md_des->update();
644 }
645 }
646
647 // Keyword
648 if(is_array($_POST["keywords"]["value"]))
649 {
650 include_once("./Services/MetaData/classes/class.ilMDKeyword.php");
651 ilMDKeyword::updateKeywords($this->md_section, $_POST["keywords"]["value"]);
652 }
653 $this->callListeners('General');
654
655 // Copyright
656 //if($_POST['copyright_id'] or $_POST['rights_copyright'])
657 if($_POST['copyright']['sel'] || $_POST['copyright']['ta'])
658 {
659 if(!is_object($this->md_section = $this->md_obj->getRights()))
660 {
661 $this->md_section = $this->md_obj->addRights();
662 $this->md_section->save();
663 }
664 if($_POST['copyright']['sel'])
665 {
666 $this->md_section->setCopyrightAndOtherRestrictions("Yes");
667 $this->md_section->setDescription('il_copyright_entry__'.IL_INST_ID.'__'.(int) $_POST['copyright']['sel']);
668 }
669 else
670 {
671 $this->md_section->setCopyrightAndOtherRestrictions("Yes");
672 $this->md_section->setDescription(ilUtil::stripSlashes($_POST['copyright']['ta']));
673 }
674 $this->md_section->update();
675 }
676 else
677 {
678 if(is_object($this->md_section = $this->md_obj->getRights()))
679 {
680 $this->md_section->setCopyrightAndOtherRestrictions("No");
681 $this->md_section->setDescription("");
682 $this->md_section->update();
683 }
684 }
685 $this->callListeners('Rights');
686
687 //Educational...
688 // Typical Learning Time
689 if($_POST['tlt']['mo'] or $_POST['tlt']['d'] or
690 $_POST["tlt"]['h'] or $_POST['tlt']['m'] or $_POST['tlt']['s'])
691 {
692 if(!is_object($this->md_section = $this->md_obj->getEducational()))
693 {
694 $this->md_section = $this->md_obj->addEducational();
695 $this->md_section->save();
696 }
697 $this->md_section->setPhysicalTypicalLearningTime((int)$_POST['tlt']['mo'],(int)$_POST['tlt']['d'],
698 (int)$_POST['tlt']['h'],(int)$_POST['tlt']['m'],(int)$_POST['tlt']['s']);
699 $this->md_section->update();
700 }
701 else
702 {
703 if(is_object($this->md_section = $this->md_obj->getEducational()))
704 {
705 $this->md_section->setPhysicalTypicalLearningTime(0,0,0,0,0);
706 $this->md_section->update();
707 }
708 }
709 $this->callListeners('Educational');
710 //Lifecycle...
711 // Authors
712 if ($_POST["life_authors"] != "")
713 {
714 if(!is_object($this->md_section = $this->md_obj->getLifecycle()))
715 {
716 $this->md_section = $this->md_obj->addLifecycle();
717 $this->md_section->save();
718 }
719
720 // determine all entered authors
721 $auth_arr = explode($this->md_settings->getDelimiter(), $_POST["life_authors"]);
722 for($i = 0; $i < count($auth_arr); $i++)
723 {
724 $auth_arr[$i] = trim($auth_arr[$i]);
725 }
726
727 $md_con_author = "";
728
729 // update existing author entries (delete if not entered)
730 foreach(($ids = $this->md_section->getContributeIds()) as $con_id)
731 {
732 $md_con = $this->md_section->getContribute($con_id);
733 if ($md_con->getRole() == "Author")
734 {
735 foreach($ent_ids = $md_con->getEntityIds() as $ent_id)
736 {
737 $md_ent = $md_con->getEntity($ent_id);
738
739 // entered author already exists
740 if (in_array($md_ent->getEntity(), $auth_arr))
741 {
742 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
743 }
744 else // existing author has not been entered again -> delete
745 {
746 $md_ent->delete();
747 }
748 }
749 $md_con_author = $md_con;
750 }
751 }
752
753 // insert enterd, but not existing authors
754 if (count($auth_arr) > 0)
755 {
756 if (!is_object($md_con_author))
757 {
758 $md_con_author = $this->md_section->addContribute();
759 $md_con_author->setRole("Author");
760 $md_con_author->save();
761 }
762 foreach ($auth_arr as $auth)
763 {
764 $md_ent = $md_con_author->addEntity();
765 $md_ent->setEntity(ilUtil::stripSlashes($auth));
766 $md_ent->save();
767 }
768 }
769 }
770 else // nothing has been entered: delete all author contribs
771 {
772 if(is_object($this->md_section = $this->md_obj->getLifecycle()))
773 {
774 foreach(($ids = $this->md_section->getContributeIds()) as $con_id)
775 {
776 $md_con = $this->md_section->getContribute($con_id);
777 if ($md_con->getRole() == "Author")
778 {
779 $md_con->delete();
780 }
781 }
782 }
783 }
784 $this->callListeners('Lifecycle');
785
786 // (parent) container taxonomies?
787 include_once "Services/Taxonomy/classes/class.ilTaxMDGUI.php";
788 $tax_gui = new ilTaxMDGUI($this->md_obj->getRBACId(),$this->md_obj->getObjId(),$this->md_obj->getObjType());
789 $tax_gui->updateFromMDForm();
790
791 // Redirect here to read new title and description
792 // Otherwise ('Lifecycle' 'technical' ...) simply call listSection()
793 ilUtil::sendSuccess($this->lng->txt("saved_successfully"), true);
794 $this->ctrl->redirect($this,'listSection');
795
796 }
static updateKeywords(ilMDGeneral $a_md_section, array $a_keywords)
Update keywords from input array.

References $_POST, $auth, $data, callListeners(), listQuickEdit(), ilUtil\sendFailure(), ilUtil\sendSuccess(), 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 902 of file class.ilMDEditorGUI.php.

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

References $_POST, $auth, $data, $lang, callListeners(), ilUtil\sendSuccess(), 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 891 of file class.ilMDEditorGUI.php.

892 {
893 $this->updateQuickEdit_scorm_propagate("life_designers", "InstructionalDesigner");
894 }
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 887 of file class.ilMDEditorGUI.php.

888 {
889 $this->updateQuickEdit_scorm_propagate("life_experts", "SubjectMatterExpert");
890 }

References updateQuickEdit_scorm_propagate().

+ Here is the call graph for this function:

◆ updateQuickEdit_scorm_prop_poc()

ilMDEditorGUI::updateQuickEdit_scorm_prop_poc ( )

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

896 {
897 $this->updateQuickEdit_scorm_propagate("life_poc", "PointOfContact");
898 }

References updateQuickEdit_scorm_propagate().

+ Here is the call graph for this function:

◆ updateQuickEdit_scorm_propagate()

ilMDEditorGUI::updateQuickEdit_scorm_propagate (   $request,
  $type 
)

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

799 {
800 $module_id = $this->md_obj->obj_id;
801 if($this->md_obj->obj_type=='sco')
802 $module_id = $this->md_obj->rbac_id;
803 $tree = new ilTree($module_id);
804 $tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
805 $tree->setTreeTablePK("slm_id");
806 foreach($tree->getSubTree($tree->getNodeData($tree->getRootId()),true,'sco') as $sco)
807 {
808 $sco_md = new ilMD($module_id,$sco['obj_id'],'sco');
809 if ($_POST[$request] != "")
810 {
811 $sco_md_section;
812 if(!is_object($sco_md_section = $sco_md->getLifecycle()))
813 {
814 $sco_md_section = $sco_md->addLifecycle();
815 $sco_md_section->save();
816 }
817 // determine all entered authors
818 $auth_arr = explode(",", $_POST[$request]);
819 for($i = 0; $i < count($auth_arr); $i++)
820 {
821 $auth_arr[$i] = trim($auth_arr[$i]);
822 }
823
824 $md_con_author = "";
825
826 // update existing author entries (delete if not entered)
827 foreach(($ids = $sco_md_section->getContributeIds()) as $con_id)
828 {
829 $md_con = $sco_md_section->getContribute($con_id);
830 if ($md_con->getRole() == $type)
831 {
832 foreach($ent_ids = $md_con->getEntityIds() as $ent_id)
833 {
834 $md_ent = $md_con->getEntity($ent_id);
835
836 // entered author already exists
837 if (in_array($md_ent->getEntity(), $auth_arr))
838 {
839 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
840 }
841 else // existing author has not been entered again -> delete
842 {
843 $md_ent->delete();
844 }
845 }
846 $md_con_author = $md_con;
847 }
848 }
849
850 // insert enterd, but not existing authors
851 if (count($auth_arr) > 0)
852 {
853 if (!is_object($md_con_author))
854 {
855 $md_con_author = $sco_md_section->addContribute();
856 $md_con_author->setRole($type);
857 $md_con_author->save();
858 }
859 foreach ($auth_arr as $auth)
860 {
861 $md_ent = $md_con_author->addEntity();
862 $md_ent->setEntity(ilUtil::stripSlashes($auth));
863 $md_ent->save();
864 }
865 }
866 }
867 else // nothing has been entered: delete all author contribs
868 {
869 if(is_object($sco_md_section = $sco_md->getLifecycle()))
870 {
871 foreach(($ids = $sco_md_section->getContributeIds()) as $con_id)
872 {
873 $md_con = $sco_md_section->getContribute($con_id);
874 if ($md_con->getRole() == $type)
875 {
876 $md_con->delete();
877 }
878 }
879 }
880
881 }
882 $sco_md->update();
883 }
884 $this->updateQuickEdit_scorm();
885 }
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...

References $_POST, $auth, 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 2710 of file class.ilMDEditorGUI.php.

2711 {
2712 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2713
2714 // relation
2715 foreach($ids = $this->md_obj->getRelationIds() as $id)
2716 {
2717 // kind
2718 $relation = $this->md_obj->getRelation($id);
2719 $relation->setKind($_POST['relation'][$id]['Kind']);
2720
2721 $relation->update();
2722
2723 // identifiers
2724 $res_idents = $relation->getIdentifier_Ids();
2725 foreach ($res_idents as $res_id)
2726 {
2727 $ident = $relation->getIdentifier_($res_id);
2728 $ident->setCatalog(ilUtil::stripSlashes($_POST['relation']['Resource']['Identifier'][$res_id][Catalog]));
2729 $ident->setEntry(ilUtil::stripSlashes($_POST['relation']['Resource']['Identifier'][$res_id][Entry]));
2730 $ident->update();
2731 }
2732
2733 // descriptions
2734 $res_dess = $relation->getDescriptionIds();
2735 foreach ($res_dess as $res_des)
2736 {
2737 $des = $relation->getDescription($res_des);
2738 $des->setDescription(ilUtil::stripSlashes($_POST['relation']['Resource']['Description'][$res_des][Value]));
2739 $des->setDescriptionLanguage(
2740 new ilMDLanguageItem($_POST['relation']['Resource']['Description'][$res_des]['Language']));
2741 $des->update();
2742 }
2743 }
2744
2745 $this->callListeners('Relation');
2746 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2747 $this->listSection();
2748 }

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

+ Here is the call graph for this function:

◆ updateRights()

ilMDEditorGUI::updateRights ( )

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

2236 {
2237 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2238
2239 // update rights section
2240 $this->md_section = $this->md_obj->getRights();
2241 $this->md_section->setCosts($_POST['rights']['Cost']);
2242 $this->md_section->setCopyrightAndOtherRestrictions($_POST['rights']['CopyrightAndOtherRestrictions']);
2243 $this->md_section->setDescriptionLanguage(new ilMDLanguageItem($_POST['rights']['DescriptionLanguage']));
2244 $this->md_section->setDescription(ilUtil::stripSlashes($_POST['rights']['Description']));
2245 $this->md_section->update();
2246
2247 $this->callListeners('Rights');
2248 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2249 $this->listSection();
2250 }

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

+ Here is the call graph for this function:

◆ updateTechnical()

ilMDEditorGUI::updateTechnical ( )

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

1567 {
1568 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
1569
1570 // update technical section
1571 $this->md_section = $this->md_obj->getTechnical();
1572 $this->md_section->setSize(ilUtil::stripSlashes($_POST['met_size']));
1573 $this->md_section->setInstallationRemarks(ilUtil::stripSlashes($_POST['met_inst']));
1574 $this->md_section->setInstallationRemarksLanguage(new ilMDLanguageItem($_POST['inst_language']));
1575 $this->md_section->setOtherPlatformRequirements(ilUtil::stripSlashes($_POST['met_opr']));
1576 $this->md_section->setOtherPlatformRequirementsLanguage(new ilMDLanguageItem($_POST['opr_language']));
1577 $this->md_section->setDuration(ilUtil::stripSlashes($_POST['duration']));
1578 $this->md_section->update();
1579
1580 // Format
1581 if(is_array($_POST['met_format']))
1582 {
1583 foreach($_POST['met_format'] as $id => $data)
1584 {
1585 $md_for = $this->md_section->getFormat($id);
1586 $md_for->setFormat(ilUtil::stripSlashes($data['Format']));
1587 $md_for->update();
1588 }
1589 }
1590 // Location
1591 if(is_array($_POST['met_location']))
1592 {
1593 foreach($_POST['met_location'] as $id => $data)
1594 {
1595 $md_loc = $this->md_section->getLocation($id);
1596 $md_loc->setLocation(ilUtil::stripSlashes($data['Location']));
1597 $md_loc->setLocationType(ilUtil::stripSlashes($data['Type']));
1598 $md_loc->update();
1599 }
1600 }
1601 if(is_array($_POST['met_re']))
1602 {
1603 foreach($_POST['met_re'] as $id => $data)
1604 {
1605
1606 $md_re = $this->md_section->getRequirement($id);
1607 $md_re->setOperatingSystemName(ilUtil::stripSlashes($data['os']['name']));
1608 $md_re->setOperatingSystemMinimumVersion(ilUtil::stripSlashes($data['os']['MinimumVersion']));
1609 $md_re->setOperatingSystemMaximumVersion(ilUtil::stripSlashes($data['os']['MaximumVersion']));
1610 $md_re->setBrowserName(ilUtil::stripSlashes($data['browser']['name']));
1611 $md_re->setBrowserMinimumVersion(ilUtil::stripSlashes($data['browser']['MinimumVersion']));
1612 $md_re->setBrowserMaximumVersion(ilUtil::stripSlashes($data['browser']['MaximumVersion']));
1613 $md_re->update();
1614 }
1615 }
1616 $this->callListeners('Technical');
1617
1618 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
1619 $this->listSection();
1620 return true;
1621 }

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

+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

ilMDEditorGUI::$ctrl = null

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

◆ $lng

ilMDEditorGUI::$lng = null

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

Referenced by ilMDEditorGUI(), initQuickEditForm(), and listQuickEdit_scorm().

◆ $md_obj

ilMDEditorGUI::$md_obj = null

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

◆ $obj_id

ilMDEditorGUI::$obj_id = null

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

◆ $obj_type

ilMDEditorGUI::$obj_type = null

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

◆ $observers

ilMDEditorGUI::$observers = array()

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

◆ $rbac_id

ilMDEditorGUI::$rbac_id = null

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

◆ $tpl

ilMDEditorGUI::$tpl = null

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

Referenced by __showLanguageSelect(), ilMDEditorGUI(), and listQuickEdit().


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