ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilMDEditorGUI Class Reference
+ Collaboration diagram for ilMDEditorGUI:

Public Member Functions

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

Constructor & Destructor Documentation

◆ __construct()

ilMDEditorGUI::__construct (   $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 }
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:

Member Function Documentation

◆ __buildDaysSelect()

ilMDEditorGUI::__buildDaysSelect (   $sel_day)

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

3407 {
3408 for ($i = 0;$i <= 31;$i++) {
3409 $options[$i] = sprintf('%02d', $i);
3410 }
3411 return ilUtil::formSelect($sel_day, 'tlt[d]', $options, false, true);
3412 }
sprintf('%.4f', $callTime)
if(!isset( $_REQUEST[ 'ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
static formSelect( $selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
$i
Definition: disco.tpl.php:19

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

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

3398 {
3399 for ($i = 0;$i <= 24;$i++) {
3400 $options[$i] = sprintf('%02d', $i);
3401 }
3402 return ilUtil::formSelect($sel_month, 'tlt[mo]', $options, false, true);
3403 }

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

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

3303 {
3304 if (count($subs = $this->md_section->getPossibleSubelements())) {
3305 //$subs = array_merge(array('' => 'meta_please_select'),$subs);
3306
3307 $this->tpl->setCurrentBlock("subelements");
3308 $this->tpl->setVariable("SEL_SUBELEMENTS", ilUtil::formSelect('', 'section_element', $subs));
3309 $this->tpl->setVariable("TXT_NEW_ELEMENT", $this->lng->txt("meta_new_element"));
3310 $this->tpl->parseCurrentBlock();
3311
3312 $this->tpl->setVariable("TXT_ADD", $this->lng->txt('meta_add'));
3313 }
3314 return true;
3315 }

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

3320 {
3321 global $ilToolbar;
3322
3323 $tabs = array('meta_quickedit' => 'listQuickEdit',
3324 'meta_general' => 'listGeneral',
3325 'meta_lifecycle' => 'listLifecycle',
3326 'meta_meta_metadata' => 'listMetaMetadata',
3327 'meta_technical' => 'listTechnical',
3328 'meta_educational' => 'listEducational',
3329 'meta_rights' => 'listRights',
3330 'meta_relation' => 'listRelation',
3331 'meta_annotation' => 'listAnnotation',
3332 'meta_classification' => 'listClassification');
3333
3334 if (DEVMODE) {
3335 $tabs['debug'] = 'debug';
3336 }
3337
3338 include_once 'Services/Form/classes/class.ilSelectInputGUI.php';
3339 $section = new ilSelectInputGUI($this->lng->txt("meta_section"), "section");
3340
3341 $options = array();
3342 foreach (array_keys($tabs) as $key) {
3343 $options[$key]= $this->lng->txt($key);
3344 }
3345 $section->setOptions($options);
3346 $section->setValue($a_active);
3347
3348 $ilToolbar->addStickyItem($section, true);
3349
3350 include_once "Services/UIComponent/Button/classes/class.ilSubmitButton.php";
3351 $button = ilSubmitButton::getInstance();
3352 $button->setCaption("show");
3353 $button->setCommand("listSection");
3354 $ilToolbar->addStickyItem($button);
3355
3356 $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "listSection"));
3357
3358 return true;
3359 }
$section
Definition: Utf8Test.php:83
This class represents a selection list property in a property form.
static getInstance()
Factory.
$key
Definition: croninfo.php:18
if(!empty($this->data['faventry'])) $tabs
Definition: disco.tpl.php:124

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

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

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

◆ __showLanguageSelect()

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

shows language select box

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

3366 {
3367 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
3368
3369 $tpl = new ilTemplate(
3370 "tpl.lang_selection.html",
3371 true,
3372 true,
3373 "Services/MetaData"
3374 );
3375
3376 foreach (ilMDLanguageItem::_getLanguages() as $code => $text) {
3377 $tpl->setCurrentBlock("lg_option");
3378 $tpl->setVariable("VAL_LG", $code);
3379 $tpl->setVariable("TXT_LG", $text);
3380
3381 if ($a_value != "" &&
3382 $a_value == $code) {
3383 $tpl->setVariable("SELECTED", "selected");
3384 }
3385
3386 $tpl->parseCurrentBlock();
3387 }
3388 $tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
3389 $tpl->setVariable("SEL_NAME", $a_name);
3390
3391 $return = $tpl->get();
3392 unset($tpl);
3393
3394 return $return;
3395 }
special template class to simplify handling of ITX/PEAR
$code
Definition: example_050.php:99
$text
Definition: errorreport.php:18

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

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

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

◆ addObserver()

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

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

3418 {
3419 $this->observers[$a_element]['class'] =&$a_class;
3420 $this->observers[$a_element]['method'] =&$a_method;
3421
3422 return true;
3423 }

◆ addSection()

ilMDEditorGUI::addSection ( )

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

3063 {
3064 // Switch section
3065 switch ($_GET['section']) {
3066 case 'meta_technical':
3067 $this->md_section =&$this->md_obj->addTechnical();
3068 $this->md_section->save();
3069 break;
3070
3071
3072 case 'meta_lifecycle':
3073 $this->md_section =&$this->md_obj->addLifecycle();
3074 $this->md_section->save();
3075 $con =&$this->md_section->addContribute();
3076 $con->save();
3077
3078 $ent =&$con->addEntity();
3079 $ent->save();
3080 break;
3081
3082 case 'meta_meta_metadata':
3083 $this->md_section = $this->md_obj->addMetaMetadata();
3084 $this->md_section->save();
3085
3086 $ide =&$this->md_section->addIdentifier();
3087 $ide->save();
3088
3089 $con =&$this->md_section->addContribute();
3090 $con->save();
3091
3092 $ent =&$con->addEntity();
3093 $ent->save();
3094 break;
3095
3096 case 'meta_rights':
3097 $this->md_section = $this->md_obj->addRights();
3098 $this->md_section->save();
3099 break;
3100
3101 case 'meta_educational':
3102 $this->md_section = $this->md_obj->addEducational();
3103 $this->md_section->save();
3104 break;
3105
3106 case 'meta_relation':
3107 $this->md_section = $this->md_obj->addRelation();
3108 $this->md_section->save();
3109 $ident = $this->md_section->addIdentifier_();
3110 $ident->save();
3111 $des = $this->md_section->addDescription();
3112 $des->save();
3113 break;
3114
3115 case 'meta_annotation':
3116 $this->md_section = $this->md_obj->addAnnotation();
3117 $this->md_section->save();
3118 break;
3119
3120 case 'meta_classification':
3121 $this->md_section = $this->md_obj->addClassification();
3122 $this->md_section->save();
3123
3124 $taxon_path =&$this->md_section->addTaxonPath();
3125 $taxon_path->save();
3126
3127 $taxon =&$taxon_path->addTaxon();
3128 $taxon->save();
3129
3130 $key =&$this->md_section->addKeyword();
3131 $key->save();
3132 break;
3133
3134 }
3135
3136 $this->listSection();
3137 return true;
3138 }
$_GET["client_id"]

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

+ Here is the call graph for this function:

◆ addSectionElement()

ilMDEditorGUI::addSectionElement ( )

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

3141 {
3142 $section_element = (empty($_POST['section_element']))
3143 ? $_GET['section_element']
3144 : $_POST['section_element'];
3145
3146
3147 // Switch section
3148 switch ($_GET['section']) {
3149 case 'meta_technical':
3150 $this->md_section =&$this->md_obj->getTechnical();
3151 break;
3152
3153 case 'meta_lifecycle':
3154 $this->md_section =&$this->md_obj->getLifecycle();
3155 break;
3156
3157 case 'meta_meta_metadata':
3158 $this->md_section =&$this->md_obj->getMetaMetadata();
3159 break;
3160
3161 case 'meta_general':
3162 $this->md_section = $this->md_obj->getGeneral();
3163 break;
3164
3165 case 'meta_educational':
3166 $this->md_section = $this->md_obj->getEducational();
3167 break;
3168
3169 case 'meta_classification':
3170 $arr = explode("_", $section_element);
3171 $section_element = $arr[0];
3172 $this->md_section = $this->md_obj->getClassification($arr[1]);
3173 break;
3174 }
3175
3176 // Switch new element
3177 switch ($section_element) {
3178 case 'meta_or_composite':
3179 $md_new =&$this->md_section->addOrComposite();
3180 $md_new = $md_new->addRequirement();
3181 break;
3182
3183 case 'meta_requirement':
3184 $md_new =&$this->md_section->addRequirement();
3185 break;
3186
3187 case 'meta_location':
3188 $md_new =&$this->md_section->addLocation();
3189 break;
3190
3191 case 'meta_format':
3192 $md_new = $this->md_section->addFormat();
3193 break;
3194
3195 case 'meta_entity':
3196 $md_new = $this->md_section->getContribute((int) $_GET['meta_index']);
3197 $md_new = $md_new->addEntity();
3198 break;
3199
3200 case 'meta_identifier':
3201 $md_new = $this->md_section->addIdentifier();
3202 break;
3203
3204 case 'meta_contribute':
3205 $md_new =&$this->md_section->addContribute();
3206 $md_new->save();
3207 $md_new = $md_new->addEntity();
3208 break;
3209
3210 case 'educational_language':
3211 case 'meta_language':
3212 $md_new = $this->md_section->addLanguage();
3213 break;
3214
3215 case 'educational_description':
3216 case 'meta_description':
3217 $md_new = $this->md_section->addDescription();
3218 break;
3219
3220 case 'Keyword':
3221 case 'meta_keyword':
3222 $md_new = $this->md_section->addKeyword();
3223 break;
3224
3225 case 'educational_typical_age_range':
3226 $md_new = $this->md_section->addTypicalAgeRange();
3227 break;
3228
3229 case 'relation_resource_identifier':
3230 $rel = $this->md_obj->getRelation($_GET['meta_index']);
3231 $md_new = $rel->addIdentifier_();
3232 break;
3233
3234 case 'relation_resource_description':
3235 $rel = $this->md_obj->getRelation($_GET['meta_index']);
3236 $md_new = $rel->addDescription();
3237 break;
3238
3239 case 'TaxonPath':
3240 $md_new = $this->md_section->addTaxonPath();
3241 $md_new->save();
3242 $md_new = $md_new->addTaxon();
3243 break;
3244
3245 case 'Taxon':
3246 $tax_path = $this->md_section->getTaxonPath($_GET['meta_index']);
3247 $md_new = $tax_path->addTaxon();
3248 break;
3249 }
3250
3251 $md_new->save();
3252
3253 $this->listSection();
3254
3255 return true;
3256 }
$_POST["username"]

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

+ Here is the call graph for this function:

◆ callListeners()

ilMDEditorGUI::callListeners (   $a_element)

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

3425 {
3426 if (isset($this->observers[$a_element])) {
3427 $class =&$this->observers[$a_element]['class'];
3428 $method = $this->observers[$a_element]['method'];
3429
3430 return $class->$method($a_element);
3431 }
3432 return false;
3433 }

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

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

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

3039 {
3040 include_once 'Services/MetaData/classes/class.ilMDFactory.php';
3041
3042 $md_element = ilMDFactory::_getInstance($_GET['meta_path'], $_GET['meta_index'], $_GET['meta_technical']);
3043 $md_element->delete();
3044
3045 $this->listSection();
3046
3047 return true;
3048 }
static _getInstance($a_type, $a_index, $a_technical_id=0)

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

+ Here is the call graph for this function:

◆ deleteSection()

ilMDEditorGUI::deleteSection ( )

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

3051 {
3052 include_once 'Services/MetaData/classes/class.ilMDFactory.php';
3053
3054 $md_element = ilMDFactory::_getInstance($_GET['section'], $_GET['meta_index']);
3055 $md_element->delete();
3056
3057 $this->listSection();
3058
3059 return true;
3060 }

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

+ Here is the call graph for this function:

◆ executeCommand()

ilMDEditorGUI::executeCommand ( )

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

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

References $_GET.

◆ initQuickEditForm()

ilMDEditorGUI::initQuickEditForm ( )

Init quick edit form.

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

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

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

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

560 {
561 include_once("./Services/MetaData/classes/class.ilMDKeyword.php");
564 $this->md_obj->getObjType(),
565 $this->md_obj->getRBACId()
566 );
567
568 $result = array();
569 $cnt = 0;
570 foreach ($res as $r) {
571 if ($cnt++ > 19) {
572 continue;
573 }
574 $entry = new stdClass();
575 $entry->value = $r;
576 $entry->label = $r;
577 $result[] = $entry;
578 }
579
580 include_once './Services/JSON/classes/class.ilJsonUtil.php';
582 exit;
583 }
$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
$r
Definition: example_031.php:79
foreach($_POST as $key=> $value) $res

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

+ Here is the call graph for this function:

◆ listAnnotation()

ilMDEditorGUI::listAnnotation ( )

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

2679 {
2680 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2681 $this->__setTabs('meta_annotation');
2682 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_annotation.html', 'Services/MetaData');
2683
2684 $anno_ids = $this->md_obj->getAnnotationIds();
2685 if (!is_array($anno_ids) || count($anno_ids) == 0) {
2686 $this->tpl->setCurrentBlock("no_annotation");
2687 $this->tpl->setVariable("TXT_NO_ANNOTATION", $this->lng->txt("meta_no_annotation"));
2688 $this->tpl->setVariable("TXT_ADD_ANNOTATION", $this->lng->txt("meta_add"));
2689 $this->ctrl->setParameter($this, "section", "meta_annotation");
2690 $this->tpl->setVariable(
2691 "ACTION_ADD_ANNOTATION",
2692 $this->ctrl->getLinkTarget($this, "addSection")
2693 );
2694 $this->tpl->parseCurrentBlock();
2695 } else {
2696 foreach ($anno_ids as $anno_id) {
2697 $this->ctrl->setParameter($this, 'meta_index', $anno_id);
2698 $this->ctrl->setParameter($this, "section", "meta_annotation");
2699
2700 $this->md_section = $this->md_obj->getAnnotation($anno_id);
2701
2702 $this->tpl->setCurrentBlock("annotation_loop");
2703 $this->tpl->setVariable("ANNOTATION_ID", $anno_id);
2704 $this->tpl->setVariable("TXT_ANNOTATION", $this->lng->txt("meta_annotation"));
2705 $this->ctrl->setParameter($this, "meta_index", $anno_id);
2706 $this->tpl->setVariable(
2707 "ACTION_DELETE",
2708 $this->ctrl->getLinkTarget($this, "deleteSection")
2709 );
2710 $this->ctrl->setParameter($this, "section", "meta_annotation");
2711 $this->tpl->setVariable(
2712 "ACTION_ADD",
2713 $this->ctrl->getLinkTarget($this, "addSection")
2714 );
2715 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2716 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
2717
2718 $this->tpl->setVariable("TXT_ENTITY", $this->lng->txt("meta_entity"));
2719 $this->tpl->setVariable("VAL_ENTITY", ilUtil::prepareFormOutput($this->md_section->getEntity()));
2720 $this->tpl->setVariable("TXT_DATE", $this->lng->txt("meta_date"));
2721 $this->tpl->setVariable("VAL_DATE", ilUtil::prepareFormOutput($this->md_section->getDate()));
2722
2723 /* Description */
2724 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2725 $this->tpl->setVariable("TXT_VALUE", $this->lng->txt("meta_value"));
2726 $this->tpl->setVariable("VAL_DESCRIPTION", ilUtil::prepareFormOutput($this->md_section->getDescription()));
2727 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
2728 $this->tpl->setVariable(
2729 "VAL_DESCRIPTION_LANGUAGE",
2730 $this->__showLanguageSelect(
2731 'annotation[' . $anno_id . '][Language]',
2732 $this->md_section->getDescriptionLanguageCode()
2733 )
2734 );
2735
2736 $this->tpl->parseCurrentBlock();
2737 }
2738
2739 $this->tpl->setCurrentBlock("annotation");
2740 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
2741 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2742 $this->tpl->parseCurrentBlock();
2743 }
2744 }
__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 2772 of file class.ilMDEditorGUI.php.

2773 {
2774 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2775 $this->__setTabs('meta_classification');
2776 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_classification.html', 'Services/MetaData');
2777
2778 $class_ids = $this->md_obj->getClassificationIds();
2779 if (!is_array($class_ids) || count($class_ids) == 0) {
2780 $this->tpl->setCurrentBlock("no_classification");
2781 $this->tpl->setVariable("TXT_NO_CLASSIFICATION", $this->lng->txt("meta_no_classification"));
2782 $this->tpl->setVariable("TXT_ADD_CLASSIFICATION", $this->lng->txt("meta_add"));
2783 $this->ctrl->setParameter($this, "section", "meta_classification");
2784 $this->tpl->setVariable(
2785 "ACTION_ADD_CLASSIFICATION",
2786 $this->ctrl->getLinkTarget($this, "addSection")
2787 );
2788 $this->tpl->parseCurrentBlock();
2789 } else {
2790 foreach ($class_ids as $class_id) {
2791 $this->md_section = $this->md_obj->getClassification($class_id);
2792 $this->ctrl->setParameter($this, "section", "meta_classification");
2793
2794 /* TaxonPath */
2795 $tp_ids = $this->md_section->getTaxonPathIds();
2796 foreach ($tp_ids as $tp_id) {
2797 $tax_path = $this->md_section->getTaxonPath($tp_id);
2798
2799 $tax_ids = $tax_path->getTaxonIds();
2800
2801 foreach ($tax_ids as $tax_id) {
2802 $taxon = $tax_path->getTaxon($tax_id);
2803
2804 if (count($tax_ids) > 1) {
2805 $this->tpl->setCurrentBlock("taxon_delete");
2806 $this->ctrl->setParameter($this, "meta_index", $tax_id);
2807 $this->ctrl->setParameter($this, "meta_path", "classification_taxon");
2808 $this->tpl->setVariable(
2809 "TAXONPATH_TAXON_LOOP_ACTION_DELETE",
2810 $this->ctrl->getLinkTarget($this, "deleteElement")
2811 );
2812 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2813 $this->tpl->parseCurrentBlock();
2814 }
2815
2816 $this->tpl->setCurrentBlock("taxonpath_taxon_loop");
2817 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_NO", $tax_id);
2818 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TAXONPATH_NO", $tp_id);
2819 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_TAXON", $this->lng->txt("meta_taxon"));
2820 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2821 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_VAL_TAXON", ilUtil::prepareFormOutput($taxon->getTaxon()));
2822 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_ID", $this->lng->txt("meta_id"));
2823 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_VAL_ID", ilUtil::prepareFormOutput($taxon->getTaxonId()));
2824 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2825 $this->tpl->setVariable(
2826 "TAXONPATH_TAXON_LOOP_VAL_TAXON_LANGUAGE",
2827 $this->__showLanguageSelect(
2828 'classification[TaxonPath][Taxon][' . $tax_id . '][Language]',
2829 $taxon->getTaxonLanguageCode()
2830 )
2831 );
2832
2833 $this->ctrl->setParameter($this, "section_element", "Taxon_" . $class_id);
2834 $this->ctrl->setParameter($this, "meta_index", $tp_id);
2835 $this->tpl->setVariable(
2836 "TAXONPATH_TAXON_LOOP_ACTION_ADD",
2837 $this->ctrl->getLinkTarget($this, "addSectionElement")
2838 );
2839 $this->tpl->setVariable("TAXONPATH_TAXON_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2840 $this->tpl->parseCurrentBlock();
2841 }
2842
2843 if (count($tp_ids) > 1) {
2844 $this->tpl->setCurrentBlock("taxonpath_delete");
2845 $this->ctrl->setParameter($this, "meta_index", $tp_id);
2846 $this->ctrl->setParameter($this, "meta_path", "classification_taxon_path");
2847 $this->tpl->setVariable(
2848 "TAXONPATH_LOOP_ACTION_DELETE",
2849 $this->ctrl->getLinkTarget($this, "deleteElement")
2850 );
2851 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2852 $this->tpl->parseCurrentBlock();
2853 }
2854
2855 $this->tpl->setCurrentBlock("taxonpath_loop");
2856 $this->tpl->setVariable("TAXONPATH_LOOP_NO", $tp_id);
2857 $this->tpl->setVariable("TAXONPATH_LOOP_ROWSPAN", (3 * count($tax_ids)) + 2);
2858 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_TAXONPATH", $this->lng->txt("meta_taxon_path"));
2859 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_SOURCE", $this->lng->txt("meta_source"));
2860 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2861 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2862 $this->tpl->setVariable("TAXONPATH_LOOP_VAL_SOURCE", ilUtil::prepareFormOutput($tax_path->getSource()));
2863 $this->tpl->setVariable(
2864 "TAXONPATH_LOOP_VAL_SOURCE_LANGUAGE",
2865 $this->__showLanguageSelect(
2866 'classification[TaxonPath][' . $tp_id . '][Source][Language]',
2867 $tax_path->getSourceLanguageCode()
2868 )
2869 );
2870 $this->ctrl->setParameter($this, "section_element", "TaxonPath_" . $class_id);
2871 $this->ctrl->setParameter($this, "meta_index", $class_id);
2872 $this->tpl->setVariable(
2873 "TAXONPATH_LOOP_ACTION_ADD",
2874 $this->ctrl->getLinkTarget($this, "addSectionElement")
2875 );
2876 $this->tpl->setVariable("TAXONPATH_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2877 $this->tpl->parseCurrentBlock();
2878 }
2879
2880 /* Description */
2881 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2882 $this->tpl->setVariable("TXT_VALUE", $this->lng->txt("meta_value"));
2883 $this->tpl->setVariable(
2884 "VAL_DESCRIPTION",
2885 ilUtil::prepareFormOutput($this->md_section->getDescription())
2886 );
2887 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
2888 $this->tpl->setVariable(
2889 "VAL_DESCRIPTION_LANGUAGE",
2890 $this->__showLanguageSelect(
2891 'classification[' . $class_id . '][Language]',
2892 $this->md_section->getDescriptionLanguageCode()
2893 )
2894 );
2895
2896 /* Keyword */
2897 $key_ids = $this->md_section->getKeywordIds();
2898 foreach ($key_ids as $key_id) {
2899 if (count($key_ids) > 1) {
2900 $this->ctrl->setParameter($this, "meta_index", $key_id);
2901 $this->ctrl->setParameter($this, "meta_path", "classification_keyword");
2902 $this->tpl->setCurrentBlock("keyword_delete");
2903 $this->tpl->setVariable(
2904 "KEYWORD_LOOP_ACTION_DELETE",
2905 $this->ctrl->getLinkTarget($this, "deleteElement")
2906 );
2907 $this->tpl->setVariable("KEYWORD_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2908 $this->tpl->parseCurrentBlock();
2909 }
2910
2911 $keyword = $this->md_section->getKeyword($key_id);
2912 $this->tpl->setCurrentBlock("keyword_loop");
2913 $this->tpl->setVariable("KEYWORD_LOOP_NO", $key_id);
2914 $this->tpl->setVariable("KEYWORD_LOOP_TXT_KEYWORD", $this->lng->txt("meta_keyword"));
2915 $this->tpl->setVariable("KEYWORD_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2916 $this->tpl->setVariable(
2917 "KEYWORD_LOOP_VAL",
2918 ilUtil::prepareFormOutput($keyword->getKeyword())
2919 );
2920 $this->tpl->setVariable("KEYWORD_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2921 $this->tpl->setVariable(
2922 "KEYWORD_LOOP_VAL_LANGUAGE",
2923 $this->__showLanguageSelect(
2924 'classification[Keyword][' . $key_id . '][Language]',
2925 $keyword->getKeywordLanguageCode()
2926 )
2927 );
2928 $this->ctrl->setParameter($this, "meta_index", $class_id);
2929 $this->ctrl->setParameter($this, "section_element", "Keyword_" . $class_id);
2930 $this->tpl->setVariable(
2931 "KEYWORD_LOOP_ACTION_ADD",
2932 $this->ctrl->getLinkTarget($this, "addSectionElement")
2933 );
2934 $this->tpl->setVariable("KEYWORD_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2935 $this->tpl->parseCurrentBlock();
2936 }
2937
2938 $this->tpl->setCurrentBlock("classification_loop");
2939 $this->tpl->setVariable("TXT_CLASSIFICATION", $this->lng->txt("meta_classification"));
2940 $this->ctrl->setParameter($this, "meta_index", $class_id);
2941 $this->tpl->setVariable(
2942 "ACTION_DELETE",
2943 $this->ctrl->getLinkTarget($this, "deleteSection")
2944 );
2945 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2946 $this->tpl->setVariable(
2947 "ACTION_ADD",
2948 $this->ctrl->getLinkTarget($this, "addSection")
2949 );
2950 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
2951
2952 $this->tpl->setVariable("TXT_NEW_ELEMENT", $this->lng->txt("meta_new_element"));
2953 $this->tpl->setVariable("TXT_TAXONPATH", $this->lng->txt("meta_taxon_path"));
2954 $this->tpl->setVariable("TXT_KEYWORD", $this->lng->txt("meta_keyword"));
2955 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
2956
2957 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
2958 $this->tpl->setVariable("CLASS_ID", $class_id);
2959 $this->tpl->setVariable("TXT_PURPOSE", $this->lng->txt("meta_purpose"));
2960 $this->tpl->setVariable("TXT_DISCIPLINE", $this->lng->txt("meta_learning_resource_type"));
2961 $this->tpl->setVariable("TXT_IDEA", $this->lng->txt("meta_idea"));
2962 $this->tpl->setVariable("TXT_PREREQUISITE", $this->lng->txt("meta_prerequisite"));
2963 $this->tpl->setVariable("TXT_EDUCATIONALOBJECTIVE", $this->lng->txt("meta_educational_objective"));
2964 $this->tpl->setVariable("TXT_ACCESSIBILITYRESTRICTIONS", $this->lng->txt("meta_accessibility_restrictions"));
2965 $this->tpl->setVariable("TXT_EDUCATIONALLEVEL", $this->lng->txt("meta_educational_level"));
2966 $this->tpl->setVariable("TXT_SKILLLEVEL", $this->lng->txt("meta_skill_level"));
2967 $this->tpl->setVariable("TXT_SECURITYLEVEL", $this->lng->txt("meta_security_level"));
2968 $this->tpl->setVariable("TXT_COMPETENCY", $this->lng->txt("meta_competency"));
2969 $this->tpl->setVariable("VAL_PURPOSE_" . strtoupper($this->md_section->getPurpose()), " selected");
2970 $this->tpl->parseCurrentBlock();
2971 }
2972
2973 $this->tpl->setCurrentBlock("classification");
2974 $this->tpl->setVariable(
2975 "EDIT_ACTION",
2976 $this->ctrl->getFormAction($this)
2977 );
2978 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2979 $this->tpl->parseCurrentBlock();
2980 }
2981 }

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

2145 {
2146 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2147 $this->__setTabs('meta_educational');
2148 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_educational.html', 'Services/MetaData');
2149
2150 if (!is_object($this->md_section = $this->md_obj->getEducational())) {
2151 $this->tpl->setCurrentBlock("no_educational");
2152 $this->tpl->setVariable("TXT_NO_EDUCATIONAL", $this->lng->txt("meta_no_educational"));
2153 $this->tpl->setVariable("TXT_ADD_EDUCATIONAL", $this->lng->txt("meta_add"));
2154 $this->ctrl->setParameter($this, "section", "meta_educational");
2155 $this->tpl->setVariable(
2156 "ACTION_ADD_EDUCATIONAL",
2157 $this->ctrl->getLinkTarget($this, "addSection")
2158 );
2159 $this->tpl->parseCurrentBlock();
2160 } else {
2161 $this->ctrl->setReturn($this, 'listEducational');
2162 $this->ctrl->setParameter($this, 'section', 'meta_educational');
2163 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
2164
2165 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
2166 $this->tpl->setVariable(
2167 "ACTION_DELETE",
2168 $this->ctrl->getLinkTarget($this, "deleteSection")
2169 );
2170
2171 $this->tpl->setVariable("TXT_EDUCATIONAL", $this->lng->txt("meta_educational"));
2172 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2173 $this->tpl->setVariable("TXT_NEW_ELEMENT", $this->lng->txt("meta_new_element"));
2174 $this->tpl->setVariable("TXT_TYPICALAGERANGE", $this->lng->txt("meta_typical_age_range"));
2175 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2176 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
2177 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
2178 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
2179
2180 $this->tpl->setVariable("TXT_INTERACTIVITYTYPE", $this->lng->txt("meta_interactivity_type"));
2181 $this->tpl->setVariable("TXT_LEARNINGRESOURCETYPE", $this->lng->txt("meta_learning_resource_type"));
2182 $this->tpl->setVariable("TXT_INTERACTIVITYLEVEL", $this->lng->txt("meta_interactivity_level"));
2183 $this->tpl->setVariable("TXT_SEMANTICDENSITY", $this->lng->txt("meta_semantic_density"));
2184 $this->tpl->setVariable("TXT_INTENDEDENDUSERROLE", $this->lng->txt("meta_intended_end_user_role"));
2185 $this->tpl->setVariable("TXT_CONTEXT", $this->lng->txt("meta_context"));
2186 $this->tpl->setVariable("TXT_DIFFICULTY", $this->lng->txt("meta_difficulty"));
2187
2188 $this->tpl->setVariable("VAL_INTERACTIVITYTYPE_" . strtoupper($this->md_section->getInteractivityType()), " selected");
2189 $this->tpl->setVariable("VAL_LEARNINGRESOURCETYPE_" . strtoupper($this->md_section->getLearningResourceType()), " selected");
2190 $this->tpl->setVariable("VAL_INTERACTIVITYLEVEL_" . strtoupper($this->md_section->getInteractivityLevel()), " selected");
2191 $this->tpl->setVariable("VAL_SEMANTICDENSITY_" . strtoupper($this->md_section->getSemanticDensity()), " selected");
2192 $this->tpl->setVariable("VAL_INTENDEDENDUSERROLE_" . strtoupper($this->md_section->getIntendedEndUserRole()), " selected");
2193 $this->tpl->setVariable("VAL_CONTEXT_" . strtoupper($this->md_section->getContext()), " selected");
2194 $this->tpl->setVariable("VAL_DIFFICULTY_" . strtoupper($this->md_section->getDifficulty()), " selected");
2195 #$this->tpl->setVariable("VAL_TYPICALLEARNINGTIME", ilUtil::prepareFormOutput($this->md_section->getTypicalLearningTime()));
2196
2197 $this->tpl->setVariable("TXT_ACTIVE", $this->lng->txt("meta_active"));
2198 $this->tpl->setVariable("TXT_EXPOSITIVE", $this->lng->txt("meta_expositive"));
2199 $this->tpl->setVariable("TXT_MIXED", $this->lng->txt("meta_mixed"));
2200 $this->tpl->setVariable("TXT_EXERCISE", $this->lng->txt("meta_exercise"));
2201 $this->tpl->setVariable("TXT_SIMULATION", $this->lng->txt("meta_simulation"));
2202 $this->tpl->setVariable("TXT_QUESTIONNAIRE", $this->lng->txt("meta_questionnaire"));
2203 $this->tpl->setVariable("TXT_DIAGRAMM", $this->lng->txt("meta_diagramm"));
2204 $this->tpl->setVariable("TXT_FIGURE", $this->lng->txt("meta_figure"));
2205 $this->tpl->setVariable("TXT_GRAPH", $this->lng->txt("meta_graph"));
2206 $this->tpl->setVariable("TXT_INDEX", $this->lng->txt("meta_index"));
2207 $this->tpl->setVariable("TXT_SLIDE", $this->lng->txt("meta_slide"));
2208 $this->tpl->setVariable("TXT_TABLE", $this->lng->txt("meta_table"));
2209 $this->tpl->setVariable("TXT_NARRATIVETEXT", $this->lng->txt("meta_narrative_text"));
2210 $this->tpl->setVariable("TXT_EXAM", $this->lng->txt("meta_exam"));
2211 $this->tpl->setVariable("TXT_EXPERIMENT", $this->lng->txt("meta_experiment"));
2212 $this->tpl->setVariable("TXT_PROBLEMSTATEMENT", $this->lng->txt("meta_problem_statement"));
2213 $this->tpl->setVariable("TXT_SELFASSESSMENT", $this->lng->txt("meta_self_assessment"));
2214 $this->tpl->setVariable("TXT_LECTURE", $this->lng->txt("meta_lecture"));
2215 $this->tpl->setVariable("TXT_VERYLOW", $this->lng->txt("meta_very_low"));
2216 $this->tpl->setVariable("TXT_LOW", $this->lng->txt("meta_low"));
2217 $this->tpl->setVariable("TXT_MEDIUM", $this->lng->txt("meta_medium"));
2218 $this->tpl->setVariable("TXT_HIGH", $this->lng->txt("meta_high"));
2219 $this->tpl->setVariable("TXT_VERYHIGH", $this->lng->txt("meta_very_high"));
2220 $this->tpl->setVariable("TXT_TEACHER", $this->lng->txt("meta_teacher"));
2221 $this->tpl->setVariable("TXT_AUTHOR", $this->lng->txt("meta_author"));
2222 $this->tpl->setVariable("TXT_LEARNER", $this->lng->txt("meta_learner"));
2223 $this->tpl->setVariable("TXT_MANAGER", $this->lng->txt("meta_manager"));
2224 $this->tpl->setVariable("TXT_SCHOOL", $this->lng->txt("meta_school"));
2225 $this->tpl->setVariable("TXT_HIGHEREDUCATION", $this->lng->txt("meta_higher_education"));
2226 $this->tpl->setVariable("TXT_TRAINING", $this->lng->txt("meta_training"));
2227 $this->tpl->setVariable("TXT_OTHER", $this->lng->txt("meta_other"));
2228 $this->tpl->setVariable("TXT_VERYEASY", $this->lng->txt("meta_very_easy"));
2229 $this->tpl->setVariable("TXT_EASY", $this->lng->txt("meta_easy"));
2230 $this->tpl->setVariable("TXT_DIFFICULT", $this->lng->txt("meta_difficult"));
2231 $this->tpl->setVariable("TXT_VERYDIFFICULT", $this->lng->txt("meta_very_difficult"));
2232 $this->tpl->setVariable("TXT_TYPICALLEARNINGTIME", $this->lng->txt("meta_typical_learning_time"));
2233
2234
2235 // Typical learning time
2236 $tlt = array(0,0,0,0,0);
2237 $valid = true;
2238
2239 include_once 'Services/MetaData/classes/class.ilMDUtils.php';
2240
2241 if (!$tlt = ilMDUtils::_LOMDurationToArray($this->md_section->getTypicalLearningTime())) {
2242 if (strlen($this->md_section->getTypicalLearningTime())) {
2243 $tlt = array(0,0,0,0,0);
2244 $valid = false;
2245 }
2246 }
2247
2248 $this->tpl->setVariable("TXT_MONTH", $this->lng->txt('md_months'));
2249 $this->tpl->setVariable("SEL_MONTHS", $this->__buildMonthsSelect($tlt[0]));
2250 $this->tpl->setVariable("SEL_DAYS", $this->__buildDaysSelect($tlt[1]));
2251
2252 $this->tpl->setVariable("TXT_DAYS", $this->lng->txt('md_days'));
2253 $this->tpl->setVariable("TXT_TIME", $this->lng->txt('md_time'));
2254
2255 $this->tpl->setVariable("TXT_TYPICAL_LEARN_TIME", $this->lng->txt('meta_typical_learning_time'));
2256 $this->tpl->setVariable("SEL_TLT", ilUtil::makeTimeSelect(
2257 'tlt',
2258 $tlt[4] ? false : true,
2259 $tlt[2],
2260 $tlt[3],
2261 $tlt[4],
2262 false
2263 ));
2264 $this->tpl->setVariable("TLT_HINT", $tlt[4] ? '(hh:mm:ss)' : '(hh:mm)');
2265
2266 if (!$valid) {
2267 $this->tpl->setCurrentBlock("tlt_not_valid");
2268 $this->tpl->setVariable("TXT_CURRENT_VAL", $this->lng->txt('meta_current_value'));
2269 $this->tpl->setVariable("TLT", $this->md_section->getTypicalLearningTime());
2270 $this->tpl->setVariable("INFO_TLT_NOT_VALID", $this->lng->txt('meta_info_tlt_not_valid'));
2271 $this->tpl->parseCurrentBlock();
2272 }
2273
2274
2275 /* TypicalAgeRange */
2276 $first = true;
2277 foreach ($ids = $this->md_section->getTypicalAgeRangeIds() as $id) {
2278 $md_age = $this->md_section->getTypicalAgeRange($id);
2279
2280 // extra test due to bug 5316 (may be due to eLaix import)
2281 if (is_object($md_age)) {
2282 if ($first) {
2283 $this->tpl->setCurrentBlock("agerange_head");
2284 $this->tpl->setVariable(
2285 "TYPICALAGERANGE_LOOP_TXT_TYPICALAGERANGE",
2286 $this->lng->txt("meta_typical_age_range")
2287 );
2288 $this->tpl->setVariable("ROWSPAN_AGERANGE", count($ids));
2289 $this->tpl->parseCurrentBlock();
2290 $first = false;
2291 }
2292
2293
2294 $this->ctrl->setParameter($this, 'meta_index', $id);
2295 $this->ctrl->setParameter($this, 'meta_path', 'educational_typical_age_range');
2296
2297 $this->tpl->setCurrentBlock("typicalagerange_delete");
2298 $this->tpl->setVariable(
2299 "TYPICALAGERANGE_LOOP_ACTION_DELETE",
2300 $this->ctrl->getLinkTarget($this, "deleteElement")
2301 );
2302 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2303 $this->tpl->parseCurrentBlock();
2304
2305 $this->tpl->setCurrentBlock("typicalagerange_loop");
2306 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2307 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_VAL", ilUtil::prepareFormOutput($md_age->getTypicalAgeRange()));
2308 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_NO", $id);
2309 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2310 $this->tpl->setVariable(
2311 "TYPICALAGERANGE_LOOP_VAL_LANGUAGE",
2312 $this->__showLanguageSelect(
2313 'educational[TypicalAgeRange][' . $id . '][Language]',
2314 $md_age->getTypicalAgeRangeLanguageCode()
2315 )
2316 );
2317 $this->ctrl->setParameter($this, "section_element", "educational_typical_age_range");
2318 $this->tpl->setVariable(
2319 "TYPICALAGERANGE_LOOP_ACTION_ADD",
2320 $this->ctrl->getLinkTarget($this, "addSectionElement")
2321 );
2322 $this->tpl->setVariable("TYPICALAGERANGE_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2323 $this->tpl->parseCurrentBlock();
2324 }
2325 }
2326
2327 /* Description */
2328 $first = true;
2329 foreach ($ids = $this->md_section->getDescriptionIds() as $id) {
2330 if ($first) {
2331 $this->tpl->setCurrentBlock("desc_head");
2332 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2333 $this->tpl->setVariable("ROWSPAN_DESC", count($ids));
2334 $this->tpl->parseCurrentBlock();
2335 $first = false;
2336 }
2337
2338 $md_des = $this->md_section->getDescription($id);
2339
2340 $this->ctrl->setParameter($this, 'meta_index', $id);
2341 $this->ctrl->setParameter($this, 'meta_path', 'educational_description');
2342
2343 $this->tpl->setCurrentBlock("description_loop");
2344 $this->tpl->setVariable("DESCRIPTION_LOOP_NO", $id);
2345 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2346 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL", ilUtil::prepareFormOutput($md_des->getDescription()));
2347 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2348 $this->tpl->setVariable(
2349 "DESCRIPTION_LOOP_VAL_LANGUAGE",
2350 $this->__showLanguageSelect(
2351 'educational[Description][' . $id . '][Language]',
2352 $md_des->getDescriptionLanguageCode()
2353 )
2354 );
2355 $this->tpl->setVariable(
2356 "DESCRIPTION_LOOP_ACTION_DELETE",
2357 $this->ctrl->getLinkTarget($this, "deleteElement")
2358 );
2359 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2360 $this->ctrl->setParameter($this, "section_element", "educational_description");
2361 $this->tpl->setVariable(
2362 "DESCRIPTION_LOOP_ACTION_ADD",
2363 $this->ctrl->getLinkTarget($this, "addSectionElement")
2364 );
2365 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2366 $this->tpl->parseCurrentBlock();
2367 }
2368
2369
2370 /* Language */
2371 $first = true;
2372 foreach ($ids = $this->md_section->getLanguageIds() as $id) {
2373 if ($first) {
2374 $this->tpl->setCurrentBlock("language_head");
2375 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2376 $this->tpl->setVariable("ROWSPAN_LANG", count($ids));
2377 $this->tpl->parseCurrentBlock();
2378 $first = false;
2379 }
2380
2381 $md_lang = $this->md_section->getLanguage($id);
2382
2383 $this->ctrl->setParameter($this, 'meta_index', $id);
2384 $this->ctrl->setParameter($this, 'meta_path', 'educational_language');
2385
2386 $this->tpl->setCurrentBlock("language_loop");
2387 $this->tpl->setVariable(
2388 "LANGUAGE_LOOP_VAL_LANGUAGE",
2389 $this->__showLanguageSelect(
2390 'educational[Language][' . $id . ']',
2391 $md_lang->getLanguageCode()
2392 )
2393 );
2394
2395 $this->tpl->setVariable(
2396 "LANGUAGE_LOOP_ACTION_DELETE",
2397 $this->ctrl->getLinkTarget($this, "deleteElement")
2398 );
2399 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2400 $this->ctrl->setParameter($this, "section_element", "educational_language");
2401 $this->tpl->setVariable(
2402 "LANGUAGE_LOOP_ACTION_ADD",
2403 $this->ctrl->getLinkTarget($this, "addSectionElement")
2404 );
2405 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2406 $this->tpl->parseCurrentBlock();
2407 }
2408
2409 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2410
2411 $this->tpl->setCurrentBlock("educational");
2412 $this->tpl->parseCurrentBlock();
2413 }
2414 }
__buildMonthsSelect($sel_month)
static _LOMDurationToArray($a_string)
LOM datatype duration is a string like P2M4DT7H18M2S (2 months 4 days 7 hours 18 minutes 2 seconds) T...
static makeTimeSelect($prefix, $short=true, $hour="", $minute="", $second="", $a_use_default=true, $a_further_options=array())
Creates a combination of HTML selects for time inputs.
$valid

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

Referenced by listSection().

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

◆ listGeneral()

ilMDEditorGUI::listGeneral ( )

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

1159 {
1160 if (!is_object($this->md_section = $this->md_obj->getGeneral())) {
1161 $this->md_section = $this->md_obj->addGeneral();
1162 $this->md_section->save();
1163 }
1164
1165 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
1166
1167 $this->__setTabs('meta_general');
1168
1169 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_general.html', 'Services/MetaData');
1170
1171 $this->ctrl->setReturn($this, 'listGeneral');
1172 $this->ctrl->setParameter($this, 'section', 'meta_general');
1173 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
1174
1175 $this->__fillSubelements();
1176
1177 $this->tpl->setVariable("TXT_GENERAL", $this->lng->txt("meta_general"));
1178 $this->tpl->setVariable("TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
1179 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("meta_language"));
1180 $this->tpl->setVariable("TXT_KEYWORD", $this->lng->txt("meta_keyword"));
1181 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("meta_description"));
1182 $this->tpl->setVariable("TXT_STRUCTURE", $this->lng->txt("meta_structure"));
1183 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
1184 $this->tpl->setVariable("TXT_ATOMIC", $this->lng->txt("meta_atomic"));
1185 $this->tpl->setVariable("TXT_COLLECTION", $this->lng->txt("meta_collection"));
1186 $this->tpl->setVariable("TXT_NETWORKED", $this->lng->txt("meta_networked"));
1187 $this->tpl->setVariable("TXT_HIERARCHICAL", $this->lng->txt("meta_hierarchical"));
1188 $this->tpl->setVariable("TXT_LINEAR", $this->lng->txt("meta_linear"));
1189
1190 // Structure
1191 $this->tpl->setVariable("STRUCTURE_VAL_" . strtoupper($this->md_section->getStructure()), " selected=selected");
1192
1193 // Identifier
1194 $first = true;
1195 foreach ($ids = $this->md_section->getIdentifierIds() as $id) {
1196 $md_ide = $this->md_section->getIdentifier($id);
1197
1198 //
1199 if ($first) {
1200 $this->tpl->setCurrentBlock("id_head");
1201 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
1202 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_CATALOG", $this->lng->txt("meta_catalog"));
1203 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_ENTRY", $this->lng->txt("meta_entry"));
1204 $this->tpl->setVariable("ROWSPAN_ID", count($ids));
1205 $this->tpl->parseCurrentBlock();
1206 $first = false;
1207 }
1208
1209 if (count($ids) > 1) {
1210 $this->ctrl->setParameter($this, 'meta_index', $id);
1211 $this->ctrl->setParameter($this, 'meta_path', 'meta_identifier');
1212
1213 if ($md_ide->getCatalog() != "ILIAS") {
1214 $this->tpl->setCurrentBlock("identifier_delete");
1215 $this->tpl->setVariable("IDENTIFIER_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1216 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1217 $this->tpl->parseCurrentBlock();
1218 }
1219 }
1220
1221 $this->tpl->setCurrentBlock("identifier_loop");
1222 if ($md_ide->getCatalog() == "ILIAS") {
1223 $this->tpl->setVariable("DISABLE_IDENT", ' disabled="disabled" ');
1224 }
1225 $this->tpl->setVariable("IDENTIFIER_LOOP_NO", $id);
1226 $this->tpl->setVariable(
1227 "IDENTIFIER_LOOP_VAL_IDENTIFIER_CATALOG",
1228 ilUtil::prepareFormOutput($md_ide->getCatalog())
1229 );
1230 $this->tpl->setVariable(
1231 "IDENTIFIER_LOOP_VAL_IDENTIFIER_ENTRY",
1232 ilUtil::prepareFormOutput($md_ide->getEntry())
1233 );
1234 $this->tpl->parseCurrentBlock();
1235 }
1236
1237
1238 // Language
1239 $first = true;
1240 foreach ($ids = $this->md_section->getLanguageIds() as $id) {
1241 $md_lan = $this->md_section->getLanguage($id);
1242
1243 if ($first) {
1244 $this->tpl->setCurrentBlock("language_head");
1245 $this->tpl->setVariable("ROWSPAN_LANG", count($ids));
1246 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
1247 $this->tpl->parseCurrentBlock();
1248 $first = false;
1249 }
1250
1251 if (count($ids) > 1) {
1252 $this->ctrl->setParameter($this, 'meta_index', $id);
1253 $this->ctrl->setParameter($this, 'meta_path', 'meta_language');
1254
1255 $this->tpl->setCurrentBlock("language_delete");
1256 $this->tpl->setVariable("LANGUAGE_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1257 $this->tpl->setVariable("LANGUAGE_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
1258 $this->tpl->parseCurrentBlock();
1259 }
1260 $this->tpl->setCurrentBlock("language_loop");
1261 $this->tpl->setVariable("LANGUAGE_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
1262 'gen_language[' . $id . '][language]',
1263 $md_lan->getLanguageCode()
1264 ));
1265 $this->tpl->parseCurrentBlock();
1266 }
1267
1268 // TITLE
1269 $this->tpl->setVariable("TXT_TITLE", $this->lng->txt('title'));
1270 $this->tpl->setVariable("VAL_TITLE", ilUtil::prepareFormOutput($this->md_section->getTitle()));
1271 $this->tpl->setVariable("VAL_TITLE_LANGUAGE", $this->__showLanguageSelect(
1272 'gen_title_language',
1273 $this->md_section->getTitleLanguageCode()
1274 ));
1275
1276
1277 // DESCRIPTION
1278 foreach ($ids = $this->md_section->getDescriptionIds() as $id) {
1279 $md_des = $this->md_section->getDescription($id);
1280
1281 if (count($ids) > 1) {
1282 $this->ctrl->setParameter($this, 'meta_index', $id);
1283 $this->ctrl->setParameter($this, 'meta_path', 'meta_description');
1284
1285 $this->tpl->setCurrentBlock("description_delete");
1286 $this->tpl->setVariable("DESCRIPTION_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1287 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
1288 $this->tpl->parseCurrentBlock();
1289 }
1290
1291 $this->tpl->setCurrentBlock("description_loop");
1292 $this->tpl->setVariable("DESCRIPTION_LOOP_NO", $id);
1293 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
1294 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
1295 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL", ilUtil::prepareFormOutput($md_des->getDescription()));
1296 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
1297 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
1298 "gen_description[" . $id . '][language]',
1299 $md_des->getDescriptionLanguageCode()
1300 ));
1301 $this->tpl->parseCurrentBlock();
1302 }
1303
1304 // KEYWORD
1305 $first = true;
1306 foreach ($ids = $this->md_section->getKeywordIds() as $id) {
1307 $md_key = $this->md_section->getKeyword($id);
1308
1309 if ($first) {
1310 $this->tpl->setCurrentBlock("keyword_head");
1311 $this->tpl->setVariable("ROWSPAN_KEYWORD", count($ids));
1312 $this->tpl->setVariable("KEYWORD_LOOP_TXT_KEYWORD", $this->lng->txt("meta_keyword"));
1313 $this->tpl->parseCurrentBlock();
1314 $first = false;
1315 }
1316
1317
1318 if (count($ids) > 1) {
1319 $this->ctrl->setParameter($this, 'meta_index', $id);
1320 $this->ctrl->setParameter($this, 'meta_path', 'meta_keyword');
1321
1322 $this->tpl->setCurrentBlock("keyword_delete");
1323 $this->tpl->setVariable("KEYWORD_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1324 $this->tpl->setVariable("KEYWORD_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
1325 $this->tpl->parseCurrentBlock();
1326 }
1327
1328 $this->tpl->setCurrentBlock("keyword_loop");
1329 $this->tpl->setVariable("KEYWORD_LOOP_NO", $id);
1330 $this->tpl->setVariable("KEYWORD_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
1331 $this->tpl->setVariable("KEYWORD_LOOP_VAL", ilUtil::prepareFormOutput($md_key->getKeyword()));
1332 $this->tpl->setVariable("KEYWORD_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
1333 $this->tpl->setVariable("KEYWORD_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
1334 "gen_keyword[" . $id . '][language]',
1335 $md_key->getKeywordLanguageCode()
1336 ));
1337
1338 $this->tpl->parseCurrentBlock();
1339 }
1340
1341 // Coverage
1342 $this->tpl->setVariable("COVERAGE_LOOP_TXT_COVERAGE", $this->lng->txt('meta_coverage'));
1343 $this->tpl->setVariable("COVERAGE_LOOP_VAL", ilUtil::prepareFormOutput($this->md_section->getCoverage()));
1344 $this->tpl->setVariable("COVERAGE_LOOP_TXT_LANGUAGE", $this->lng->txt('meta_language'));
1345 $this->tpl->setVariable("COVERAGE_LOOP_VAL_LANGUAGE", $this->__showLanguageSelect(
1346 'gen_coverage_language',
1347 $this->md_section->getCoverageLanguageCode()
1348 ));
1349
1350 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt('save'));
1351 }

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

Referenced by listSection(), and updateGeneral().

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

◆ listLifecycle()

ilMDEditorGUI::listLifecycle ( )

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

1729 {
1730 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
1731 $this->__setTabs('meta_lifecycle');
1732 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_lifecycle.html', 'Services/MetaData');
1733
1734
1735 $this->ctrl->setParameter($this, "section", "meta_lifecycle");
1736 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
1737 $this->tpl->setCurrentBlock("no_lifecycle");
1738 $this->tpl->setVariable("TXT_NO_LIFECYCLE", $this->lng->txt("meta_no_lifecycle"));
1739 $this->tpl->setVariable("TXT_ADD_LIFECYCLE", $this->lng->txt("meta_add"));
1740 $this->tpl->setVariable("ACTION_ADD_LIFECYCLE", $this->ctrl->getLinkTarget($this, "addSection"));
1741 $this->tpl->parseCurrentBlock();
1742
1743 return true;
1744 }
1745 $this->ctrl->setReturn($this, 'listLifecycle');
1746 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
1747
1748 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
1749 $this->tpl->setVariable("TXT_LIFECYCLE", $this->lng->txt('meta_lifecycle'));
1750
1751 // Delete link
1752 $this->tpl->setVariable(
1753 "ACTION_DELETE",
1754 $this->ctrl->getLinkTarget($this, "deleteSection")
1755 );
1756 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt('delete'));
1757
1758 // New element
1759 $this->__fillSubelements();
1760
1761 // Status
1762 $this->tpl->setVariable("TXT_STATUS", $this->lng->txt('meta_status'));
1763 $this->tpl->setVariable("SEL_STATUS", ilMDUtilSelect::_getStatusSelect(
1764 $this->md_section->getStatus(),
1765 "lif_status",
1766 array(0 => $this->lng->txt('meta_please_select'))
1767 ));
1768 // Version
1769 $this->tpl->setVariable("TXT_VERSION", $this->lng->txt('meta_version'));
1770 $this->tpl->setVariable("VAL_VERSION", ilUtil::prepareFormOutput($this->md_section->getVersion()));
1771
1772 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt('meta_language'));
1773 $this->tpl->setVariable("VAL_VERSION_LANGUAGE", $this->__showLanguageSelect(
1774 'lif_language',
1775 $this->md_section->getVersionLanguageCode()
1776 ));
1777
1778 // Contributes
1779 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1780 $md_con = $this->md_section->getContribute($con_id);
1781
1782 if (count($ids) > 1) {
1783 $this->ctrl->setParameter($this, 'meta_index', $con_id);
1784 $this->ctrl->setParameter($this, 'meta_path', 'meta_contribute');
1785
1786 $this->tpl->setCurrentBlock("contribute_delete");
1787 $this->tpl->setVariable("CONTRIBUTE_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1788 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1789 $this->tpl->parseCurrentBlock();
1790 }
1791 // Entities
1792 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
1793 $md_ent = $md_con->getEntity($ent_id);
1794
1795 $this->ctrl->setParameter($this, 'meta_path', 'meta_entity');
1796
1797 if (count($ent_ids) > 1) {
1798 $this->tpl->setCurrentBlock("contribute_entity_delete");
1799
1800 $this->ctrl->setParameter($this, 'meta_index', $ent_id);
1801 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1802 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1803 $this->tpl->parseCurrentBlock();
1804 }
1805
1806 $this->tpl->setCurrentBlock("contribute_entity_loop");
1807
1808 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_CONTRIBUTE_NO", $con_id);
1809 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_NO", $ent_id);
1810 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_VAL_ENTITY", ilUtil::prepareFormOutput($md_ent->getEntity()));
1811 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_ENTITY", $this->lng->txt('meta_entity'));
1812 $this->tpl->parseCurrentBlock();
1813 }
1814 $this->tpl->setCurrentBlock("contribute_loop");
1815
1816 $this->ctrl->setParameter($this, 'section_element', 'meta_entity');
1817 $this->ctrl->setParameter($this, 'meta_index', $con_id);
1818 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_ACTION_ADD", $this->ctrl->getLinkTarget($this, 'addSectionElement'));
1819 $this->tpl->setVariable(
1820 "CONTRIBUTE_ENTITY_LOOP_TXT_ADD",
1821 $this->lng->txt('add') . " " . $this->lng->txt('meta_entity')
1822 );
1823
1824 $this->tpl->setVariable("CONTRIBUTE_LOOP_ROWSPAN", 2 + count($ent_ids));
1825 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_CONTRIBUTE", $this->lng->txt('meta_contribute'));
1826 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_ROLE", $this->lng->txt('meta_role'));
1827 $this->tpl->setVariable("SEL_CONTRIBUTE_ROLE", ilMDUtilSelect::_getRoleSelect(
1828 $md_con->getRole(),
1829 "met_contribute[" . $con_id . "][Role]",
1830 array(0 => $this->lng->txt('meta_please_select'))
1831 ));
1832 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_DATE", $this->lng->txt('meta_date'));
1833 $this->tpl->setVariable("CONTRIBUTE_LOOP_NO", $con_id);
1834 $this->tpl->setVariable("CONTRIBUTE_LOOP_VAL_DATE", ilUtil::prepareFormOutput($md_con->getDate()));
1835
1836 $this->tpl->parseCurrentBlock();
1837 }
1838 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt('save'));
1839 }
static _getStatusSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta lifecycle status selector.
static _getRoleSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta lifecycle status selector.

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

Referenced by listSection().

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

◆ listMetaMetaData()

ilMDEditorGUI::listMetaMetaData ( )

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

1889 {
1890 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
1891 $this->__setTabs('meta_meta_metadata');
1892 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_meta_metadata.html', 'Services/MetaData');
1893
1894
1895 $this->ctrl->setParameter($this, "section", "meta_meta_metadata");
1896 if (!is_object($this->md_section = $this->md_obj->getMetaMetadata())) {
1897 $this->tpl->setCurrentBlock("no_meta_meta");
1898 $this->tpl->setVariable("TXT_NO_META_META", $this->lng->txt("meta_no_meta_metadata"));
1899 $this->tpl->setVariable("TXT_ADD_META_META", $this->lng->txt("meta_add"));
1900 $this->tpl->setVariable("ACTION_ADD_META_META", $this->ctrl->getLinkTarget($this, "addSection"));
1901 $this->tpl->parseCurrentBlock();
1902
1903 return true;
1904 }
1905 $this->ctrl->setReturn($this, 'listMetaMetaData');
1906 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
1907
1908 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
1909 $this->tpl->setVariable("TXT_META_METADATA", $this->lng->txt('meta_meta_metadata'));
1910
1911 // Delete link
1912 $this->tpl->setVariable(
1913 "ACTION_DELETE",
1914 $this->ctrl->getLinkTarget($this, "deleteSection")
1915 );
1916 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt('delete'));
1917
1918 // New element
1919 $this->__fillSubelements();
1920
1921 $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt('meta_language'));
1922
1923 $this->tpl->setVariable("VAL_LANGUAGE", $this->__showLanguageSelect('met_language', $this->md_section->getLanguageCode()));
1924 $this->tpl->setVariable("TXT_METADATASCHEME", $this->lng->txt('meta_metadatascheme'));
1925 $this->tpl->setVariable("VAL_METADATASCHEME", $this->md_section->getMetaDataScheme());
1926
1927
1928 // Identifier
1929 foreach ($ids = $this->md_section->getIdentifierIds() as $id) {
1930 $md_ide = $this->md_section->getIdentifier($id);
1931
1932 if (count($ids) > 1) {
1933 $this->ctrl->setParameter($this, 'meta_index', $id);
1934 $this->ctrl->setParameter($this, 'meta_path', 'meta_identifier');
1935
1936 $this->tpl->setCurrentBlock("identifier_delete");
1937 $this->tpl->setVariable("IDENTIFIER_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1938 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1939 $this->tpl->parseCurrentBlock();
1940 }
1941
1942 $this->tpl->setCurrentBlock("identifier_loop");
1943 $this->tpl->setVariable("IDENTIFIER_LOOP_NO", $id);
1944 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
1945 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_CATALOG", $this->lng->txt("meta_catalog"));
1946 $this->tpl->setVariable(
1947 "IDENTIFIER_LOOP_VAL_IDENTIFIER_CATALOG",
1948 ilUtil::prepareFormOutput($md_ide->getCatalog())
1949 );
1950 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_ENTRY", $this->lng->txt("meta_entry"));
1951 $this->tpl->setVariable(
1952 "IDENTIFIER_LOOP_VAL_IDENTIFIER_ENTRY",
1953 ilUtil::prepareFormOutput($md_ide->getEntry())
1954 );
1955 $this->tpl->parseCurrentBlock();
1956 }
1957
1958 // Contributes
1959 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1960 $md_con = $this->md_section->getContribute($con_id);
1961
1962 if (count($ids) > 1) {
1963 $this->ctrl->setParameter($this, 'meta_index', $con_id);
1964 $this->ctrl->setParameter($this, 'meta_path', 'meta_contribute');
1965
1966 $this->tpl->setCurrentBlock("contribute_delete");
1967 $this->tpl->setVariable("CONTRIBUTE_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1968 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1969 $this->tpl->parseCurrentBlock();
1970 }
1971 // Entities
1972 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
1973 $md_ent = $md_con->getEntity($ent_id);
1974
1975 $this->ctrl->setParameter($this, 'meta_path', 'meta_entity');
1976
1977 if (count($ent_ids) > 1) {
1978 $this->tpl->setCurrentBlock("contribute_entity_delete");
1979
1980 $this->ctrl->setParameter($this, 'meta_index', $ent_id);
1981 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1982 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1983 $this->tpl->parseCurrentBlock();
1984 }
1985
1986 $this->tpl->setCurrentBlock("contribute_entity_loop");
1987
1988 $this->ctrl->setParameter($this, 'section_element', 'meta_entity');
1989 $this->ctrl->setParameter($this, 'meta_index', $con_id);
1990 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_ACTION_ADD", $this->ctrl->getLinkTarget($this, 'addSectionElement'));
1991 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_ADD", $this->lng->txt('add'));
1992
1993
1994 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_CONTRIBUTE_NO", $con_id);
1995 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_NO", $ent_id);
1996 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_VAL_ENTITY", ilUtil::prepareFormOutput($md_ent->getEntity()));
1997 $this->tpl->setVariable("CONTRIBUTE_ENTITY_LOOP_TXT_ENTITY", $this->lng->txt('meta_entity'));
1998 $this->tpl->parseCurrentBlock();
1999 }
2000 $this->tpl->setCurrentBlock("contribute_loop");
2001 $this->tpl->setVariable("CONTRIBUTE_LOOP_ROWSPAN", 2 + count($ent_ids));
2002 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_CONTRIBUTE", $this->lng->txt('meta_contribute'));
2003 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_ROLE", $this->lng->txt('meta_role'));
2004 $this->tpl->setVariable("SEL_CONTRIBUTE_ROLE", ilMDUtilSelect::_getRoleSelect(
2005 $md_con->getRole(),
2006 "met_contribute[" . $con_id . "][Role]",
2007 array(0 => $this->lng->txt('meta_please_select'))
2008 ));
2009 $this->tpl->setVariable("CONTRIBUTE_LOOP_TXT_DATE", $this->lng->txt('meta_date'));
2010 $this->tpl->setVariable("CONTRIBUTE_LOOP_NO", $con_id);
2011 $this->tpl->setVariable("CONTRIBUTE_LOOP_VAL_DATE", ilUtil::prepareFormOutput($md_con->getDate()));
2012
2013 $this->tpl->parseCurrentBlock();
2014 }
2015 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt('save'));
2016 }

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

