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.

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

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  }
global $ilCtrl
Definition: ilias.php:18
static _getInstance()
get instance
+ 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.

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

Referenced by listEducational(), and listQuickEdit_scorm().

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  }
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
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ 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.

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

Referenced by listEducational(), and listQuickEdit_scorm().

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  }
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
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ 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.

References ilUtil\formSelect().

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

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

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

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

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  }
This class represents a selection list property in a property form.
$section
Definition: Utf8Test.php:83
Create styles array
The data for the language used.
if(!empty($this->data['faventry'])) $tabs
Definition: disco.tpl.php:124
$key
Definition: croninfo.php:18
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ 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.

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

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

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  }
$code
Definition: example_050.php:99
special template class to simplify handling of ITX/PEAR
$text
Definition: errorreport.php:18
+ 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.

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

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"]
$key
Definition: croninfo.php:18
+ Here is the call graph for this function:

◆ addSectionElement()

ilMDEditorGUI::addSectionElement ( )

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

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

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  }
$_GET["client_id"]
$_POST["username"]
+ Here is the call graph for this function:

◆ callListeners()

ilMDEditorGUI::callListeners (   $a_element)

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

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

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  }
+ Here is the caller graph for this function:

◆ debug()

ilMDEditorGUI::debug ( )

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

References __setTabs(), and ilMD2XML\startExport().

Referenced by listSection().

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

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

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)
$_GET["client_id"]
+ Here is the call graph for this function:

◆ deleteSection()

ilMDEditorGUI::deleteSection ( )

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

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

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  }
static _getInstance($a_type, $a_index, $a_technical_id=0)
$_GET["client_id"]
+ Here is the call graph for this function:

◆ executeCommand()

ilMDEditorGUI::executeCommand ( )

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

References $_GET.

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  }
$_GET["client_id"]

◆ initQuickEditForm()

ilMDEditorGUI::initQuickEditForm ( )

Init quick edit form.

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

References $form, $id, $ilCtrl, $lang, $lng, $options, $si, ilMDLanguageItem\_getLanguages(), ilMDRights\_lookupDescription(), array, ilCopyrightInputGUI\setCols(), ilTextAreaInputGUI\setCols(), ilTextInputGUI\setDataSource(), ilTextInputGUI\setMaxLength(), and ilTypicalLearningTimeInputGUI\setValueByLOMDuration().

Referenced by listQuickEdit().

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  }
setDataSource($href, $a_delimiter=null)
set datasource link for js autocomplete
This class represents a selection list property in a property form.
This class represents a property form user interface.
This class represents a typical learning time property in a property form.
setValueByLOMDuration($a_value)
Set by LOM duration.
if(!array_key_exists('StateId', $_REQUEST)) $id
This class represents a copyright property in a property form.
global $ilCtrl
Definition: ilias.php:18
static _lookupDescription($a_rbac_id, $a_obj_id)
Lookup description (copyright)
if(isset($_POST['submit'])) $form
This class represents a text property in a property form.
setMaxLength($a_maxlength)
Set Max Length.
Create styles array
The data for the language used.
This class represents a text area property in a property form.
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ keywordAutocomplete()

ilMDEditorGUI::keywordAutocomplete ( )

Keyword list for autocomplete.

Parameters

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

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

560  {
561  include_once("./Services/MetaData/classes/class.ilMDKeyword.php");
563  ilUtil::stripSlashes($_GET["term"]),
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';
581  echo ilJsonUtil::encode($result);
582  exit;
583  }
$result
$_GET["client_id"]
$r
Definition: example_031.php:79
static encode($mixed, $suppress_native=false)
foreach($_POST as $key=> $value) $res
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
Create styles array
The data for the language used.
static _getMatchingKeywords($a_query, $a_type, $a_rbac_id=0)
Search for keywords.
+ Here is the call graph for this function:

◆ listAnnotation()

ilMDEditorGUI::listAnnotation ( )

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

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

Referenced by listSection().

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  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
__showLanguageSelect($a_name, $a_value="")
shows language select box
+ 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.

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

Referenced by listSection().

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  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
__showLanguageSelect($a_name, $a_value="")
shows language select box
+ 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.

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

Referenced by listSection().

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  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
$valid
if(!array_key_exists('StateId', $_REQUEST)) $id
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.
static _LOMDurationToArray($a_string)
LOM datatype duration is a string like P2M4DT7H18M2S (2 months 4 days 7 hours 18 minutes 2 seconds) T...
__showLanguageSelect($a_name, $a_value="")
shows language select box
Create styles array
The data for the language used.
__buildMonthsSelect($sel_month)
+ 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.

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

Referenced by listSection(), and updateGeneral().

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  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
if(!array_key_exists('StateId', $_REQUEST)) $id
__showLanguageSelect($a_name, $a_value="")
shows language select box
+ 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.

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

