4include_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";
244echo
";$cmd;".$next_class.
";";
246echo
"-$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);
274 $this->log->debug(
"ilPageEditorGUI: ...returnToParent");
275 $ilCtrl->returnToParent($this);
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());
332 $link_gui->setMode(
"normal");
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);
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");
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");
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]);
698 $types[
"par"] =
"par";
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]);
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());
getPCDefinitionByGUIClassName($a_gui_class_name)
Get PC definition by name.
getPCDefinitionByType($a_pc_type)
Get PC definition by type.
isPCGUIClassName($a_class_name, $a_lower_case=false)
Is given class name a pc gui class?
static requirePCGUIClassByName($a_name)
Get instance.
_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 getLogger($a_component_id)
Get component logger.
static lookupTitle($a_page_id)
Lookup title.
static _lookupTitle($a_id)
lookup object title
static _getAllReferences($a_id)
get all reference ids of object
Class ilPCContentInclude.
static _getCharacteristics($a_style_id)
Get characteristics.
static _getCharacteristics($a_style_id)
Get characteristics.
copyLinkedMediaToMediaPool()
copy linked media object to media pool
setPageBackTitle($a_title)
activateSelected()
(de-)activate selected items
_doJSEditing()
checks if current user has activated js editing and if browser is js capable
copySelected()
Copy selected items.
addChangeComment()
add change comment to history
initCharacteristicForm($a_target, $a_types)
Init map creation/update form.
insertFromClipboard()
insert object from clipboard
copyLinkedMediaToClipboard()
copy linked media object to clipboard
setLocator(&$a_locator)
set locator object
displayPage()
Default for POST reloads and missing.
assignCharacteristicForm()
Assign characeristic to text blocks/sections.
pasteFromClipboard($a_hier_id)
paste from clipboard (redirects to clipboard)
setMediaMode()
set media and editing mode
paste($a_hier_id)
paste from clipboard (redirects to clipboard)
setIntLinkReturn($a_return)
& executeCommand()
execute command
ilPageEditorGUI(&$a_page_object, &$a_page_object_gui)
Constructor.
displayLocator()
display locator
_isBrowserJSEditCapable()
checks wether browser is javascript editing capable
setHeader($a_header)
set header title
showSnippetInfo()
Show snippet info.
returnToContext()
redirect to parent context
cutSelected()
Cut selected items.
deleteSelected()
Delete selected items.
getHeader()
get header title
assignCharacteristic()
Assign characteristic.
special template class to simplify handling of ITX/PEAR
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
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
redirection script todo: (a better solution should control the processing via a xml file)
if(!is_array($argv)) $options