+ Here is the call graph for this function:

◆ listQuickEdit()

ilMDEditorGUI::listQuickEdit ( )

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

385 {
386 global $tpl;
387
388 if (!is_object($this->md_section = $this->md_obj->getGeneral())) {
389 $this->md_section = $this->md_obj->addGeneral();
390 $this->md_section->save();
391 }
392
393 $this->__setTabs('meta_quickedit');
394 $form = $this->initQuickEditForm();
395 $tpl->setContent($form->getHTML());
396 }
initQuickEditForm()
Init quick edit form.

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

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

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

2488 {
2489 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2490 $this->__setTabs('meta_relation');
2491 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_relation.html', 'Services/MetaData');
2492
2493 $rel_ids = $this->md_obj->getRelationIds();
2494 if (!is_array($rel_ids) || count($rel_ids) == 0) {
2495 $this->tpl->setCurrentBlock("no_relation");
2496 $this->tpl->setVariable("TXT_NO_RELATION", $this->lng->txt("meta_no_relation"));
2497 $this->tpl->setVariable("TXT_ADD_RELATION", $this->lng->txt("meta_add"));
2498 $this->ctrl->setParameter($this, "section", "meta_relation");
2499 $this->tpl->setVariable(
2500 "ACTION_ADD_RELATION",
2501 $this->ctrl->getLinkTarget($this, "addSection")
2502 );
2503 $this->tpl->parseCurrentBlock();
2504 } else {
2505 foreach ($rel_ids as $rel_id) {
2506 $this->md_section = $this->md_obj->getRelation($rel_id);
2507
2508 $this->ctrl->setParameter($this, 'meta_index', $rel_id);
2509 $this->ctrl->setParameter($this, "section", "meta_relation");
2510
2511 /* Identifier_ */
2512 $res_ids = $this->md_section->getIdentifier_Ids();
2513 foreach ($res_ids as $res_id) {
2514 $ident = $this->md_section->getIdentifier_($res_id);
2515 $this->ctrl->setParameter($this, "meta_index", $res_id);
2516
2517 if (count($res_ids) > 1) {
2518 $this->tpl->setCurrentBlock("identifier_delete");
2519 $this->ctrl->setParameter($this, "meta_path", "relation_resource_identifier");
2520 $this->tpl->setVariable(
2521 "IDENTIFIER_LOOP_ACTION_DELETE",
2522 $this->ctrl->getLinkTarget($this, "deleteElement")
2523 );
2524 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2525 $this->tpl->parseCurrentBlock();
2526 }
2527
2528 $this->tpl->setCurrentBlock("identifier_loop");
2529
2530 $this->tpl->setVariable("IDENTIFIER_LOOP_NO", $res_id);
2531 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_IDENTIFIER", $this->lng->txt("meta_identifier"));
2532 $this->ctrl->setParameter($this, 'meta_index', $rel_id);
2533 $this->ctrl->setParameter($this, "section_element", "relation_resource_identifier");
2534 $this->tpl->setVariable(
2535 "IDENTIFIER_LOOP_ACTION_ADD",
2536 $this->ctrl->getLinkTarget($this, "addSectionElement")
2537 );
2538 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2539 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_ENTRY", $this->lng->txt("meta_entry"));
2540 $this->tpl->setVariable("IDENTIFIER_LOOP_TXT_CATALOG", $this->lng->txt("meta_catalog"));
2541 $this->tpl->setVariable(
2542 "IDENTIFIER_LOOP_VAL_CATALOG",
2543 ilUtil::prepareFormOutput($ident->getCatalog())
2544 );
2545 $this->tpl->setVariable(
2546 "IDENTIFIER_LOOP_VAL_ENTRY",
2547 ilUtil::prepareFormOutput($ident->getEntry())
2548 );
2549 $this->tpl->parseCurrentBlock();
2550 }
2551
2552 /* Description */
2553 $res_dess = $this->md_section->getDescriptionIds();
2554 foreach ($res_dess as $res_des) {
2555 $des = $this->md_section->getDescription($res_des);
2556 $this->ctrl->setParameter($this, "meta_index", $res_des);
2557
2558 if (count($res_dess) > 1) {
2559 $this->tpl->setCurrentBlock("description_delete");
2560 $this->ctrl->setParameter($this, "meta_path", "relation_resource_description");
2561 $this->tpl->setVariable(
2562 "DESCRIPTION_LOOP_ACTION_DELETE",
2563 $this->ctrl->getLinkTarget($this, "deleteElement")
2564 );
2565 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DELETE", $this->lng->txt("meta_delete"));
2566 $this->tpl->parseCurrentBlock();
2567 }
2568
2569 $this->tpl->setCurrentBlock("description_loop");
2570 $this->tpl->setVariable("DESCRIPTION_LOOP_NO", $res_des);
2571 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2572 $this->ctrl->setParameter($this, 'meta_index', $rel_id);
2573 $this->ctrl->setParameter($this, "section_element", "relation_resource_description");
2574 $this->tpl->setVariable(
2575 "DESCRIPTION_LOOP_ACTION_ADD",
2576 $this->ctrl->getLinkTarget($this, "addSectionElement")
2577 );
2578 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_ADD", $this->lng->txt("meta_add"));
2579 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2580 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2581 $this->tpl->setVariable(
2582 "DESCRIPTION_LOOP_VAL",
2583 ilUtil::prepareFormOutput($des->getDescription())
2584 );
2585 $this->tpl->setVariable(
2586 "DESCRIPTION_LOOP_VAL_LANGUAGE",
2587 $this->__showLanguageSelect(
2588 'relation[Resource][Description][' . $res_des . '][Language]',
2589 $des->getDescriptionLanguageCode()
2590 )
2591 );
2592 $this->tpl->parseCurrentBlock();
2593 }
2594
2595 $this->tpl->setCurrentBlock("relation_loop");
2596 $this->tpl->setVariable("REL_ID", $rel_id);
2597 $this->tpl->setVariable("TXT_RELATION", $this->lng->txt("meta_relation"));
2598 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
2599 $this->tpl->setVariable(
2600 "ACTION_DELETE",
2601 $this->ctrl->getLinkTarget($this, "deleteSection")
2602 );
2603 $this->ctrl->setParameter($this, "section", "meta_relation");
2604 $this->tpl->setVariable(
2605 "ACTION_ADD",
2606 $this->ctrl->getLinkTarget($this, "addSection")
2607 );
2608 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2609 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("meta_add"));
2610 $this->tpl->setVariable("TXT_NEW_ELEMENT", $this->lng->txt("meta_new_element"));
2611 $this->tpl->setVariable("TXT_KIND", $this->lng->txt("meta_kind"));
2612 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
2613 $this->tpl->setVariable("TXT_ISPARTOF", $this->lng->txt("meta_is_part_of"));
2614 $this->tpl->setVariable("TXT_HASPART", $this->lng->txt("meta_has_part"));
2615 $this->tpl->setVariable("TXT_ISVERSIONOF", $this->lng->txt("meta_is_version_of"));
2616 $this->tpl->setVariable("TXT_HASVERSION", $this->lng->txt("meta_has_version"));
2617 $this->tpl->setVariable("TXT_ISFORMATOF", $this->lng->txt("meta_is_format_of"));
2618 $this->tpl->setVariable("TXT_HASFORMAT", $this->lng->txt("meta_has_format"));
2619 $this->tpl->setVariable("TXT_REFERENCES", $this->lng->txt("meta_references"));
2620 $this->tpl->setVariable("TXT_ISREFERENCEDBY", $this->lng->txt("meta_is_referenced_by"));
2621 $this->tpl->setVariable("TXT_ISBASEDON", $this->lng->txt("meta_is_based_on"));
2622 $this->tpl->setVariable("TXT_ISBASISFOR", $this->lng->txt("meta_is_basis_for"));
2623 $this->tpl->setVariable("TXT_REQUIRES", $this->lng->txt("meta_requires"));
2624 $this->tpl->setVariable("TXT_ISREQUIREDBY", $this->lng->txt("meta_is_required_by"));
2625 $this->tpl->setVariable("TXT_RESOURCE", $this->lng->txt("meta_resource"));
2626 $this->tpl->setVariable("VAL_KIND_" . strtoupper($this->md_section->getKind()), " selected");
2627 $this->tpl->parseCurrentBlock();
2628 }
2629
2630 $this->tpl->setCurrentBlock("relation");
2631 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
2632 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2633 $this->tpl->parseCurrentBlock();
2634 }
2635 }

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

