4 include_once (
"./Services/COPage/classes/class.ilPageObjectGUI.php");
70 $this->tabs_gui =& $ilTabs;
71 $this->page =& $a_page_object;
72 $this->page_gui =& $a_page_object_gui;
74 $this->ctrl->saveParameter($this, array(
"hier_id",
"pc_id"));
85 $this->header = $a_header;
105 $this->locator =& $a_locator;
113 $this->ctrl->returnToParent($this);
118 $this->int_link_return = $a_return;
124 $this->page_back_title = $a_title;
134 $this->log->debug(
"ilPageEditorGUI: executeCommand begin");
136 $cmd = $this->ctrl->getCmd(
"displayPage");
138 $cmdClass = strtolower($this->ctrl->getCmdClass());
140 $hier_id =
$_GET[
"hier_id"];
141 $pc_id =
$_GET[
"pc_id"];
142 if(isset(
$_POST[
"new_hier_id"]))
144 $hier_id =
$_POST[
"new_hier_id"];
149 $new_type = (isset(
$_GET[
"new_type"]))
176 if (substr(
$cmd, 0, 5) ==
"exec_")
180 $pca = explode(
":", key(
$_POST[
"cmd"]));
183 $cmd = explode(
"_", $pca[0]);
185 $hier_id = implode(
$cmd,
"_");
190 $first_hier_character = substr($hier_id, 0, 1);
191 if ($first_hier_character ==
"c" ||
192 $first_hier_character ==
"r" ||
193 $first_hier_character ==
"i")
195 $hier_id = substr($hier_id, 1);
197 $this->page->buildDom();
198 $this->page->addHierIDs();
201 if ($cmdClass !=
"ilfilesystemgui")
203 $com = explode(
"_",
$cmd);
208 $next_class = $this->ctrl->getNextClass($this);
212 if ($com[0] ==
"insert" || $com[0] ==
"create")
217 if ($ctype ==
"mob") $ctype =
"media";
222 if (
$cmd ==
"editLinkedMedia")
224 $this->ctrl->setCmd(
"edit");
226 $_GET[
"pgEdMediaMode"] =
"editLinkedMedia";
229 if (
$_GET[
"pgEdMediaMode"] ==
"editLinkedMedia")
231 $this->ctrl->setParameter($this,
"pgEdMediaMode",
"editLinkedMedia");
232 $this->ctrl->setParameter($this,
"mob_id",
$_GET[
"mob_id"]);
233 if ($cmdClass !=
"ilinternallinkgui" && $cmdClass !=
"ilmdeditorgui" 234 && $cmdClass !=
"ilimagemapeditorgui" && $cmdClass !=
"ilfilesystemgui")
236 $this->ctrl->setCmdClass(
"ilobjmediaobjectgui");
237 $cmdClass =
"ilobjmediaobjectgui";
244 echo
";$cmd;".$next_class.
";";
246 echo
"-$cmd-".$this->ctrl->getCmd().
"-";
253 if (
$cmd !=
"insertFromClipboard" &&
$cmd !=
"pasteFromClipboard" &&
254 $cmd !=
"setMediaMode" &&
$cmd !=
"copyLinkedMediaToClipboard" &&
255 $cmd !=
"activatePage" &&
$cmd !=
"deactivatePage" &&
256 $cmd !=
"copyLinkedMediaToMediaPool" &&
$cmd !=
"showSnippetInfo" &&
257 $cmd !=
"deleteSelected" &&
$cmd !=
"paste" &&
258 $cmd !=
"copySelected" &&
$cmd !=
"cutSelected" &&
259 (
$cmd !=
"displayPage" ||
$_POST[
"editImagemapForward_x"] !=
"" ||
$_POST[
"imagemap_x"] !=
"") &&
260 (
$cmd !=
"displayPage" ||
$_POST[
"editImagemapForward_x"] !=
"") &&
261 $cmd !=
"activateSelected" &&
$cmd !=
"assignCharacteristicForm" &&
262 $cmd !=
"assignCharacteristic" &&
263 $cmd !=
"cancelCreate" &&
$cmd !=
"popup" &&
264 $cmdClass !=
"ileditclipboardgui" &&
$cmd !=
"addChangeComment" &&
265 ($cmdClass !=
"ilinternallinkgui" || ($next_class ==
"ilpcmediaobjectgui")))
267 if (
$_GET[
"pgEdMediaMode"] !=
"editLinkedMedia")
271 $cont_obj =& $this->page->getContentObject($hier_id, $pc_id);
272 if (!is_object($cont_obj))
274 $this->log->debug(
"ilPageEditorGUI: ...returnToParent");
275 $ilCtrl->returnToParent($this);
277 $ctype = $cont_obj->getType();
286 if ($ctype !=
"media" || !is_object ($cont_obj))
290 $this->tpl->setTitle($this->
getHeader());
299 $this->ctrl->setParameter($this,
"hier_id", $hier_id);
300 $this->ctrl->setParameter($this,
"pc_id", $pc_id);
301 $this->ctrl->setCmd(
$cmd);
306 if ($next_class ==
"")
308 include_once(
"./Services/COPage/classes/class.ilCOPagePCDef.php");
310 if (is_array($pc_def))
312 $this->ctrl->setCmdClass($pc_def[
"pc_gui_class"]);
314 $next_class = $this->ctrl->getNextClass($this);
318 if (
$cmd ==
"displayPage" &&
$_POST[
"editImagemapForward_x"] ==
"" &&
$_POST[
"imagemap_x"] ==
"")
324 $this->log->debug(
"ilPageEditorGUI: ... next_class:".$next_class.
", pc_id:".$pc_id.
325 ", hier_id:".$hier_id.
", ctype:".$ctype.
", cmd:".
$cmd);
328 case "ilinternallinkgui":
330 $this->page_gui->getPageConfig()->getIntLinkHelpDefaultType(),
331 $this->page_gui->getPageConfig()->getIntLinkHelpDefaultId());
333 $link_gui->setFilterWhiteList(
334 $this->page_gui->getPageConfig()->getIntLinkFilterWhiteList());
335 foreach ($this->page_gui->getPageConfig()->getIntLinkFilters() as $filter)
337 $link_gui->filterLinkType($filter);
341 $link_gui->setReturn($this->int_link_return);
342 if ($ilCtrl->isAsynch())
344 $link_gui->setMode(
"asynch");
347 $ret =& $this->ctrl->forwardCommand($link_gui);
351 case "ilpcmediaobjectgui":
352 include_once (
"./Services/COPage/classes/class.ilPCMediaObjectGUI.php");
354 $this->tabs_gui->clearTargets();
355 $this->tabs_gui->setBackTarget($this->page_gui->page_back_title,
356 $ilCtrl->getLinkTarget($this->page_gui,
"edit"));
358 $pcmob_gui->setStyleId($this->page_gui->getStyleId());
359 $pcmob_gui->setEnabledMapAreas($this->page_gui->getPageConfig()->getEnableInternalLinks());
360 $ret =& $this->ctrl->forwardCommand($pcmob_gui);
361 $ilHelp->setScreenIdComponent(
"copg_media");
365 case "ilobjmediaobjectgui":
366 $this->tabs_gui->clearTargets();
367 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"),
368 $ilCtrl->getParentReturn($this));
370 $mob_gui->getTabs($this->tabs_gui);
371 $mob_gui->setEnabledMapAreas($this->page_gui->getPageConfig()->getEnableInternalLinks());
372 $this->tpl->setTitle($this->lng->txt(
"mob").
": ".
374 $ret =& $this->ctrl->forwardCommand($mob_gui);
378 case "ilpcquestiongui":
379 include_once(
"./Services/COPage/classes/class.ilPCQuestionGUI.php");
380 $pc_question_gui =&
new ilPCQuestionGUI($this->page, $cont_obj, $hier_id, $pc_id);
381 $pc_question_gui->setSelfAssessmentMode($this->page_gui->getPageConfig()->getEnableSelfAssessment());
382 $pc_question_gui->setPageConfig($this->page_gui->getPageConfig());
384 if ($this->page_gui->getPageConfig()->getEnableSelfAssessment())
386 $this->tabs_gui->clearTargets();
387 $ilHelp->setScreenIdComponent(
"copg_pcqst");
388 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"),
389 $ilCtrl->getParentReturn($this));
390 $ret = $this->ctrl->forwardCommand($pc_question_gui);
394 $cmd = $this->ctrl->getCmd();
395 $pc_question_gui->$cmd();
396 $this->ctrl->redirectByClass(array(
"ilobjquestionpoolgui", get_class($cont_obj)),
"editQuestion");
401 case "ilpcpluggedgui":
402 $this->tabs_gui->clearTargets();
403 include_once (
"./Services/COPage/classes/class.ilPCPluggedGUI.php");
404 $plugged_gui =
new ilPCPluggedGUI($this->page, $cont_obj, $hier_id,
406 $ret = $this->ctrl->forwardCommand($plugged_gui);
412 include_once(
"./Services/COPage/classes/class.ilCOPagePCDef.php");
416 $this->tabs_gui->clearTargets();
417 $this->tabs_gui->setBackTarget($this->page_gui->page_back_title,
418 $ilCtrl->getLinkTarget($this->page_gui,
"edit"));
419 $ilHelp->setScreenIdComponent(
"copg_".$pc_def[
"pc_type"]);
421 $gui_class_name = $pc_def[
"pc_gui_class"];
422 $pc_gui =
new $gui_class_name($this->page, $cont_obj, $hier_id, $pc_id);
423 if ($pc_def[
"style_classes"])
425 $pc_gui->setStyleId($this->page_gui->getStyleId());
427 $pc_gui->setPageConfig($this->page_gui->getPageConfig());
428 $ret = $this->ctrl->forwardCommand($pc_gui);
434 if (
$cmd ==
"pasteFromClipboard")
438 else if (
$cmd ==
"paste")
451 $this->log->debug(
"ilPageEditorGUI: executeCommand end");
464 if ($ilUser->getPref(
"ilPageEditor_JavaScript") !=
"disable" 479 $version = $ilBrowser->getVersion();
481 if ($ilBrowser->isFirefox() ||
482 ($ilBrowser->isIE() && !$ilBrowser->isMac()) ||
483 ($ilBrowser->isMozilla() && $version[0] >= 5))
492 $this->page_gui->activatePage();
497 $this->page_gui->deactivatePage();
507 $ilUser->writePref(
"ilPageEditor_MediaMode",
$_POST[
"media_mode"]);
508 $ilUser->writePref(
"ilPageEditor_HTMLMode",
$_POST[
"html_mode"]);
509 if ($ilUser->getPref(
"ilPageEditor_JavaScript") !=
$_POST[
"js_mode"])
512 if ($this->page->getParentType() ==
"lm" ||
513 $this->page->getParentType() ==
"dbk")
515 $this->ctrl->setParameterByClass(
"illmpageobjectgui",
"reloadTree",
"y");
518 $ilUser->writePref(
"ilPageEditor_JavaScript",
$_POST[
"js_mode"]);
521 if ($this->page->getParentType() ==
"lm" ||
522 $this->page->getParentType() ==
"dbk")
524 $this->ctrl->redirectByClass(
"illmpageobjectgui",
"edit");
528 $this->ctrl->returnToParent($this);
541 $this->ctrl->returnToParent($this);
551 $this->ctrl->setParameterByClass(
"ilmediapooltargetselector",
"mob_id",
$_POST[
"mob_id"]);
552 $this->ctrl->redirectByClass(
"ilmediapooltargetselector",
"listPools");
560 include_once(
"./Services/History/classes/class.ilHistory.php");
562 "", $this->page->getParentType().
":pg",
565 $this->ctrl->returnToParent($this);
573 if (is_int(strpos(
$_POST[
"target"][0],
";")))
577 if (is_array(
$_POST[
"target"]))
579 $updated = $this->page->deleteContents(
$_POST[
"target"],
true,
580 $this->page_gui->getPageConfig()->getEnableSelfAssessment());
581 if($updated !==
true)
590 $this->ctrl->returnToParent($this);
600 if (is_int(strpos(
$_POST[
"target"][0],
";")))
604 if (is_array(
$_POST[
"target"]))
606 $this->page->copyContents(
$_POST[
"target"]);
609 $this->ctrl->returnToParent($this);
619 if (is_int(strpos(
$_POST[
"target"][0],
";")))
623 if (is_array(
$_POST[
"target"]))
625 $updated = $this->page->cutContents(
$_POST[
"target"]);
626 if($updated !==
true)
636 $this->ctrl->returnToParent($this);
645 $this->page->pasteContents($a_hier_id, $this->page_gui->getPageConfig()->getEnableSelfAssessment());
646 include_once(
"./Modules/LearningModule/classes/class.ilEditClipboard.php");
648 $this->ctrl->returnToParent($this);
656 if (is_int(strpos(
$_POST[
"target"][0],
";")))
660 if (is_array(
$_POST[
"target"]))
662 $updated = $this->page->switchEnableMultiple(
$_POST[
"target"],
true,
663 $this->page_gui->getPageConfig()->getEnableSelfAssessment());
664 if($updated !==
true)
673 $this->ctrl->returnToParent($this);
683 if (is_int(strpos(
$_POST[
"target"][0],
";")))
687 if (is_array(
$_POST[
"target"]))
694 $tarr = explode(
":", $t);
695 $cont_obj =& $this->page->getContentObject($tarr[0], $tarr[1]);
696 if (is_object($cont_obj) && $cont_obj->getType() ==
"par")
698 $types[
"par"] =
"par";
700 if (is_object($cont_obj) && $cont_obj->getType() ==
"sec")
702 $types[
"sec"] =
"sec";
706 if (count($types) == 0)
709 $this->ctrl->returnToParent($this);
714 $tpl->setContent($this->form->getHTML());
719 $this->ctrl->returnToParent($this);
732 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
734 $this->form->setTitle($this->lng->txt(
"cont_choose_characteristic"));
736 if ($a_types[
"par"] ==
"par")
738 $select_prop =
new ilSelectInputGUI($this->lng->txt(
"cont_choose_characteristic_text"),
740 include_once(
"./Services/COPage/classes/class.ilPCParagraphGUI.php");
743 $this->form->addItem($select_prop);
745 if ($a_types[
"sec"] ==
"sec")
747 $select_prop =
new ilSelectInputGUI($this->lng->txt(
"cont_choose_characteristic_section"),
749 include_once(
"./Services/COPage/classes/class.ilPCSectionGUI.php");
752 $this->form->addItem($select_prop);
755 foreach ($a_target as
$t)
758 $hidden->setValue($t);
759 $this->form->addItem($hidden);
762 $this->form->setFormAction($ilCtrl->getFormAction($this));
763 $this->form->addCommandButton(
"assignCharacteristic", $lng->txt(
"save"));
764 $this->form->addCommandButton(
"showPage", $lng->txt(
"cancel"));
775 if (is_array(
$_POST[
"target"]))
779 $tarr = explode(
":", $t);
780 $cont_obj =& $this->page->getContentObject($tarr[0], $tarr[1]);
781 if (is_object($cont_obj) && $cont_obj->getType() ==
"par")
783 $cont_obj->setCharacteristic($char_par);
785 if (is_object($cont_obj) && $cont_obj->getType() ==
"sec")
787 $cont_obj->setCharacteristic($char_sec);
790 $updated = $this->page->update();
791 if($updated !==
true)
800 $this->ctrl->returnToParent($this);
810 $ilCtrl->setParameter($this,
"hier_id", $a_hier_id);
811 $ilCtrl->setParameterByClass(
"ilEditClipboardGUI",
"returnCommand",
812 rawurlencode($ilCtrl->getLinkTarget($this,
813 "insertFromClipboard",
"",
false,
false)));
815 $ilCtrl->redirectByClass(
"ilEditClipboardGUI",
"getObject");
823 include_once(
"./Services/Clipboard/classes/class.ilEditClipboardGUI.php");
825 include_once (
"./Services/COPage/classes/class.ilPCMediaObject.php");
828 foreach ($ids as $id2)
830 $id = explode(
":", $id2);
836 $this->content_obj->readMediaObject($id);
837 $this->content_obj->createAlias($this->page,
$_GET[
"hier_id"]);
838 $this->updated = $this->page->update();
842 include_once(
"./Services/COPage/classes/class.ilPCContentInclude.php");
844 $this->content_obj->create($this->page,
$_GET[
"hier_id"]);
845 $this->content_obj->setContentType(
"mep");
846 $this->content_obj->setContentId($id);
847 $this->updated = $this->page->update();
851 $this->ctrl->returnToParent($this);
859 $this->ctrl->returnToParent($this);
867 if(is_object($this->locator))
869 $this->locator->display();
880 $stpl =
new ilTemplate(
"tpl.snippet_info.html",
true,
true,
"Services/COPage");
882 include_once(
"./Modules/MediaPool/classes/class.ilMediaPoolItem.php");
884 foreach ($mep_pools as $mep_id)
888 foreach ($ref_ids as $rid)
890 if (!$edit_link && $ilAccess->checkAccess(
"write",
"", $rid))
892 $stpl->setCurrentBlock(
"edit_link");
893 $stpl->setVariable(
"TXT_EDIT", $lng->txt(
"edit"));
894 $stpl->setVariable(
"HREF_EDIT",
895 "./goto.php?target=mep_".$rid);
896 $stpl->parseCurrentBlock();
899 $stpl->setCurrentBlock(
"pool");
900 $stpl->setVariable(
"TXT_MEDIA_POOL", $lng->txt(
"obj_mep"));
902 $stpl->parseCurrentBlock();
905 include_once(
"./Modules/MediaPool/classes/class.ilMediaPoolPage.php");
906 $stpl->setVariable(
"TXT_TITLE", $lng->txt(
"title"));
908 $stpl->setVariable(
"TXT_BACK", $lng->txt(
"back"));
909 $stpl->setVariable(
"HREF_BACK",
910 $ilCtrl->getLinkTarget($this->page_gui,
"edit"));
911 $tpl->setContent($stpl->get());
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
setIntLinkReturn($a_return)
returnToContext()
redirect to parent context
displayLocator()
display locator
setMediaMode()
set media and editing mode
cutSelected()
Cut selected items.
showSnippetInfo()
Show snippet info.
deleteSelected()
Delete selected items.
assignCharacteristicForm()
Assign characeristic to text blocks/sections.
displayPage()
Default for POST reloads and missing.
static _getCharacteristics($a_style_id)
Get characteristics.
_isBrowserJSEditCapable()
checks wether browser is javascript editing capable
static _lookupTitle($a_id)
lookup object title
ilPageEditorGUI(&$a_page_object, &$a_page_object_gui)
Constructor.
paste($a_hier_id)
paste from clipboard (redirects to clipboard)
setLocator(&$a_locator)
set locator object
static lookupTitle($a_page_id)
Lookup title.
static _getAllReferences($a_id)
get all reference ids of object
setMode($a_mode="text")
Set mode.
copySelected()
Copy selected items.
initCharacteristicForm($a_target, $a_types)
Init map creation/update form.
copyLinkedMediaToClipboard()
copy linked media object to clipboard
Class ilPCContentInclude.
_createEntry($a_obj_id, $a_action, $a_info_params="", $a_obj_type="", $a_user_comment="", $a_update_last=false)
Creates a new history entry for an object.
static _getCharacteristics($a_style_id)
Get characteristics.
if(!is_array($argv)) $options
assignCharacteristic()
Assign characteristic.
insertFromClipboard()
insert object from clipboard
getPCDefinitionByGUIClassName($a_gui_class_name)
Get PC definition by name.
copyLinkedMediaToMediaPool()
copy linked media object to media pool
activateSelected()
(de-)activate selected items
special template class to simplify handling of ITX/PEAR
redirection script todo: (a better solution should control the processing via a xml file) ...
setHeader($a_header)
set header title
addChangeComment()
add change comment to history
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
getPCDefinitionByType($a_pc_type)
Get PC definition by type.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
_doJSEditing()
checks if current user has activated js editing and if browser is js capable
& executeCommand()
execute command
static requirePCGUIClassByName($a_name)
Get instance.
setPageBackTitle($a_title)
isPCGUIClassName($a_class_name, $a_lower_case=false)
Is given class name a pc gui class?
static getLogger($a_component_id)
Get component logger.
pasteFromClipboard($a_hier_id)
paste from clipboard (redirects to clipboard)
getHeader()
get header title