4 include_once(
"./Services/COPage/classes/class.ilPageObjectGUI.php");
73 public function __construct(&$a_page_object, &$a_page_object_gui)
77 $this->help = $DIC[
"ilHelp"];
78 $this->
user = $DIC->user();
79 $this->access = $DIC->access();
81 $lng = $DIC->language();
84 $ilTabs = $DIC->tabs();
93 $this->tabs_gui = $ilTabs;
94 $this->page = $a_page_object;
95 $this->page_gui = $a_page_object_gui;
97 $this->ctrl->saveParameter($this,
array(
"hier_id",
"pc_id"));
108 $this->
header = $a_header;
128 $this->locator = $a_locator;
136 $this->ctrl->returnToParent($this);
141 $this->int_link_return = $a_return;
147 $this->page_back_title = $a_title;
158 $this->log->debug(
"ilPageEditorGUI: executeCommand begin");
160 $cmd = $this->ctrl->getCmd(
"displayPage");
162 $cmdClass = strtolower($this->ctrl->getCmdClass());
164 $hier_id =
$_GET[
"hier_id"];
165 $pc_id =
$_GET[
"pc_id"];
166 if (isset(
$_POST[
"new_hier_id"])) {
167 $hier_id =
$_POST[
"new_hier_id"];
172 $new_type = (isset(
$_GET[
"new_type"]))
199 if (substr($cmd, 0, 5) ==
"exec_") {
202 $pca = explode(
":", key(
$_POST[
"cmd"]));
205 $cmd = explode(
"_", $pca[0]);
207 $hier_id = implode($cmd,
"_");
208 $cmd =
$_POST[
"command" . $hier_id];
212 $first_hier_character = substr($hier_id, 0, 1);
213 if ($first_hier_character ==
"c" ||
214 $first_hier_character ==
"r" ||
215 $first_hier_character ==
"g" ||
216 $first_hier_character ==
"i") {
217 $hier_id = substr($hier_id, 1);
219 $this->page->buildDom();
220 $this->page->addHierIDs();
224 if ($cmdClass !=
"ilfilesystemgui") {
225 $com = explode(
"_", $cmd);
230 $next_class = $this->ctrl->getNextClass($this);
231 $this->log->debug(
"next class: " . $next_class);
234 if ($next_class ==
"ilpcplaceholdergui" && $hier_id ==
"" &&
$_GET[
"pl_pc_id"] !=
"") {
235 $hid = $this->page->getHierIdsForPCIds(
array(
$_GET[
"pl_pc_id"]));
236 $hier_id = $hid[
$_GET[
"pl_pc_id"]];
240 if ($com[0] ==
"insert" || $com[0] ==
"create") {
244 if ($ctype ==
"mob") {
249 if ($cmd ==
"editLinkedMedia") {
250 $this->ctrl->setCmd(
"edit");
252 $_GET[
"pgEdMediaMode"] =
"editLinkedMedia";
255 if (
$_GET[
"pgEdMediaMode"] ==
"editLinkedMedia") {
256 $this->ctrl->setParameter($this,
"pgEdMediaMode",
"editLinkedMedia");
257 $this->ctrl->setParameter($this,
"mob_id",
$_GET[
"mob_id"]);
258 if ($cmdClass !=
"ilinternallinkgui" && $cmdClass !=
"ilmdeditorgui" 259 && $cmdClass !=
"ilimagemapeditorgui" && $cmdClass !=
"ilfilesystemgui") {
260 $this->ctrl->setCmdClass(
"ilobjmediaobjectgui");
261 $cmdClass =
"ilobjmediaobjectgui";
267 echo
";$cmd;" . $next_class .
";";
269 echo
"-$cmd-" . $this->ctrl->getCmd() .
"-";
276 if ($cmd !=
"insertFromClipboard" && $cmd !=
"pasteFromClipboard" &&
277 $cmd !=
"setMediaMode" && $cmd !=
"copyLinkedMediaToClipboard" &&
278 $cmd !=
"activatePage" && $cmd !=
"deactivatePage" &&
279 $cmd !=
"copyLinkedMediaToMediaPool" && $cmd !=
"showSnippetInfo" &&
280 $cmd !=
"deleteSelected" && $cmd !=
"paste" &&
281 $cmd !=
"cancelDeleteSelected" && $cmd !=
"confirmedDeleteSelected" &&
282 $cmd !=
"copySelected" && $cmd !=
"cutSelected" &&
283 ($cmd !=
"displayPage" ||
$_POST[
"editImagemapForward_x"] !=
"" ||
$_POST[
"imagemap_x"] !=
"") &&
284 ($cmd !=
"displayPage" ||
$_POST[
"editImagemapForward_x"] !=
"") &&
285 $cmd !=
"activateSelected" && $cmd !=
"assignCharacteristicForm" &&
286 $cmd !=
"assignCharacteristic" &&
287 $cmdClass !=
"ilrepositoryselector2inputgui" &&
288 $cmd !=
"cancelCreate" && $cmd !=
"popup" &&
289 $cmdClass !=
"ileditclipboardgui" && $cmd !=
"addChangeComment" &&
290 ($cmdClass !=
"ilinternallinkgui" || ($next_class ==
"ilpcmediaobjectgui"))) {
291 if (
$_GET[
"pgEdMediaMode"] !=
"editLinkedMedia") {
294 $cont_obj = $this->page->getContentObject($hier_id, $pc_id);
296 $this->log->debug(
"ilPageEditorGUI: ...returnToParent (cmdClass: $cmdClass, nextClass: $next_class" .
297 ", hier_id: " . $hier_id .
", pc_id: " . $pc_id .
")");
298 $ilCtrl->returnToParent($this);
309 if ($ctype !=
"media" || !is_object(
$cont_obj)) {
311 $this->tpl->setTitle($this->
getHeader());
320 $this->ctrl->setParameter($this,
"hier_id", $hier_id);
321 $this->ctrl->setParameter($this,
"pc_id", $pc_id);
322 $this->ctrl->setCmd($cmd);
327 $this->log->debug(
"(2) next class: " . $next_class .
", ctype: " . $ctype);
329 if ($next_class ==
"") {
330 include_once(
"./Services/COPage/classes/class.ilCOPagePCDef.php");
332 if (is_array($pc_def)) {
333 $this->ctrl->setCmdClass($pc_def[
"pc_gui_class"]);
335 $next_class = $this->ctrl->getNextClass($this);
339 if ($cmd ==
"displayPage" &&
$_POST[
"editImagemapForward_x"] ==
"" &&
$_POST[
"imagemap_x"] ==
"") {
344 $this->log->debug(
"ilPageEditorGUI: ... next_class:" . $next_class .
", pc_id:" . $pc_id .
345 ", hier_id:" . $hier_id .
", ctype:" . $ctype .
", cmd:" . $cmd);
346 switch ($next_class) {
347 case "ilinternallinkgui":
349 $this->page_gui->getPageConfig()->getIntLinkHelpDefaultType(),
350 $this->page_gui->getPageConfig()->getIntLinkHelpDefaultId(),
351 $this->page_gui->getPageConfig()->getIntLinkHelpDefaultIdIsRef()
354 $this->page_gui->getPageConfig()->getIntLinkFilterWhiteList()
356 foreach ($this->page_gui->getPageConfig()->getIntLinkFilters() as $filter) {
357 $link_gui->filterLinkType($filter);
359 $link_gui->setReturn($this->int_link_return);
361 $ret = $this->ctrl->forwardCommand($link_gui);
365 case "ilpcmediaobjectgui":
366 include_once(
"./Services/COPage/classes/class.ilPCMediaObjectGUI.php");
368 $this->tabs_gui->clearTargets();
369 $this->tabs_gui->setBackTarget(
370 $this->page_gui->page_back_title,
371 $ilCtrl->getLinkTarget($this->page_gui,
"edit")
374 $pcmob_gui->setStyleId($this->page_gui->getStyleId());
375 $pcmob_gui->setEnabledMapAreas($this->page_gui->getPageConfig()->getEnableInternalLinks());
376 $ret = $this->ctrl->forwardCommand($pcmob_gui);
377 $ilHelp->setScreenIdComponent(
"copg_media");
381 case "ilobjmediaobjectgui":
382 $this->tabs_gui->clearTargets();
383 $this->tabs_gui->setBackTarget(
384 $this->lng->txt(
"back"),
385 $ilCtrl->getParentReturn($this)
389 $mob_gui->setEnabledMapAreas($this->page_gui->getPageConfig()->getEnableInternalLinks());
390 $this->tpl->setTitle($this->lng->txt(
"mob") .
": " .
392 $ret = $this->ctrl->forwardCommand($mob_gui);
396 case "ilpcquestiongui":
397 include_once(
"./Services/COPage/classes/class.ilPCQuestionGUI.php");
399 $pc_question_gui->setSelfAssessmentMode($this->page_gui->getPageConfig()->getEnableSelfAssessment());
400 $pc_question_gui->setPageConfig($this->page_gui->getPageConfig());
402 if ($this->page_gui->getPageConfig()->getEnableSelfAssessment()) {
403 $this->tabs_gui->clearTargets();
404 $ilHelp->setScreenIdComponent(
"copg_pcqst");
405 $this->tabs_gui->setBackTarget(
406 $this->lng->txt(
"back"),
407 $ilCtrl->getParentReturn($this)
409 $ret = $this->ctrl->forwardCommand($pc_question_gui);
411 $cmd = $this->ctrl->getCmd();
412 $pc_question_gui->$cmd();
413 $this->ctrl->redirectByClass(
array(
"ilobjquestionpoolgui", get_class(
$cont_obj)),
"editQuestion");
418 case "ilpcpluggedgui":
419 $this->tabs_gui->clearTargets();
420 include_once(
"./Services/COPage/classes/class.ilPCPluggedGUI.php");
428 $ret = $this->ctrl->forwardCommand($plugged_gui);
434 include_once(
"./Services/COPage/classes/class.ilCOPagePCDef.php");
437 $this->tabs_gui->clearTargets();
438 $this->tabs_gui->setBackTarget(
439 $this->page_gui->page_back_title,
440 $ilCtrl->getLinkTarget($this->page_gui,
"edit")
442 $ilHelp->setScreenIdComponent(
"copg_" . $pc_def[
"pc_type"]);
444 $gui_class_name = $pc_def[
"pc_gui_class"];
445 $pc_gui =
new $gui_class_name($this->page,
$cont_obj, $hier_id, $pc_id);
446 if ($pc_def[
"style_classes"]) {
447 $pc_gui->setStyleId($this->page_gui->getStyleId());
449 $pc_gui->setPageConfig($this->page_gui->getPageConfig());
450 $ret = $this->ctrl->forwardCommand($pc_gui);
454 if ($cmd ==
"pasteFromClipboard") {
456 } elseif ($cmd ==
"paste") {
459 $ret = $this->$cmd();
466 $this->log->debug(
"ilPageEditorGUI: executeCommand end");
481 if (
$ilUser->getPref(
"ilPageEditor_JavaScript") !=
"disable" 498 $this->page_gui->activatePage();
503 $this->page_gui->deactivatePage();
513 $ilUser->writePref(
"ilPageEditor_MediaMode",
$_POST[
"media_mode"]);
514 $ilUser->writePref(
"ilPageEditor_HTMLMode",
$_POST[
"html_mode"]);
515 if (
$ilUser->getPref(
"ilPageEditor_JavaScript") !=
$_POST[
"js_mode"]) {
517 if ($this->page->getParentType() ==
"lm") {
518 $this->ctrl->setParameterByClass(
"illmpageobjectgui",
"reloadTree",
"y");
521 $ilUser->writePref(
"ilPageEditor_JavaScript",
$_POST[
"js_mode"]);
524 if ($this->page->getParentType() ==
"lm") {
525 $this->ctrl->redirectByClass(
"illmpageobjectgui",
"edit");
527 $this->ctrl->returnToParent($this);
540 $this->ctrl->returnToParent($this);
550 $this->ctrl->setParameterByClass(
"ilmediapooltargetselector",
"mob_id",
$_POST[
"mob_id"]);
551 $this->ctrl->redirectByClass(
"ilmediapooltargetselector",
"listPools");
559 include_once(
"./Services/History/classes/class.ilHistory.php");
561 $this->page->getId(),
564 $this->page->getParentType() .
":pg",
569 $this->ctrl->returnToParent($this);
581 $targets = explode(
";",
$_POST[
"target"][0]);
583 if (count($targets) == 0) {
585 $this->ctrl->returnToParent($this);
587 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
589 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
590 $cgui->setHeaderText(
$lng->txt(
"copg_confirm_el_deletion"));
591 $cgui->setCancel(
$lng->txt(
"cancel"),
"cancelDeleteSelected");
592 $cgui->setConfirm(
$lng->txt(
"confirm"),
"confirmedDeleteSelected");
593 $cgui->addHiddenItem(
"target",
$_POST[
"target"][0]);
595 $tpl->setContent($cgui->getHTML());
607 $this->ctrl->returnToParent($this);
616 $targets = explode(
";",
$_POST[
"target"]);
617 if (count($targets) > 0) {
618 $updated = $this->page->deleteContents(
621 $this->page_gui->getPageConfig()->getEnableSelfAssessment()
623 if ($updated !==
true) {
629 $this->ctrl->returnToParent($this);
639 if (is_int(strpos(
$_POST[
"target"][0],
";"))) {
642 if (is_array(
$_POST[
"target"])) {
643 $this->page->copyContents(
$_POST[
"target"]);
646 $this->ctrl->returnToParent($this);
656 if (is_int(strpos(
$_POST[
"target"][0],
";"))) {
659 if (is_array(
$_POST[
"target"])) {
660 $updated = $this->page->cutContents(
$_POST[
"target"]);
661 if ($updated !==
true) {
668 $this->ctrl->returnToParent($this);
677 $this->page->pasteContents($a_hier_id, $this->page_gui->getPageConfig()->getEnableSelfAssessment());
678 include_once(
"./Modules/LearningModule/classes/class.ilEditClipboard.php");
680 $this->ctrl->returnToParent($this);
688 if (is_int(strpos(
$_POST[
"target"][0],
";"))) {
691 if (is_array(
$_POST[
"target"])) {
692 $updated = $this->page->switchEnableMultiple(
695 $this->page_gui->getPageConfig()->getEnableSelfAssessment()
697 if ($updated !==
true) {
703 $this->ctrl->returnToParent($this);
714 if (is_int(strpos(
$_POST[
"target"][0],
";"))) {
717 if (is_array(
$_POST[
"target"])) {
722 $tarr = explode(
":", $t);
723 $cont_obj = $this->page->getContentObject($tarr[0], $tarr[1]);
725 $types[
"par"] =
"par";
728 $types[
"sec"] =
"sec";
732 if (count($types) == 0) {
734 $this->ctrl->returnToParent($this);
737 $tpl->setContent($this->form->getHTML());
740 $this->ctrl->returnToParent($this);
754 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
756 $this->form->setTitle($this->lng->txt(
"cont_choose_characteristic"));
758 if ($a_types[
"par"] ==
"par") {
760 $this->lng->txt(
"cont_choose_characteristic_text"),
763 include_once(
"./Services/COPage/classes/class.ilPCParagraphGUI.php");
766 $this->form->addItem($select_prop);
768 if ($a_types[
"sec"] ==
"sec") {
770 $this->lng->txt(
"cont_choose_characteristic_section"),
773 include_once(
"./Services/COPage/classes/class.ilPCSectionGUI.php");
776 $this->form->addItem($select_prop);
779 foreach ($a_target as
$t) {
781 $hidden->setValue($t);
782 $this->form->addItem($hidden);
785 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
786 $this->form->addCommandButton(
"assignCharacteristic",
$lng->txt(
"save"));
787 $this->form->addCommandButton(
"showPage",
$lng->txt(
"cancel"));
797 if (is_array(
$_POST[
"target"])) {
799 $tarr = explode(
":", $t);
800 $cont_obj = $this->page->getContentObject($tarr[0], $tarr[1]);
808 $updated = $this->page->update();
809 if ($updated !==
true) {
815 $this->ctrl->returnToParent($this);
825 $ilCtrl->setParameter($this,
"hier_id", $a_hier_id);
827 "ilEditClipboardGUI",
829 rawurlencode(
$ilCtrl->getLinkTarget(
831 "insertFromClipboard",
838 $ilCtrl->redirectByClass(
"ilEditClipboardGUI",
"getObject");
846 include_once(
"./Services/Clipboard/classes/class.ilEditClipboardGUI.php");
848 include_once(
"./Services/COPage/classes/class.ilPCMediaObject.php");
850 foreach ($ids as $id2) {
851 $id = explode(
":", $id2);
854 if (
$type ==
"mob") {
856 $this->content_obj->readMediaObject(
$id);
857 $this->content_obj->createAlias($this->page,
$_GET[
"hier_id"]);
858 $this->updated = $this->page->update();
860 if (
$type ==
"incl") {
861 include_once(
"./Services/COPage/classes/class.ilPCContentInclude.php");
863 $this->content_obj->create($this->page,
$_GET[
"hier_id"]);
864 $this->content_obj->setContentType(
"mep");
865 $this->content_obj->setContentId(
$id);
866 $this->updated = $this->page->update();
870 $this->ctrl->returnToParent($this);
878 $this->ctrl->returnToParent($this);
902 $stpl =
new ilTemplate(
"tpl.snippet_info.html",
true,
true,
"Services/COPage");
904 include_once(
"./Modules/MediaPool/classes/class.ilMediaPoolItem.php");
906 foreach ($mep_pools as $mep_id) {
909 foreach ($ref_ids as $rid) {
910 if (!$edit_link && $ilAccess->checkAccess(
"write",
"", $rid)) {
911 $stpl->setCurrentBlock(
"edit_link");
912 $stpl->setVariable(
"TXT_EDIT",
$lng->txt(
"edit"));
915 "./goto.php?target=mep_" . $rid
917 $stpl->parseCurrentBlock();
920 $stpl->setCurrentBlock(
"pool");
921 $stpl->setVariable(
"TXT_MEDIA_POOL",
$lng->txt(
"obj_mep"));
923 $stpl->parseCurrentBlock();
926 include_once(
"./Modules/MediaPool/classes/class.ilMediaPoolPage.php");
927 $stpl->setVariable(
"TXT_TITLE",
$lng->txt(
"title"));
929 $stpl->setVariable(
"TXT_BACK",
$lng->txt(
"back"));
932 $ilCtrl->getLinkTarget($this->page_gui,
"edit")
934 $tpl->setContent($stpl->get());
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static _isBrowserJSEditCapable()
checks wether browser is javascript editing capable
static isPCGUIClassName($a_class_name, $a_lower_case=false)
Is given class name a pc gui class?
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.
static getPCDefinitionByGUIClassName($a_gui_class_name)
Get PC definition by name.
if(!array_key_exists('StateId', $_REQUEST)) $id
confirmedDeleteSelected()
Delete selected items.
assignCharacteristicForm()
Assign characeristic to text blocks/sections.
displayPage()
Default for POST reloads and missing.
static _getCharacteristics($a_style_id)
Get characteristics.
setFilterWhiteList($a_white_list)
Set filter list as white list (per detault it is a black list)
static _lookupTitle($a_id)
lookup object title
paste($a_hier_id)
paste from clipboard (redirects to clipboard)
executeCommand()
execute command
setLocator(&$a_locator)
set locator object
static lookupTitle($a_page_id)
Lookup title.
static _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 _getAllReferences($a_id)
get all reference ids of object
__construct(&$a_page_object, &$a_page_object_gui)
Constructor.
copySelected()
Copy selected items.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
initCharacteristicForm($a_target, $a_types)
Init map creation/update form.
copyLinkedMediaToClipboard()
copy linked media object to clipboard
Class ilPCContentInclude.
static _getCharacteristics($a_style_id)
Get characteristics.
assignCharacteristic()
Assign characteristic.
insertFromClipboard()
insert object from clipboard
copyLinkedMediaToMediaPool()
copy linked media object to media pool
activateSelected()
(de-)activate selected items
special template class to simplify handling of ITX/PEAR
static _doJSEditing()
checks if current user has activated js editing and if browser is js capable
setHeader($a_header)
set header title
addChangeComment()
add change comment to history
Add a drawing to the header
cancelDeleteSelected()
Cancel deletion.
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 sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static requirePCGUIClassByName($a_name)
Get instance.
setPageBackTitle($a_title)
static getLogger($a_component_id)
Get component logger.
static getPCDefinitionByType($a_pc_type)
Get PC definition by type.
pasteFromClipboard($a_hier_id)
paste from clipboard (redirects to clipboard)
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Confirmation screen class.
getHeader()
get header title