2065 {
2066 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
2067 $this->__setTabs('meta_rights');
2068 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_rights.html', 'Services/MetaData');
2069
2070 if (!is_object($this->md_section = $this->md_obj->getRights())) {
2071 $this->tpl->setCurrentBlock("no_rights");
2072 $this->tpl->setVariable("TXT_NO_RIGHTS", $this->lng->txt("meta_no_rights"));
2073 $this->tpl->setVariable("TXT_ADD_RIGHTS", $this->lng->txt("meta_add"));
2074 $this->ctrl->setParameter($this, "section", "meta_rights");
2075 $this->tpl->setVariable(
2076 "ACTION_ADD_RIGHTS",
2077 $this->ctrl->getLinkTarget($this, "addSection")
2078 );
2079 $this->tpl->parseCurrentBlock();
2080 } else {
2081 $this->ctrl->setReturn($this, 'listRights');
2082 $this->ctrl->setParameter($this, 'section', 'meta_rights');
2083 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
2084
2085 $this->tpl->setVariable("TXT_RIGHTS", $this->lng->txt("meta_rights"));
2086 $this->tpl->setVariable("TXT_COST", $this->lng->txt("meta_cost"));
2087 $this->tpl->setVariable("TXT_COPYRIGHTANDOTHERRESTRICTIONS", $this->lng->txt("meta_copyright_and_other_restrictions"));
2088 $this->tpl->setVariable("TXT_PLEASE_SELECT", $this->lng->txt("meta_please_select"));
2089 $this->tpl->setVariable("TXT_YES", $this->lng->txt("meta_yes"));
2090 $this->tpl->setVariable("TXT_NO", $this->lng->txt("meta_no"));
2091
2092 $this->ctrl->setParameter($this, "section", "meta_rights");
2093 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
2094 $this->tpl->setVariable(
2095 "ACTION_DELETE",
2096 $this->ctrl->getLinkTarget($this, "deleteSection")
2097 );
2098
2099 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt("meta_delete"));
2100
2101 $this->tpl->setVariable("VAL_COST_" . strtoupper($this->md_section->getCosts()), " selected");
2102 $this->tpl->setVariable("VAL_COPYRIGHTANDOTHERRESTRICTIONS_" .
2103 strtoupper($this->md_section->getCopyrightAndOtherRestrictions()), " selected");
2104
2105 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_DESCRIPTION", $this->lng->txt("meta_description"));
2106 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_VALUE", $this->lng->txt("meta_value"));
2107 $this->tpl->setVariable("DESCRIPTION_LOOP_VAL", ilUtil::prepareFormOutput($this->md_section->getDescription()));
2108 $this->tpl->setVariable("DESCRIPTION_LOOP_TXT_LANGUAGE", $this->lng->txt("meta_language"));
2109 $this->tpl->setVariable(
2110 "DESCRIPTION_LOOP_VAL_LANGUAGE",
2111 $this->__showLanguageSelect(
2112 'rights[DescriptionLanguage]',
2113 $this->md_section->getDescriptionLanguageCode()
2114 )
2115 );
2116
2117 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
2118
2119 $this->tpl->setCurrentBlock("rights");
2120 $this->tpl->parseCurrentBlock();
2121 }
2122 }

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

