ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
class.ilObjLinkResourceGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5require_once "./Services/Object/classes/class.ilObject2GUI.php";
6include_once('./Modules/WebResource/classes/class.ilParameterAppender.php');
7require_once 'Services/LinkChecker/interfaces/interface.ilLinkCheckerGUIRowHandling.php';
8
23{
24 const VIEW_MODE_VIEW = 1;
26 const VIEW_MODE_SORT = 3;
27
28 const LINK_MOD_CREATE = 1;
29 const LINK_MOD_EDIT = 2;
30 const LINK_MOD_ADD = 3;
31
32 function getType()
33 {
34 return "webr";
35 }
36
37 public function executeCommand()
38 {
39 global $ilCtrl, $ilTabs, $ilErr, $ilAccess;
40
41
42 //if($this->ctrl->getTargetScript() == 'link_resources.php')
43 if($_GET["baseClass"] == 'ilLinkResourceHandlerGUI')
44 {
45 $_GET['view_mode'] = isset($_GET['switch_mode']) ? $_GET['switch_mode'] : $_GET['view_mode'];
46 $ilCtrl->saveParameter($this, 'view_mode');
47 $this->__prepareOutput();
48 }
49
50 $this->lng->loadLanguageModule("webr");
51
52 $next_class = $this->ctrl->getNextClass($this);
53 $cmd = $this->ctrl->getCmd();
54
55 switch($next_class)
56 {
57 case "ilinfoscreengui":
58 $this->prepareOutput();
59 $this->infoScreenForward(); // forwards command
60 break;
61
62 case 'ilmdeditorgui':
63 if(!$ilAccess->checkAccess('write','',$this->object->getRefId()))
64 {
65 $ilErr->raiseError($this->lng->txt('permission_denied'),$ilErr->WARNING);
66 }
67
68 $this->prepareOutput();
69 $ilTabs->activateTab('id_meta_data');
70 include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php';
71 $md_gui =& new ilMDEditorGUI($this->object->getId(), 0, $this->object->getType());
72 $md_gui->addObserver($this->object,'MDUpdateListener','General');
73 $this->ctrl->forwardCommand($md_gui);
74 break;
75
76 case 'ilpermissiongui':
77 $this->prepareOutput();
78 $ilTabs->activateTab('id_permissions');
79 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
80 $perm_gui =& new ilPermissionGUI($this);
81 $ret =& $this->ctrl->forwardCommand($perm_gui);
82 break;
83
84 case 'ilobjectcopygui':
85 $this->prepareOutput();
86 include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
87 $cp = new ilObjectCopyGUI($this);
88 $cp->setType('webr');
89 $this->ctrl->forwardCommand($cp);
90 break;
91
92 case 'ilexportgui':
93 $this->prepareOutput();
94 $this->tabs_gui->setTabActive('export');
95 include_once './Services/Export/classes/class.ilExportGUI.php';
96 $exp = new ilExportGUI($this);
97 $exp->addFormat('xml');
98 $this->ctrl->forwardCommand($exp);
99 break;
100
101 case "ilcommonactiondispatchergui":
102 include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
104 $this->ctrl->forwardCommand($gui);
105 break;
106
107 case "ilpropertyformgui":
108 include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
109 $this->initFormLink(self::LINK_MOD_EDIT);
110 $this->ctrl->forwardCommand($this->form);
111 break;
112
113 case "ilinternallinkgui":
114 $this->lng->loadLanguageModule("content");
115 require_once("./Services/Link/classes/class.ilInternalLinkGUI.php");
116 $link_gui = new ilInternalLinkGUI("RepositoryItem", 0);
117 $link_gui->filterLinkType("PageObject");
118 $link_gui->filterLinkType("GlossaryItem");
119 $link_gui->filterLinkType("RepositoryItem");
120 $link_gui->setFilterWhiteList(true);
121 $link_gui->setMode("asynch");
122 $ilCtrl->forwardCommand($link_gui);
123 break;
124
125 default:
126 if(!$cmd)
127 {
128 $this->ctrl->setCmd("view");
129 }
130 parent::executeCommand();
131 }
132
133 if(!$this->getCreationMode())
134 {
135 // Fill meta header tags
136 include_once('Services/MetaData/classes/class.ilMDUtils.php');
137 ilMDUtils::_fillHTMLMetaTags($this->object->getId(),$this->object->getId(),'webr');
138
139 $this->addHeaderAction();
140 }
141 return true;
142 }
143
144 protected function initCreateForm($a_new_type)
145 {
146 $this->initFormLink(self::LINK_MOD_CREATE);
147 return $this->form;
148 }
149
154 public function save()
155 {
156 global $ilCtrl;
157
158 $this->initFormLink(self::LINK_MOD_CREATE);
159 if($this->checkLinkInput(self::LINK_MOD_CREATE,0,0))
160 {
161 // Save new object
162 $_POST['title'] = $_POST['tit'];
163 $_POST['desc'] = $_POST['des'];
164 parent::save();
165 }
166 else
167 {
168 // Data incomplete or invalid
169 ilUtil::sendFailure($this->lng->txt('err_check_input'));
170 $this->form->setValuesByPost();
171 $this->tpl->setContent($this->form->getHTML());
172 }
173 }
174
175 protected function afterSave(ilObject $a_new_object)
176 {
177 // Save link
178 $this->link->setLinkResourceId($a_new_object->getId());
179 $link_id = $this->link->add();
180 $this->link->updateValid(true);
181
182 ilUtil::sendSuccess($this->lng->txt('webr_link_added'));
183
184 // personal workspace
185 if($this->id_type == self::WORKSPACE_NODE_ID)
186 {
187 $this->ctrl->redirect($this, "editLinks");
188 }
189 // repository
190 else
191 {
192 ilUtil::redirect("ilias.php?baseClass=ilLinkResourceHandlerGUI&ref_id=".
193 $a_new_object->getRefId()."&cmd=switchViewMode&switch_mode=2");
194 }
195 }
196
202 protected function settings()
203 {
204 global $ilTabs;
205
206 $this->checkPermission('write');
207 $ilTabs->activateTab('id_settings');
208
209 $this->initFormSettings();
210 $this->tpl->setContent($this->form->getHTML());
211 }
212
217 protected function saveSettings()
218 {
219 global $ilTabs;
220
221 $this->checkPermission('write');
222 $ilTabs->activateTab('id_settings');
223
224 $this->initFormSettings();
225 if($this->form->checkInput())
226 {
227 $this->object->setTitle($this->form->getInput('tit'));
228 $this->object->setDescription($this->form->getInput('des'));
229 $this->object->update();
230
231 include_once './Services/Container/classes/class.ilContainerSortingSettings.php';
232 $sort = new ilContainerSortingSettings($this->object->getId());
233 $sort->setSortMode($this->form->getInput('sor'));
234 $sort->update();
235
236 ilUtil::sendSuccess($this->lng->txt('settings_saved'),true);
237 $this->ctrl->redirect($this,'settings');
238 }
239
240 $this->form->setValuesByPost();
241 ilUtil::sendFailure($this->lng->txt('err_check_input'));
242 $this->tpl->setContent($this->form->getHTML());
243 }
244
245
250 protected function initFormSettings()
251 {
252 include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
253 $this->form = new ilPropertyFormGUI();
254 $this->form->setFormAction($this->ctrl->getFormAction($this,'saveSettings'));
255 $this->form->setTitle($this->lng->txt('webr_edit_settings'));
256
257 // Title
258 $tit = new ilTextInputGUI($this->lng->txt('webr_list_title'),'tit');
259 $tit->setValue($this->object->getTitle());
260 $tit->setRequired(true);
261 $tit->setSize(40);
262 $tit->setMaxLength(127);
263 $this->form->addItem($tit);
264
265 // Description
266 $des = new ilTextAreaInputGUI($this->lng->txt('webr_list_desc'),'des');
267 $des->setValue($this->object->getDescription());
268 $des->setCols(40);
269 $des->setRows(3);
270 $this->form->addItem($des);
271
272 // Sorting
273 include_once './Services/Container/classes/class.ilContainerSortingSettings.php';
274 include_once './Services/Container/classes/class.ilContainer.php';
275
276 $sor = new ilRadioGroupInputGUI($this->lng->txt('webr_sorting'),'sor');
277 $sor->setRequired(true);
278 include_once './Services/Container/classes/class.ilContainerSortingSettings.php';
279 $sor->setValue(ilContainerSortingSettings::_lookupSortMode($this->object->getId()));
280
281 $opt = new ilRadioOption(
282 $this->lng->txt('webr_sort_title'),
284 );
285 $sor->addOption($opt);
286
287 $opm = new ilRadioOption(
288 $this->lng->txt('webr_sort_manual'),
290 );
291 $sor->addOption($opm);
292 $this->form->addItem($sor);
293
294 $this->form->addCommandButton('saveSettings', $this->lng->txt('save'));
295 $this->form->addCommandButton('view', $this->lng->txt('cancel'));
296 }
297
298
303 public function editLink()
304 {
305 global $ilCtrl;
306
307 $this->checkPermission('write');
308 $this->activateTabs('content','id_content_view');
309
310 if(!(int) $_GET['link_id'])
311 {
312 ilUtil::sendFailure($this->lng->txt('select_one'),true);
313 $ilCtrl->redirect($this,'view');
314 }
315
316 $this->initFormLink(self::LINK_MOD_EDIT);
317 $this->setValuesFromLink((int) $_GET['link_id']);
318 $this->tpl->setContent($this->form->getHTML());
319 }
320
325 public function updateLink()
326 {
327 global $ilCtrl;
328
329 $this->initFormLink(self::LINK_MOD_EDIT);
330 if($this->checkLinkInput(self::LINK_MOD_EDIT,$this->object->getId(),(int) $_REQUEST['link_id']))
331 {
332 $this->link->setLinkId((int) $_REQUEST['link_id']);
333 $this->link->update();
334 if(ilParameterAppender::_isEnabled() and is_object($this->dynamic))
335 {
336 $this->dynamic->add((int) $_REQUEST['link_id']);
337 }
338
339 if($this->isContainerMetaDataRequired())
340 {
341 $this->object->setTitle($this->form->getInput('tit'));
342 $this->object->setDescription($this->form->getInput('des'));
343 $this->object->update();
344 }
345
346 ilUtil::sendSuccess($this->lng->txt('settings_saved'),true);
347 $ilCtrl->redirect($this,'view');
348 }
349 ilUtil::sendFailure($this->lng->txt('err_check_input'));
350 $this->form->setValuesByPost();
351 $this->tpl->setContent($this->form->getHTML());
352 }
353
358 public function addLink()
359 {
360 $this->checkPermission('write');
361 $this->activateTabs('content','id_content_view');
362
363 $this->initFormLink(self::LINK_MOD_ADD);
364 $this->tpl->setContent($this->form->getHTML());
365 }
366
371 public function saveAddLink()
372 {
373 global $ilCtrl;
374
375 $this->checkPermission('write');
376
377 $this->initFormLink(self::LINK_MOD_ADD);
378 if($this->checkLinkInput(self::LINK_MOD_ADD,$this->object->getId(),0))
379 {
380 if($this->isContainerMetaDataRequired())
381 {
382 // Save list data
383 $this->object->setTitle($this->form->getInput('lti'));
384 $this->object->setDescription($this->form->getInput('tde'));
385 $this->object->update();
386 }
387
388 // Save Link
389 $link_id = $this->link->add();
390 $this->link->updateValid(true);
391
392 // Dynamic parameters
393 if(ilParameterAppender::_isEnabled() and is_object($this->dynamic))
394 {
395 $this->dynamic->add($link_id);
396 }
397 ilUtil::sendSuccess($this->lng->txt('webr_link_added'),true);
398 $ilCtrl->redirect($this,'view');
399 }
400 // Error handling
401 ilUtil::sendFailure($this->lng->txt('err_check_input'));
402 $this->form->setValuesByPost();
403
404 $this->activateTabs('content','id_content_view');
405 $this->tpl->setContent($this->form->getHTML());
406 }
407
412 protected function deleteParameter()
413 {
414 global $ilCtrl;
415
416 $this->checkPermission('write');
417
418 $this->ctrl->setParameter($this,'link_id',(int) $_GET['link_id']);
419
420 if(!isset($_GET['param_id']))
421 {
422 ilUtil::sendFailure($this->lng->txt('select_one'),TRUE);
423 $ilCtrl->redirect($this,'view');
424 }
425
426 include_once './Modules/WebResource/classes/class.ilParameterAppender.php';
427 $param = new ilParameterAppender($this->object->getId());
428 $param->delete((int) $_GET['param_id']);
429
430 ilUtil::sendSuccess($this->lng->txt('links_parameter_deleted'),true);
431 $ilCtrl->redirect($this,'editLinks');
432 }
433
434 protected function deleteParameterForm()
435 {
436 global $ilCtrl;
437
438 $this->checkPermission('write');
439
440 if(!isset($_GET['param_id']))
441 {
442 ilUtil::sendFailure($this->lng->txt('select_one'),TRUE);
443 $ilCtrl->redirect($this,'view');
444 }
445
446 include_once './Modules/WebResource/classes/class.ilParameterAppender.php';
447 $param = new ilParameterAppender($this->object->getId());
448 $param->delete((int) $_GET['param_id']);
449
450 ilUtil::sendSuccess($this->lng->txt('links_parameter_deleted'),true);
451 $ilCtrl->redirect($this,'view');
452
453 }
454
455
460 protected function updateLinks()
461 {
462 global $ilCtrl;
463
464 $this->checkPermission('write');
465 $this->activateTabs('content','');
466
467 if(!is_array($_POST['ids']))
468 {
469 ilUtil::sendFailure($this->lng->txt('select_one'),TRUE);
470 $ilCtrl->redirect($this,'view');
471 }
472
473 // Validate
474 $invalid = array();
475 foreach($_POST['ids'] as $link_id)
476 {
477 $data = $_POST['links'][$link_id];
478
479 // handle internal links
480 if($_POST['tar_'.$link_id.'_ajax_type'] &&
481 $_POST['tar_'.$link_id.'_ajax_id'])
482 {
483 $data['tar'] = $_POST['links'][$link_id]['tar'] =
484 $_POST['tar_'.$link_id.'_ajax_type'].'|'.
485 $_POST['tar_'.$link_id.'_ajax_id'];
486 }
487
488
489 if(!strlen($data['tit']))
490 {
491 $invalid[] = $link_id;
492 continue;
493 }
494 if(!strlen($data['tar']))
495 {
496 $invalid[] = $link_id;
497 continue;
498 }
499 if($data['nam'] and !$data['val'])
500 {
501 $invalid[] = $link_id;
502 continue;
503 }
504 if(!$data['nam'] and $data['val'])
505 {
506 $invalid[] = $link_id;
507 continue;
508 }
509 }
510
511 if(count($invalid))
512 {
513 ilUtil::sendFailure($this->lng->txt('err_check_input'));
514 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.webr_manage.html','Modules/WebResource');
515
516 include_once './Modules/WebResource/classes/class.ilWebResourceEditableLinkTableGUI.php';
517 $table = new ilWebResourceEditableLinkTableGUI($this,'view');
518 $table->setInvalidLinks($invalid);
519 $table->parseSelectedLinks($_POST['ids']);
520 $table->updateFromPost();
521 $this->tpl->setVariable('TABLE_LINKS',$table->getHTML());
522 return false;
523 }
524
525 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
526 $links = new ilLinkResourceItems($this->object->getId());
527
528 // Save Settings
529 foreach($_POST['ids'] as $link_id)
530 {
531 $data = $_POST['links'][$link_id];
532
533 $orig = ilLinkResourceItems::lookupItem($this->object->getId(),$link_id);
534
535 $links->setLinkId($link_id);
536 $links->setTitle(ilUtil::stripSlashes($data['tit']));
537 $links->setDescription(ilUtil::stripSlashes($data['des']));
538 $links->setTarget(str_replace('"', '', ilUtil::stripSlashes($data['tar'])));
539 $links->setActiveStatus((int) $data['act']);
540 $links->setDisableCheckStatus((int) $data['che']);
541 $links->setLastCheckDate($orig['last_check']);
542 $links->setValidStatus((int) $data['vali']);
543 $links->update();
544
545 if(strlen($data['nam']) and $data['val'])
546 {
547 $param = new ilParameterAppender($this->object->getId());
548 $param->setName(ilUtil::stripSlashes($data['nam']));
549 $param->setValue((int) $data['val']);
550 $param->add($link_id);
551 }
552
553 if($this->isContainerMetaDataRequired())
554 {
555 $this->object->setTitle(ilUtil::stripSlashes($data['tit']));
556 $this->object->setDescription(ilUtil::stripSlashes($data['des']));
557 $this->object->update();
558 }
559
560 // TODO: Dynamic parameters
561 }
562
563 ilUtil::sendSuccess($this->lng->txt('settings_saved'),TRUE);
564 $ilCtrl->redirect($this,'view');
565 }
566
572 protected function setValuesFromLink($a_link_id)
573 {
574 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
575 $link = new ilLinkResourceItems($this->object->getId());
576
577 $values = $link->getItem($a_link_id);
578
580 {
581 }
582
583 $this->form->setValuesByArray(
584 array(
585 'tit' => $values['title'],
586 'tar' => $values['target'],
587 'des' => $values['description'],
588 'act' => (int) $values['active'],
589 'che' => (int) $values['disable_check'],
590 'vali' => (int) $values['valid']
591 )
592 );
593 }
594
595
603 protected function checkLinkInput($a_mode,$a_webr_id = 0,$a_link_id = 0)
604 {
605 $valid = $this->form->checkInput();
606
607 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
608 $this->link = new ilLinkResourceItems($a_webr_id);
609 $this->link->setTarget(str_replace('"', '', ilUtil::stripSlashes($this->form->getInput('tar'))));
610 $this->link->setTitle($this->form->getInput('tit'));
611 $this->link->setDescription($this->form->getInput('des'));
612 $this->link->setDisableCheckStatus($this->form->getInput('che'));
613
614 if($a_mode == self::LINK_MOD_CREATE)
615 {
616 $this->link->setActiveStatus(true);
617 }
618 else
619 {
620 $this->link->setActiveStatus($this->form->getInput('act'));
621 }
622
623 if($a_mode == self::LINK_MOD_EDIT)
624 {
625 $this->link->setValidStatus($this->form->getInput('vali'));
626 }
627 else
628 {
629 $this->link->setValidStatus(true);
630 }
631
633 {
634 return $valid;
635 }
636
637 $this->dynamic = new ilParameterAppender($a_webr_id);
638 $this->dynamic->setName($this->form->getInput('nam'));
639 $this->dynamic->setValue($this->form->getInput('val'));
640 if(!$this->dynamic->validate())
641 {
642 switch($this->dynamic->getErrorCode())
643 {
645 $this->form->getItemByPostVar('nam')->setAlert($this->lng->txt('links_no_name_given'));
646 return false;
647
649 $this->form->getItemByPostVar('val')->setAlert($this->lng->txt('links_no_value_given'));
650 return false;
651
653 // Nothing entered => no error
654 return $valid;
655 }
656 $this->dynamic = null;
657 }
658 return $valid;
659 }
660
661
667 protected function initFormLink($a_mode)
668 {
669 global $ilTabs;
670
671 $ilTabs->activateTab("id_content");
672
673 include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
674 $this->form = new ilPropertyFormGUI();
675
676 switch($a_mode)
677 {
679 // Header
680 $this->ctrl->setParameter($this,'new_type','webr');
681 $this->form->setTitle($this->lng->txt('webr_new_link'));
682 $this->form->setTableWidth('600px');
683
684 // Buttons
685 $this->form->addCommandButton('save', $this->lng->txt('webr_add'));
686 $this->form->addCommandButton('cancel', $this->lng->txt('cancel'));
687 break;
688
690 // Header
691 $this->form->setTitle($this->lng->txt('webr_new_link'));
692
693 // Buttons
694 $this->form->addCommandButton('saveAddLink', $this->lng->txt('webr_add'));
695 $this->form->addCommandButton('view', $this->lng->txt('cancel'));
696 break;
697
699 // Header
700 $this->ctrl->setParameter($this,'link_id',(int) $_REQUEST['link_id']);
701 $this->form->setTitle($this->lng->txt('webr_edit'));
702
703 // Buttons
704 $this->form->addCommandButton('updateLink', $this->lng->txt('save'));
705 $this->form->addCommandButton('view', $this->lng->txt('cancel'));
706 break;
707 }
708
709
710 $this->form->setFormAction($this->ctrl->getFormAction($this));
711
712 if($a_mode == self::LINK_MOD_ADD and $this->isContainerMetaDataRequired())
713 {
714 ilUtil::sendInfo($this->lng->txt('webr_container_info'));
715
716
717 $this->form->setTitle($this->lng->txt('webr_edit_list'));
718
719 // List Title
720 $title = new ilTextInputGUI($this->lng->txt('webr_list_title'),'lti');
721 $title->setRequired(true);
722 $title->setSize(40);
723 $title->setMaxLength(127);
724 $this->form->addItem($title);
725
726 // List Description
727 $desc = new ilTextAreaInputGUI($this->lng->txt('webr_list_desc'),'tde');
728 $desc->setRows(3);
729 $desc->setCols(40);
730 $this->form->addItem($desc);
731
732 // Addtional section
733 $sect = new ilFormSectionHeaderGUI();
734 $sect->setTitle($this->lng->txt('webr_add'));
735 $this->form->addItem($sect);
736 }
737
738 // Target
739 /*
740 $tar = new ilTextInputGUI($this->lng->txt('webr_link_target'),'tar');
741 $tar->setValue("http://");
742
743 $tar->setSize(40);
744 $tar->setMaxLength(500);
745 */
746 include_once 'Services/Form/classes/class.ilLinkInputGUI.php';
747 $tar = new ilLinkInputGUI($this->lng->txt('webr_link_target'),'tar');
748 $tar->setInternalLinkFilterTypes(array("PageObject", "GlossaryItem", "RepositoryItem"));
749
750 $tar->setRequired(true);
751 $this->form->addItem($tar);
752
753 // Title
754 $tit = new ilTextInputGUI($this->lng->txt('webr_link_title'),'tit');
755 $tit->setRequired(true);
756 $tit->setSize(40);
757 $tit->setMaxLength(127);
758 $this->form->addItem($tit);
759
760 // Description
761 $des = new ilTextAreaInputGUI($this->lng->txt('description'),'des');
762 $des->setRows(3);
763 $des->setCols(40);
764 $this->form->addItem($des);
765
766
767 if($a_mode != self::LINK_MOD_CREATE)
768 {
769 // Active
770 $act = new ilCheckboxInputGUI($this->lng->txt('active'),'act');
771 $act->setChecked(true);
772 $act->setValue(1);
773 $this->form->addItem($act);
774
775 // Check
776 $che = new ilCheckboxInputGUI($this->lng->txt('webr_disable_check'),'che');
777 $che->setValue(1);
778 $this->form->addItem($che);
779 }
780
781 // Valid
782 if($a_mode == self::LINK_MOD_EDIT)
783 {
784 $val = new ilCheckboxInputGUI($this->lng->txt('valid'),'vali');
785 $this->form->addItem($val);
786 }
787
788 if(ilParameterAppender::_isEnabled() && $a_mode != self::LINK_MOD_CREATE)
789 {
790 $dyn = new ilNonEditableValueGUI($this->lng->txt('links_dyn_parameter'));
791 $dyn->setInfo($this->lng->txt('links_dynamic_info'));
792
793
794 if(count($links = ilParameterAppender::_getParams((int) $_GET['link_id'])))
795 {
796 $ex = new ilCustomInputGUI($this->lng->txt('links_existing_params'),'ex');
797 $dyn->addSubItem($ex);
798
799 foreach($links as $id => $link)
800 {
801 $p = new ilCustomInputGUI();
802
803 $ptpl = new ilTemplate('tpl.link_dyn_param_edit.html',true,true,'Modules/WebResource');
804 $ptpl->setVariable('INFO_TXT',ilParameterAppender::parameterToInfo($link['name'], $link['value']));
805 $this->ctrl->setParameter($this,'param_id',$id);
806 $ptpl->setVariable('LINK_DEL',$this->ctrl->getLinkTarget($this,'deleteParameterForm'));
807 $ptpl->setVariable('LINK_TXT',$this->lng->txt('delete'));
808 $p->setHtml($ptpl->get());
809 $dyn->addSubItem($p);
810 }
811 }
812
813 // Existing parameters
814
815 // New parameter
816 if($a_mode != self::LINK_MOD_CREATE)
817 {
818 #$new = new ilCustomInputGUI($this->lng->txt('links_add_param'),'');
819 #$dyn->addSubItem($new);
820 }
821
822 // Dynyamic name
823 $nam = new ilTextInputGUI($this->lng->txt('links_name'),'nam');
824 $nam->setSize(12);
825 $nam->setMaxLength(128);
826 $dyn->addSubItem($nam);
827
828 // Dynamic value
829 $val = new ilSelectInputGUI($this->lng->txt('links_value'),'val');
830 $val->setOptions(ilParameterAppender::_getOptionSelect());
831 $val->setValue(0);
832 $dyn->addSubItem($val);
833
834 $this->form->addItem($dyn);
835 }
836 }
837
843 protected function isContainerMetaDataRequired()
844 {
845 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
846 return ilLinkResourceItems::lookupNumberOfLinks($this->object->getId()) == 1;
847 }
848
853 protected function switchViewMode()
854 {
855 global $ilCtrl;
856
857 $_REQUEST['view_mode'] = $_GET['view_mode'] = (int) $_GET['switch_mode'];
858 $this->view();
859 }
860
865 protected function editLinks()
866 {
867 $_GET['switch_mode'] = self::VIEW_MODE_MANAGE;
868 $this->switchViewMode();
869 }
870
871
876 public function view()
877 {
878 global $ilErr, $ilTabs;
879
880 $ilTabs->activateTab("id_content");
881
882 $this->checkPermission('read');
883
884 if (strtolower($_GET["baseClass"]) == "iladministrationgui")
885 {
886 parent::view();
887 return true;
888 }
889 else
890 {
891 switch((int) $_REQUEST['view_mode'])
892 {
894 $this->manage();
895 break;
896
898 // #14638
899 include_once './Services/Container/classes/class.ilContainerSortingSettings.php';
901 {
902 $this->sort();
903 break;
904 }
905 // fallthrough
906
907 default:
908 $this->showLinks();
909 break;
910 }
911 }
912 $GLOBALS['tpl']->setPermanentLink($this->object->getType(),$this->object->getRefId());
913 return true;
914 }
915
920 protected function manage()
921 {
922 $this->checkPermission('write');
923 $this->activateTabs('content','id_content_manage');
924
925 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.webr_manage.html','Modules/WebResource');
926 $this->showToolbar('ACTION_BUTTONS');
927
928 include_once './Modules/WebResource/classes/class.ilWebResourceEditableLinkTableGUI.php';
929 $table = new ilWebResourceEditableLinkTableGUI($this,'view');
930 $table->parse();
931
932 include_once './Services/Link/classes/class.ilInternalLinkGUI.php';
934
935 $this->tpl->addJavaScript("Modules/WebResource/js/intLink.js");
936 $this->tpl->addJavascript("Services/Form/js/Form.js");
937
938 $this->tpl->setVariable('TABLE_LINKS',$table->getHTML().$js);
939 }
940
945 protected function showLinks()
946 {
947 $this->checkPermission('read');
948 $this->activateTabs('content','id_content_view');
949
950 include_once './Modules/WebResource/classes/class.ilWebResourceLinkTableGUI.php';
951 $table = new ilWebResourceLinkTableGUI($this,'showLinks');
952 $table->parse();
953
954 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.webr_view.html','Modules/WebResource');
955 $this->showToolbar('ACTION_BUTTONS');
956 $this->tpl->setVariable('LINK_TABLE',$table->getHTML());
957 }
958
963 protected function sort()
964 {
965 $this->checkPermission('write');
966 $this->activateTabs('content','id_content_ordering');
967
968 include_once './Modules/WebResource/classes/class.ilWebResourceLinkTableGUI.php';
969 $table = new ilWebResourceLinkTableGUI($this,'sort',true);
970 $table->parse();
971
972 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.webr_view.html','Modules/WebResource');
973 $this->showToolbar('ACTION_BUTTONS');
974 $this->tpl->setVariable('LINK_TABLE',$table->getHTML());
975 }
976
981 protected function saveSorting()
982 {
983 $this->checkPermission('write');
984
985 include_once './Services/Container/classes/class.ilContainerSorting.php';
986 $sort = ilContainerSorting::_getInstance($this->object->getId());
987 $sort->savePost((array) $_POST['position']);
988
989 ilUtil::sendSuccess($this->lng->txt('settings_saved'),true);
990 $this->view();
991 }
992
993
999 protected function showToolbar($a_tpl_var)
1000 {
1001 if(!$this->checkPermissionBool('write'))
1002 {
1003 return;
1004 }
1005
1006 include_once './Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
1007 $tool = new ilToolbarGUI();
1008 $tool->setFormAction($this->ctrl->getFormAction($this));
1009 $tool->addButton(
1010 $this->lng->txt('webr_add'),
1011 $this->ctrl->getLinkTarget($this,'addLink')
1012 );
1013
1014 $this->tpl->setVariable($a_tpl_var,$tool->getHTML());
1015 return;
1016 }
1017
1022 protected function confirmDeleteLink()
1023 {
1024 $this->checkPermission('write');
1025 $this->activateTabs('content','id_content_view');
1026
1027 $link_ids = array();
1028
1029 if(is_array($_POST['link_ids']))
1030 {
1031 $link_ids =$_POST['link_ids'];
1032 }
1033 elseif(isset($_GET['link_id']))
1034 {
1035 $link_ids = array($_GET['link_id']);
1036 }
1037
1038 if(!count($link_ids) > 0)
1039 {
1040 ilUtil::sendFailure($this->lng->txt('select_one'));
1041 $this->view();
1042 return false;
1043 }
1044
1045 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
1046 $links = new ilLinkResourceItems($this->object->getId());
1047
1048 include_once 'Services/Utilities/classes/class.ilConfirmationGUI.php';
1049 $confirm = new ilConfirmationGUI();
1050 $confirm->setFormAction($this->ctrl->getFormAction($this,'view'));
1051 $confirm->setHeaderText($this->lng->txt('webr_sure_delete_items'));
1052 $confirm->setConfirm($this->lng->txt('delete'), 'deleteLinks');
1053 $confirm->setCancel($this->lng->txt('cancel'), 'view');
1054
1055 foreach($link_ids as $link_id)
1056 {
1057 $link = $links->getItem($link_id);
1058 $confirm->addItem('link_ids[]', $link_id,$link['title']);
1059 }
1060 $this->tpl->setContent($confirm->getHTML());
1061 }
1062
1067 protected function deleteLinks()
1068 {
1069 global $ilCtrl;
1070
1071 $this->checkPermission('write');
1072
1073 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
1074 $links = new ilLinkResourceItems($this->object->getId());
1075
1076 foreach($_POST['link_ids'] as $link_id)
1077 {
1078 $links->delete($link_id);
1079 }
1080 ilUtil::sendSuccess($this->lng->txt('webr_deleted_items'),true);
1081 $ilCtrl->redirect($this,'view');
1082 }
1083
1088 protected function deactivateLink()
1089 {
1090 global $ilCtrl;
1091
1092 $this->checkPermission('write');
1093
1094 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
1095 $links = new ilLinkResourceItems($this->object->getId());
1096
1097 if(!$_GET['link_id'])
1098 {
1099 ilUtil::sendFailure($this->lng->txt('select_one'),true);
1100 $ilCtrl->redirect($this,'view');
1101 }
1102
1103 $links->setLinkId((int) $_GET['link_id']);
1104 $links->updateActive(false);
1105
1106 ilUtil::sendSuccess($this->lng->txt('webr_inactive_success'),true);
1107 $ilCtrl->redirect($this,'view');
1108 }
1109
1110
1116 function infoScreen()
1117 {
1118 $this->ctrl->setCmd("showSummary");
1119 $this->ctrl->setCmdClass("ilinfoscreengui");
1120 $this->infoScreenForward();
1121 }
1122
1127 {
1128 global $ilTabs;
1129
1130 $this->checkPermission('visible');
1131 $ilTabs->activateTab('id_info');
1132
1133 include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
1134 $info = new ilInfoScreenGUI($this);
1135
1136 $info->enablePrivateNotes();
1137
1138 // standard meta data
1139 $info->addMetaDataSections($this->object->getId(),0, $this->object->getType());
1140
1141 if($this->id_type == self::WORKSPACE_NODE_ID)
1142 {
1143 $info->addProperty($this->lng->txt("perma_link"), $this->getPermanentLinkWidget());
1144 }
1145
1146 // forward the command
1147 $this->ctrl->forwardCommand($info);
1148 }
1149
1150
1151 function history()
1152 {
1153 global $ilTabs;
1154
1155 $this->checkPermission('write');
1156 $ilTabs->activateTab('id_history');
1157
1158 include_once("./Services/History/classes/class.ilHistoryTableGUI.php");
1159 $hist_gui = new ilHistoryTableGUI($this, "history", $this->object->getId(), $this->object->getType);
1160 $hist_gui->initTable();
1161 $this->tpl->setContent($hist_gui->getHTML());
1162 }
1163
1172 public function formatInvalidLinkArray(Array $row)
1173 {
1174 $this->object->items_obj->readItem($row['page_id']);
1175 $row['title'] = $this->object->items_obj->getTitle();
1176
1177 require_once 'Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
1179 $actions->setSelectionHeaderClass('small');
1180 $actions->setItemLinkClass('xsmall');
1181 $actions->setListTitle($this->lng->txt('actions'));
1182 $actions->setId($row['page_id']);
1183 $this->ctrl->setParameter($this, 'link_id', $row['page_id']);
1184 $actions->addItem(
1185 $this->lng->txt('edit'),
1186 '',
1187 $this->ctrl->getLinkTarget($this, 'editLink')
1188 );
1189 $this->ctrl->clearParameters($this);
1190 $row['action_html'] = $actions->getHTML();
1191
1192 return $row;
1193 }
1194
1199 protected function linkChecker()
1200 {
1201 global $ilias, $ilUser, $tpl, $ilTabs;
1202
1203 $this->checkPermission('write');
1204 $ilTabs->activateTab('id_link_check');
1205
1206 $this->__initLinkChecker();
1207 $this->object->initLinkResourceItemsObject();
1208
1209 require_once './Services/LinkChecker/classes/class.ilLinkCheckerTableGUI.php';
1210
1211 $toolbar = new ilToolbarGUI();
1212
1213 if((bool)$ilias->getSetting('cron_web_resource_check'))
1214 {
1215 include_once './Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
1216 include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
1217
1218 $chb = new ilCheckboxInputGUI($this->lng->txt('link_check_message_a'), 'link_check_message');
1219 $chb->setValue(1);
1220 $chb->setChecked((bool)ilLinkCheckNotify::_getNotifyStatus($ilUser->getId(), $this->object->getId()));
1221 $chb->setOptionTitle($this->lng->txt('link_check_message_b'));
1222
1223 $toolbar->addInputItem($chb);
1224 $toolbar->addFormButton($this->lng->txt('save'), 'saveLinkCheck');
1225 $toolbar->setFormAction($this->ctrl->getLinkTarget($this, 'saveLinkCheck'));
1226 }
1227
1228 $tgui = new ilLinkCheckerTableGUI($this, 'linkChecker');
1229 $tgui->setLinkChecker($this->link_checker_obj)
1230 ->setRowHandler($this)
1231 ->setRefreshButton($this->lng->txt('refresh'), 'refreshLinkCheck');
1232
1233 return $tpl->setContent($tgui->prepareHTML()->getHTML().$toolbar->getHTML());
1234 }
1235
1236 function saveLinkCheck()
1237 {
1238 global $ilDB,$ilUser;
1239
1240 include_once './Services/LinkChecker/classes/class.ilLinkCheckNotify.php';
1241
1242 $link_check_notify =& new ilLinkCheckNotify($ilDB);
1243 $link_check_notify->setUserId($ilUser->getId());
1244 $link_check_notify->setObjId($this->object->getId());
1245
1246 if($_POST['link_check_message'])
1247 {
1248 ilUtil::sendSuccess($this->lng->txt('link_check_message_enabled'));
1249 $link_check_notify->addNotifier();
1250 }
1251 else
1252 {
1253 ilUtil::sendSuccess($this->lng->txt('link_check_message_disabled'));
1254 $link_check_notify->deleteNotifier();
1255 }
1256 $this->linkChecker();
1257
1258 return true;
1259 }
1260
1261
1262
1264 {
1265 $this->__initLinkChecker();
1266
1267 if(!$this->link_checker_obj->checkPear())
1268 {
1269 ilUtil::sendFailure($this->lng->txt('missing_pear_library'));
1270 $this->linkChecker();
1271
1272 return false;
1273 }
1274
1275
1276 $this->object->initLinkResourceItemsObject();
1277
1278 // Set all link to valid. After check invalid links will be set to invalid
1279 $this->object->items_obj->updateValidByCheck();
1280
1281 foreach($this->link_checker_obj->checkWebResourceLinks() as $invalid)
1282 {
1283 $this->object->items_obj->readItem($invalid['page_id']);
1284 $this->object->items_obj->setActiveStatus(false);
1285 $this->object->items_obj->setValidStatus(false);
1286 $this->object->items_obj->update(false);
1287 }
1288
1289 $this->object->items_obj->updateLastCheck();
1290 ilUtil::sendSuccess($this->lng->txt('link_checker_refreshed'));
1291
1292 $this->linkChecker();
1293
1294 return true;
1295 }
1296
1298 {
1299 global $ilDB;
1300
1301 include_once './Services/LinkChecker/classes/class.ilLinkChecker.php';
1302
1303 $this->link_checker_obj =& new ilLinkChecker($ilDB,false);
1304 $this->link_checker_obj->setObjId($this->object->getId());
1305
1306 return true;
1307 }
1308
1309
1316 protected function activateTabs($a_active_tab,$a_active_subtab = '')
1317 {
1318 global $ilCtrl, $ilTabs, $lng;
1319
1320 switch($a_active_tab)
1321 {
1322 case 'content':
1323 if($this->checkPermissionBool('write'))
1324 {
1325 $this->lng->loadLanguageModule('cntr');
1326
1327 $this->ctrl->setParameter($this,'switch_mode',self::VIEW_MODE_VIEW);
1328 $ilTabs->addSubTab('id_content_view',
1329 $lng->txt('view'),
1330 $this->ctrl->getLinkTarget($this,'switchViewMode')
1331 );
1332 $this->ctrl->setParameter($this,'switch_mode',self::VIEW_MODE_MANAGE);
1333 $ilTabs->addSubTab('id_content_manage',
1334 $lng->txt('cntr_manage'),
1335 $this->ctrl->getLinkTarget($this,'switchViewMode')
1336 );
1337 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
1338 include_once './Services/Container/classes/class.ilContainerSortingSettings.php';
1339 include_once './Services/Container/classes/class.ilContainer.php';
1340 if((ilLinkResourceItems::lookupNumberOfLinks($this->object->getId()) > 1)
1342 {
1343 $this->ctrl->setParameter($this,'switch_mode',self::VIEW_MODE_SORT);
1344 $ilTabs->addSubTab('id_content_ordering',
1345 $this->lng->txt('cntr_ordering'),
1346 $this->ctrl->getLinkTarget($this,'switchViewMode')
1347 );
1348 }
1349
1350 $ilCtrl->clearParameters($this);
1351 $ilTabs->activateSubTab($a_active_subtab);
1352 }
1353 }
1354
1355 $ilTabs->activateTab('id_content');
1356 }
1357
1358
1363 function setTabs()
1364 {
1365 global $ilTabs, $lng, $ilHelp;
1366
1367 $ilHelp->setScreenIdComponent("webr");
1368
1369 if ($this->checkPermissionBool('read'))
1370 {
1371 $ilTabs->addTab("id_content",
1372 $lng->txt("content"),
1373 $this->ctrl->getLinkTarget($this, "view"));
1374 }
1375
1376 if ($this->checkPermissionBool('visible'))
1377 {
1378 $ilTabs->addTab("id_info",
1379 $lng->txt("info_short"),
1380 $this->ctrl->getLinkTarget($this, "infoScreen"));
1381 }
1382
1383 if($this->checkPermissionBool('write') and !$this->getCreationMode())
1384 {
1385 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
1386 if(ilLinkResourceItems::lookupNumberOfLinks($this->object->getId()) > 1)
1387 {
1388 $ilTabs->addTab("id_settings",
1389 $lng->txt("settings"),
1390 $this->ctrl->getLinkTarget($this, "settings"));
1391 }
1392
1393 }
1394
1395 if ($this->checkPermissionBool('write'))
1396 {
1397 $ilTabs->addTab("id_history",
1398 $lng->txt("history"),
1399 $this->ctrl->getLinkTarget($this, "history"));
1400 }
1401
1402 if ($this->checkPermissionBool('write'))
1403 {
1404 // Check if pear library is available
1405 if(@include_once('HTTP/Request.php'))
1406 {
1407 $ilTabs->addTab("id_link_check",
1408 $lng->txt("link_check"),
1409 $this->ctrl->getLinkTarget($this, "linkChecker"));
1410 }
1411 }
1412
1413 if ($this->checkPermissionBool('write'))
1414 {
1415 $ilTabs->addTab("id_meta_data",
1416 $lng->txt("meta_data"),
1417 $this->ctrl->getLinkTargetByClass('ilmdeditorgui','listSection'));
1418 }
1419
1420 if($this->checkPermissionBool('write'))
1421 {
1422 $ilTabs->addTab(
1423 'export',
1424 $this->lng->txt('export'),
1425 $this->ctrl->getLinkTargetByClass('ilexportgui','')
1426 );
1427 }
1428
1429 // will add permission tab if needed
1430 parent::setTabs();
1431 }
1432
1433 // PRIVATE
1435 {
1436 // output objects
1437 $this->tpl->addBlockFile("CONTENT", "content", "tpl.adm_content.html");
1438 $this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
1439
1440 $this->tpl->setLocator();
1441
1442 // output message
1443 if ($this->message)
1444 {
1445 ilUtil::sendInfo($this->message);
1446 }
1447
1448 // display infopanel if something happened
1450 }
1451
1453 {
1454 global $ilLocator;
1455
1456 if (is_object($this->object))
1457 {
1458 $ilLocator->addItem($this->object->getTitle(),$this->ctrl->getLinkTarget($this),"",$this->object->getRefId(), "webr");
1459 }
1460 }
1461
1462 protected function handleSubItemLinks($a_target)
1463 {
1464 // #15647 - handle internal links
1465 include_once "Services/Form/classes/class.ilFormPropertyGUI.php";
1466 include_once "Services/Form/classes/class.ilLinkInputGUI.php";
1467 if(ilLinkInputGUI::isInternalLink($a_target))
1468 {
1469 include_once("./Services/Link/classes/class.ilLink.php");
1470
1471 // #10612
1472 $parts = explode("|", $a_target);
1473
1474 if($parts[0] == "term")
1475 {
1476 // #16894
1478 0,
1479 "git",
1480 true,
1481 "&target=git_".$parts[1]
1482 );
1483 }
1484
1485 if($parts[0] == "page")
1486 {
1487 $parts[0] = "pg";
1488 }
1489
1490 $a_target = ilLink::_getStaticLink($parts[1], $parts[0]);
1491 }
1492
1493 return $a_target;
1494 }
1495
1497 {
1498 $obj_id = $this->object->getId();
1499
1500 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
1502 {
1504 if($url["target"])
1505 {
1506 $url["target"] = $this->handleSubItemLinks($url["target"]);
1507
1508 include_once './Modules/WebResource/classes/class.ilParameterAppender.php';
1510 {
1511 $url = ilParameterAppender::_append($url);
1512 }
1513
1514 $this->redirectToLink($this->ref_id, $obj_id, $url["target"]);
1515 }
1516 }
1517 }
1518
1519 function callLink()
1520 {
1521 if($_REQUEST["link_id"])
1522 {
1523 $obj_id = $this->object->getId();
1524
1525 include_once './Modules/WebResource/classes/class.ilLinkResourceItems.php';
1526 $items = new ilLinkResourceItems($obj_id);
1527 $item = $items->getItem($_REQUEST["link_id"]);
1528 if($item["target"])
1529 {
1530 $item["target"] = $this->handleSubItemLinks($item["target"]);
1531
1532 include_once './Modules/WebResource/classes/class.ilParameterAppender.php';
1534 {
1535 $item = ilParameterAppender::_append($item);
1536 }
1537
1538 $this->redirectToLink($this->ref_id, $obj_id, $item["target"]);
1539 }
1540 }
1541 }
1542
1543 protected function redirectToLink($a_ref_id, $a_obj_id, $a_url)
1544 {
1545 global $ilUser;
1546
1547 if($a_url)
1548 {
1549 require_once('Services/Tracking/classes/class.ilChangeEvent.php');
1550 ilChangeEvent::_recordReadEvent("webr", $a_ref_id, $a_obj_id,
1551 $ilUser->getId());
1552
1553 ilUtil::redirect($a_url);
1554 }
1555 }
1556
1557 public static function _goto($a_target, $a_additional = null)
1558 {
1559 global $ilAccess, $ilErr, $lng;
1560
1561 if($a_additional && substr($a_additional, -3) == "wsp")
1562 {
1563 $_GET["baseClass"] = "ilsharedresourceGUI";
1564 $_GET["wsp_id"] = $a_target;
1565 include("ilias.php");
1566 exit;
1567 }
1568
1569 // Will be replaced in future releases by ilAccess::checkAccess()
1570 if ($ilAccess->checkAccess("read", "", $a_target))
1571 {
1572 ilUtil::redirect("ilias.php?baseClass=ilLinkResourceHandlerGUI&ref_id=$a_target");
1573 }
1574 else
1575 {
1576 // to do: force flat view
1577 if ($ilAccess->checkAccess("visible", "", $a_target))
1578 {
1579 ilUtil::redirect("ilias.php?baseClass=ilLinkResourceHandlerGUI&ref_id=".$a_target."&cmd=infoScreen");
1580 }
1581 else
1582 {
1583 if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID))
1584 {
1585 ilUtil::sendFailure(sprintf($lng->txt("msg_no_perm_read_item"),
1588 }
1589 }
1590 }
1591
1592 $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
1593 }
1594} // END class.ilObjLinkResource
1595?>
$_GET["client_id"]
const LINKS_ERR_NO_NAME
const LINKS_ERR_NO_VALUE
const LINKS_ERR_NO_NAME_VALUE
User interface class for advanced drop-down selection lists.
_recordReadEvent($a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
This class represents a checkbox property in a property form.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
static _lookupSortMode($a_obj_id)
lookup sort mode
static _getInstance($a_obj_id)
get instance by obj_id
This class represents a custom property in a property form.
Export User Interface Class.
This class represents a section header in a property form.
Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE Date: 24....
Class ilInfoScreenGUI.
Class ilInternalLinkGUI.
getInitHTML($a_url, $a_move_to_body=false)
Get initialisation HTML to use interna link editing.
class for checking external links in page objects.
_getNotifyStatus($a_usr_id, $a_obj_id)
class ilLinkCheckerTableGUI
class for checking external links in page objects Normally used in Cron jobs, but should be extensibl...
This class represents a external and/or internal link in a property form.
static isInternalLink($a_value)
Class ilObjLinkResourceGUI.
static lookupItem($a_webr_id, $a_link_id)
static _getFirstLink($a_webr_id)
Get first link item Check before with _isSingular() if there is more or less than one.
static _isSingular($a_webr_id)
Check whether there is only one active link in the web resource.
static lookupNumberOfLinks($a_webr_id)
Get number of assigned links.
static _fillHTMLMetaTags($a_rbac_id, $a_obj_id, $a_type)
Fill html meta tags.
This class represents a non editable value in a property form.
Class ilObjLinkResourceGUI.
confirmDeleteLink()
Show delete confirmation screen.
addLocatorItems()
Functions to be overwritten.
deleteParameter()
Delete a dynamic parameter.
redirectToLink($a_ref_id, $a_obj_id, $a_url)
showLinks()
Show all active links.
infoScreen()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
activateTabs($a_active_tab, $a_active_subtab='')
Activate tab and subtabs.
checkLinkInput($a_mode, $a_webr_id=0, $a_link_id=0)
Check input after creating a new link.
switchViewMode()
Switch between "View" "Manage" and "Sort".
showToolbar($a_tpl_var)
Show toolbar.
saveSorting()
Save nmanual sorting.
initCreateForm($a_new_type)
Init object creation form.
initFormLink($a_mode)
Show create/edit single link.
afterSave(ilObject $a_new_object)
Post (successful) object creation hook.
updateLinks()
Update all visible links.
setTabs()
get tabs @access public
saveSettings()
Save container settings.
getType()
Functions that must be overwritten.
linkChecker()
Show link validation.
settings()
Edit settings Title, Description, Sorting.
editLinks()
Start with manage mode.
isContainerMetaDataRequired()
Check if a new container title is required Necessary if there is more than one link.
static _goto($a_target, $a_additional=null)
addLink()
Add an additional link.
setValuesFromLink($a_link_id)
Set form values from link.
save()
Save new object @access public.
infoScreenForward()
show information screen
initFormSettings()
Show settings form.
New implementation of ilObjectGUI.
prepareOutput()
prepare output
checkPermission($a_perm, $a_cmd="")
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
Check permission.
getCreationMode()
get creation mode
GUI class for the workflow of copying objects.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
addHeaderAction()
Add header action menu.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
getRefId()
get reference id @access public
getId()
get object id @access public
Class ilParameterAppender.
static parameterToInfo($a_name, $a_value)
Get info text describing an existing dynamic link.
static _append($a_link_data)
static _getOptionSelect()
Get options as array.
static _getParams($a_link_id)
Get dynamic parameter definitions.
static _isEnabled()
Check if dynamic parameters are enabled.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents a property form user interface.
This class represents a property in a property form.
This class represents an option in a radio group.
This class represents a selection list property in a property form.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
This class represents a text property in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static redirect($a_script)
http redirect to other script
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static infoPanel($a_keep=true)
TableGUI class for search results.
$_POST['username']
Definition: cron.php:12
$valid
$GLOBALS['ct_recipient']
global $ilCtrl
Definition: ilias.php:18
interface ilLinkCheckerGUIRowHandling
exit
Definition: login.php:54
$cmd
Definition: sahs_server.php:35
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
global $ilDB
global $ilUser
Definition: imgupload.php:15