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