3259 {
3260 switch ($_REQUEST['section']) {
3261 case 'meta_general':
3262 return $this->listGeneral();
3263
3264 case 'meta_lifecycle':
3265 return $this->listLifecycle();
3266
3267 case 'meta_technical':
3268 return $this->listTechnical();
3269
3270 case 'meta_meta_metadata':
3271 return $this->listMetaMetadata();
3272
3273 case 'debug':
3274 return $this->debug();
3275
3276 case 'meta_rights':
3277 return $this->listRights();
3278
3279 case 'meta_educational':
3280 return $this->listEducational();
3281
3282 case 'meta_relation':
3283 return $this->listRelation();
3284
3285 case 'meta_annotation':
3286 return $this->listAnnotation();
3287
3288 case 'meta_classification':
3289 return $this->listClassification();
3290
3291 default:
3292 if ($this->md_obj->obj_type=='sahs'||$this->md_obj->obj_type=='sco') {
3293 return $this->listQuickEdit_scorm();
3294 } else {
3295 return $this->listQuickEdit();
3296 }
3297 }
3298 }

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

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

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

◆ listTechnical()

ilMDEditorGUI::listTechnical ( )

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

1476 {
1477 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.md_editor.html', 'Services/MetaData');
1478 $this->__setTabs('meta_technical');
1479 $this->tpl->addBlockFile('MD_CONTENT', 'md_content', 'tpl.md_technical.html', 'Services/MetaData');
1480
1481
1482 $this->ctrl->setParameter($this, "section", "meta_technical");
1483 if (!is_object($this->md_section = $this->md_obj->getTechnical())) {
1484 $this->tpl->setCurrentBlock("no_technical");
1485 $this->tpl->setVariable("TXT_NO_TECHNICAL", $this->lng->txt("meta_no_technical"));
1486 $this->tpl->setVariable("TXT_ADD_TECHNICAL", $this->lng->txt("meta_add"));
1487 $this->tpl->setVariable("ACTION_ADD_TECHNICAL", $this->ctrl->getLinkTarget($this, "addSection"));
1488 $this->tpl->parseCurrentBlock();
1489
1490 return true;
1491 }
1492 $this->ctrl->setReturn($this, 'listTechnical');
1493 $this->ctrl->setParameter($this, "meta_index", $this->md_section->getMetaId());
1494
1495 $this->tpl->setVariable("EDIT_ACTION", $this->ctrl->getFormAction($this));
1496 $this->tpl->setVariable("TXT_TECHNICAL", $this->lng->txt('meta_technical'));
1497
1498 // Delete link
1499 $this->tpl->setVariable(
1500 "ACTION_DELETE",
1501 $this->ctrl->getLinkTarget($this, "deleteSection")
1502 );
1503 $this->tpl->setVariable("TXT_DELETE", $this->lng->txt('delete'));
1504
1505 // New element
1506 $this->__fillSubelements();
1507
1508 // Format
1509 foreach ($ids = $this->md_section->getFormatIds() as $id) {
1510 $md_for =&$this->md_section->getFormat($id);
1511
1512 $this->tpl->setCurrentBlock("format_loop");
1513
1514 $this->ctrl->setParameter($this, 'meta_index', $id);
1515 $this->ctrl->setParameter($this, 'meta_path', 'meta_format');
1516 $this->tpl->setVariable("FORMAT_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1517 $this->tpl->setVariable("FORMAT_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1518
1519 $this->tpl->setVariable("FORMAT_LOOP_NO", $id);
1520 $this->tpl->setVariable("FORMAT_LOOP_TXT_FORMAT", $this->lng->txt('meta_format'));
1521 $this->tpl->setVariable("FORMAT_LOOP_VAL", ilUtil::prepareFormOutput($md_for->getFormat()));
1522
1523 $this->tpl->parseCurrentBlock();
1524 }
1525 // Size
1526 $this->tpl->setVariable("SIZE_TXT_SIZE", $this->lng->txt('meta_size'));
1527 $this->tpl->setVariable("SIZE_VAL", ilUtil::prepareFormOutput($this->md_section->getSize()));
1528
1529 // Location
1530 foreach ($ids = $this->md_section->getLocationIds() as $id) {
1531 $md_loc =&$this->md_section->getLocation($id);
1532
1533 $this->tpl->setCurrentBlock("location_loop");
1534
1535 $this->ctrl->setParameter($this, 'meta_index', $id);
1536 $this->ctrl->setParameter($this, 'meta_path', 'meta_location');
1537 $this->tpl->setVariable("LOCATION_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1538 $this->tpl->setVariable("LOCATION_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1539
1540 $this->tpl->setVariable("LOCATION_LOOP_TXT_LOCATION", $this->lng->txt('meta_location'));
1541 $this->tpl->setVariable("LOCATION_LOOP_NO", $id);
1542 $this->tpl->setVariable("LOCATION_LOOP_TXT_TYPE", $this->lng->txt('meta_type'));
1543 $this->tpl->setVariable("LOCATION_LOOP_VAL", ilUtil::prepareFormOutput($md_loc->getLocation()));
1544
1545 $this->tpl->setVariable(
1546 "SEL_LOCATION_TYPE",
1548 $md_loc->getLocationType(),
1549 "met_location[" . $id . "][Type]",
1550 array(0 => $this->lng->txt('meta_please_select'))
1551 )
1552 );
1553 $this->tpl->parseCurrentBlock();
1554 }
1555 // Requirement
1556 foreach ($ids = $this->md_section->getRequirementIds() as $id) {
1557 $md_re =&$this->md_section->getRequirement($id);
1558
1559 $this->tpl->setCurrentBlock("requirement_loop");
1560
1561 $this->ctrl->setParameter($this, 'meta_index', $id);
1562 $this->ctrl->setParameter($this, 'meta_path', 'meta_requirement');
1563 $this->tpl->setVariable("REQUIREMENT_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1564 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1565
1566 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_REQUIREMENT", $this->lng->txt('meta_requirement'));
1567 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_TYPE", $this->lng->txt('meta_type'));
1568 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_OPERATINGSYSTEM", $this->lng->txt('meta_operating_system'));
1569 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_BROWSER", $this->lng->txt('meta_browser'));
1570 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_NAME", $this->lng->txt('meta_name'));
1571 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_MINIMUMVERSION", $this->lng->txt('meta_minimum_version'));
1572 $this->tpl->setVariable("REQUIREMENT_LOOP_TXT_MAXIMUMVERSION", $this->lng->txt('meta_maximum_version'));
1573
1574 $this->tpl->setVariable("REQUIREMENT_LOOP_NO", $id);
1575 $this->tpl->setVariable(
1576 "REQUIREMENT_SEL_OS_NAME",
1578 $md_re->getOperatingSystemName(),
1579 "met_re[" . $id . "][os][name]",
1580 array(0 => $this->lng->txt('meta_please_select'))
1581 )
1582 );
1583 $this->tpl->setVariable(
1584 "REQUIREMENT_SEL_BROWSER_NAME",
1586 $md_re->getBrowserName(),
1587 "met_re[" . $id . "][browser][name]",
1588 array(0 => $this->lng->txt('meta_please_select'))
1589 )
1590 );
1591
1592 $this->tpl->setVariable(
1593 "REQUIREMENT_LOOP_VAL_OPERATINGSYSTEM_MINIMUMVERSION",
1594 ilUtil::prepareFormOutput($md_re->getOperatingSystemMinimumVersion())
1595 );
1596
1597 $this->tpl->setVariable(
1598 "REQUIREMENT_LOOP_VAL_OPERATINGSYSTEM_MAXIMUMVERSION",
1599 ilUtil::prepareFormOutput($md_re->getOperatingSystemMaximumVersion())
1600 );
1601
1602 $this->tpl->setVariable(
1603 "REQUIREMENT_LOOP_VAL_BROWSER_MINIMUMVERSION",
1604 ilUtil::prepareFormOutput($md_re->getBrowserMinimumVersion())
1605 );
1606
1607 $this->tpl->setVariable(
1608 "REQUIREMENT_LOOP_VAL_BROWSER_MAXIMUMVERSION",
1609 ilUtil::prepareFormOutput($md_re->getBrowserMaximumVersion())
1610 );
1611 $this->tpl->parseCurrentBlock();
1612 }
1613 // OrComposite
1614 foreach ($ids = $this->md_section->getOrCompositeIds() as $or_id) {
1615 $md_or =&$this->md_section->getOrComposite($or_id);
1616 foreach ($ids = $md_or->getRequirementIds() as $id) {
1617 $md_re =&$this->md_section->getRequirement($id);
1618
1619 $this->tpl->setCurrentBlock("orrequirement_loop");
1620
1621 $this->ctrl->setParameter($this, 'meta_index', $id);
1622 $this->ctrl->setParameter($this, 'meta_path', 'meta_requirement');
1623 $this->tpl->setVariable("ORREQUIREMENT_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1624 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1625
1626 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_REQUIREMENT", $this->lng->txt('meta_requirement'));
1627 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_TYPE", $this->lng->txt('meta_type'));
1628 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_OPERATINGSYSTEM", $this->lng->txt('meta_operating_system'));
1629 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_BROWSER", $this->lng->txt('meta_browser'));
1630 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_NAME", $this->lng->txt('meta_name'));
1631 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_MINIMUMVERSION", $this->lng->txt('meta_minimum_version'));
1632 $this->tpl->setVariable("ORREQUIREMENT_LOOP_TXT_MAXIMUMVERSION", $this->lng->txt('meta_maximum_version'));
1633
1634 $this->tpl->setVariable("ORREQUIREMENT_LOOP_NO", $id);
1635 $this->tpl->setVariable(
1636 "ORREQUIREMENT_SEL_OS_NAME",
1638 $md_re->getOperatingSystemName(),
1639 "met_re[" . $id . "][os][name]",
1640 array(0 => $this->lng->txt('meta_please_select'))
1641 )
1642 );
1643 $this->tpl->setVariable(
1644 "ORREQUIREMENT_SEL_BROWSER_NAME",
1646 $md_re->getBrowserName(),
1647 "met_re[" . $id . "][browser][name]",
1648 array(0 => $this->lng->txt('meta_please_select'))
1649 )
1650 );
1651
1652 $this->tpl->setVariable(
1653 "ORREQUIREMENT_LOOP_VAL_OPERATINGSYSTEM_MINIMUMVERSION",
1654 ilUtil::prepareFormOutput($md_re->getOperatingSystemMinimumVersion())
1655 );
1656
1657 $this->tpl->setVariable(
1658 "ORREQUIREMENT_LOOP_VAL_OPERATINGSYSTEM_MAXIMUMVERSION",
1659 ilUtil::prepareFormOutput($md_re->getOperatingSystemMaximumVersion())
1660 );
1661
1662 $this->tpl->setVariable(
1663 "ORREQUIREMENT_LOOP_VAL_BROWSER_MINIMUMVERSION",
1664 ilUtil::prepareFormOutput($md_re->getBrowserMinimumVersion())
1665 );
1666
1667 $this->tpl->setVariable(
1668 "ORREQUIREMENT_LOOP_VAL_BROWSER_MAXIMUMVERSION",
1669 ilUtil::prepareFormOutput($md_re->getBrowserMaximumVersion())
1670 );
1671 $this->tpl->parseCurrentBlock();
1672 }
1673 $this->tpl->setCurrentBlock("orcomposite_loop");
1674
1675 $this->ctrl->setParameter($this, 'meta_index', $or_id);
1676 $this->ctrl->setParameter($this, 'meta_path', 'meta_or_composite');
1677 $this->ctrl->setParameter($this, 'meta_technical', $this->md_section->getMetaId());
1678 $this->tpl->setVariable("ORCOMPOSITE_LOOP_ACTION_DELETE", $this->ctrl->getLinkTarget($this, 'deleteElement'));
1679 $this->tpl->setVariable("ORCOMPOSITE_LOOP_TXT_DELETE", $this->lng->txt('delete'));
1680
1681 $this->tpl->setVariable("ORCOMPOSITE_LOOP_TXT_ORCOMPOSITE", $this->lng->txt('meta_or_composite'));
1682 $this->tpl->parseCurrentBlock();
1683 }
1684
1685 // InstallationRemarks
1686 $this->tpl->setVariable("INSTALLATIONREMARKS_TXT_INSTALLATIONREMARKS", $this->lng->txt('meta_installation_remarks'));
1687 $this->tpl->setVariable("INSTALLATIONREMARKS_TXT_LANGUAGE", $this->lng->txt('meta_language'));
1688
1689 $this->tpl->setVariable("INSTALLATIONREMARKS_VAL", ilUtil::prepareFormOutput($this->md_section->getInstallationRemarks()));
1690 $this->tpl->setVariable(
1691 "INSTALLATIONREMARKS_VAL_LANGUAGE",
1692 $this->__showLanguageSelect(
1693 'inst_language',
1694 $this->md_section->getInstallationRemarksLanguageCode()
1695 )
1696 );
1697
1698 // Other platform requirement
1699 $this->tpl->setVariable(
1700 "OTHERPLATTFORMREQUIREMENTS_TXT_OTHERPLATTFORMREQUIREMENTS",
1701 $this->lng->txt('meta_other_plattform_requirements')
1702 );
1703 $this->tpl->setVariable("OTHERPLATTFORMREQUIREMENTS_TXT_LANGUAGE", $this->lng->txt('meta_language'));
1704
1705 $this->tpl->setVariable(
1706 "OTHERPLATTFORMREQUIREMENTS_VAL",
1707 ilUtil::prepareFormOutput($this->md_section->getOtherPlatformRequirements())
1708 );
1709 $this->tpl->setVariable(
1710 "OTHERPLATTFORMREQUIREMENTS_VAL_LANGUAGE",
1711 $this->__showLanguageSelect(
1712 'opr_language',
1713 $this->md_section->getOtherPlatformRequirementsLanguageCode()
1714 )
1715 );
1716
1717 // Duration
1718 $this->tpl->setVariable("DURATION_TXT_DURATION", $this->lng->txt('meta_duration'));
1719 $this->tpl->setVariable("DURATION_VAL", ilUtil::prepareFormOutput($this->md_section->getDuration()));
1720
1721 $this->tpl->setCurrentBlock("technical");
1722 $this->tpl->setVariable("TXT_SAVE", $this->lng->txt('save'));
1723 $this->tpl->parseCurrentBlock();
1724 }
static _getLocationTypeSelect($a_selected, $a_name, $prepend=array())
Prepare a meta location type.
static _getOperatingSystemSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta technical os selector.
static _getBrowserSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta technical browser selector.

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