Referenced by listSection().

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 prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
static _getStatusSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta lifecycle status selector.
__showLanguageSelect($a_name, $a_value="")
shows language select box
Create styles array
The data for the language used.
static _getRoleSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta lifecycle status selector.
+ 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.

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

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  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
if(!array_key_exists('StateId', $_REQUEST)) $id
__showLanguageSelect($a_name, $a_value="")
shows language select box
Create styles array
The data for the language used.
static _getRoleSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta lifecycle status selector.
+ Here is the call graph for this function:

◆ listQuickEdit()

ilMDEditorGUI::listQuickEdit ( )

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

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

Referenced by listSection(), and updateQuickEdit().

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  }
if(isset($_POST['submit'])) $form
initQuickEditForm()
Init quick edit form.
+ 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.

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

Referenced by listSection().

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  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
$valid
if(!array_key_exists('StateId', $_REQUEST)) $id
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.
static _LOMDurationToArray($a_string)
LOM datatype duration is a string like P2M4DT7H18M2S (2 months 4 days 7 hours 18 minutes 2 seconds) T...
static _getStatusSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta lifecycle status selector.
__showLanguageSelect($a_name, $a_value="")
shows language select box
Create styles array
The data for the language used.
__buildMonthsSelect($sel_month)
+ 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.

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

Referenced by listSection().

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  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
__showLanguageSelect($a_name, $a_value="")
shows language select box
+ 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.

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

Referenced by listSection().

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  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
__showLanguageSelect($a_name, $a_value="")
shows language select box
+ 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.

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

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

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

Referenced by listSection().

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 prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
static _getLocationTypeSelect($a_selected, $a_name, $prepend=array())
Prepare a meta location type.
if(!array_key_exists('StateId', $_REQUEST)) $id
static _getBrowserSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta technical browser selector.
__showLanguageSelect($a_name, $a_value="")
shows language select box
Create styles array
The data for the language used.
static _getOperatingSystemSelect($a_selected, $a_name, $prepend=array(), $a_options_only=false)
Prepare a meta technical os selector.
+ 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.

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

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
$_POST["username"]
+ Here is the call graph for this function:

◆ updateClassification()

ilMDEditorGUI::updateClassification ( )

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

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

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
$_POST["username"]
+ Here is the call graph for this function:

◆ updateEducational()

ilMDEditorGUI::updateEducational ( )

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

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

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
$_POST["username"]
+ Here is the call graph for this function:

◆ updateGeneral()

ilMDEditorGUI::updateGeneral ( )

update general section

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

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

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 sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$_POST["username"]
+ Here is the call graph for this function:

◆ updateLifecycle()

ilMDEditorGUI::updateLifecycle ( )

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

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

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
$_POST["username"]
+ Here is the call graph for this function:

◆ updateMetaMetaData()

ilMDEditorGUI::updateMetaMetaData ( )

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

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

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
$_POST["username"]
+ Here is the call graph for this function:

◆ updateQuickEdit()

ilMDEditorGUI::updateQuickEdit ( )

update quick edit properties

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

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

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$auth
Definition: metadata.php:48
if(!array_key_exists('StateId', $_REQUEST)) $id
static updateKeywords(ilMDGeneral $a_md_section, array $a_keywords)
Update keywords from input array.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$i
Definition: disco.tpl.php:19
$_POST["username"]
+ 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.

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

Referenced by updateQuickEdit_scorm_propagate().

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$auth
Definition: metadata.php:48
if(!array_key_exists('StateId', $_REQUEST)) $id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
Create styles array
The data for the language used.
$i
Definition: disco.tpl.php:19
$_POST["username"]
+ 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.

References updateQuickEdit_scorm_propagate().

836  {
837  $this->updateQuickEdit_scorm_propagate("life_designers", "InstructionalDesigner");
838  }
updateQuickEdit_scorm_propagate($request, $type)
+ 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.

References updateQuickEdit_scorm_propagate().

832  {
833  $this->updateQuickEdit_scorm_propagate("life_experts", "SubjectMatterExpert");
834  }
updateQuickEdit_scorm_propagate($request, $type)
+ 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.

References updateQuickEdit_scorm_propagate().

840  {
841  $this->updateQuickEdit_scorm_propagate("life_poc", "PointOfContact");
842  }
updateQuickEdit_scorm_propagate($request, $type)
+ 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.

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

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  }
$auth
Definition: metadata.php:48
updateQuickEdit_scorm()
update quick edit properties - SCORM customization
$type
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
$i
Definition: disco.tpl.php:19
$_POST["username"]
+ 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.

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

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
$_POST["username"]
+ Here is the call graph for this function:

◆ updateRights()

ilMDEditorGUI::updateRights ( )

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

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

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
$_POST["username"]
+ Here is the call graph for this function:

◆ updateTechnical()

ilMDEditorGUI::updateTechnical ( )

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

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

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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
callListeners($a_element)
$_POST["username"]
+ 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: