/**
  * Execute current command
  */
 function executeCommand()
 {
     global $ilCtrl, $tpl;
     $next_class = $ilCtrl->getNextClass($this);
     $cmd = $ilCtrl->getCmd();
     switch ($next_class) {
         case "ilinternallinkgui":
             require_once "./Services/Link/classes/class.ilInternalLinkGUI.php";
             $link_gui = new ilInternalLinkGUI("Media_Media", 0);
             $link_gui->setMode("link");
             $link_gui->setSetLinkTargetScript($ilCtrl->getLinkTarget($this, "setInternalLink"));
             $link_gui->filterLinkType("File");
             $link_gui->setMode("asynch");
             $ret = $ilCtrl->forwardCommand($link_gui);
             break;
         default:
             require_once "./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php";
             ilObjMediaObjectGUI::includePresentationJS();
             if (isset($_POST["editImagemapForward"]) || isset($_POST["editImagemapForward_x"]) || isset($_POST["editImagemapForward_y"])) {
                 $cmd = "editImagemapForward";
             }
             $ret = $this->{$cmd}();
             break;
     }
     return $ret;
 }
 /**
  * execute command
  */
 function &executeCommand()
 {
     global $ilCtrl, $ilHelp;
     $cmd = $this->ctrl->getCmd("displayPage");
     //echo "-$cmd-"; exit;
     $cmdClass = strtolower($this->ctrl->getCmdClass());
     $hier_id = $_GET["hier_id"];
     $pc_id = $_GET["pc_id"];
     if (isset($_POST["new_hier_id"])) {
         $hier_id = $_POST["new_hier_id"];
     }
     //echo "GEThier_id:".$_GET["hier_id"]."<br>";
     //$this->ctrl->debug("hier_id:".$hier_id);
     $new_type = isset($_GET["new_type"]) ? $_GET["new_type"] : $_POST["new_type"];
     //echo "-$cmd-";
     //var_dump($_GET); var_dump($_POST); exit;
     /*array
       'target' =>
         array
           0 => string '' (length=0)
       'commandpg' => string 'insertJS' (length=8)
       'cmd' =>
         array
           'exec_pg:' => string 'Ok' (length=2)
       'ajaxform_content' => string '<div class=\"ilc_text_block_Standard\">sdfsdfsd sd</div>' (length=56)
       'ajaxform_char' => string '' (length=0)*/
     /*array
       'usedwsiwygeditor' => string '0' (length=1)
       'par_characteristic' => string 'Standard' (length=8)
       'par_content' => string 'adasdaasda a
     
     ' (length=14)
       'par_language' => string 'en' (length=2)
       'cmd' =>
         array
           'create_par' => string 'Save' (length=4)*/
     if (substr($cmd, 0, 5) == "exec_") {
         //echo ":".key($_POST["cmd"]).":";
         // check whether pc id is given
         $pca = explode(":", key($_POST["cmd"]));
         $pc_id = $pca[1];
         //echo "<br />exec_pc_id:-$pc_id-";
         $cmd = explode("_", $pca[0]);
         unset($cmd[0]);
         $hier_id = implode($cmd, "_");
         $cmd = $_POST["command" . $hier_id];
     }
     //echo "<br>cmd:$cmd:";exit;
     // strip "c" "r" of table ids from hierarchical id
     $first_hier_character = substr($hier_id, 0, 1);
     if ($first_hier_character == "c" || $first_hier_character == "r" || $first_hier_character == "i") {
         $hier_id = substr($hier_id, 1);
     }
     $this->page->buildDom();
     $this->page->addHierIDs();
     // determine command and content object
     if ($cmdClass != "ilfilesystemgui") {
         $com = explode("_", $cmd);
         $cmd = $com[0];
     }
     $next_class = $this->ctrl->getNextClass($this);
     // determine content type
     if ($com[0] == "insert" || $com[0] == "create") {
         $cmd = $com[0];
         $ctype = $com[1];
         $add_type = $com[2];
         if ($ctype == "mob") {
             $ctype = "media";
         }
     } else {
         // setting cmd and cmdclass for editing of linked media
         if ($cmd == "editLinkedMedia") {
             $this->ctrl->setCmd("edit");
             $cmd = "edit";
             $_GET["pgEdMediaMode"] = "editLinkedMedia";
             $_GET["mob_id"] = $_POST["mob_id"];
         }
         if ($_GET["pgEdMediaMode"] == "editLinkedMedia") {
             $this->ctrl->setParameter($this, "pgEdMediaMode", "editLinkedMedia");
             $this->ctrl->setParameter($this, "mob_id", $_GET["mob_id"]);
             if ($cmdClass != "ilinternallinkgui" && $cmdClass != "ilmdeditorgui" && $cmdClass != "ilimagemapeditorgui" && $cmdClass != "ilfilesystemgui") {
                 $this->ctrl->setCmdClass("ilobjmediaobjectgui");
                 $cmdClass = "ilobjmediaobjectgui";
             }
         }
         if (false) {
             var_dump($_POST);
             var_dump($_GET);
             echo ";{$cmd};" . $next_class . ";";
             echo "-{$pc_id}-";
             echo "-{$cmd}-" . $this->ctrl->getCmd() . "-";
             exit;
         }
         //var_dump($_POST);
         // note: ilinternallinkgui for page: no cont_obj is received
         // ilinternallinkgui for mob: cont_obj is received
         if ($cmd != "insertFromClipboard" && $cmd != "pasteFromClipboard" && $cmd != "setMediaMode" && $cmd != "copyLinkedMediaToClipboard" && $cmd != "activatePage" && $cmd != "deactivatePage" && $cmd != "copyLinkedMediaToMediaPool" && $cmd != "showSnippetInfo" && $cmd != "deleteSelected" && $cmd != "paste" && $cmd != "copySelected" && $cmd != "cutSelected" && ($cmd != "displayPage" || $_POST["editImagemapForward_x"] != "" || $_POST["imagemap_x"] != "") && ($cmd != "displayPage" || $_POST["editImagemapForward_x"] != "") && $cmd != "activateSelected" && $cmd != "assignCharacteristicForm" && $cmd != "assignCharacteristic" && $cmd != "cancelCreate" && $cmd != "popup" && $cmdClass != "ileditclipboardgui" && $cmd != "addChangeComment" && ($cmdClass != "ilinternallinkgui" || $next_class == "ilpcmediaobjectgui")) {
             if ($_GET["pgEdMediaMode"] != "editLinkedMedia") {
                 //$this->ctrl->debug("gettingContentObject (no linked media)");
                 //echo $hier_id."-".$pc_id;
                 $cont_obj =& $this->page->getContentObject($hier_id, $pc_id);
                 if (!is_object($cont_obj)) {
                     $ilCtrl->returnToParent($this);
                 }
                 $ctype = $cont_obj->getType();
             }
         }
     }
     //$this->ctrl->debug("+ctype:".$ctype."+");
     //		$this->tpl->addBlockFile("CONTENT", "content", "tpl.adm_content.html");
     //		$this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
     if ($ctype != "media" || !is_object($cont_obj)) {
         if ($this->getHeader() != "") {
             $this->tpl->setTitle($this->getHeader());
         }
         $this->displayLocator();
     }
     $this->cont_obj =& $cont_obj;
     // special command / command class handling
     $this->ctrl->setParameter($this, "hier_id", $hier_id);
     $this->ctrl->setParameter($this, "pc_id", $pc_id);
     $this->ctrl->setCmd($cmd);
     //$next_class = $this->ctrl->getNextClass($this);
     //$this->ctrl->debug("+next_class:".$next_class."+");
     //echo("+next_class:".$next_class."+".$ctype."+"); exit;
     if ($next_class == "") {
         include_once "./Services/COPage/classes/class.ilCOPagePCDef.php";
         $pc_def = ilCOPagePCDef::getPCDefinitionByType($ctype);
         if (is_array($pc_def)) {
             $this->ctrl->setCmdClass($pc_def["pc_gui_class"]);
         }
         $next_class = $this->ctrl->getNextClass($this);
     }
     // do not do this while imagemap editing is ongoing
     if ($cmd == "displayPage" && $_POST["editImagemapForward_x"] == "" && $_POST["imagemap_x"] == "") {
         $next_class = "";
     }
     //echo "hier_id:$hier_id:type:$type:cmd:$cmd:ctype:$ctype:next_class:$next_class:<br>"; exit;
     switch ($next_class) {
         case "ilinternallinkgui":
             $link_gui = new ilInternalLinkGUI($this->page_gui->getPageConfig()->getIntLinkHelpDefaultType(), $this->page_gui->getPageConfig()->getIntLinkHelpDefaultId());
             $link_gui->setMode("normal");
             $link_gui->setFilterWhiteList($this->page_gui->getPageConfig()->getIntLinkFilterWhiteList());
             foreach ($this->page_gui->getPageConfig()->getIntLinkFilters() as $filter) {
                 $link_gui->filterLinkType($filter);
             }
             //				$link_gui->setSetLinkTargetScript(
             //					$this->ctrl->getLinkTarget($this, "setInternalLink"));
             $link_gui->setReturn($this->int_link_return);
             if ($ilCtrl->isAsynch()) {
                 $link_gui->setMode("asynch");
             }
             $ret =& $this->ctrl->forwardCommand($link_gui);
             break;
             // PC Media Object
         // PC Media Object
         case "ilpcmediaobjectgui":
             include_once "./Services/COPage/classes/class.ilPCMediaObjectGUI.php";
             $this->tabs_gui->clearTargets();
             $this->tabs_gui->setBackTarget($this->page_gui->page_back_title, $ilCtrl->getLinkTarget($this->page_gui, "edit"));
             $pcmob_gui =& new ilPCMediaObjectGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $pcmob_gui->setStyleId($this->page_gui->getStyleId());
             $pcmob_gui->setEnabledMapAreas($this->page_gui->getPageConfig()->getEnableInternalLinks());
             $ret =& $this->ctrl->forwardCommand($pcmob_gui);
             $ilHelp->setScreenIdComponent("copg_media");
             break;
             // only for "linked" media
         // only for "linked" media
         case "ilobjmediaobjectgui":
             $this->tabs_gui->clearTargets();
             $this->tabs_gui->setBackTarget($this->lng->txt("back"), $ilCtrl->getParentReturn($this));
             $mob_gui =& new ilObjMediaObjectGUI("", $_GET["mob_id"], false, false);
             $mob_gui->getTabs($this->tabs_gui);
             $mob_gui->setEnabledMapAreas($this->page_gui->getPageConfig()->getEnableInternalLinks());
             $this->tpl->setTitle($this->lng->txt("mob") . ": " . ilObject::_lookupTitle($_GET["mob_id"]));
             $ret =& $this->ctrl->forwardCommand($mob_gui);
             break;
             // Question
         // Question
         case "ilpcquestiongui":
             include_once "./Services/COPage/classes/class.ilPCQuestionGUI.php";
             $pc_question_gui =& new ilPCQuestionGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $pc_question_gui->setSelfAssessmentMode($this->page_gui->getPageConfig()->getEnableSelfAssessment());
             $pc_question_gui->setPageConfig($this->page_gui->getPageConfig());
             if ($this->page_gui->getPageConfig()->getEnableSelfAssessment()) {
                 $this->tabs_gui->clearTargets();
                 $ilHelp->setScreenIdComponent("copg_pcqst");
                 $this->tabs_gui->setBackTarget($this->lng->txt("back"), $ilCtrl->getParentReturn($this));
                 $ret = $this->ctrl->forwardCommand($pc_question_gui);
             } else {
                 $cmd = $this->ctrl->getCmd();
                 $pc_question_gui->{$cmd}();
                 $this->ctrl->redirectByClass(array("ilobjquestionpoolgui", get_class($cont_obj)), "editQuestion");
             }
             break;
             // Plugged Component
         // Plugged Component
         case "ilpcpluggedgui":
             $this->tabs_gui->clearTargets();
             include_once "./Services/COPage/classes/class.ilPCPluggedGUI.php";
             $plugged_gui = new ilPCPluggedGUI($this->page, $cont_obj, $hier_id, $add_type, $pc_id);
             $ret = $this->ctrl->forwardCommand($plugged_gui);
             break;
         default:
             // generic calls to gui classes
             include_once "./Services/COPage/classes/class.ilCOPagePCDef.php";
             if (ilCOPagePCDef::isPCGUIClassName($next_class, true)) {
                 $pc_def = ilCOPagePCDef::getPCDefinitionByGUIClassName($next_class);
                 $this->tabs_gui->clearTargets();
                 $this->tabs_gui->setBackTarget($this->page_gui->page_back_title, $ilCtrl->getLinkTarget($this->page_gui, "edit"));
                 $ilHelp->setScreenIdComponent("copg_" . $pc_def["pc_type"]);
                 ilCOPagePCDef::requirePCGUIClassByName($pc_def["name"]);
                 $gui_class_name = $pc_def["pc_gui_class"];
                 $pc_gui = new $gui_class_name($this->page, $cont_obj, $hier_id, $pc_id);
                 if ($pc_def["style_classes"]) {
                     $pc_gui->setStyleId($this->page_gui->getStyleId());
                 }
                 $pc_gui->setPageConfig($this->page_gui->getPageConfig());
                 $ret = $this->ctrl->forwardCommand($pc_gui);
             } else {
                 // cmd belongs to ilPageEditorGUI
                 if ($cmd == "pasteFromClipboard") {
                     $ret = $this->pasteFromClipboard($hier_id);
                 } else {
                     if ($cmd == "paste") {
                         $ret = $this->paste($hier_id);
                     } else {
                         $ret = $this->{$cmd}();
                     }
                 }
             }
             break;
     }
     return $ret;
 }