Referenced by listSection().

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

◆ updateAnnotation()

ilMDEditorGUI::updateAnnotation ( )

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

2747 {
2748 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2749
2750 // relation
2751 foreach ($ids = $this->md_obj->getAnnotationIds() as $id) {
2752 // entity
2753 $annotation = $this->md_obj->getAnnotation($id);
2754 $annotation->setEntity(ilUtil::stripSlashes($_POST['annotation'][$id]['Entity']));
2755 $annotation->setDate(ilUtil::stripSlashes($_POST['annotation'][$id]['Date']));
2756 $annotation->setDescription(ilUtil::stripSlashes($_POST['annotation'][$id]['Description']));
2757 $annotation->setDescriptionLanguage(
2758 new ilMDLanguageItem($_POST['annotation'][$id]['Language'])
2759 );
2760
2761 $annotation->update();
2762 }
2763
2764 $this->callListeners('Annotation');
2765 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2766 $this->listSection();
2767 }
callListeners($a_element)
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.

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

+ Here is the call graph for this function:

◆ updateClassification()

ilMDEditorGUI::updateClassification ( )

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

2984 {
2985 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2986
2987 // relation
2988 foreach ($ids = $this->md_obj->getClassificationIds() as $id) {
2989 // entity
2990 $classification = $this->md_obj->getClassification($id);
2991 $classification->setPurpose($_POST['classification'][$id]['Purpose']);
2992
2993 $classification->setDescription(ilUtil::stripSlashes($_POST['classification'][$id]['Description']));
2994 $classification->setDescriptionLanguage(
2995 new ilMDLanguageItem($_POST['classification'][$id]['Language'])
2996 );
2997
2998 $classification->update();
2999
3000 $key_ids = $classification->getKeywordIds();
3001 foreach ($key_ids as $key_id) {
3002 $keyword = $classification->getKeyword($key_id);
3003 $keyword->setKeyword(ilUtil::stripSlashes($_POST['classification']['Keyword'][$key_id]['Value']));
3004 $keyword->setKeywordLanguage(
3005 new ilMDLanguageItem($_POST['classification']['Keyword'][$key_id]['Language'])
3006 );
3007 $keyword->update();
3008 }
3009
3010 $tp_ids = $classification->getTaxonPathIds();
3011 foreach ($tp_ids as $tp_id) {
3012 $tax_path = $classification->getTaxonPath($tp_id);
3013 $tax_path->setSource(ilUtil::stripSlashes($_POST['classification']['TaxonPath'][$tp_id]['Source']['Value']));
3014 $tax_path->setSourceLanguage(
3015 new ilMDLanguageItem($_POST['classification']['TaxonPath'][$tp_id]['Source']['Language'])
3016 );
3017 $tax_path->update();
3018
3019 $tax_ids = $tax_path->getTaxonIds();
3020
3021 foreach ($tax_ids as $tax_id) {
3022 $taxon = $tax_path->getTaxon($tax_id);
3023 $taxon->setTaxon(ilUtil::stripSlashes($_POST['classification']['TaxonPath']['Taxon'][$tax_id]['Value']));
3024 $taxon->setTaxonLanguage(
3025 new ilMDLanguageItem($_POST['classification']['TaxonPath']['Taxon'][$tax_id]['Language'])
3026 );
3027 $taxon->setTaxonId(ilUtil::stripSlashes($_POST['classification']['TaxonPath']['Taxon'][$tax_id]['Id']));
3028 $taxon->update();
3029 }
3030 }
3031 }
3032
3033 $this->callListeners('Classification');
3034 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
3035 $this->listSection();
3036 }

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

+ Here is the call graph for this function:

◆ updateEducational()

ilMDEditorGUI::updateEducational ( )

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

2417 {
2418 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2419
2420 // update rights section
2421 $this->md_section = $this->md_obj->getEducational();
2422 $this->md_section->setInteractivityType($_POST['educational']['InteractivityType']);
2423 $this->md_section->setLearningResourceType($_POST['educational']['LearningResourceType']);
2424 $this->md_section->setInteractivityLevel($_POST['educational']['InteractivityLevel']);
2425 $this->md_section->setSemanticDensity($_POST['educational']['SemanticDensity']);
2426 $this->md_section->setIntendedEndUserRole($_POST['educational']['IntendedEndUserRole']);
2427 $this->md_section->setContext($_POST['educational']['Context']);
2428 $this->md_section->setDifficulty($_POST['educational']['Difficulty']);
2429
2430
2431 // TLT
2432
2433 if ($_POST['tlt']['mo'] or $_POST['tlt']['d'] or
2434 $_POST['tlt']['h'] or $_POST['tlt']['m'] or $_POST['tlt']['s']) {
2435 $this->md_section->setPhysicalTypicalLearningTime(
2436 (int) $_POST['tlt']['mo'],
2437 (int) $_POST['tlt']['d'],
2438 (int) $_POST['tlt']['h'],
2439 (int) $_POST['tlt']['m'],
2440 (int) $_POST['tlt']['s']
2441 );
2442 } else {
2443 $this->md_section->setTypicalLearningTime('');
2444 }
2445 $this->callListeners('Educational');
2446
2447
2448 /* TypicalAgeRange */
2449 foreach ($ids = $this->md_section->getTypicalAgeRangeIds() as $id) {
2450 $md_age = $this->md_section->getTypicalAgeRange($id);
2451 $md_age->setTypicalAgeRange(ilUtil::stripSlashes($_POST['educational']['TypicalAgeRange'][$id]['Value']));
2452 $md_age->setTypicalAgeRangeLanguage(
2453 new ilMDLanguageItem($_POST['educational']['TypicalAgeRange'][$id]['Language'])
2454 );
2455 $md_age->update();
2456 }
2457
2458 /* Description */
2459 foreach ($ids = $this->md_section->getDescriptionIds() as $id) {
2460 $md_des = $this->md_section->getDescription($id);
2461 $md_des->setDescription(ilUtil::stripSlashes($_POST['educational']['Description'][$id]['Value']));
2462 $md_des->setDescriptionLanguage(
2463 new ilMDLanguageItem($_POST['educational']['Description'][$id]['Language'])
2464 );
2465 $md_des->update();
2466 }
2467
2468 /* Language */
2469 foreach ($ids = $this->md_section->getLanguageIds() as $id) {
2470 $md_lang = $this->md_section->getLanguage($id);
2471 $md_lang->setLanguage(
2472 new ilMDLanguageItem($_POST['educational']['Language'][$id])
2473 );
2474 $md_lang->update();
2475 }
2476
2477 $this->md_section->update();
2478
2479 $this->callListeners('Educational');
2480 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2481 $this->listSection();
2482 }

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