Example #3
0
 /**
  * Execute current command
  */
 function executeCommand()
 {
     global $ilCtrl, $lng;
     $next_class = $ilCtrl->getNextClass($this);
     $cmd = $ilCtrl->getCmd();
     switch ($next_class) {
         case "ilinternallinkgui":
             $lng->loadLanguageModule("content");
             require_once "./Services/Link/classes/class.ilInternalLinkGUI.php";
             $link_gui = new ilInternalLinkGUI($this->int_link_default_type, $this->int_link_default_obj);
             foreach ($this->int_link_filter_types as $t) {
                 $link_gui->filterLinkType($t);
             }
             $link_gui->setFilterWhiteList(true);
             $link_gui->setMode("asynch");
             $ret = $ilCtrl->forwardCommand($link_gui);
             break;
         default:
             var_dump($cmd);
             //exit();
     }
     return $ret;
 }
Example #4
0
 /**
  * execute command
  */
 function &executeCommand()
 {
     global $ilCtrl, $ilTabs, $lng, $ilAccess, $tpl;
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     //$this->ctrl->addTab("clipboard", $this->ctrl->getLinkTargetByClass("ilEditClipboardGUI", "view")
     //	, "view", "ilEditClipboardGUI");
     $this->getTabs();
     $ilCtrl->setReturn($this, "edit");
     //echo "-".$next_class."-";
     switch ($next_class) {
         case 'ilmdeditorgui':
             //$this->setTabs();
             $ilTabs->setTabActive("meta_data");
             include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php';
             $md_gui =& new ilMDEditorGUI($this->meta_data_rep_obj_id, $this->meta_data_sub_obj_id, $this->meta_data_type);
             if (is_object($this->meta_data_observer_obj)) {
                 $md_gui->addObserver($this->meta_data_observer_obj, $this->meta_data_observer_func, "General");
             }
             $this->ctrl->forwardCommand($md_gui);
             break;
         case "ileditclipboardgui":
             //$this->tabs_gui->clearTargets();
             //$this->ctrl->setReturn($this, "view");
             $clip_gui = new ilEditClipboardGUI();
             $clip_gui->setPageBackTitle($this->page_back_title);
             //$ret =& $clip_gui->executeCommand();
             $ret =& $this->ctrl->forwardCommand($clip_gui);
             break;
             // notes
         // notes
         case "ilnotegui":
             switch ($_GET["notes_mode"]) {
                 default:
                     $html = $this->edit();
                     $ilTabs->setTabActive("edit");
                     return $html;
             }
             break;
         case 'ilpublicuserprofilegui':
             require_once './Services/User/classes/class.ilPublicUserProfileGUI.php';
             $profile_gui = new ilPublicUserProfileGUI($_GET["user"]);
             $ret = $this->ctrl->forwardCommand($profile_gui);
             break;
         case "ilpageeditorgui":
             if (!$this->getEnableEditing()) {
                 ilUtil::sendFailure($lng->txt("permission_denied"), true);
                 $ilCtrl->redirect($this, "preview");
             }
             $page_editor = new ilPageEditorGUI($this->getPageObject(), $this);
             $page_editor->setLocator($this->locator);
             $page_editor->setHeader($this->getHeader());
             $page_editor->setPageBackTitle($this->page_back_title);
             $page_editor->setIntLinkReturn($this->int_link_return);
             //$page_editor->executeCommand();
             $ret =& $this->ctrl->forwardCommand($page_editor);
             break;
         case 'ilnewsitemgui':
             include_once "./Services/News/classes/class.ilNewsItemGUI.php";
             $news_item_gui = new ilNewsItemGUI();
             $news_item_gui->setEnableEdit(true);
             $news_item_gui->setContextObjId($this->news_obj_id);
             $news_item_gui->setContextObjType($this->news_obj_type);
             $news_item_gui->setContextSubObjId($this->obj->getId());
             $news_item_gui->setContextSubObjType("pg");
             $ret = $ilCtrl->forwardCommand($news_item_gui);
             break;
             $profile_gui = new ilPublicUserProfileGUI($_GET["user"]);
             $ret = $this->ctrl->forwardCommand($profile_gui);
             break;
         case "ilpropertyformgui":
             include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
             $form = $this->initOpenedContentForm();
             $this->ctrl->forwardCommand($form);
             break;
         case "ilinternallinkgui":
             $this->lng->loadLanguageModule("content");
             require_once "./Services/Link/classes/class.ilInternalLinkGUI.php";
             $link_gui = new ilInternalLinkGUI("Media_Media", 0);
             //$link_gui->filterLinkType("RepositoryItem");
             $link_gui->filterLinkType("PageObject_FAQ");
             $link_gui->filterLinkType("GlossaryItem");
             $link_gui->filterLinkType("Media_Media");
             $link_gui->filterLinkType("Media_FAQ");
             $link_gui->setFilterWhiteList(true);
             $link_gui->setMode("asynch");
             $ilCtrl->forwardCommand($link_gui);
             break;
         case "ilquestioneditgui":
             $this->setQEditTabs("question");
             include_once "./Modules/TestQuestionPool/classes/class.ilQuestionEditGUI.php";
             $edit_gui = new ilQuestionEditGUI();
             $edit_gui->setPageConfig($this->getPageConfig());
             //			    $edit_gui->addNewIdListener($this, "setNewQuestionId");
             $edit_gui->setSelfAssessmentEditingMode(true);
             $ret = $ilCtrl->forwardCommand($edit_gui);
             $this->tpl->setContent($ret);
             break;
         case 'ilassquestionfeedbackeditinggui':
             $this->onFeedbackEditingForwarding();
             // set tabs
             $this->setQEditTabs("feedback");
             // load required lang mods
             $lng->loadLanguageModule("assessment");
             // set context tabs
             require_once 'Modules/TestQuestionPool/classes/class.assQuestionGUI.php';
             require_once 'Modules/TestQuestionPool/classes/class.assQuestion.php';
             $questionGUI = assQuestionGUI::_getQuestionGUI(assQuestion::_getQuestionType((int) $_GET['q_id']), (int) $_GET['q_id']);
             $questionGUI->object->setObjId(0);
             $questionGUI->object->setSelfAssessmentEditingMode(true);
             $questionGUI->object->setPreventRteUsage($this->getPageConfig()->getPreventRteUsage());
             // forward to ilAssQuestionFeedbackGUI
             require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionFeedbackEditingGUI.php';
             $gui = new ilAssQuestionFeedbackEditingGUI($questionGUI, $ilCtrl, $ilAccess, $tpl, $ilTabs, $lng);
             $ilCtrl->forwardCommand($gui);
             break;
             /*			case "ilpagemultilanggui":
             				$ilCtrl->setReturn($this, "edit");
             				include_once("./Services/COPage/classes/class.ilPageMultiLangGUI.php");
             				$ml_gui = new ilPageMultiLangGUI($this->getPageObject()->getParentType(), $this->getPageObject()->getParentId(),
             					$this->getPageConfig()->getSinglePageMode());
             				//$this->setTabs("settings");
             				//$this->setSubTabs("cont_multilinguality");
             				$ret = $this->ctrl->forwardCommand($ml_gui);
             				break;*/
         /*			case "ilpagemultilanggui":
         				$ilCtrl->setReturn($this, "edit");
         				include_once("./Services/COPage/classes/class.ilPageMultiLangGUI.php");
         				$ml_gui = new ilPageMultiLangGUI($this->getPageObject()->getParentType(), $this->getPageObject()->getParentId(),
         					$this->getPageConfig()->getSinglePageMode());
         				//$this->setTabs("settings");
         				//$this->setSubTabs("cont_multilinguality");
         				$ret = $this->ctrl->forwardCommand($ml_gui);
         				break;*/
         default:
             $cmd = $this->ctrl->getCmd("preview");
             $ret = $this->{$cmd}();
             break;
     }
     //echo "+$ret+";
     return $ret;
 }
 public function executeCommand()
 {
     global $ilCtrl, $ilTabs, $ilErr, $ilAccess;
     //if($this->ctrl->getTargetScript() == 'link_resources.php')
     if ($_GET["baseClass"] == 'ilLinkResourceHandlerGUI') {
         $_GET['view_mode'] = isset($_GET['switch_mode']) ? $_GET['switch_mode'] : $_GET['view_mode'];
         $ilCtrl->saveParameter($this, 'view_mode');
         $this->__prepareOutput();
     }
     $this->lng->loadLanguageModule("webr");
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     switch ($next_class) {
         case "ilinfoscreengui":
             $this->infoScreenForward();
             // forwards command
             break;
         case 'ilmdeditorgui':
             if (!$ilAccess->checkAccess('write', '', $this->object->getRefId())) {
                 $ilErr->raiseError($this->lng->txt('permission_denied'), $ilErr->WARNING);
             }
             $this->prepareOutput();
             $ilTabs->activateTab('id_meta_data');
             include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php';
             $md_gui =& new ilMDEditorGUI($this->object->getId(), 0, $this->object->getType());
             $md_gui->addObserver($this->object, 'MDUpdateListener', 'General');
             $this->ctrl->forwardCommand($md_gui);
             break;
         case 'ilpermissiongui':
             $this->prepareOutput();
             $ilTabs->activateTab('id_permissions');
             include_once "Services/AccessControl/classes/class.ilPermissionGUI.php";
             $perm_gui =& new ilPermissionGUI($this);
             $ret =& $this->ctrl->forwardCommand($perm_gui);
             break;
         case 'ilobjectcopygui':
             $this->prepareOutput();
             include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
             $cp = new ilObjectCopyGUI($this);
             $cp->setType('webr');
             $this->ctrl->forwardCommand($cp);
             break;
         case 'ilexportgui':
             $this->prepareOutput();
             $this->tabs_gui->setTabActive('export');
             include_once './Services/Export/classes/class.ilExportGUI.php';
             $exp = new ilExportGUI($this);
             $exp->addFormat('xml');
             $this->ctrl->forwardCommand($exp);
             break;
         case "ilcommonactiondispatchergui":
             include_once "Services/Object/classes/class.ilCommonActionDispatcherGUI.php";
             $gui = ilCommonActionDispatcherGUI::getInstanceFromAjaxCall();
             $this->ctrl->forwardCommand($gui);
             break;
         case "ilpropertyformgui":
             include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
             $this->initFormLink(self::LINK_MOD_EDIT);
             $this->ctrl->forwardCommand($this->form);
             break;
         case "ilinternallinkgui":
             $this->lng->loadLanguageModule("content");
             require_once "./Modules/LearningModule/classes/class.ilInternalLinkGUI.php";
             $link_gui = new ilInternalLinkGUI("RepositoryItem", 0);
             $link_gui->filterLinkType("PageObject");
             $link_gui->filterLinkType("GlossaryItem");
             $link_gui->filterLinkType("RepositoryItem");
             $link_gui->setFilterWhiteList(true);
             $link_gui->setMode("asynch");
             $ilCtrl->forwardCommand($link_gui);
             break;
         default:
             if (!$cmd) {
                 $this->ctrl->setCmd("view");
             }
             parent::executeCommand();
     }
     if (!$this->getCreationMode()) {
         // Fill meta header tags
         include_once 'Services/MetaData/classes/class.ilMDUtils.php';
         ilMDUtils::_fillHTMLMetaTags($this->object->getId(), $this->object->getId(), 'webr');
         $this->addHeaderAction();
     }
     return true;
 }
 /**
  * execute command
  */
 function &executeCommand()
 {
     global $ilCtrl, $ilHelp;
     $cmd = $this->ctrl->getCmd("displayPage");
     $cmdClass = strtolower($this->ctrl->getCmdClass());
     $hier_id = $_GET["hier_id"];
     $pc_id = $_GET["pc_id"];
     if (isset($_POST["new_hier_id"])) {
         $hier_id = $_POST["new_hier_id"];
     }
     //echo "GEThier_id:".$_GET["hier_id"]."<br>";
     //$this->ctrl->debug("hier_id:".$hier_id);
     $new_type = isset($_GET["new_type"]) ? $_GET["new_type"] : $_POST["new_type"];
     //echo "-$cmd-";
     //var_dump($_GET); var_dump($_POST); exit;
     /*array
       'target' =>
         array
           0 => string '' (length=0)
       'commandpg' => string 'insertJS' (length=8)
       'cmd' =>
         array
           'exec_pg:' => string 'Ok' (length=2)
       'ajaxform_content' => string '<div class=\"ilc_text_block_Standard\">sdfsdfsd sd</div>' (length=56)
       'ajaxform_char' => string '' (length=0)*/
     /*array
       'usedwsiwygeditor' => string '0' (length=1)
       'par_characteristic' => string 'Standard' (length=8)
       'par_content' => string 'adasdaasda a
     
     ' (length=14)
       'par_language' => string 'en' (length=2)
       'cmd' =>
         array
           'create_par' => string 'Save' (length=4)*/
     if (substr($cmd, 0, 5) == "exec_") {
         //echo ":".key($_POST["cmd"]).":";
         // check whether pc id is given
         $pca = explode(":", key($_POST["cmd"]));
         $pc_id = $pca[1];
         //echo "<br />exec_pc_id:-$pc_id-";
         $cmd = explode("_", $pca[0]);
         unset($cmd[0]);
         $hier_id = implode($cmd, "_");
         $cmd = $_POST["command" . $hier_id];
     }
     //echo "<br>cmd:$cmd:";exit;
     // strip "c" "r" of table ids from hierarchical id
     $first_hier_character = substr($hier_id, 0, 1);
     if ($first_hier_character == "c" || $first_hier_character == "r" || $first_hier_character == "i") {
         $hier_id = substr($hier_id, 1);
     }
     $this->page->buildDom();
     $this->page->addHierIDs();
     // determine command and content object
     if ($cmdClass != "ilfilesystemgui") {
         $com = explode("_", $cmd);
         $cmd = $com[0];
     }
     $next_class = $this->ctrl->getNextClass($this);
     // determine content type
     if ($com[0] == "insert" || $com[0] == "create") {
         $cmd = $com[0];
         $ctype = $com[1];
         $add_type = $com[2];
         if ($ctype == "mob") {
             $ctype = "media";
         }
     } else {
         // setting cmd and cmdclass for editing of linked media
         if ($cmd == "editLinkedMedia") {
             $this->ctrl->setCmd("edit");
             $cmd = "edit";
             $_GET["pgEdMediaMode"] = "editLinkedMedia";
             $_GET["mob_id"] = $_POST["mob_id"];
         }
         if ($_GET["pgEdMediaMode"] == "editLinkedMedia") {
             $this->ctrl->setParameter($this, "pgEdMediaMode", "editLinkedMedia");
             $this->ctrl->setParameter($this, "mob_id", $_GET["mob_id"]);
             if ($cmdClass != "ilinternallinkgui" && $cmdClass != "ilmdeditorgui" && $cmdClass != "ilimagemapeditorgui" && $cmdClass != "ilfilesystemgui") {
                 $this->ctrl->setCmdClass("ilobjmediaobjectgui");
                 $cmdClass = "ilobjmediaobjectgui";
             }
         }
         if (false) {
             var_dump($_POST);
             var_dump($_GET);
             echo ";{$cmd};" . $next_class . ";";
             echo "-{$pc_id}-";
             echo "-{$cmd}-" . $this->ctrl->getCmd() . "-";
         }
         //var_dump($_POST);
         // note: ilinternallinkgui for page: no cont_obj is received
         // ilinternallinkgui for mob: cont_obj is received
         if ($cmd != "insertFromClipboard" && $cmd != "pasteFromClipboard" && $cmd != "setMediaMode" && $cmd != "copyLinkedMediaToClipboard" && $cmd != "activatePage" && $cmd != "deactivatePage" && $cmd != "copyLinkedMediaToMediaPool" && $cmd != "showSnippetInfo" && $cmd != "deleteSelected" && $cmd != "paste" && $cmd != "copySelected" && $cmd != "cutSelected" && ($cmd != "displayPage" || $_POST["editImagemapForward_x"] != "" || $_POST["imagemap_x"] != "") && ($cmd != "displayPage" || $_POST["editImagemapForward_x"] != "") && $cmd != "activateSelected" && $cmd != "assignCharacteristicForm" && $cmd != "assignCharacteristic" && $cmd != "cancelCreate" && $cmd != "popup" && $cmdClass != "ileditclipboardgui" && $cmd != "addChangeComment" && ($cmdClass != "ilinternallinkgui" || $next_class == "ilpcmediaobjectgui")) {
             if ($_GET["pgEdMediaMode"] != "editLinkedMedia") {
                 //$this->ctrl->debug("gettingContentObject (no linked media)");
                 //echo $hier_id."-".$pc_id;
                 $cont_obj =& $this->page->getContentObject($hier_id, $pc_id);
                 if (!is_object($cont_obj)) {
                     $ilCtrl->returnToParent($this);
                 }
                 $ctype = $cont_obj->getType();
             }
         }
     }
     //$this->ctrl->debug("+ctype:".$ctype."+");
     //		$this->tpl->addBlockFile("CONTENT", "content", "tpl.adm_content.html");
     //		$this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
     if ($ctype != "media" || !is_object($cont_obj)) {
         if ($this->getHeader() != "") {
             $this->tpl->setTitle($this->getHeader());
         }
         $this->displayLocator();
     }
     $this->cont_obj =& $cont_obj;
     // special command / command class handling
     $this->ctrl->setParameter($this, "hier_id", $hier_id);
     $this->ctrl->setParameter($this, "pc_id", $pc_id);
     $this->ctrl->setCmd($cmd);
     //$next_class = $this->ctrl->getNextClass($this);
     //$this->ctrl->debug("+next_class:".$next_class."+");
     //echo("+next_class:".$next_class."+".$ctype."+"); exit;
     if ($next_class == "") {
         switch ($ctype) {
             case "src":
                 $this->ctrl->setCmdClass("ilPCSourcecodeGUI");
                 break;
             case "par":
                 $this->ctrl->setCmdClass("ilPCParagraphGUI");
                 break;
                 // advanced table
             // advanced table
             case "tab":
                 $this->ctrl->setCmdClass("ilPCTableGUI");
                 break;
                 // data table
             // data table
             case "dtab":
                 $this->ctrl->setCmdClass("ilPCDataTableGUI");
                 break;
             case "td":
                 $this->ctrl->setCmdClass("ilPCTableDataGUI");
                 break;
             case "media":
                 $this->ctrl->setCmdClass("ilPCMediaObjectGUI");
                 break;
             case "list":
                 $this->ctrl->setCmdClass("ilPCListGUI");
                 break;
             case "li":
                 $this->ctrl->setCmdClass("ilPCListItemGUI");
                 break;
             case "flst":
                 $this->ctrl->setCmdClass("ilPCFileListGUI");
                 break;
             case "flit":
                 $this->ctrl->setCmdClass("ilPCFileItemGUI");
                 break;
             case "pcqst":
                 $this->ctrl->setCmdClass("ilPCQuestionGUI");
                 break;
             case "sec":
                 $this->ctrl->setCmdClass("ilPCSectionGUI");
                 break;
             case "repobj":
                 $this->ctrl->setCmdClass("ilPCResourcesGUI");
                 break;
             case 'lpe':
                 $this->ctrl->setCmdClass('ilPCLoginPageElementGUI');
                 break;
             case "map":
                 $this->ctrl->setCmdClass("ilPCMapGUI");
                 break;
             case "tabs":
                 $this->ctrl->setCmdClass("ilPCTabsGUI");
                 break;
             case "plug":
                 $this->ctrl->setCmdClass("ilPCPluggedGUI");
                 break;
             case "plach":
                 $this->ctrl->setCmdClass("ilPCPlaceHolderGUI");
                 break;
             case "incl":
                 $this->ctrl->setCmdClass("ilPCContentIncludeGUI");
                 break;
             case "iim":
                 $this->ctrl->setCmdClass("ilPCInteractiveImageGUI");
                 break;
             case "prof":
                 $this->ctrl->setCmdClass("ilPCProfileGUI");
                 break;
             case "vrfc":
                 $this->ctrl->setCmdClass("ilPCVerificationGUI");
                 break;
             case "blog":
                 $this->ctrl->setCmdClass("ilPCBlogGUI");
                 break;
             case "qover":
                 $this->ctrl->setCmdClass("ilPCQuestionOverviewGUI");
                 break;
             case "skills":
                 $this->ctrl->setCmdClass("ilPCSkillsGUI");
                 break;
         }
         $next_class = $this->ctrl->getNextClass($this);
     }
     // do not do this while imagemap editing is ongoing
     if ($cmd == "displayPage" && $_POST["editImagemapForward_x"] == "" && $_POST["imagemap_x"] == "") {
         $next_class = "";
     }
     //echo "hier_id:$hier_id:type:$type:cmd:$cmd:ctype:$ctype:next_class:$next_class:<br>"; exit;
     switch ($next_class) {
         case "ilinternallinkgui":
             $link_gui = new ilInternalLinkGUI($this->int_link_def_type, $this->int_link_def_id);
             $link_gui->setMode("normal");
             $link_gui->setFilterWhiteList($this->page_gui->getPageConfig()->getIntLinkFilterWhiteList());
             foreach ($this->page_gui->getPageConfig()->getIntLinkFilters() as $filter) {
                 $link_gui->filterLinkType($filter);
             }
             //				$link_gui->setSetLinkTargetScript(
             //					$this->ctrl->getLinkTarget($this, "setInternalLink"));
             $link_gui->setReturn($this->int_link_return);
             if ($ilCtrl->isAsynch()) {
                 $link_gui->setMode("asynch");
             }
             $ret =& $this->ctrl->forwardCommand($link_gui);
             break;
             // Sourcecode
         // Sourcecode
         case "ilpcsourcecodegui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_code");
             include_once "./Services/COPage/classes/class.ilPCSourcecodeGUI.php";
             $src_gui =& new ilPCSourcecodeGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret =& $this->ctrl->forwardCommand($src_gui);
             break;
             // Paragraph
         // Paragraph
         case "ilpcparagraphgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_par");
             include_once "./Services/COPage/classes/class.ilPCParagraphGUI.php";
             $par_gui =& new ilPCParagraphGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $par_gui->setEnableWikiLinks($this->page_gui->getEnabledWikiLinks());
             $par_gui->setStyleId($this->page_gui->getStyleId());
             $par_gui->setEnableInternalLinks($this->getEnableInternalLinks());
             $par_gui->setEnableKeywords($this->getEnableKeywords());
             $par_gui->setEnableAnchors($this->getEnableAnchors());
             $ret =& $this->ctrl->forwardCommand($par_gui);
             break;
             // Table
         // Table
         case "ilpctablegui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_tab");
             include_once "./Services/COPage/classes/class.ilPCTableGUI.php";
             $tab_gui =& new ilPCTableGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $tab_gui->setStyleId($this->page_gui->getStyleId());
             $ret =& $this->ctrl->forwardCommand($tab_gui);
             break;
             // Table Cell
         // Table Cell
         case "ilpctabledatagui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_td");
             include_once "./Services/COPage/classes/class.ilPCTableDataGUI.php";
             $td_gui =& new ilPCTableDataGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret =& $this->ctrl->forwardCommand($td_gui);
             break;
             // Data Table
         // Data Table
         case "ilpcdatatablegui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_dtab");
             include_once "./Services/COPage/classes/class.ilPCDataTableGUI.php";
             $tab_gui =& new ilPCDataTableGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $tab_gui->setStyleId($this->page_gui->getStyleId());
             $tab_gui->setEnableInternalLinks($this->getEnableInternalLinks());
             $tab_gui->setEnableKeywords($this->getEnableKeywords());
             $tab_gui->setEnableAnchors($this->getEnableAnchors());
             $ret =& $this->ctrl->forwardCommand($tab_gui);
             break;
             // PC Media Object
         // PC Media Object
         case "ilpcmediaobjectgui":
             include_once "./Services/COPage/classes/class.ilPCMediaObjectGUI.php";
             $this->tabs_gui->clearTargets();
             $this->tabs_gui->setBackTarget($this->page_gui->page_back_title, $ilCtrl->getLinkTarget($this->page_gui, "edit"));
             $pcmob_gui =& new ilPCMediaObjectGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $pcmob_gui->setStyleId($this->page_gui->getStyleId());
             $pcmob_gui->setEnabledMapAreas($this->page_gui->getEnabledInternalLinks());
             $ret =& $this->ctrl->forwardCommand($pcmob_gui);
             $ilHelp->setScreenIdComponent("copg_media");
             break;
             // only for "linked" media
         // only for "linked" media
         case "ilobjmediaobjectgui":
             $this->tabs_gui->clearTargets();
             $this->tabs_gui->setBackTarget($this->lng->txt("back"), $ilCtrl->getParentReturn($this));
             $mob_gui =& new ilObjMediaObjectGUI("", $_GET["mob_id"], false, false);
             $mob_gui->getTabs($this->tabs_gui);
             $mob_gui->setEnabledMapAreas($this->page_gui->getEnabledInternalLinks());
             $this->tpl->setTitle($this->lng->txt("mob") . ": " . ilObject::_lookupTitle($_GET["mob_id"]));
             $ret =& $this->ctrl->forwardCommand($mob_gui);
             break;
             // List
         // List
         case "ilpclistgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_list");
             include_once "./Services/COPage/classes/class.ilPCListGUI.php";
             $list_gui =& new ilPCListGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $list_gui->setStyleId($this->page_gui->getStyleId());
             $ret =& $this->ctrl->forwardCommand($list_gui);
             break;
             // List Item
         // List Item
         case "ilpclistitemgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_li");
             include_once "./Services/COPage/classes/class.ilPCListItemGUI.php";
             $list_item_gui =& new ilPCListItemGUI($this->page, $cont_obj, $hier_id, $pc_id);
             //$ret =& $list_item_gui->executeCommand();
             $ret =& $this->ctrl->forwardCommand($list_item_gui);
             break;
             // File List
         // File List
         case "ilpcfilelistgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_flst");
             include_once "./Services/COPage/classes/class.ilPCFileListGUI.php";
             $file_list_gui =& new ilPCFileListGUI($this->page, $cont_obj, $hier_id, $pc_id);
             // scorm2004-start
             $file_list_gui->setStyleId($this->page_gui->getStyleId());
             // scorm2004-end
             //$ret =& $file_list_gui->executeCommand();
             $ret =& $this->ctrl->forwardCommand($file_list_gui);
             break;
             // File List Item
         // File List Item
         case "ilpcfileitemgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_flit");
             include_once "./Services/COPage/classes/class.ilPCFileItemGUI.php";
             $file_item_gui =& new ilPCFileItemGUI($this->page, $cont_obj, $hier_id, $pc_id);
             //$ret =& $file_item_gui->executeCommand();
             $ret =& $this->ctrl->forwardCommand($file_item_gui);
             break;
             // Question
         // Question
         case "ilpcquestiongui":
             include_once "./Services/COPage/classes/class.ilPCQuestionGUI.php";
             $pc_question_gui =& new ilPCQuestionGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $pc_question_gui->setSelfAssessmentMode($this->page_gui->getEnabledSelfAssessment());
             $pc_question_gui->setPageConfig($this->page_gui->getPageConfig());
             if ($this->page_gui->getEnabledSelfAssessment()) {
                 $this->tabs_gui->clearTargets();
                 $ilHelp->setScreenIdComponent("copg_pcqst");
                 $this->tabs_gui->setBackTarget($this->lng->txt("back"), $ilCtrl->getParentReturn($this));
                 $ret = $this->ctrl->forwardCommand($pc_question_gui);
             } else {
                 $cmd = $this->ctrl->getCmd();
                 $pc_question_gui->{$cmd}();
                 $this->ctrl->redirectByClass(array("ilobjquestionpoolgui", get_class($cont_obj)), "editQuestion");
             }
             break;
             // PlaceHolder
         // PlaceHolder
         case "ilpcplaceholdergui":
             $this->tabs_gui->clearTargets();
             $this->tabs_gui->setBackTarget($this->page_gui->page_back_title, $ilCtrl->getLinkTarget($this->page_gui, "edit"));
             $ilHelp->setScreenIdComponent("copg_plach");
             include_once "./Services/COPage/classes/class.ilPCPlaceHolderGUI.php";
             $plch_gui =& new ilPCPlaceHolderGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $plch_gui->setEnableInternalLinks($this->getEnableInternalLinks());
             $plch_gui->setEnableKeywords($this->getEnableKeywords());
             $plch_gui->setEnableAnchors($this->getEnableAnchors());
             $plch_gui->setStyleId($this->page_gui->getStyleId());
             $ret =& $this->ctrl->forwardCommand($plch_gui);
             break;
             // Section
         // Section
         case "ilpcsectiongui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_sec");
             include_once "./Services/COPage/classes/class.ilPCSectionGUI.php";
             $sec_gui =& new ilPCSectionGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $sec_gui->setStyleId($this->page_gui->getStyleId());
             $ret =& $this->ctrl->forwardCommand($sec_gui);
             break;
             // Resources
         // Resources
         case "ilpcresourcesgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_repobj");
             include_once "./Services/COPage/classes/class.ilPCResourcesGUI.php";
             $res_gui =& new ilPCResourcesGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret =& $this->ctrl->forwardCommand($res_gui);
             break;
             // Login Page elements
         // Login Page elements
         case 'ilpcloginpageelementgui':
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_lpe");
             include_once './Services/COPage/classes/class.ilPCLoginPageElementGUI.php';
             $res_gui = new ilPCLoginPageElementGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret = $this->ctrl->forwardCommand($res_gui);
             break;
             // Map
         // Map
         case "ilpcmapgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_map");
             include_once "./Services/COPage/classes/class.ilPCMapGUI.php";
             $map_gui =& new ilPCMapGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret =& $this->ctrl->forwardCommand($map_gui);
             break;
             // Tabs
         // Tabs
         case "ilpctabsgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_tabs");
             include_once "./Services/COPage/classes/class.ilPCTabsGUI.php";
             $tabs_gui =& new ilPCTabsGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $tabs_gui->setStyleId($this->page_gui->getStyleId());
             $ret =& $this->ctrl->forwardCommand($tabs_gui);
             break;
             // Plugged Component
         // Plugged Component
         case "ilpcpluggedgui":
             $this->tabs_gui->clearTargets();
             include_once "./Services/COPage/classes/class.ilPCPluggedGUI.php";
             $plugged_gui =& new ilPCPluggedGUI($this->page, $cont_obj, $hier_id, $add_type, $pc_id);
             $ret =& $this->ctrl->forwardCommand($plugged_gui);
             break;
             // Content Include
         // Content Include
         case "ilpccontentincludegui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_incl");
             include_once "./Services/COPage/classes/class.ilPCContentIncludeGUI.php";
             $incl_gui = new ilPCContentIncludeGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret =& $this->ctrl->forwardCommand($incl_gui);
             break;
             // Interactive Image
         // Interactive Image
         case "ilpcinteractiveimagegui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_iim");
             include_once "./Services/COPage/classes/class.ilPCInteractiveImageGUI.php";
             $iim_gui = new ilPCInteractiveImageGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret = $this->ctrl->forwardCommand($iim_gui);
             break;
             // Profile
         // Profile
         case "ilpcprofilegui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_prof");
             include_once "./Services/COPage/classes/class.ilPCProfileGUI.php";
             $prof_gui = new ilPCProfileGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret = $this->ctrl->forwardCommand($prof_gui);
             break;
             // Verification
         // Verification
         case "ilpcverificationgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_vrfc");
             include_once "./Services/COPage/classes/class.ilPCVerificationGUI.php";
             $vrfc_gui = new ilPCVerificationGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret = $this->ctrl->forwardCommand($vrfc_gui);
             break;
             // Blog
         // Blog
         case "ilpcbloggui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_blog");
             include_once "./Services/COPage/classes/class.ilPCBlogGUI.php";
             $blog_gui = new ilPCBlogGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret = $this->ctrl->forwardCommand($blog_gui);
             break;
             // Question Overview
         // Question Overview
         case "ilpcquestionoverviewgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_qover");
             include_once "./Services/COPage/classes/class.ilPCQuestionOverviewGUI.php";
             $qover_gui =& new ilPCQuestionOverviewGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret = $this->ctrl->forwardCommand($qover_gui);
             break;
             // Skills
         // Skills
         case "ilpcskillsgui":
             $this->tabs_gui->clearTargets();
             $ilHelp->setScreenIdComponent("copg_skills");
             include_once "./Services/COPage/classes/class.ilPCSkillsGUI.php";
             $skills_gui = new ilPCSkillsGUI($this->page, $cont_obj, $hier_id, $pc_id);
             $ret = $this->ctrl->forwardCommand($skills_gui);
             break;
         default:
             if ($cmd == "pasteFromClipboard") {
                 $ret = $this->pasteFromClipboard($hier_id);
             } else {
                 if ($cmd == "paste") {
                     $ret = $this->paste($hier_id);
                 } else {
                     $ret = $this->{$cmd}();
                 }
             }
             break;
     }
     return $ret;
 }
 /**
  * execute command
  */
 function &executeCommand()
 {
     global $ilCtrl, $ilTabs, $lng;
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     //$this->ctrl->addTab("clipboard", $this->ctrl->getLinkTargetByClass("ilEditClipboardGUI", "view")
     //	, "view", "ilEditClipboardGUI");
     $this->getTabs();
     $ilCtrl->setReturn($this, "edit");
     //echo "-".$next_class."-";
     switch ($next_class) {
         case 'ilmdeditorgui':
             //$this->setTabs();
             $ilTabs->setTabActive("meta_data");
             include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php';
             $md_gui =& new ilMDEditorGUI($this->meta_data_rep_obj_id, $this->meta_data_sub_obj_id, $this->meta_data_type);
             if (is_object($this->meta_data_observer_obj)) {
                 $md_gui->addObserver($this->meta_data_observer_obj, $this->meta_data_observer_func, "General");
             }
             $this->ctrl->forwardCommand($md_gui);
             break;
         case "ileditclipboardgui":
             //$this->tabs_gui->clearTargets();
             //$this->ctrl->setReturn($this, "view");
             $clip_gui = new ilEditClipboardGUI();
             $clip_gui->setPageBackTitle($this->page_back_title);
             //$ret =& $clip_gui->executeCommand();
             $ret =& $this->ctrl->forwardCommand($clip_gui);
             break;
             // notes
         // notes
         case "ilnotegui":
             switch ($_GET["notes_mode"]) {
                 default:
                     $html = $this->edit();
                     $ilTabs->setTabActive("edit");
                     return $html;
             }
             break;
         case 'ilpublicuserprofilegui':
             require_once './Services/User/classes/class.ilPublicUserProfileGUI.php';
             $profile_gui = new ilPublicUserProfileGUI($_GET["user"]);
             $ret = $this->ctrl->forwardCommand($profile_gui);
             break;
         case "ilpageeditorgui":
             if (!$this->getEnableEditing()) {
                 ilUtil::sendFailure($lng->txt("permission_denied"), true);
                 $ilCtrl->redirect($this, "preview");
             }
             $page_editor =& new ilPageEditorGUI($this->getPageObject(), $this);
             $page_editor->setLocator($this->locator);
             $page_editor->setHeader($this->getHeader());
             $page_editor->setPageBackTitle($this->page_back_title);
             $page_editor->setEnableInternalLinks($this->getEnabledInternalLinks());
             $page_editor->setEnableKeywords($this->getEnableKeywords());
             $page_editor->setEnableAnchors($this->getEnableAnchors());
             $page_editor->setIntLinkHelpDefault($this->int_link_def_type, $this->int_link_def_id);
             $page_editor->setIntLinkReturn($this->int_link_return);
             //$page_editor->executeCommand();
             $ret =& $this->ctrl->forwardCommand($page_editor);
             break;
         case 'ilnewsitemgui':
             include_once "./Services/News/classes/class.ilNewsItemGUI.php";
             $news_item_gui = new ilNewsItemGUI();
             $news_item_gui->setEnableEdit(true);
             $news_item_gui->setContextObjId($this->news_obj_id);
             $news_item_gui->setContextObjType($this->news_obj_type);
             $news_item_gui->setContextSubObjId($this->obj->getId());
             $news_item_gui->setContextSubObjType("pg");
             $ret = $ilCtrl->forwardCommand($news_item_gui);
             break;
             $profile_gui = new ilPublicUserProfileGUI($_GET["user"]);
             $ret = $this->ctrl->forwardCommand($profile_gui);
             break;
         case "ilpropertyformgui":
             include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
             $form = $this->initOpenedContentForm();
             $this->ctrl->forwardCommand($form);
             break;
         case "ilinternallinkgui":
             $this->lng->loadLanguageModule("content");
             require_once "./Modules/LearningModule/classes/class.ilInternalLinkGUI.php";
             $link_gui = new ilInternalLinkGUI("Media_Media", 0);
             //$link_gui->filterLinkType("RepositoryItem");
             $link_gui->filterLinkType("PageObject_FAQ");
             $link_gui->filterLinkType("GlossaryItem");
             $link_gui->filterLinkType("Media_Media");
             $link_gui->filterLinkType("Media_FAQ");
             $link_gui->setFilterWhiteList(true);
             $link_gui->setMode("asynch");
             $ilCtrl->forwardCommand($link_gui);
             break;
         default:
             $cmd = $this->ctrl->getCmd("preview");
             $ret = $this->{$cmd}();
             break;
     }
     //echo "+$ret+";
     return $ret;
 }