+ Here is the call graph for this function:

◆ updateGeneral()

ilMDEditorGUI::updateGeneral ( )

update general section

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

1357 {
1358 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
1359
1360 if (!strlen(trim($_POST['gen_title']))) {
1361 if ($this->md_obj->getObjType() != 'sess') {
1362 ilUtil::sendFailure($this->lng->txt('title_required'));
1363 $this->listGeneral();
1364 return false;
1365 }
1366 }
1367
1368 // General values
1369 $this->md_section = $this->md_obj->getGeneral();
1370 $this->md_section->setStructure($_POST['gen_structure']);
1371 $this->md_section->setTitle(ilUtil::stripSlashes($_POST['gen_title']));
1372 $this->md_section->setTitleLanguage(new ilMDLanguageItem($_POST['gen_title_language']));
1373 $this->md_section->setCoverage(ilUtil::stripSlashes($_POST['gen_coverage']));
1374 $this->md_section->setCoverageLanguage(new ilMDLanguageItem($_POST['gen_coverage_language']));
1375 $this->md_section->update();
1376
1377 // Identifier
1378 if (is_array($_POST['gen_identifier'])) {
1379 foreach ($_POST['gen_identifier'] as $id => $data) {
1380 $md_ide = $this->md_section->getIdentifier($id);
1381 $md_ide->setCatalog(ilUtil::stripSlashes($data['Catalog']));
1382 $md_ide->setEntry(ilUtil::stripSlashes($data['Entry']));
1383 $md_ide->update();
1384 }
1385 }
1386
1387 // Language
1388 if (is_array($_POST['gen_language'])) {
1389 foreach ($_POST['gen_language'] as $id => $data) {
1390 $md_lan = $this->md_section->getLanguage($id);
1391 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
1392 $md_lan->update();
1393 }
1394 }
1395 // Description
1396 if (is_array($_POST['gen_description'])) {
1397 foreach ($_POST['gen_description'] as $id => $data) {
1398 $md_des = $this->md_section->getDescription($id);
1399 $md_des->setDescription(ilUtil::stripSlashes($data['description']));
1400 $md_des->setDescriptionLanguage(new ilMDLanguageItem($data['language']));
1401 $md_des->update();
1402 }
1403 }
1404 // Keyword
1405 if (is_array($_POST['gen_keyword'])) {
1406 foreach ($_POST['gen_keyword'] as $id => $data) {
1407 $md_key = $this->md_section->getKeyword($id);
1408
1409 $md_key->setKeyword(ilUtil::stripSlashes($data['keyword']));
1410 $md_key->setKeywordLanguage(new ilMDLanguageItem($data['language']));
1411 $md_key->update();
1412 }
1413 }
1414 $this->callListeners('General');
1415
1416 // Redirect here to read new title and description
1417 // Otherwise ('Lifecycle' 'technical' ...) simply call listSection()
1418 $this->ctrl->setParameter($this, "section", "meta_general");
1419 ilUtil::sendSuccess($this->lng->txt("saved_successfully"), true);
1420 $this->ctrl->redirect($this, 'listSection');
1421 }
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

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

+ Here is the call graph for this function:

◆ updateLifecycle()

ilMDEditorGUI::updateLifecycle ( )

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

1842 {
1843 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
1844
1845 // update metametadata section
1846 $this->md_section = $this->md_obj->getLifecycle();
1847 $this->md_section->setVersionLanguage(new ilMDLanguageItem($_POST['lif_language']));
1848 $this->md_section->setVersion(ilUtil::stripSlashes($_POST['lif_version']));
1849 $this->md_section->setStatus($_POST['lif_status']);
1850 $this->md_section->update();
1851
1852 // Identifier
1853 if (is_array($_POST['met_identifier'])) {
1854 foreach ($_POST['met_identifier'] as $id => $data) {
1855 $md_ide = $this->md_section->getIdentifier($id);
1856 $md_ide->setCatalog(ilUtil::stripSlashes($data['Catalog']));
1857 $md_ide->setEntry(ilUtil::stripSlashes($data['Entry']));
1858 $md_ide->update();
1859 }
1860 }
1861 // Contribute
1862 if (is_array($_POST['met_contribute'])) {
1863 foreach ($_POST['met_contribute'] as $id => $data) {
1864 $md_con =&$this->md_section->getContribute($id);
1865 $md_con->setRole(ilUtil::stripSlashes($data['Role']));
1866 $md_con->setDate(ilUtil::stripSlashes($data['Date']));
1867 $md_con->update();
1868
1869 if (is_array($_POST['met_entity'][$id])) {
1870 foreach ($_POST['met_entity'][$id] as $ent_id => $data) {
1871 $md_ent =&$md_con->getEntity($ent_id);
1872 $md_ent->setEntity(ilUtil::stripSlashes($data['Entity']));
1873 $md_ent->update();
1874 }
1875 }
1876 }
1877 }
1878 $this->callListeners('Lifecycle');
1879 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
1880 $this->listSection();
1881 return true;
1882 }

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

+ Here is the call graph for this function:

◆ updateMetaMetaData()

ilMDEditorGUI::updateMetaMetaData ( )

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

2020 {
2021 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2022
2023 // update metametadata section
2024 $this->md_section = $this->md_obj->getMetaMetadata();
2025 $this->md_section->setLanguage(new ilMDLanguageItem($_POST['met_language']));
2026 $this->md_section->update();
2027
2028 // Identifier
2029 if (is_array($_POST['met_identifier'])) {
2030 foreach ($_POST['met_identifier'] as $id => $data) {
2031 $md_ide = $this->md_section->getIdentifier($id);
2032 $md_ide->setCatalog(ilUtil::stripSlashes($data['Catalog']));
2033 $md_ide->setEntry(ilUtil::stripSlashes($data['Entry']));
2034 $md_ide->update();
2035 }
2036 }
2037 // Contribute
2038 if (is_array($_POST['met_contribute'])) {
2039 foreach ($_POST['met_contribute'] as $id => $data) {
2040 $md_con =&$this->md_section->getContribute($id);
2041 $md_con->setRole(ilUtil::stripSlashes($data['Role']));
2042 $md_con->setDate(ilUtil::stripSlashes($data['Date']));
2043 $md_con->update();
2044
2045 if (is_array($_POST['met_entity'][$id])) {
2046 foreach ($_POST['met_entity'][$id] as $ent_id => $data) {
2047 $md_ent =&$md_con->getEntity($ent_id);
2048 $md_ent->setEntity(ilUtil::stripSlashes($data['Entity']));
2049 $md_ent->update();
2050 }
2051 }
2052 }
2053 }
2054 $this->callListeners('MetaMetaData');
2055 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2056 $this->listSection();
2057 return true;
2058 }

References $_POST, $data, $id, 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 589 of file class.ilMDEditorGUI.php.

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

References $_POST, $auth, $data, $i, $id, 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 846 of file class.ilMDEditorGUI.php.

847 {
848 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
849
850 // General values
851 $this->md_section = $this->md_obj->getGeneral();
852 $this->md_section->setTitle(ilUtil::stripSlashes($_POST['gen_title']));
853 $this->md_section->setTitleLanguage(new ilMDLanguageItem($_POST['gen_title_language']));
854 $this->md_section->update();
855
856 // Language
857 if (is_array($_POST['gen_language'])) {
858 foreach ($_POST['gen_language'] as $id => $data) {
859 if ($id > 0) {
860 $md_lan = $this->md_section->getLanguage($id);
861 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
862 $md_lan->update();
863 } else {
864 $md_lan = $this->md_section->addLanguage();
865 $md_lan->setLanguage(new ilMDLanguageItem($data['language']));
866 $md_lan->save();
867 }
868 }
869 }
870 // Description
871 if (is_array($_POST['gen_description'])) {
872 foreach ($_POST['gen_description'] as $id => $data) {
873 $md_des = $this->md_section->getDescription($id);
874 $md_des->setDescription(ilUtil::stripSlashes($data['description']));
875 $md_des->setDescriptionLanguage(new ilMDLanguageItem($data['language']));
876 $md_des->update();
877 }
878 }
879
880
881 // Keyword
882 if (is_array($_POST["keywords"]["value"])) {
883 $new_keywords = array();
884 foreach ($_POST["keywords"]["value"] as $lang => $keywords) {
885 $language = $_POST["keyword"]["language"][$lang];
886 $keywords = explode(",", $keywords);
887 foreach ($keywords as $keyword) {
888 $new_keywords[$language][] = trim($keyword);
889 }
890 }
891
892 // update existing author entries (delete if not entered)
893 foreach ($ids = $this->md_section->getKeywordIds() as $id) {
894 $md_key = $this->md_section->getKeyword($id);
895
896 $lang = $md_key->getKeywordLanguageCode();
897
898 // entered keyword already exists
899 if (is_array($new_keywords[$lang]) &&
900 in_array($md_key->getKeyword(), $new_keywords[$lang])) {
901 unset($new_keywords[$lang]
902 [array_search($md_key->getKeyword(), $new_keywords[$lang])]);
903 } else { // existing keyword has not been entered again -> delete
904 $md_key->delete();
905 }
906 }
907
908 // insert entered, but not existing keywords
909 foreach ($new_keywords as $lang => $key_arr) {
910 foreach ($key_arr as $keyword) {
911 if ($keyword != "") {
912 $md_key = $this->md_section->addKeyword();
913 $md_key->setKeyword(ilUtil::stripSlashes($keyword));
914 $md_key->setKeywordLanguage(new ilMDLanguageItem($lang));
915 $md_key->save();
916 }
917 }
918 }
919 }
920 $this->callListeners('General');
921
922 // Copyright
923 if ($_POST['copyright_id'] or $_POST['rights_copyright']) {
924 if (!is_object($this->md_section = $this->md_obj->getRights())) {
925 $this->md_section = $this->md_obj->addRights();
926 $this->md_section->save();
927 }
928 if ($_POST['copyright_id']) {
929 $this->md_section->setCopyrightAndOtherRestrictions("Yes");
930 $this->md_section->setDescription('il_copyright_entry__' . IL_INST_ID . '__' . (int) $_POST['copyright_id']);
931 } else {
932 $this->md_section->setCopyrightAndOtherRestrictions("Yes");
933 $this->md_section->setDescription(ilUtil::stripSlashes($_POST["rights_copyright"]));
934 }
935 $this->md_section->update();
936 } else {
937 if (is_object($this->md_section = $this->md_obj->getRights())) {
938 $this->md_section->setCopyrightAndOtherRestrictions("No");
939 $this->md_section->setDescription("");
940 $this->md_section->update();
941 }
942 }
943 $this->callListeners('Rights');
944
945 //Educational...
946 // Typical Learning Time
947 if ($_POST['tlt']['mo'] or $_POST['tlt']['d'] or
948 $_POST["tlt"]['h'] or $_POST['tlt']['m'] or $_POST['tlt']['s']) {
949 if (!is_object($this->md_section = $this->md_obj->getEducational())) {
950 $this->md_section = $this->md_obj->addEducational();
951 $this->md_section->save();
952 }
953 $this->md_section->setPhysicalTypicalLearningTime(
954 (int) $_POST['tlt']['mo'],
955 (int) $_POST['tlt']['d'],
956 (int) $_POST['tlt']['h'],
957 (int) $_POST['tlt']['m'],
958 (int) $_POST['tlt']['s']
959 );
960 $this->md_section->update();
961 } else {
962 if (is_object($this->md_section = $this->md_obj->getEducational())) {
963 $this->md_section->setPhysicalTypicalLearningTime(0, 0, 0, 0, 0);
964 $this->md_section->update();
965 }
966 }
967 $this->callListeners('Educational');
968 //Lifecycle...
969 // experts
970 if ($_POST["life_experts"] != "") {
971 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
972 $this->md_section = $this->md_obj->addLifecycle();
973 $this->md_section->save();
974 }
975
976 // determine all entered authors
977 $auth_arr = explode(",", $_POST["life_experts"]);
978 for ($i = 0; $i < count($auth_arr); $i++) {
979 $auth_arr[$i] = trim($auth_arr[$i]);
980 }
981
982 $md_con_author = "";
983
984 // update existing author entries (delete if not entered)
985 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
986 $md_con = $this->md_section->getContribute($con_id);
987 if ($md_con->getRole() == "SubjectMatterExpert") {
988 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
989 $md_ent = $md_con->getEntity($ent_id);
990
991 // entered author already exists
992 if (in_array($md_ent->getEntity(), $auth_arr)) {
993 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
994 } else { // existing author has not been entered again -> delete
995 $md_ent->delete();
996 }
997 }
998 $md_con_author = $md_con;
999 }
1000 }
1001
1002 // insert enterd, but not existing authors
1003 if (count($auth_arr) > 0) {
1004 if (!is_object($md_con_author)) {
1005 $md_con_author = $this->md_section->addContribute();
1006 $md_con_author->setRole("SubjectMatterExpert");
1007 $md_con_author->save();
1008 }
1009 foreach ($auth_arr as $auth) {
1010 $md_ent = $md_con_author->addEntity();
1011 $md_ent->setEntity(ilUtil::stripSlashes($auth));
1012 $md_ent->save();
1013 }
1014 }
1015 } else { // nothing has been entered: delete all author contribs
1016 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
1017 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1018 $md_con = $this->md_section->getContribute($con_id);
1019 if ($md_con->getRole() == "SubjectMatterExpert") {
1020 $md_con->delete();
1021 }
1022 }
1023 }
1024 }
1025
1026 // InstructionalDesigner
1027 if ($_POST["life_designers"] != "") {
1028 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
1029 $this->md_section = $this->md_obj->addLifecycle();
1030 $this->md_section->save();
1031 }
1032
1033 // determine all entered authors
1034 $auth_arr = explode(",", $_POST["life_designers"]);
1035 for ($i = 0; $i < count($auth_arr); $i++) {
1036 $auth_arr[$i] = trim($auth_arr[$i]);
1037 }
1038
1039 $md_con_author = "";
1040
1041 // update existing author entries (delete if not entered)
1042 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1043 $md_con = $this->md_section->getContribute($con_id);
1044 if ($md_con->getRole() == "InstructionalDesigner") {
1045 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
1046 $md_ent = $md_con->getEntity($ent_id);
1047
1048 // entered author already exists
1049 if (in_array($md_ent->getEntity(), $auth_arr)) {
1050 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
1051 } else { // existing author has not been entered again -> delete
1052 $md_ent->delete();
1053 }
1054 }
1055 $md_con_author = $md_con;
1056 }
1057 }
1058
1059 // insert enterd, but not existing authors
1060 if (count($auth_arr) > 0) {
1061 if (!is_object($md_con_author)) {
1062 $md_con_author = $this->md_section->addContribute();
1063 $md_con_author->setRole("InstructionalDesigner");
1064 $md_con_author->save();
1065 }
1066 foreach ($auth_arr as $auth) {
1067 $md_ent = $md_con_author->addEntity();
1068 $md_ent->setEntity(ilUtil::stripSlashes($auth));
1069 $md_ent->save();
1070 }
1071 }
1072 } else { // nothing has been entered: delete all author contribs
1073 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
1074 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1075 $md_con = $this->md_section->getContribute($con_id);
1076 if ($md_con->getRole() == "InstructionalDesigner") {
1077 $md_con->delete();
1078 }
1079 }
1080 }
1081 }
1082
1083 // Point of Contact
1084 if ($_POST["life_poc"] != "") {
1085 if (!is_object($this->md_section = $this->md_obj->getLifecycle())) {
1086 $this->md_section = $this->md_obj->addLifecycle();
1087 $this->md_section->save();
1088 }
1089
1090 // determine all entered authors
1091 $auth_arr = explode(",", $_POST["life_poc"]);
1092 for ($i = 0; $i < count($auth_arr); $i++) {
1093 $auth_arr[$i] = trim($auth_arr[$i]);
1094 }
1095
1096 $md_con_author = "";
1097
1098 // update existing author entries (delete if not entered)
1099 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1100 $md_con = $this->md_section->getContribute($con_id);
1101 if ($md_con->getRole() == "PointOfContact") {
1102 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
1103 $md_ent = $md_con->getEntity($ent_id);
1104
1105 // entered author already exists
1106 if (in_array($md_ent->getEntity(), $auth_arr)) {
1107 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
1108 } else { // existing author has not been entered again -> delete
1109 $md_ent->delete();
1110 }
1111 }
1112 $md_con_author = $md_con;
1113 }
1114 }
1115
1116 // insert enterd, but not existing authors
1117 if (count($auth_arr) > 0) {
1118 if (!is_object($md_con_author)) {
1119 $md_con_author = $this->md_section->addContribute();
1120 $md_con_author->setRole("PointOfContact");
1121 $md_con_author->save();
1122 }
1123 foreach ($auth_arr as $auth) {
1124 $md_ent = $md_con_author->addEntity();
1125 $md_ent->setEntity(ilUtil::stripSlashes($auth));
1126 $md_ent->save();
1127 }
1128 }
1129 } else { // nothing has been entered: delete all author contribs
1130 if (is_object($this->md_section = $this->md_obj->getLifecycle())) {
1131 foreach (($ids = $this->md_section->getContributeIds()) as $con_id) {
1132 $md_con = $this->md_section->getContribute($con_id);
1133 if ($md_con->getRole() == "PointOfContact") {
1134 $md_con->delete();
1135 }
1136 }
1137 }
1138 }
1139
1140 $this->md_section = $this->md_obj->getLifecycle();
1141 $this->md_section->setVersionLanguage(new ilMDLanguageItem($_POST['lif_language']));
1142 $this->md_section->setVersion(ilUtil::stripSlashes($_POST['lif_version']));
1143 $this->md_section->setStatus($_POST['lif_status']);
1144 $this->md_section->update();
1145
1146
1147 $this->callListeners('Lifecycle');
1148
1149 // Redirect here to read new title and description
1150 // Otherwise ('Lifecycle' 'technical' ...) simply call listSection()
1151 ilUtil::sendSuccess($this->lng->txt("saved_successfully"), true);
1152 $this->ctrl->redirect($this, 'listSection');
1153 }

References $_POST, $auth, $data, $i, $id, $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 835 of file class.ilMDEditorGUI.php.

836 {
837 $this->updateQuickEdit_scorm_propagate("life_designers", "InstructionalDesigner");
838 }
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 831 of file class.ilMDEditorGUI.php.

832 {
833 $this->updateQuickEdit_scorm_propagate("life_experts", "SubjectMatterExpert");
834 }

References updateQuickEdit_scorm_propagate().

+ Here is the call graph for this function:

◆ updateQuickEdit_scorm_prop_poc()

ilMDEditorGUI::updateQuickEdit_scorm_prop_poc ( )

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

840 {
841 $this->updateQuickEdit_scorm_propagate("life_poc", "PointOfContact");
842 }

References updateQuickEdit_scorm_propagate().

+ Here is the call graph for this function:

◆ updateQuickEdit_scorm_propagate()

ilMDEditorGUI::updateQuickEdit_scorm_propagate (   $request,
  $type 
)

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

761 {
762 $module_id = $this->md_obj->obj_id;
763 if ($this->md_obj->obj_type=='sco') {
764 $module_id = $this->md_obj->rbac_id;
765 }
766 $tree = new ilTree($module_id);
767 $tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
768 $tree->setTreeTablePK("slm_id");
769 foreach ($tree->getSubTree($tree->getNodeData($tree->getRootId()), true, 'sco') as $sco) {
770 $sco_md = new ilMD($module_id, $sco['obj_id'], 'sco');
771 if ($_POST[$request] != "") {
772 $sco_md_section;
773 if (!is_object($sco_md_section = $sco_md->getLifecycle())) {
774 $sco_md_section = $sco_md->addLifecycle();
775 $sco_md_section->save();
776 }
777 // determine all entered authors
778 $auth_arr = explode(",", $_POST[$request]);
779 for ($i = 0; $i < count($auth_arr); $i++) {
780 $auth_arr[$i] = trim($auth_arr[$i]);
781 }
782
783 $md_con_author = "";
784
785 // update existing author entries (delete if not entered)
786 foreach (($ids = $sco_md_section->getContributeIds()) as $con_id) {
787 $md_con = $sco_md_section->getContribute($con_id);
788 if ($md_con->getRole() == $type) {
789 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
790 $md_ent = $md_con->getEntity($ent_id);
791
792 // entered author already exists
793 if (in_array($md_ent->getEntity(), $auth_arr)) {
794 unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]);
795 } else { // existing author has not been entered again -> delete
796 $md_ent->delete();
797 }
798 }
799 $md_con_author = $md_con;
800 }
801 }
802
803 // insert enterd, but not existing authors
804 if (count($auth_arr) > 0) {
805 if (!is_object($md_con_author)) {
806 $md_con_author = $sco_md_section->addContribute();
807 $md_con_author->setRole($type);
808 $md_con_author->save();
809 }
810 foreach ($auth_arr as $auth) {
811 $md_ent = $md_con_author->addEntity();
812 $md_ent->setEntity(ilUtil::stripSlashes($auth));
813 $md_ent->save();
814 }
815 }
816 } else { // nothing has been entered: delete all author contribs
817 if (is_object($sco_md_section = $sco_md->getLifecycle())) {
818 foreach (($ids = $sco_md_section->getContributeIds()) as $con_id) {
819 $md_con = $sco_md_section->getContribute($con_id);
820 if ($md_con->getRole() == $type) {
821 $md_con->delete();
822 }
823 }
824 }
825 }
826 $sco_md->update();
827 }
828 $this->updateQuickEdit_scorm();
829 }
updateQuickEdit_scorm()
update quick edit properties - SCORM customization
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
$type

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

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

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

◆ updateRelation()

ilMDEditorGUI::updateRelation ( )

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

2638 {
2639 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2640
2641 // relation
2642 foreach ($ids = $this->md_obj->getRelationIds() as $id) {
2643 // kind
2644 $relation = $this->md_obj->getRelation($id);
2645 $relation->setKind($_POST['relation'][$id]['Kind']);
2646
2647 $relation->update();
2648
2649 // identifiers
2650 $res_idents = $relation->getIdentifier_Ids();
2651 foreach ($res_idents as $res_id) {
2652 $ident = $relation->getIdentifier_($res_id);
2653 $ident->setCatalog(ilUtil::stripSlashes($_POST['relation']['Resource']['Identifier'][$res_id][Catalog]));
2654 $ident->setEntry(ilUtil::stripSlashes($_POST['relation']['Resource']['Identifier'][$res_id][Entry]));
2655 $ident->update();
2656 }
2657
2658 // descriptions
2659 $res_dess = $relation->getDescriptionIds();
2660 foreach ($res_dess as $res_des) {
2661 $des = $relation->getDescription($res_des);
2662 $des->setDescription(ilUtil::stripSlashes($_POST['relation']['Resource']['Description'][$res_des][Value]));
2663 $des->setDescriptionLanguage(
2664 new ilMDLanguageItem($_POST['relation']['Resource']['Description'][$res_des]['Language'])
2665 );
2666 $des->update();
2667 }
2668 }
2669
2670 $this->callListeners('Relation');
2671 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2672 $this->listSection();
2673 }

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

+ Here is the call graph for this function:

◆ updateRights()

ilMDEditorGUI::updateRights ( )

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

2125 {
2126 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
2127
2128 // update rights section
2129 $this->md_section = $this->md_obj->getRights();
2130 $this->md_section->setCosts($_POST['rights']['Cost']);
2131 $this->md_section->setCopyrightAndOtherRestrictions($_POST['rights']['CopyrightAndOtherRestrictions']);
2132 $this->md_section->setDescriptionLanguage(new ilMDLanguageItem($_POST['rights']['DescriptionLanguage']));
2133 $this->md_section->setDescription(ilUtil::stripSlashes($_POST['rights']['Description']));
2134 $this->md_section->update();
2135
2136 $this->callListeners('Rights');
2137 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
2138 $this->listSection();
2139 }

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

+ Here is the call graph for this function:

◆ updateTechnical()

ilMDEditorGUI::updateTechnical ( )

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

1424 {
1425 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
1426
1427 // update technical section
1428 $this->md_section = $this->md_obj->getTechnical();
1429 $this->md_section->setSize(ilUtil::stripSlashes($_POST['met_size']));
1430 $this->md_section->setInstallationRemarks(ilUtil::stripSlashes($_POST['met_inst']));
1431 $this->md_section->setInstallationRemarksLanguage(new ilMDLanguageItem($_POST['inst_language']));
1432 $this->md_section->setOtherPlatformRequirements(ilUtil::stripSlashes($_POST['met_opr']));
1433 $this->md_section->setOtherPlatformRequirementsLanguage(new ilMDLanguageItem($_POST['opr_language']));
1434 $this->md_section->setDuration(ilUtil::stripSlashes($_POST['duration']));
1435 $this->md_section->update();
1436
1437 // Format
1438 if (is_array($_POST['met_format'])) {
1439 foreach ($_POST['met_format'] as $id => $data) {
1440 $md_for = $this->md_section->getFormat($id);
1441 $md_for->setFormat(ilUtil::stripSlashes($data['Format']));
1442 $md_for->update();
1443 }
1444 }
1445 // Location
1446 if (is_array($_POST['met_location'])) {
1447 foreach ($_POST['met_location'] as $id => $data) {
1448 $md_loc = $this->md_section->getLocation($id);
1449 $md_loc->setLocation(ilUtil::stripSlashes($data['Location']));
1450 $md_loc->setLocationType(ilUtil::stripSlashes($data['Type']));
1451 $md_loc->update();
1452 }
1453 }
1454 if (is_array($_POST['met_re'])) {
1455 foreach ($_POST['met_re'] as $id => $data) {
1456 $md_re = $this->md_section->getRequirement($id);
1457 $md_re->setOperatingSystemName(ilUtil::stripSlashes($data['os']['name']));
1458 $md_re->setOperatingSystemMinimumVersion(ilUtil::stripSlashes($data['os']['MinimumVersion']));
1459 $md_re->setOperatingSystemMaximumVersion(ilUtil::stripSlashes($data['os']['MaximumVersion']));
1460 $md_re->setBrowserName(ilUtil::stripSlashes($data['browser']['name']));
1461 $md_re->setBrowserMinimumVersion(ilUtil::stripSlashes($data['browser']['MinimumVersion']));
1462 $md_re->setBrowserMaximumVersion(ilUtil::stripSlashes($data['browser']['MaximumVersion']));
1463 $md_re->update();
1464 }
1465 }
1466 $this->callListeners('Technical');
1467
1468 ilUtil::sendSuccess($this->lng->txt("saved_successfully"));
1469 $this->listSection();
1470 return true;
1471 }

References $_POST, $data, $id, 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 __construct(), 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 __construct(), __showLanguageSelect(), and listQuickEdit().


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