Public Member Functions | Data Fields

ilObjContentObjectGUI Class Reference
[Modules/IliasLearningModule]

Class ilObjContentObjectGUI. More...

Inheritance diagram for ilObjContentObjectGUI:
Collaboration diagram for ilObjContentObjectGUI:

Public Member Functions

 ilObjContentObjectGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
 Constructor.
executeCommand ()
 execute command
 _forwards ()
 properties ()
 edit properties form
 explorer ()
 output explorer tree
 popup ()
 popup window for wysiwyg editor
 proceedDragDrop ()
 proceed drag and drop operations on pages/chapters
 saveProperties ()
 save properties
 createObject ()
 form for new content object creation
 saveObject ()
 save new content object to db
 addBibItemObject ($a_target="")
 add bib item (admin call)
 addBibItem ()
 add bib item (module call)
 deleteBibItemObject ($a_target="")
 delete bib item (admin call)
 deleteBibItem ()
 delete bib item (module call)
 editBibItemObject ($a_target="")
 edit bib items (admin call)
 editBibItem ()
 edit bib items (module call)
 saveBibItemObject ($a_target="")
 save bib item (admin call)
 saveBibItem ()
 save bib item (module call)
 exportObject ()
 export object
 importObject ()
 display dialogue for importing XML-LeaningObjects
 importFileObject ()
 display status information or report errors messages in case of error
 chapters ()
 show chapters
 pages ()
 activatePages ()
 activates or deactivates pages
 pastePage ()
 paste page
 copyPage ()
 copy page
 delete ($a_parent_subobj_id=0)
 confirm deletion screen for page object and structure object deletion
 cancelDelete ()
 cancel delete
 confirmedDelete ($a_parent_subobj_id=0)
 delete page object or structure objects
 getContextPath ($a_endnode_id, $a_startnode_id=1)
 get context path in content object tree
 showActions ()
 show possible action (form buttons)
 perm ()
 edit permissions
 permSave ()
 save permissions
 info ()
 info permissions
 addRole ()
 add local role
 owner ()
 show owner of content object
 view ()
 view content object
 moveChapter ($a_parent_subobj_id=0)
 move a single chapter (selection)
 copyChapter ($a_parent_subobj_id=0)
 copy a single chapter (selection)
 pasteChapter ($a_parent_subobj_id=0)
 paste chapter
 movePage ()
 move page
 cancel ()
 cancel action
 export ()
 export content object
 exportMenu ()
 show list of export files
 exportList ()
 viewExportLog ()
 downloadExportFile ()
 download export file
 publishExportFile ()
 download export file
 downloadPDFFile ()
 download export file
 confirmDeleteExportFile ()
 confirmation screen for export file deletion
 cancelDeleteExportFile ()
 cancel deletion of export files
 deleteExportFile ()
 delete export files
 fixTreeConfirm ()
 confirm screen for tree fixing
 cancelObject ($in_rep=false)
 cancel action and go back to previous page public
 cancelFixTree ()
 cancel tree fixing
 fixTree ()
 fix tree
 setilLMMenu ($a_offline=false, $a_export_format="", $a_active="content", $a_use_global_tabs=false)
 get lm menu html
 createPDF ()
 export content object
 exportHTML ()
 create html package
 exportSCORM ()
 create scorm package
 addLocations ($a_omit_obj_id=false)
 display locator
 setTabs ()
 output tabs
 getTabs (&$tabs_gui)
 adds tabs to tab gui object
 editPublicSection ()
 savePublicSection ()
 history ()
 history
 linkChecker ()
 saveLinkCheck ()
 refreshLinkCheck ()
 __initLinkChecker ()
 __initLMMenuEditor ()
 addMenuEntry ()
 display add menu entry form
 saveMenuEntry ()
 save new menu entry
 deleteMenuEntry ()
 drop a menu entry
 editMenuEntry ()
 edit menu entry form
 updateMenuEntry ()
 update a menu entry
 showEntrySelector ()
 selectHeader ()
 select page as header
 selectFooter ()
 select page as footer
 _goto ($a_target)
 redirect script

Data Fields

 $ctrl

Detailed Description

Class ilObjContentObjectGUI.

Author:
Alex Killing <alex.killing@gmx.de>
Stefan Meyer <smeyer@databay.de>
Sascha Hofmann <saschahofmann@gmx.de>
Id:
class.ilObjContentObjectGUI.php 17107 2008-08-04 17:26:48Z akill

Definition at line 40 of file class.ilObjContentObjectGUI.php.


Member Function Documentation

ilObjContentObjectGUI::__initLinkChecker (  ) 

Definition at line 3174 of file class.ilObjContentObjectGUI.php.

Referenced by linkChecker(), and refreshLinkCheck().

        {
                global $ilDB;

                include_once './classes/class.ilLinkChecker.php';

                $this->link_checker_obj =& new ilLinkChecker($ilDB,false);
                $this->link_checker_obj->setObjId($this->object->getId());

                return true;
        }

Here is the caller graph for this function:

ilObjContentObjectGUI::__initLMMenuEditor (  ) 

Definition at line 3186 of file class.ilObjContentObjectGUI.php.

Referenced by deleteMenuEntry(), editMenuEntry(), properties(), saveMenuEntry(), saveProperties(), setilLMMenu(), and updateMenuEntry().

        {
                include_once './Modules/LearningModule/classes/class.ilLMMenuEditor.php';

                $this->lmme_obj =& new ilLMMenuEditor();
                $this->lmme_obj->setObjId($this->object->getId());

                return true;
        }

Here is the caller graph for this function:

ilObjContentObjectGUI::_forwards (  ) 

Definition at line 263 of file class.ilObjContentObjectGUI.php.

        {
                return array("ilLMPageObjectGUI", "ilStructureObjectGUI","ilObjStyleSheetGUI");
        }

ilObjContentObjectGUI::_goto ( a_target  ) 

redirect script

Parameters:
string $a_target

Definition at line 3448 of file class.ilObjContentObjectGUI.php.

References $_GET, $ilErr, ilObjectGUI::$lng, ilObject::_lookupObjId(), ilObject::_lookupTitle(), exit, and ilUtil::sendInfo().

        {
                global $ilAccess, $ilErr, $lng;

                if ($ilAccess->checkAccess("read", "", $a_target))
                {
                        $_GET["baseClass"] = "ilLMPresentationGUI";
                        $_GET["ref_id"] = $a_target;
                        include("ilias.php");
                        exit;
                } else if ($ilAccess->checkAccess("visible", "", $a_target))
                {
                        $_GET["baseClass"] = "ilLMPresentationGUI";
                        $_GET["ref_id"] = $a_target;
                        $_GET["cmd"] = "infoScreen";
                        include("ilias.php");
                        exit;
                }
                else if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID))
                {
                        $_GET["cmd"] = "frameset";
                        $_GET["target"] = "";
                        $_GET["ref_id"] = ROOT_FOLDER_ID;
                        ilUtil::sendInfo(sprintf($lng->txt("msg_no_perm_read_item"),
                                ilObject::_lookupTitle(ilObject::_lookupObjId($a_target))), true);
                        include("repository.php");
                        exit;
                }


                $ilErr->raiseError($lng->txt("msg_no_perm_read_lm"), $ilErr->FATAL);
        }

Here is the call graph for this function:

ilObjContentObjectGUI::activatePages (  ) 

activates or deactivates pages

Definition at line 1575 of file class.ilObjContentObjectGUI.php.

References ilLMObject::_lookupActive(), and ilLMObject::_writeActive().

        {
                if (is_array($_POST["id"]))
                {
                        foreach($_POST["id"] as $id)
                        {
                                $act = ilLMObject::_lookupActive($id);
                                ilLMObject::_writeActive($id, !$act);
//echo "-".$a_id."-".!$act."-";
                        }
                }

                $this->ctrl->redirect($this, "pages");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::addBibItem (  ) 

add bib item (module call)

Definition at line 1099 of file class.ilObjContentObjectGUI.php.

References addBibItemObject(), and setTabs().

        {
                $this->setTabs();
                $this->addBibItemObject($this->ctrl->getLinkTarget($this));
        }

Here is the call graph for this function:

ilObjContentObjectGUI::addBibItemObject ( a_target = ""  ) 

add bib item (admin call)

Definition at line 1068 of file class.ilObjContentObjectGUI.php.

References $_GET, ilObjectGUI::$data, and ilUtil::sendInfo().

Referenced by addBibItem().

        {
                include_once "./Modules/LearningModule/classes/class.ilBibItemGUI.php";
                $bib_gui =& new ilBibItemGUI();
                $bib_gui->setObject($this->object);
                $bibItemName = $_POST["bibItemName"] ? $_POST["bibItemName"] : $_GET["bibItemName"];
                $bibItemIndex = $_POST["bibItemIndex"] ? $_POST["bibItemIndex"] : $_GET["bibItemIndex"];
                if ($bibItemIndex == "")
                        $bibItemIndex = 0;
                $bibItemPath = $_POST["bibItemPath"] ? $_POST["bibItemPath"] : $_GET["bibItemPath"];
                if ($bibItemName != "")
                {
                        $bib_gui->bib_obj->add($bibItemName, $bibItemPath, $bibItemIndex);
                        $data = $bib_gui->bib_obj->getElement("BibItem");
                        $bibItemIndex = (count($data) - 1);
                }
                else
                {
                        ilUtil::sendInfo($this->lng->txt("bibitem_choose_element"), true);
                }
                if ($a_target == "")
                {
                        $a_target = "adm_object.php?ref_id=" . $this->object->getRefId();
                }

                $bib_gui->edit("ADM_CONTENT", "adm_content", $a_target, $bibItemIndex);
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::addLocations ( a_omit_obj_id = false  ) 

display locator

Parameters:
boolean $a_omit_obj_id set to true, if obj id is not page id (e.g. permission gui)

Definition at line 2777 of file class.ilObjContentObjectGUI.php.

References $_GET, ilObjectGUI::$lng, ilObjectGUI::$obj_id, $title, ilObjectGUI::$tree, ilFrameTargetInfo::_getFrame(), ilLMPageObject::_getPresentationTitle(), ilObject::_lookupObjId(), and ilObject::_lookupTitle().

Referenced by executeCommand().

        {
                global $lng, $tree, $ilLocator;

                //$ilLocator->clearItems();

                $this->ctrl->addLocation(
                        "...",
                        "");

                $par_id = $tree->getParentId($_GET["ref_id"]);
                $this->ctrl->addLocation(
                        ilObject::_lookupTitle(ilObject::_lookupObjId($par_id)),
                        "repository.php?cmd=frameset&amp;ref_id=".$par_id,
                        ilFrameTargetInfo::_getFrame("MainContent"), $par_id);
                if (!$a_omit_obj_id)
                {
                        $obj_id = $_GET["obj_id"];
                }
                $lmtree =& $this->object->getTree();

                if (($obj_id != 0) && $lmtree->isInTree($obj_id))
                {
                        $path = $lmtree->getPathFull($obj_id);
                }
                else
                {
                        $path = $lmtree->getPathFull($lmtree->getRootId());
                        if ($obj_id != 0)
                        {
                                $path[] = array("type" => "pg", "child" => $this->obj_id,
                                        "title" => ilLMPageObject::_getPresentationTitle($this->obj_id));
                        }
                }

                $modifier = 1;

                foreach ($path as $key => $row)
                {
                        if ($row["child"] == 1)
                        {
                                $this->ctrl->setParameter($this, "obj_id", "");
                                $this->ctrl->addLocation(
                                        $this->object->getTitle(),
                                        $this->ctrl->getLinkTarget($this, "properties"), "", $_GET["ref_id"]);
                        }
                        else
                        {
                                $title = $row["title"];
                                switch($row["type"])
                                {
                                        case "st":
                                                $this->ctrl->setParameterByClass("ilstructureobjectgui", "obj_id", $row["child"]);
                                                $this->ctrl->addLocation(
                                                        $title,
                                                        $this->ctrl->getLinkTargetByClass("ilstructureobjectgui", "view"));
                                                break;

                                        case "pg":
                                                $this->ctrl->setParameterByClass("illmpageobjectgui", "obj_id", $row["child"]);
                                                $this->ctrl->addLocation(
                                                        $title,
                                                        $this->ctrl->getLinkTargetByClass("illmpageobjectgui", "view"));
                                                break;
                                }
                        }
                }
                if (!$a_omit_obj_id)
                {
                        $this->ctrl->setParameter($this, "obj_id", $_GET["obj_id"]);
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::addMenuEntry (  ) 

display add menu entry form

Definition at line 3199 of file class.ilObjContentObjectGUI.php.

References $_GET, ilObjectGUI::$obj_id, $title, ilObject::_lookupObjectId(), ilObject::_lookupTitle(), ilObject::_lookupType(), and setTabs().

        {
                $this->setTabs();

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.lm_menu_entry_form.html","Modules/LearningModule");

                if (isset($_GET["link_ref_id"]))
                {
                        $obj_type = ilObject::_lookupType($_GET["link_ref_id"],true);
                        $obj_id = ilObject::_lookupObjectId($_GET["link_ref_id"]);
                        $title = ilObject::_lookupTitle($obj_id);

                        $target_link = $obj_type."_".$_GET["link_ref_id"];
                        $this->tpl->setVariable("TITLE", $title);
                        $this->tpl->setVariable("TARGET", $target_link);
                        $this->tpl->setVariable("LINK_REF_ID", $_GET["link_ref_id"]);
                }


                $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this, "saveMenuEntry"));
                $this->tpl->setVariable("TXT_NEW_ENTRY", $this->lng->txt("lm_menu_new_entry"));
                $this->tpl->setVariable("TXT_TARGET", $this->lng->txt("lm_menu_entry_target"));
                $this->tpl->setVariable("TXT_TITLE", $this->lng->txt("lm_menu_entry_title"));
                $this->tpl->setVariable("BTN_NAME", "saveMenuEntry");
                $this->tpl->setVariable("BTN_TEXT", $this->lng->txt("save"));
                $this->tpl->setVariable("BTN_NAME2", "showEntrySelector");
                $this->tpl->setVariable("BTN_TEXT2", $this->lng->txt("lm_menu_select_internal_object"));
                //$this->tpl->parseCurrentBlock();

        }

Here is the call graph for this function:

ilObjContentObjectGUI::addRole (  ) 

add local role

Definition at line 1928 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::addRoleObject(), and ilObjectGUI::setReturnLocation().

        {
                $this->setReturnLocation("addRole", $this->ctrl->getLinkTarget($this, "perm"));
                $this->addRoleObject();
        }

Here is the call graph for this function:

ilObjContentObjectGUI::cancel (  ) 

cancel action

Definition at line 2187 of file class.ilObjContentObjectGUI.php.

References $_GET.

        {
                if ($_GET["new_type"] == "pg")
                {
                        $this->ctrl->redirect($this, "pages");
                }
                else
                {
                        $this->ctrl->redirect($this, "chapters");
                }
        }

ilObjContentObjectGUI::cancelDelete (  ) 

cancel delete

Definition at line 1762 of file class.ilObjContentObjectGUI.php.

References $_GET.

        {
                session_unregister("saved_post");

                $this->ctrl->redirect($this, $_GET["backcmd"]);

        }

ilObjContentObjectGUI::cancelDeleteExportFile (  ) 

cancel deletion of export files

Definition at line 2504 of file class.ilObjContentObjectGUI.php.

        {
                session_unregister("ilExportFiles");
                $this->ctrl->redirect($this, "exportList");
        }

ilObjContentObjectGUI::cancelFixTree (  ) 

cancel tree fixing

Definition at line 2571 of file class.ilObjContentObjectGUI.php.

        {
                $this->ctrl->redirect($this, "properties");
        }

ilObjContentObjectGUI::cancelObject ( in_rep = false  ) 

cancel action and go back to previous page public

Reimplemented from ilObjectGUI.

Definition at line 2561 of file class.ilObjContentObjectGUI.php.

References $_GET, ilUtil::redirect(), and ilUtil::sendInfo().

        {
                ilUtil::sendInfo($this->lng->txt("msg_cancel"),true);
                ilUtil::redirect("repository.php?cmd=frameset&ref_id=".$_GET["ref_id"]);
                //$this->ctrl->redirectByClass("ilrepositorygui", "frameset");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::chapters (  ) 

show chapters

Definition at line 1334 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::$tree, ilStructureObject::_getPresentationTitle(), formSelect(), ilEditClipboard::getAction(), ilEditClipboard::getContentObjectId(), ilEditClipboard::getContentObjectType(), ilUtil::getImagePath(), ilObjectGUI::setActions(), setTabs(), showActions(), and ilUtil::switchColor().

        {
                global $tree;

                $this->setTabs();

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.structure_edit.html", "Modules/LearningModule");
                $num = 0;

                $this->ctrl->setParameter($this, "backcmd", "chapters");
                $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
                $this->tpl->setVariable("HEADER_TEXT", $this->lng->txt("cont_chapters"));
                $this->tpl->setVariable("CHECKBOX_TOP", IL_FIRST_NODE);


                $cnt = 0;
                $childs = $this->lm_tree->getChilds($this->lm_tree->getRootId());
                foreach ($childs as $child)
                {
                        if($child["type"] != "st")
                        {
                                continue;
                        }

                        $this->tpl->setCurrentBlock("table_row");
                        // color changing
                        $css_row = ilUtil::switchColor($cnt++,"tblrow1","tblrow2");

                        // checkbox
                        $this->tpl->setVariable("CHECKBOX_ID", $child["obj_id"]);
                        $this->tpl->setVariable("CSS_ROW", $css_row);
                        $this->tpl->setVariable("IMG_OBJ", ilUtil::getImagePath("icon_st.gif"));

                        // link
                        $this->ctrl->setParameter($this, "backcmd", "");
                        $this->ctrl->setParameterByClass("ilStructureObjectGUI", "obj_id", $child["obj_id"]);
                        $this->tpl->setVariable("LINK_TARGET",
                                $this->ctrl->getLinkTargetByClass("ilStructureObjectGUI", "view"));

                        // title
                        $this->tpl->setVariable("TEXT_CONTENT",
                                ilStructureObject::_getPresentationTitle($child["obj_id"],
                                $this->object->isActiveNumbering()));

                        $this->tpl->parseCurrentBlock();
                }

                $paste_active = false;
                if (ilEditClipboard::getContentObjectType() == "st")
                {
                        if ($this->lm_tree->isInTree(ilEditClipboard::getContentObjectId())
                                || ilEditClipboard::getAction() == "copy")
                        {
                                $paste_active = true;
                        }
                }

                if($cnt == 0 && !$paste_active)
                {
                        $this->tpl->setCurrentBlock("notfound");
                        $this->tpl->setVariable("NUM_COLS", 3);
                        $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found"));
                        $this->tpl->parseCurrentBlock();
                }
                else
                {
                        // SHOW VALID ACTIONS
                        $this->tpl->setVariable("NUM_COLS", 3);
                        if ($cnt > 0)
                        {
                                $acts = array("delete" => "delete", "moveChapter" => "moveChapter",
                                        "copyChapter" => "copyChapter");
                        }
                        if ($paste_active)
                        {
                                $acts["pasteChapter"] =  "pasteChapter";
                        }
                        $this->setActions($acts);
                        $this->showActions();
                }

                // SHOW POSSIBLE SUB OBJECTS
                $this->tpl->setVariable("NUM_COLS", 3);
                $subobj = array("st");
                $opts = ilUtil::formSelect(12,"new_type",$subobj);
                $this->tpl->setCurrentBlock("add_object");
                $this->tpl->setVariable("SELECT_OBJTYPE", $opts);
                $this->tpl->setVariable("BTN_NAME", "create");
                $this->tpl->setVariable("TXT_ADD", $this->lng->txt("insert"));
                $this->tpl->parseCurrentBlock();

                $this->tpl->setCurrentBlock("form");
                $this->tpl->parseCurrentBlock();

        }

Here is the call graph for this function:

ilObjContentObjectGUI::confirmDeleteExportFile (  ) 

confirmation screen for export file deletion

Definition at line 2453 of file class.ilObjContentObjectGUI.php.

References $_SESSION, $file, ilUtil::getImagePath(), ilUtil::sendInfo(), setTabs(), and ilUtil::switchColor().

        {
                if(!isset($_POST["file"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }

                $this->setTabs();

                // SAVE POST VALUES
                $_SESSION["ilExportFiles"] = $_POST["file"];

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.confirm_deletion.html", "Modules/LearningModule");

                ilUtil::sendInfo($this->lng->txt("info_delete_sure"));

                $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));

                // BEGIN TABLE HEADER
                $this->tpl->setCurrentBlock("table_header");
                $this->tpl->setVariable("TEXT",$this->lng->txt("objects"));
                $this->tpl->parseCurrentBlock();

                // BEGIN TABLE DATA
                $counter = 0;
                foreach($_POST["file"] as $file)
                {
                                $file = explode(":", $file);
                                $this->tpl->setCurrentBlock("table_row");
                                $this->tpl->setVariable("CSS_ROW",ilUtil::switchColor(++$counter,"tblrow1","tblrow2"));
                                $this->tpl->setVariable("TEXT_CONTENT", $file[1]." (".$file[0].")");
                                $this->tpl->parseCurrentBlock();
                }

                // cancel/confirm button
                $this->tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("arrow_downright.gif"));
                $buttons = array( "cancelDeleteExportFile"  => $this->lng->txt("cancel"),
                        "deleteExportFile"  => $this->lng->txt("confirm"));
                foreach ($buttons as $name => $value)
                {
                        $this->tpl->setCurrentBlock("operation_btn");
                        $this->tpl->setVariable("BTN_NAME",$name);
                        $this->tpl->setVariable("BTN_VALUE",$value);
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:

ilObjContentObjectGUI::confirmedDelete ( a_parent_subobj_id = 0  ) 

delete page object or structure objects

Parameters:
int $a_parent_subobj_id id of parent object (structure object) of the objects, that should be deleted (or no parent object id for top level)

Definition at line 1777 of file class.ilObjContentObjectGUI.php.

References $_GET, $_SESSION, ilObjectGUI::$tree, ilHistory::_createEntry(), ilLMObject::_lookupTitle(), ilLMObjectFactory::getInstance(), and ilUtil::sendInfo().

        {
                $tree = new ilTree($this->object->getId());
                $tree->setTableNames('lm_tree','lm_data');
                $tree->setTreeTablePK("lm_id");

                // check number of objects
                if (!isset($_SESSION["saved_post"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }

                // delete all selected objects
                foreach ($_SESSION["saved_post"] as $id)
                {
                        if ($id != IL_FIRST_NODE)
                        {
                                $obj =& ilLMObjectFactory::getInstance($this->object, $id, false);
                                $node_data = $tree->getNodeData($id);
                                if (is_object($obj))
                                {
                                        $obj->setLMId($this->object->getId());

                                        include_once("classes/class.ilHistory.php");
                                        ilHistory::_createEntry($this->object->getId(), "delete_".$obj->getType(),
                                                array(ilLMObject::_lookupTitle($id), $id),
                                                $this->object->getType());

                                        $obj->delete();
                                }
                                if($tree->isInTree($id))
                                {
                                        $tree->deleteTree($node_data);
                                }
                        }
                }

                // check the tree
                $this->object->checkTree();

                // feedback
                ilUtil::sendInfo($this->lng->txt("info_deleted"),true);

                if ($a_parent_subobj_id == 0)
                {
                        $this->ctrl->redirect($this, $_GET["backcmd"]);
                }
        }

Here is the call graph for this function:

ilObjContentObjectGUI::copyChapter ( a_parent_subobj_id = 0  ) 

copy a single chapter (selection)

Definition at line 1997 of file class.ilObjContentObjectGUI.php.

References ilUtil::sendInfo(), and ilEditClipboard::storeContentObject().

        {
                if(!isset($_POST["id"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }

                if(count($_POST["id"]) > 1)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
                }

                if(count($_POST["id"]) == 1 && $_POST["id"][0] == IL_FIRST_NODE)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_item"), $this->ilias->error_obj->MESSAGE);
                }

                // SAVE POST VALUES
                ilEditClipboard::storeContentObject("st", $_POST["id"][0], "copy");

                ilUtil::sendInfo($this->lng->txt("cont_chap_copy_select_target_now"), true);

                if ($a_parent_subobj_id == 0)
                {
                        $this->ctrl->redirect($this, "chapters");
                }
        }

Here is the call graph for this function:

ilObjContentObjectGUI::copyPage (  ) 

copy page

Definition at line 1654 of file class.ilObjContentObjectGUI.php.

References ilUtil::sendInfo(), and ilEditClipboard::storeContentObject().

        {
                if(!isset($_POST["id"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }
                if(count($_POST["id"]) > 1)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
                }

                // SAVE POST VALUES
                ilEditClipboard::storeContentObject("pg",$_POST["id"][0],"copy");

                ilUtil::sendInfo($this->lng->txt("msg_copy_clipboard"), true);

                $this->ctrl->redirect($this, "pages");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::createObject (  ) 

form for new content object creation

Reimplemented from ilObjectGUI.

Definition at line 942 of file class.ilObjContentObjectGUI.php.

References $_GET, $_SESSION, ilObjectGUI::$data, ilFrameTargetInfo::_getFrame(), ilUtil::getImagePath(), ilObjectGUI::getTemplateFile(), ilUtil::prepareFormOutput(), and ilUtil::stripSlashes().

Referenced by importObject().

        {
                global $rbacsystem;

                $new_type = $_POST["new_type"] ? $_POST["new_type"] : $_GET["new_type"];

                if (!$rbacsystem->checkAccess("create", $_GET["ref_id"], $new_type))
                {
                        $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
                }
                else
                {
                        // fill in saved values in case of error
                        $data = array();
                        $data["fields"] = array();
                        $data["fields"]["title"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["title"],true);
                        $data["fields"]["desc"] = ilUtil::stripSlashes($_SESSION["error_post_vars"]["Fobject"]["desc"]);

                        $this->getTemplateFile("create", $new_type);

                        $this->tpl->setVariable("TYPE_IMG",
                                ilUtil::getImagePath("icon_".$new_type.".gif"));
                        $this->tpl->setVariable("ALT_IMG",
                                $this->lng->txt("obj_".$new_type));

                        foreach ($data["fields"] as $key => $val)
                        {
                                $this->tpl->setVariable("TXT_".strtoupper($key), $this->lng->txt($key));
                                $this->tpl->setVariable(strtoupper($key), $val);

                                if ($this->prepare_output)
                                {
                                        $this->tpl->parseCurrentBlock();
                                }
                        }

                        //$this->tpl->setVariable("FORMACTION", $this->getFormAction("save",
                        //      "adm_object.php?cmd=gateway&ref_id=".
                        //      $_GET["ref_id"]."&new_type=".$new_type));
                        $this->ctrl->setParameter($this, "new_type", $new_type);
                        $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this, "save"));


                        $this->tpl->setVariable("TXT_HEADER", $this->lng->txt($new_type."_new"));
                        $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
                        $this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt($new_type."_add"));
                        $this->tpl->setVariable("CMD_SUBMIT", "save");
                        $this->tpl->setVariable("TARGET", ' target="'.
                                ilFrameTargetInfo::_getFrame("MainContent").'" ');
                        $this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));

                        $this->tpl->setVariable("TXT_IMPORT_LM", $this->lng->txt("import_".$new_type));
                        $this->tpl->setVariable("TXT_LM_FILE", $this->lng->txt("file"));
                        $this->tpl->setVariable("TXT_IMPORT", $this->lng->txt("import"));

                        // get the value for the maximal uploadable filesize from the php.ini (if available)
                        $umf=get_cfg_var("upload_max_filesize");
                        // get the value for the maximal post data from the php.ini (if available)
                        $pms=get_cfg_var("post_max_size");

                        // use the smaller one as limit
                        $max_filesize = ((int) $umf < (int) $pms)
                                ? $umf
                                : $pms;
                        if ((int) $pms == 0) $max_filesize = $umf;
                        
                        if (!$max_filesize) $max_filesize=max($umf, $pms);

                        // gives out the limit as a littel notice :)
                        $this->tpl->setVariable("TXT_FILE_INFO", $this->lng->txt("file_notice")." $max_filesize.");

                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::createPDF (  ) 

export content object

Definition at line 2740 of file class.ilObjContentObjectGUI.php.

        {
                require_once("./Modules/LearningModule/classes/class.ilContObjectExport.php");
                $cont_exp = new ilContObjectExport($this->object, "pdf");
                $cont_exp->buildExportFile();
                $this->offlineList();
        }

ilObjContentObjectGUI::delete ( a_parent_subobj_id = 0  ) 

confirm deletion screen for page object and structure object deletion

Parameters:
int $a_parent_subobj_id id of parent object (structure object) of the objects, that should be deleted (or no parent object id for top level)

Definition at line 1680 of file class.ilObjContentObjectGUI.php.

References $_GET, $_SESSION, ilUtil::getImagePath(), ilUtil::sendInfo(), setTabs(), and ilUtil::switchColor().

        {
                if(!isset($_POST["id"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }

                if(count($_POST["id"]) == 1 && $_POST["id"][0] == IL_FIRST_NODE)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_item"), $this->ilias->error_obj->MESSAGE);
                }

                if ($a_parent_subobj_id == 0)
                {
                        $this->setTabs();
                }

                // SAVE POST VALUES
                $_SESSION["saved_post"] = $_POST["id"];

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.confirm_deletion.html", "Modules/LearningModule");

                ilUtil::sendInfo($this->lng->txt("info_delete_sure"));

                if ($a_parent_subobj_id != 0)
                {
                        $this->ctrl->setParameterByClass("ilStructureObjectGUI", "backcmd", $_GET["backcmd"]);
                        $this->ctrl->setParameterByClass("ilStructureObjectGUI", "obj_id", $a_parent_subobj_id);
                        $this->tpl->setVariable("FORMACTION",
                                $this->ctrl->getFormActionByClass("ilStructureObjectGUI"));
                }
                else
                {
                        $this->ctrl->setParameter($this, "backcmd", $_GET["backcmd"]);
                        $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
                }
                // BEGIN TABLE HEADER
                $this->tpl->setCurrentBlock("table_header");
                $this->tpl->setVariable("TEXT",$this->lng->txt("objects"));
                $this->tpl->parseCurrentBlock();

                // END TABLE HEADER

                // BEGIN TABLE DATA
                $counter = 0;
                foreach($_POST["id"] as $id)
                {
                        if ($id != IL_FIRST_NODE)
                        {
                                $obj =& new ilLMObject($this->object, $id);
                                switch($obj->getType())         // ok that's not so nice, could be done better
                                {
                                        case "pg":
                                                $this->tpl->setVariable("IMG_OBJ", ilUtil::getImagePath("icon_pg.gif"));
                                                break;
                                        case "st":
                                                $this->tpl->setVariable("IMG_OBJ", ilUtil::getImagePath("icon_st.gif"));
                                                break;
                                }
                                $this->tpl->setCurrentBlock("table_row");
                                $this->tpl->setVariable("CSS_ROW",ilUtil::switchColor(++$counter,"tblrow1","tblrow2"));
                                $this->tpl->setVariable("TEXT_CONTENT", $obj->getTitle());
                                $this->tpl->parseCurrentBlock();
                        }
                }

                // cancel/confirm button
                $this->tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("arrow_downright.gif"));
                $buttons = array( "cancelDelete"  => $this->lng->txt("cancel"),
                                                                  "confirmedDelete"  => $this->lng->txt("confirm"));
                foreach ($buttons as $name => $value)
                {
                        $this->tpl->setCurrentBlock("operation_btn");
                        $this->tpl->setVariable("BTN_NAME",$name);
                        $this->tpl->setVariable("BTN_VALUE",$value);
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:

ilObjContentObjectGUI::deleteBibItem (  ) 

delete bib item (module call)

Definition at line 1130 of file class.ilObjContentObjectGUI.php.

References deleteBibItemObject(), and setTabs().

        {
                $this->setTabs();
                $this->deleteBibItemObject($this->ctrl->getLinkTarget($this));
        }

Here is the call graph for this function:

ilObjContentObjectGUI::deleteBibItemObject ( a_target = ""  ) 

delete bib item (admin call)

Definition at line 1108 of file class.ilObjContentObjectGUI.php.

References $_GET.

Referenced by deleteBibItem().

        {
                include_once "./Modules/LearningModule/classes/class.ilBibItemGUI.php";
                $bib_gui =& new ilBibItemGUI();
                $bib_gui->setObject($this->object);
                $bibItemIndex = $_POST["bibItemIndex"] ? $_POST["bibItemIndex"] : $_GET["bibItemIndex"];
                $bib_gui->bib_obj->delete($_GET["bibItemName"], $_GET["bibItemPath"], $bibItemIndex);
                if (strpos($bibItemIndex, ",") > 0)
                {
                        $bibItemIndex = substr($bibItemIndex, 0, strpos($bibItemIndex, ","));
                }
                if ($a_target == "")
                {
                        $a_target = "adm_object.php?ref_id=" . $this->object->getRefId();
                }

                $bib_gui->edit("ADM_CONTENT", "adm_content", $a_target, $bibItemIndex);
        }

Here is the caller graph for this function:

ilObjContentObjectGUI::deleteExportFile (  ) 

delete export files

Definition at line 2514 of file class.ilObjContentObjectGUI.php.

References $_SESSION, $file, and ilUtil::delDir().

        {
                foreach($_SESSION["ilExportFiles"] as $file)
                {
                        $file = explode(":", $file);
                        $export_dir = $this->object->getExportDirectory($file[0]);

                        $exp_file = $export_dir."/".$file[1];
                        $exp_dir = $export_dir."/".substr($file[1], 0, strlen($file[1]) - 4);
                        if (@is_file($exp_file))
                        {
                                unlink($exp_file);
                        }
                        if (@is_dir($exp_dir))
                        {
                                ilUtil::delDir($exp_dir);
                        }
                }
                $this->ctrl->redirect($this, "exportList");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::deleteMenuEntry (  ) 

drop a menu entry

Definition at line 3264 of file class.ilObjContentObjectGUI.php.

References $_GET, __initLMMenuEditor(), and ilUtil::sendInfo().

        {
                if (empty($_GET["menu_entry"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
                }

                $this->__initLMMenuEditor();
                $this->lmme_obj->delete($_GET["menu_entry"]);

                ilUtil::sendInfo($this->lng->txt("msg_entry_removed"), true);
                $this->ctrl->redirect($this, "properties");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::downloadExportFile (  ) 

download export file

Definition at line 2381 of file class.ilObjContentObjectGUI.php.

References $file, and ilUtil::deliverFile().

        {
                if(!isset($_POST["file"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }

                if (count($_POST["file"]) > 1)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
                }

                $file = explode(":", $_POST["file"][0]);
                $export_dir = $this->object->getExportDirectory($file[0]);
                ilUtil::deliverFile($export_dir."/".$file[1],
                        $file[1]);
        }

Here is the call graph for this function:

ilObjContentObjectGUI::downloadPDFFile (  ) 

download export file

Definition at line 2432 of file class.ilObjContentObjectGUI.php.

References ilUtil::deliverFile().

        {
                if(!isset($_POST["file"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }

                if (count($_POST["file"]) > 1)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
                }


                $export_dir = $this->object->getOfflineDirectory();
                ilUtil::deliverFile($export_dir."/".$_POST["file"][0],
                        $_POST["file"][0]);
        }

Here is the call graph for this function:

ilObjContentObjectGUI::editBibItem (  ) 

edit bib items (module call)

Definition at line 1162 of file class.ilObjContentObjectGUI.php.

References editBibItemObject(), and setTabs().

        {
                $this->setTabs();
                $this->editBibItemObject($this->ctrl->getLinkTarget($this));
        }

Here is the call graph for this function:

ilObjContentObjectGUI::editBibItemObject ( a_target = ""  ) 

edit bib items (admin call)

Definition at line 1140 of file class.ilObjContentObjectGUI.php.

References $_GET.

Referenced by editBibItem().

        {
                include_once "./Modules/LearningModule/classes/class.ilBibItemGUI.php";
                $bib_gui =& new ilBibItemGUI();
                $bib_gui->setObject($this->object);
                $bibItemIndex = $_POST["bibItemIndex"] ? $_POST["bibItemIndex"] : $_GET["bibItemIndex"];
                $bibItemIndex *= 1;
                if ($bibItemIndex < 0)
                {
                        $bibItemIndex = 0;
                }
                if ($a_target == "")
                {
                        $a_target = "adm_object.php?ref_id=" . $this->object->getRefId();
                }

                $bib_gui->edit("ADM_CONTENT", "adm_content", $a_target, $bibItemIndex);
        }

Here is the caller graph for this function:

ilObjContentObjectGUI::editMenuEntry (  ) 

edit menu entry form

Definition at line 3281 of file class.ilObjContentObjectGUI.php.

References $_GET, __initLMMenuEditor(), and setTabs().

        {
                if (empty($_GET["menu_entry"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
                }

                $this->__initLMMenuEditor();
                $this->lmme_obj->readEntry($_GET["menu_entry"]);

                $this->setTabs();

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.lm_menu_entry_form.html","Modules/LearningModule");

                $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
                $this->tpl->setVariable("TXT_NEW_ENTRY", $this->lng->txt("lm_menu_edit_entry"));
                $this->tpl->setVariable("TXT_TARGET", $this->lng->txt("lm_menu_entry_target"));
                $this->tpl->setVariable("TXT_TITLE", $this->lng->txt("lm_menu_entry_title"));
                $this->tpl->setVariable("TITLE", $this->lmme_obj->getTitle());
                $this->tpl->setVariable("TARGET", $this->lmme_obj->getTarget());
                $this->tpl->setVariable("ENTRY_ID", $this->lmme_obj->getEntryId());
                $this->tpl->setVariable("BTN_NAME", "updateMenuEntry");
                $this->tpl->setVariable("BTN_TEXT", $this->lng->txt("save"));
                $this->tpl->setVariable("BTN_NAME2", "showEntrySelector");
                $this->tpl->setVariable("BTN_TEXT2", $this->lng->txt("lm_menu_select_internal_object"));
                //$this->tpl->parseCurrentBlock();
        }

Here is the call graph for this function:

ilObjContentObjectGUI::editPublicSection (  ) 

Definition at line 2950 of file class.ilObjContentObjectGUI.php.

References ilUtil::array_php2js(), formSelect(), and setTabs().

        {
                $this->setTabs();

                switch ($this->object->getType())
                {
                        case "lm":
                                $gui_class = "ilobjlearningmodulegui";
                                break;

                        case "dlb":
                                $gui_class = "ilobjdlbookgui";
                                break;
                }

                // get learning module object
                $this->lm_obj =& new ilObjLearningModule($this->ref_id, true);

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.lm_public_selector.html");
                //$this->tpl->setVariable("ADM_CONTENT", "adm_content", "bla");

                require_once ("./Modules/LearningModule/classes/class.ilPublicSectionSelector.php");
                $exp = new ilPublicSectionSelector($this->ctrl->getLinkTarget($this, "view"),
                        $this->object, $gui_class);

                $exp->setTargetGet("obj_id");

                // build html-output
                $exp->setOutput(0);
                $output = $exp->getOutput();

                // get page ids
                foreach ($exp->format_options as $node)
                {
                        if (!$node["container"])
                        {
                                $pages[] = $node["child"];
                        }
                }

                $js_pages = ilUtil::array_php2js($pages);

                //$this->tpl->setCurrentBlock("content");
                //var_dump($this->object->getPublicAccessMode());
                // access mode selector
                $this->tpl->setVariable("TXT_SET_PUBLIC_MODE", $this->lng->txt("set_public_mode"));
                $this->tpl->setVariable("TXT_CHOOSE_PUBLIC_MODE", $this->lng->txt("choose_public_mode"));
                $modes = array("complete" => $this->lng->txt("all_pages"), "selected" => $this->lng->txt("selected_pages_only"));
                $select_public_mode = ilUtil::formSelect ($this->object->getPublicAccessMode(),"lm_public_mode",$modes, false, true);
                $this->tpl->setVariable("SELECT_PUBLIC_MODE", $select_public_mode);

                $this->tpl->setVariable("TXT_EXPLORER_HEADER", $this->lng->txt("choose_public_pages"));
                $this->tpl->setVariable("EXP_REFRESH", $this->lng->txt("refresh"));
                $this->tpl->setVariable("EXPLORER",$output);
                $this->tpl->setVariable("ONCLICK",$js_pages);
                $this->tpl->setVariable("TXT_CHECKALL", $this->lng->txt("check_all"));
                $this->tpl->setVariable("TXT_UNCHECKALL", $this->lng->txt("uncheck_all"));
                $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
                $this->tpl->setVariable("FORMACTION", $this->ctrl->getLinkTarget($this, "savePublicSection"));
                //$this->tpl->parseCurrentBlock();

        }

Here is the call graph for this function:

& ilObjContentObjectGUI::executeCommand (  ) 

execute command

Reimplemented from ilObjectGUI.

Definition at line 62 of file class.ilObjContentObjectGUI.php.

References $_GET, $cmd, $ret, addLocations(), explorer(), ilObjectGUI::getCreationMode(), ilLMObjectFactory::getInstance(), ilObjectGUI::prepareOutput(), and setTabs().

        {
                global $ilAccess;
                
                if ($this->ctrl->getRedirectSource() == "ilinternallinkgui")
                {
                        $this->explorer();
                        return;
                }

                if ($this->ctrl->getCmdClass() == "ilinternallinkgui")
                {
                        $this->ctrl->setReturn($this, "explorer");
                }

                // get next class that processes or forwards current command
                $next_class = $this->ctrl->getNextClass($this);

                // get current command
                $cmd = $this->ctrl->getCmd();
//echo "-$cmd-";
                switch($next_class)
                {
                        case "illearningprogressgui":
                                $this->addLocations();
                                include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php';
                                $this->setTabs();

                                $new_gui =& new ilLearningProgressGUI(LP_MODE_REPOSITORY,$this->object->getRefId());
                                $new_gui->activateStatistics();
                                $this->ctrl->forwardCommand($new_gui);

                                break;

                        case 'ilmdeditorgui':
                                $this->addLocations();
                                include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php';
                                $this->setTabs();
                                $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 "ilobjstylesheetgui":
                                $this->addLocations();
                                include_once ("classes/class.ilObjStyleSheetGUI.php");
                                $this->ctrl->setReturn($this, "properties");
                                $style_gui =& new ilObjStyleSheetGUI("", $this->object->getStyleSheetId(), false, false);
                                $style_gui->omitLocator();
                                if ($cmd == "create" || $_GET["new_type"]=="sty")
                                {
                                        $style_gui->setCreationMode(true);
                                }
                                $ret =& $this->ctrl->forwardCommand($style_gui);
                                //$ret =& $style_gui->executeCommand();

                                if ($cmd == "save" || $cmd == "copyStyle" || $cmd == "importStyle")
                                {
                                        $style_id = $ret;
                                        $this->object->setStyleSheetId($style_id);
                                        $this->object->update();
                                        $this->ctrl->redirectByClass("ilobjstylesheetgui", "edit");
                                }
                                break;

                        case "illmpageobjectgui":
                                $this->ctrl->saveParameter($this, array("obj_id"));
                                $this->addLocations();
                                $this->ctrl->setReturn($this, "properties");
//echo "!";
                                //$this->lm_obj =& $this->ilias->obj_factory->getInstanceByRefId($this->ref_id);

                                $pg_gui =& new ilLMPageObjectGUI($this->object);
                                if ($_GET["obj_id"] != "")
                                {
                                        $obj =& ilLMObjectFactory::getInstance($this->object, $_GET["obj_id"]);
                                        $pg_gui->setLMPageObject($obj);
                                }
                                //$ret =& $pg_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($pg_gui);
                                if ($cmd == "save" || $cmd == "cancel")
                                {
                                        $this->ctrl->redirect($this, "pages");
                                }
                                break;

                        case "ilstructureobjectgui":
                                $this->ctrl->saveParameter($this, array("obj_id"));
                                $this->addLocations();
                                $this->ctrl->setReturn($this, "properties");
                                $st_gui =& new ilStructureObjectGUI($this->object, $this->object->lm_tree);
                                if ($_GET["obj_id"] != "")
                                {
                                        $obj =& ilLMObjectFactory::getInstance($this->object, $_GET["obj_id"]);
                                        $st_gui->setStructureObject($obj);
                                }
                                //$ret =& $st_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($st_gui);
                                if ($cmd == "save" || $cmd == "cancel")
                                {
                                        if ($_GET["obj_id"] == "")
                                        {
                                                $this->ctrl->redirect($this, "chapters");
                                        }
                                        else
                                        {
                                                $this->ctrl->setCmd("subchap");
                                                $this->executeCommand();
                                        }
                                }
                                break;

                        case 'ilpermissiongui':
                                if (strtolower($_GET["baseClass"]) == "iladministrationgui")
                                {
                                        $this->prepareOutput();
                                }
                                else
                                {
                                        $this->addLocations(true);
                                        $this->setTabs();
                                }
                                include_once("./classes/class.ilPermissionGUI.php");
                                $perm_gui =& new ilPermissionGUI($this);
                                $ret =& $this->ctrl->forwardCommand($perm_gui);
                                break;

                        // infoscreen
                        case 'ilinfoscreengui':
                                $this->addLocations(true);
                                $this->setTabs();
                                include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
                                $info = new ilInfoScreenGUI($this);
                                $info->enablePrivateNotes();
                                //$info->enableLearningProgress();
                
                                $info->enableNews();
                                if ($ilAccess->checkAccess("write", "", $_GET["ref_id"]))
                                {
                                        $info->enableNewsEditing();
                                        $info->setBlockProperty("news", "settings", true);
                                }
                                
                                // show standard meta data section
                                $info->addMetaDataSections($this->object->getId(), 0,
                                        $this->object->getType());
                
                                $ret =& $this->ctrl->forwardCommand($info);
                                break;

                        default:
                                $new_type = $_POST["new_type"]
                                        ? $_POST["new_type"]
                                        : $_GET["new_type"];


                                if ($cmd == "create" &&
                                        !in_array($new_type, array("dbk", "lm")))
                                {
                                        //$this->addLocations();
                                        switch ($new_type)
                                        {
                                                case "pg":
                                                        $this->setTabs();
                                                        $this->ctrl->setCmdClass("ilLMPageObjectGUI");
                                                        $ret =& $this->executeCommand();
                                                        break;

                                                case "st":
                                                        $this->setTabs();
                                                        $this->ctrl->setCmdClass("ilStructureObjectGUI");
                                                        $ret =& $this->executeCommand();
                                                        break;
                                        }
                                }
                                else
                                {
                                        // creation of new dbk/lm in repository
                                        if ($this->getCreationMode() == true &&
                                                in_array($new_type, array("dbk", "lm")))
                                        {
                                                $this->prepareOutput();
                                                if ($cmd == "")                 // this may be due to too big upload files
                                                {
                                                        $cmd = "create";
                                                }
                                                $cmd .= "Object";
                                                $ret =& $this->$cmd();
                                        }
                                        else
                                        {
                                                $this->addLocations();
                                                $ret =& $this->$cmd();
                                        }
                                }
                                break;
                }
                return $ret;
        }

Here is the call graph for this function:

ilObjContentObjectGUI::explorer (  ) 

output explorer tree

Definition at line 582 of file class.ilObjContentObjectGUI.php.

References $_GET, ilObjectGUI::$ilias, ilPageEditorGUI::_doJSEditing(), ilUtil::getImagePath(), ilUtil::getStyleSheetLocation(), and proceedDragDrop().

Referenced by executeCommand().

        {
                global $ilUser, $ilias;

                switch ($this->object->getType())
                {
                        case "lm":
                                $gui_class = "ilobjlearningmodulegui";
                                break;

                        case "dlb":
                                $gui_class = "ilobjdlbookgui";
                                break;
                }



                $this->tpl = new ilTemplate("tpl.main.html", true, true);
                // get learning module object
                //$this->lm_obj =& new ilObjLearningModule($this->ref_id, true);

                $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());

                //$this->tpl = new ilTemplate("tpl.explorer.html", false, false);
                $this->tpl->addBlockFile("CONTENT", "content", "tpl.explorer.html");
                $this->tpl->setVariable("IMG_SPACE", ilUtil::getImagePath("spacer.gif", false));

                require_once ("./Modules/LearningModule/classes/class.ilLMEditorExplorer.php");
                $exp = new ilLMEditorExplorer($this->ctrl->getLinkTarget($this, "view"),
                        $this->object, $gui_class);

                $exp->setTargetGet("obj_id");
                $exp->setExpandTarget($this->ctrl->getLinkTarget($this, "explorer"));

                if ($_GET["lmmovecopy"] == "1")
                {
                        $this->proceedDragDrop();
                }


                if ($_GET["lmexpand"] == "")
                {
                        $mtree = new ilTree($this->object->getId());
                        $mtree->setTableNames('lm_tree','lm_data');
                        $mtree->setTreeTablePK("lm_id");
                        $expanded = $mtree->readRootId();
                }
                else
                {
                        $expanded = $_GET["lmexpand"];
                }

                $exp->setExpand($expanded);

                // build html-output
                $exp->setOutput(0);
                $output = $exp->getOutput();

                include_once("./Services/COPage/classes/class.ilPageEditorGUI.php");
                if (ilPageEditorGUI::_doJSEditing())
                {
                        //$this->tpl->touchBlock("includejavascript");

                        $IDS = "";
                        for ($i=0;$i<count($exp->iconList);$i++)
                        {
                                if ($i>0) $IDS .= ",";
                                $IDS .= "'".$exp->iconList[$i]."'";
                        }
                        $this->tpl->setVariable("ICONIDS",$IDS);
                        //$this->ctrl->setParameter($this, "lmovecopy", 1);
                        $this->tpl->setVariable("TESTPFAD",$this->ctrl->getLinkTarget($this, "explorer")."&lmmovecopy=1");
                        //$this->tpl->setVariable("POPUPLINK",$this->ctrl->getLinkTarget($this, "popup")."&ptype=movecopytreenode");
                        $this->tpl->setVariable("POPUPLINK",$this->ctrl->getLinkTarget($this, "popup")."&ptype=movecopytreenode");
                }


                $this->tpl->setCurrentBlock("content");
                $this->tpl->setVariable("TXT_EXPLORER_HEADER", $this->lng->txt("cont_chap_and_pages"));
                $this->tpl->setVariable("EXP_REFRESH", $this->lng->txt("refresh"));
                $this->tpl->setVariable("EXPLORER",$output);
                $this->ctrl->setParameter($this, "lmexpand", $_GET["lmexpand"]);
                $this->tpl->setVariable("ACTION", $this->ctrl->getLinkTarget($this, "explorer"));
                $this->tpl->parseCurrentBlock();
                //$this->tpl->show(false);

        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::export (  ) 

export content object

Reimplemented in ilObjDlBookGUI.

Definition at line 2203 of file class.ilObjContentObjectGUI.php.

        {
                require_once("./Modules/LearningModule/classes/class.ilContObjectExport.php");
                $cont_exp = new ilContObjectExport($this->object);
                $cont_exp->buildExportFile();
                $this->ctrl->redirect($this, "exportList");
        }

ilObjContentObjectGUI::exportHTML (  ) 

create html package

Definition at line 2751 of file class.ilObjContentObjectGUI.php.

        {
                require_once("./Modules/LearningModule/classes/class.ilContObjectExport.php");
                $cont_exp = new ilContObjectExport($this->object, "html");
                $cont_exp->buildExportFile();
//echo $this->tpl->get();
                $this->ctrl->redirect($this, "exportList");
        }

ilObjContentObjectGUI::exportList (  ) 

Definition at line 2248 of file class.ilObjContentObjectGUI.php.

References $_GET, $tbl, ilObjectGUI::$tree, exportMenu(), ilUtil::getImagePath(), setTabs(), and ilUtil::switchColor().

        {
                global $tree;

                $this->setTabs();

                //add template for view button
                $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");

                $this->exportMenu();

                $export_files = $this->object->getExportFiles();

                // create table
                require_once("./Services/Table/classes/class.ilTableGUI.php");
                $tbl = new ilTableGUI();

                // load files templates
                $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html");

                // load template for table content data
                $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.export_file_row.html", "Modules/LearningModule");

                $num = 0;

                $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));

                $tbl->setTitle($this->lng->txt("cont_export_files"));

                $tbl->setHeaderNames(array("", $this->lng->txt("type"),
                        $this->lng->txt("cont_file"),
                        $this->lng->txt("cont_size"), $this->lng->txt("date") ));

                $cols = array("", "type", "file", "size", "date");
                $header_params = array("ref_id" => $_GET["ref_id"], "baseClass" => $_GET["baseClass"],
                        "cmd" => "exportList", "cmdClass" => strtolower(get_class($this)));
                $tbl->setHeaderVars($cols, $header_params);
                $tbl->setColumnWidth(array("1%", "9%", "40%", "25%", "25%"));

                // control
                $tbl->setOrderColumn($_GET["sort_by"]);
                $tbl->setOrderDirection($_GET["sort_order"]);
                $tbl->setLimit($_GET["limit"]);
                $tbl->setOffset($_GET["offset"]);
                $tbl->setMaxCount($this->maxcount);             // ???
                $tbl->disable("sort");


                $this->tpl->setVariable("COLUMN_COUNTS", 5);

                // delete button
                $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif"));
                $this->tpl->setCurrentBlock("tbl_action_btn");
                $this->tpl->setVariable("BTN_NAME", "confirmDeleteExportFile");
                $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("delete"));
                $this->tpl->parseCurrentBlock();

                $this->tpl->setCurrentBlock("tbl_action_btn");
                $this->tpl->setVariable("BTN_NAME", "downloadExportFile");
                $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("download"));
                $this->tpl->parseCurrentBlock();

                $this->tpl->setCurrentBlock("tbl_action_btn");
                $this->tpl->setVariable("BTN_NAME", "publishExportFile");
                $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("cont_public_access"));
                $this->tpl->parseCurrentBlock();

                // footer
                $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
                //$tbl->disable("footer");

                $tbl->setMaxCount(count($export_files));
                $export_files = array_slice($export_files, $_GET["offset"], $_GET["limit"]);
                $tbl->render();
                if(count($export_files) > 0)
                {
                        $i=0;
                        foreach($export_files as $exp_file)
                        {
                                $this->tpl->setCurrentBlock("tbl_content");
                                $this->tpl->setVariable("TXT_FILENAME", $exp_file["file"]);

                                $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2");
                                $this->tpl->setVariable("CSS_ROW", $css_row);

                                $this->tpl->setVariable("TXT_SIZE", $exp_file["size"]);
                                $public_str = ($exp_file["file"] == $this->object->getPublicExportFile($exp_file["type"]))
                                        ? " <b>(".$this->lng->txt("public").")<b>"
                                        : "";
                                $this->tpl->setVariable("TXT_TYPE", $exp_file["type"].$public_str);
                                $this->tpl->setVariable("CHECKBOX_ID", $exp_file["type"].":".$exp_file["file"]);

                                $file_arr = explode("__", $exp_file["file"]);
                                $this->tpl->setVariable("TXT_DATE", date("Y-m-d H:i:s",$file_arr[0]));

                                $this->tpl->parseCurrentBlock();
                        }
                } //if is_array
                else
                {
                        $this->tpl->setCurrentBlock("notfound");
                        $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found"));
                        $this->tpl->setVariable("NUM_COLS", 4);
                        $this->tpl->parseCurrentBlock();
                }

                $this->tpl->parseCurrentBlock();
        }

Here is the call graph for this function:

ilObjContentObjectGUI::exportMenu (  ) 

show list of export files

Definition at line 2214 of file class.ilObjContentObjectGUI.php.

Referenced by exportList(), and viewExportLog().

        {
                // create xml export file button
                $this->tpl->setCurrentBlock("btn_cell");
                $this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "export"));
                $this->tpl->setVariable("BTN_TXT", $this->lng->txt("cont_create_export_file_xml"));
                $this->tpl->parseCurrentBlock();

                // create html export file button
                $this->tpl->setCurrentBlock("btn_cell");
                $this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "exportHTML"));
                $this->tpl->setVariable("BTN_TXT", $this->lng->txt("cont_create_export_file_html"));
                $this->tpl->parseCurrentBlock();

                // create scorm export file button
                $this->tpl->setCurrentBlock("btn_cell");
                $this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "exportSCORM"));
                $this->tpl->setVariable("BTN_TXT", $this->lng->txt("cont_create_export_file_scorm"));
                $this->tpl->parseCurrentBlock();

                // view last export log button
                if (is_file($this->object->getExportDirectory()."/export.log"))
                {
                        $this->tpl->setCurrentBlock("btn_cell");
                        $this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "viewExportLog"));
                        $this->tpl->setVariable("BTN_TXT", $this->lng->txt("cont_view_last_export_log"));
                        $this->tpl->parseCurrentBlock();
                }

        }

Here is the caller graph for this function:

ilObjContentObjectGUI::exportObject (  ) 

export object

public

Definition at line 1206 of file class.ilObjContentObjectGUI.php.

        {
                return;
        }

ilObjContentObjectGUI::exportSCORM (  ) 

create scorm package

Definition at line 2763 of file class.ilObjContentObjectGUI.php.

        {
                require_once("./Modules/LearningModule/classes/class.ilContObjectExport.php");
                $cont_exp = new ilContObjectExport($this->object, "scorm");
                $cont_exp->buildExportFile();
//echo $this->tpl->get();
                $this->ctrl->redirect($this, "exportList");
        }

ilObjContentObjectGUI::fixTree (  ) 

fix tree

Definition at line 2579 of file class.ilObjContentObjectGUI.php.

References ilUtil::sendInfo().

        {
                $this->object->fixTree();
                ilUtil::sendInfo($this->lng->txt("cont_tree_fixed"), true);
                $this->ctrl->redirect($this, "properties");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::fixTreeConfirm (  ) 

confirm screen for tree fixing

Definition at line 2539 of file class.ilObjContentObjectGUI.php.

References setTabs().

        {
                $this->setTabs();

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.confirm.html");

                $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));

                //
                $this->tpl->setVariable("TXT_CONFIRM", $this->lng->txt("confirmation"));
                $this->tpl->setVariable("TXT_CONTENT", $this->lng->txt("cont_fix_tree_confirm"));
                $this->tpl->setVariable("CMD_CANCEL", "cancelFixTree");
                $this->tpl->setVariable("CMD_OK", "fixTree");
                $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
                $this->tpl->setVariable("TXT_OK", $this->lng->txt("cont_fix_tree"));
        }

Here is the call graph for this function:

ilObjContentObjectGUI::getContextPath ( a_endnode_id,
a_startnode_id = 1 
)

get context path in content object tree

Parameters:
int $a_endnode_id id of endnode
int $a_startnode_id id of startnode

Reimplemented in ilObjDlBookGUI.

Definition at line 1834 of file class.ilObjContentObjectGUI.php.

Referenced by pages().

        {
                $path = "";

                $tmpPath = $this->lm_tree->getPathFull($a_endnode_id, $a_startnode_id);

                // count -1, to exclude the learning module itself
                for ($i = 1; $i < (count($tmpPath) - 1); $i++)
                {
                        if ($path != "")
                        {
                                $path .= " > ";
                        }

                        $path .= $tmpPath[$i]["title"];
                }

                return $path;
        }

Here is the caller graph for this function:

ilObjContentObjectGUI::getTabs ( &$  tabs_gui  ) 

adds tabs to tab gui object

Parameters:
object $tabs_gui ilTabsGUI object

Reimplemented from ilObjectGUI.

Definition at line 2873 of file class.ilObjContentObjectGUI.php.

References ilObjUserTracking::_enabledLearningProgress().

Referenced by setTabs().

        {
                global $rbacsystem,$ilUser;

                // back to upper context
                //$tabs_gui->getTargetsByObjectType($this, $this->object->getType());

                // info
                $tabs_gui->addTarget("info_short",
                        $this->ctrl->getLinkTargetByClass("ilinfoscreengui",'showSummary'),
                        "", "ilinfoscreengui");

                // properties
                $tabs_gui->addTarget("properties",
                        $this->ctrl->getLinkTarget($this,'properties'),
                        "properties", get_class($this));

                // meta data
                $tabs_gui->addTarget("meta_data",
                        $this->ctrl->getLinkTargetByClass('ilmdeditorgui',''),
                        "", "ilmdeditorgui");

                // chapters
                $tabs_gui->addTarget("cont_chapters",
                        $this->ctrl->getLinkTarget($this, "chapters"),
                        "chapters", get_class($this));

                // pages
                $tabs_gui->addTarget("cont_all_pages",
                        $this->ctrl->getLinkTarget($this, "pages"),
                        "pages", get_class($this));

                if ($this->object->getType() == "lm")
                {
                        // export
                        $tabs_gui->addTarget("export",
                                $this->ctrl->getLinkTarget($this, "exportList"),
                                array("exportList", "viewExportLog"), get_class($this));


                        if(@include_once('HTTP/Request.php'))
                        {
                                // link checker
                                $tabs_gui->addTarget("link_check",
                                                                         $this->ctrl->getLinkTarget($this, "linkChecker"),
                                                                         array("linkChecker", "refreshLinkCheck"), get_class($this));
                        }
                }
                else
                {
                        // bibliographical data
                        $tabs_gui->addTarget("bib_data",
                                $this->ctrl->getLinkTarget($this, "editBibItem"),
                                "editBibItem", get_class($this));
                }
                // learning progress
                include_once("Services/Tracking/classes/class.ilObjUserTracking.php");
                if(ilObjUserTracking::_enabledLearningProgress() and ($this->object->getType() == 'lm') and $ilUser->getId() != ANONYMOUS_USER_ID)
                {
                        $tabs_gui->addTarget('learning_progress',
                                                                 $this->ctrl->getLinkTargetByClass(array('illearningprogressgui'),''),
                                                                 '',
                                                                 array('illplistofobjectsgui','illplistofsettingsgui','illearningprogressgui','illplistofprogressgui','illmstatisticsgui'));
                }

                $tabs_gui->addTarget("history", $this->ctrl->getLinkTarget($this, "history")
                        , "history", get_class($this));


                // permissions
                if ($rbacsystem->checkAccess('edit_permission',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("perm_settings",
                                $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"), array("perm","info","owner"), 'ilpermissiongui');
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::history (  ) 

history

public

Definition at line 3028 of file class.ilObjContentObjectGUI.php.

References setTabs().

        {
                $this->setTabs();

                require_once("classes/class.ilHistoryGUI.php");
                $hist_gui =& new ilHistoryGUI($this->object->getId() ,
                        $this->object->getType());
                $hist_html = $hist_gui->getHistoryTable(
                        $this->ctrl->getParameterArray($this, "history"),
                        $this->object->isActiveHistoryUserComments()
                        );

                $this->tpl->setVariable("ADM_CONTENT", $hist_html);
        }

Here is the call graph for this function:

ilObjContentObjectGUI::ilObjContentObjectGUI ( a_data,
a_id = 0,
a_call_by_reference = true,
a_prepare_output = false 
)

Constructor.

public

Definition at line 49 of file class.ilObjContentObjectGUI.php.

References $ilCtrl, ilObjectGUI::$lng, and ilObjectGUI::ilObjectGUI().

Referenced by ilObjDlBookGUI::ilObjDlBookGUI(), and ilObjLearningModuleGUI::ilObjLearningModuleGUI().

        {
                global $lng, $ilCtrl;
//echo "<br>ilobjcontobjgui-constructor-id-$a_id";
                $this->ctrl =& $ilCtrl;
                $lng->loadLanguageModule("content");
                parent::ilObjectGUI($a_data,$a_id,$a_call_by_reference,false);
                $this->actions = $this->objDefinition->getActions("lm");
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::importFileObject (  ) 

display status information or report errors messages in case of error

public

Definition at line 1229 of file class.ilObjContentObjectGUI.php.

References $_GET, $file, ilPageObject::_handleImportRepositoryLinks(), ilObject::_writeImportId(), ilUtil::delDir(), ilUtil::moveUploadedFile(), ilUtil::redirect(), ilUtil::sendInfo(), and ilUtil::unzip().

        {
                global $_FILES, $rbacsystem, $ilDB;

                include_once "./Modules/LearningModule/classes/class.ilObjLearningModule.php";

                // check if file was uploaded
                $source = $_FILES["xmldoc"]["tmp_name"];
                if (($source == 'none') || (!$source))
                {
                        $this->ilias->raiseError("No file selected!",$this->ilias->error_obj->MESSAGE);
                }
                // check create permission
                /*
                if (!$rbacsystem->checkAccess("create", $_GET["ref_id"], $_GET["new_type"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_create_permission"), $this->ilias->error_obj->WARNING);
                }*/

                // check correct file type
                $info = pathinfo($_FILES["xmldoc"]["name"]);
                if (strtolower($info["extension"]) != "zip")
                {
                        $this->ilias->raiseError("File must be a zip file!",$this->ilias->error_obj->MESSAGE);
                }

                // create and insert object in objecttree
                include_once("./Modules/LearningModule/classes/class.ilObjContentObject.php");
                $newObj = new ilObjContentObject();
                $newObj->setType($_GET["new_type"]);
                $newObj->setTitle($_FILES["xmldoc"]["name"]);
                $newObj->setDescription("");
                $newObj->create(true);
                $newObj->createReference();
                $newObj->putInTree($_GET["ref_id"]);
                $newObj->setPermissions($_GET["ref_id"]);
                $newObj->notify("new",$_GET["ref_id"],$_GET["parent_non_rbac_id"],$_GET["ref_id"],$newObj->getRefId());

                // create learning module tree
                $newObj->createLMTree();

                // create import directory
                $newObj->createImportDirectory();

                // copy uploaded file to import directory
                $file = pathinfo($_FILES["xmldoc"]["name"]);
                $full_path = $newObj->getImportDirectory()."/".$_FILES["xmldoc"]["name"];

                ilUtil::moveUploadedFile($_FILES["xmldoc"]["tmp_name"],
                        $_FILES["xmldoc"]["name"], $full_path);

                //move_uploaded_file($_FILES["xmldoc"]["tmp_name"], $full_path);

                // unzip file
                ilUtil::unzip($full_path);

                // determine filename of xml file
                $subdir = basename($file["basename"],".".$file["extension"]);
                $xml_file = $newObj->getImportDirectory()."/".$subdir."/".$subdir.".xml";

                // check whether subdirectory exists within zip file
                if (!is_dir($newObj->getImportDirectory()."/".$subdir))
                {
                        $this->ilias->raiseError(sprintf($this->lng->txt("cont_no_subdir_in_zip"), $subdir),
                                $this->ilias->error_obj->MESSAGE);
                }

                // check whether xml file exists within zip file
                if (!is_file($xml_file))
                {
                        $this->ilias->raiseError(sprintf($this->lng->txt("cont_zip_file_invalid"), $subdir."/".$subdir.".xml"),
                                $this->ilias->error_obj->MESSAGE);
                }

                include_once ("./Modules/LearningModule/classes/class.ilContObjParser.php");
                $contParser = new ilContObjParser($newObj, $xml_file, $subdir);
                $contParser->startParsing();
                ilObject::_writeImportId($newObj->getId(), $newObj->getImportId());
                $newObj->MDUpdateListener('General');

                // import style
                $style_file = $newObj->getImportDirectory()."/".$subdir."/style.xml";
                if (is_file($style_file))
                {
                        require_once("classes/class.ilObjStyleSheet.php");
                        $style = new ilObjStyleSheet();
                        $style->createFromXMLFile($style_file);
                        $newObj->writeStyleSheetId($style->getId());
                }

                // delete import directory
                ilUtil::delDir($newObj->getImportDirectory());
                ilUtil::sendInfo($this->lng->txt($this->type."_added"),true);

                // handle internal links to this learning module
                include_once("./Services/COPage/classes/class.ilPageObject.php");
                ilPageObject::_handleImportRepositoryLinks($newObj->getImportId(),
                        $newObj->getType(), $newObj->getRefId());
                ilUtil::redirect("ilias.php?ref_id=".$newObj->getRefId().
                        "&baseClass=ilLMEditorGUI");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::importObject (  ) 

display dialogue for importing XML-LeaningObjects

public

Reimplemented from ilObjectGUI.

Definition at line 1216 of file class.ilObjContentObjectGUI.php.

References createObject().

        {
                $this->createObject();
                return;
        }

Here is the call graph for this function:

ilObjContentObjectGUI::info (  ) 

info permissions

Definition at line 1918 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::infoObject(), and setTabs().

        {
                $this->setTabs();
                $this->infoObject();
        }

Here is the call graph for this function:

ilObjContentObjectGUI::linkChecker (  ) 

Definition at line 3044 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::$ilias, __initLinkChecker(), ilLinkCheckNotify::_getNotifyStatus(), ilLMPageObject::_getPresentationTitle(), ilUtil::formCheckbox(), ilUtil::getImagePath(), setTabs(), and ilUtil::switchColor().

Referenced by refreshLinkCheck(), and saveLinkCheck().

        {
                global $ilias,$ilUser;

                $this->__initLinkChecker();

                $invalid_links = $this->link_checker_obj->getInvalidLinksFromDB();


                $this->setTabs();

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.link_check.html", "Modules/LearningModule");

                if($last_access = $this->link_checker_obj->getLastCheckTimestamp())
                {
                        $this->tpl->setCurrentBlock("LAST_MODIFIED");
                        $this->tpl->setVariable("AS_OF",$this->lng->txt('last_change').": ");
                        $this->tpl->setVariable("LAST_CHECK",date('Y-m-d H:i:s',$last_access));
                        $this->tpl->parseCurrentBlock();
                }


                $this->tpl->setVariable("F_ACTION",$this->ctrl->getFormAction($this));

                $this->tpl->setVariable("TYPE_IMG",ilUtil::getImagePath('icon_lm.gif'));
                $this->tpl->setVariable("ALT_IMG",$this->lng->txt('learning_module'));
                $this->tpl->setVariable("TITLE",$this->object->getTitle().' ('.$this->lng->txt('link_check').')');
                $this->tpl->setVariable("PAGE_TITLE",$this->lng->txt('cont_pg_title'));
                $this->tpl->setVariable("URL",$this->lng->txt('url'));
                $this->tpl->setVariable("OPTIONS",$this->lng->txt('edit'));

                if(!count($invalid_links))
                {
                        $this->tpl->setCurrentBlock("no_invalid");
                        $this->tpl->setVariable("TXT_NO_INVALID",$this->lng->txt('no_invalid_links'));
                        $this->tpl->parseCurrentBlock();
                }
                else
                {
                        $counter = 0;
                        foreach($invalid_links as $invalid)
                        {
                                $this->tpl->setCurrentBlock("invalid_row");
                                $this->tpl->setVariable("ROW_COLOR",ilUtil::switchColor(++$counter,'tblrow1','tblrow2'));
                                $this->tpl->setVariable("ROW_PAGE_TITLE",
                                                                                ilLMPageObject::_getPresentationTitle($invalid['page_id'],$this->object->getPageHeader()));
                                $this->tpl->setVariable("ROW_URL",$invalid['url']);


                                // EDIT IMAGE
                                $this->ctrl->setParameterByClass('ilLMPageObjectGUI','obj_id',$invalid['page_id']);
                                $this->tpl->setVariable("ROW_EDIT_LINK",$this->ctrl->getLinkTargetByClass('ilLMPageObjectGUI','view'));

                                $this->tpl->setVariable("ROW_IMG",ilUtil::getImagePath('edit.gif'));
                                $this->tpl->setVariable("ROW_ALT_IMG",$this->lng->txt('edit'));
                                $this->tpl->parseCurrentBlock();
                        }
                }
                if((bool) $ilias->getSetting('cron_link_check'))
                {
                        include_once './classes/class.ilLinkCheckNotify.php';

                        // Show message block
                        $this->tpl->setCurrentBlock("MESSAGE_BLOCK");
                        $this->tpl->setVariable("INFO_MESSAGE",$this->lng->txt('link_check_message_a'));
                        $this->tpl->setVariable("CHECK_MESSAGE",ilUtil::formCheckbox(
                                                                                ilLinkCheckNotify::_getNotifyStatus($ilUser->getId(),$this->object->getId()),
                                                                                'link_check_message',
                                                                                1));
                        $this->tpl->setVariable("INFO_MESSAGE_LONG",$this->lng->txt('link_check_message_b'));
                        $this->tpl->parseCurrentBlock();

                        // Show save button
                        $this->tpl->setCurrentBlock("CRON_ENABLED");
                        $this->tpl->setVariable("DOWNRIGHT_IMG",ilUtil::getImagePath('arrow_downright.gif'));
                        $this->tpl->setVariable("BTN_SUBMIT_LINK_CHECK",$this->lng->txt('save'));
                        $this->tpl->parseCurrentBlock();
                }
                $this->tpl->setVariable("BTN_REFRESH",$this->lng->txt('refresh'));

                return true;

        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::moveChapter ( a_parent_subobj_id = 0  ) 

move a single chapter (selection)

Definition at line 1965 of file class.ilObjContentObjectGUI.php.

References ilUtil::sendInfo(), and ilEditClipboard::storeContentObject().

        {
                if(!isset($_POST["id"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }
//echo "Hallo::"; exit;
                if(count($_POST["id"]) > 1)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
                }

                if(count($_POST["id"]) == 1 && $_POST["id"][0] == IL_FIRST_NODE)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_item"), $this->ilias->error_obj->MESSAGE);
                }

                // SAVE POST VALUES
                ilEditClipboard::storeContentObject("st", $_POST["id"][0], "move");

                ilUtil::sendInfo($this->lng->txt("cont_chap_select_target_now"), true);

                if ($a_parent_subobj_id == 0)
                {
                        $this->ctrl->redirect($this, "chapters");
                }
        }

Here is the call graph for this function:

ilObjContentObjectGUI::movePage (  ) 

move page

Definition at line 2166 of file class.ilObjContentObjectGUI.php.

References ilUtil::sendInfo(), and ilEditClipboard::storeContentObject().

        {
                if(!isset($_POST["id"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }
                if(count($_POST["id"]) > 1)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
                }

                // SAVE POST VALUES
                ilEditClipboard::storeContentObject("pg", $_POST["id"][0]);

                ilUtil::sendInfo($this->lng->txt("cont_page_select_target_now"), true);
                $this->ctrl->redirect($this, "pages");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::owner (  ) 

show owner of content object

Definition at line 1938 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::ownerObject(), and setTabs().

        {
                $this->setTabs();
                $this->ownerObject();
        }

Here is the call graph for this function:

ilObjContentObjectGUI::pages (  ) 

Definition at line 1434 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::$tree, ilLMObject::_lookupActive(), ilPageObject::_lookupContainsDeactivatedElements(), formSelect(), ilEditClipboard::getAction(), ilEditClipboard::getContentObjectType(), getContextPath(), ilUtil::getImagePath(), ilLMPageObject::getPageList(), ilObjectGUI::setActions(), setTabs(), showActions(), and ilUtil::switchColor().

        {
                global $tree;

                $this->setTabs();

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.all_pages.html", "Modules/LearningModule");
                $num = 0;

                $this->tpl->setCurrentBlock("form");
                $this->ctrl->setParameter($this, "backcmd", "pages");
                $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
                $this->tpl->setVariable("HEADER_TEXT", $this->lng->txt("cont_pages"));
                $this->tpl->setVariable("CONTEXT", $this->lng->txt("cont_usage"));
                $this->tpl->setVariable("CHECKBOX_TOP", IL_FIRST_NODE);

                $cnt = 0;
                $pages = ilLMPageObject::getPageList($this->object->getId());
                foreach ($pages as $page)
                {
                        // check activation
                        if (!ilLMPageObject::_lookupActive($page["obj_id"]))
                        {
                                $this->tpl->setCurrentBlock("deactivated");
                                $this->tpl->setVariable("TXT_DEACTIVATED",
                                        $this->lng->txt("cont_page_deactivated"));
                                $this->tpl->parseCurrentBlock();
                        }
                        else
                        {
                                if (ilPageObject::_lookupContainsDeactivatedElements($page["obj_id"],
                                        $this->object->getType()))
                                {
                                        $this->tpl->setCurrentBlock("deactivated");
                                        $this->tpl->setVariable("TXT_DEACTIVATED",
                                                $this->lng->txt("cont_page_deactivated_elements"));
                                        $this->tpl->parseCurrentBlock();
                                }
                        }

                        $this->tpl->setCurrentBlock("table_row");
                        // color changing
                        $css_row = ilUtil::switchColor($cnt++,"tblrow1","tblrow2");

                        // checkbox
                        $this->tpl->setVariable("CHECKBOX_ID", $page["obj_id"]);
                        $this->tpl->setVariable("CSS_ROW", $css_row);
                        $this->tpl->setVariable("IMG_OBJ", ilUtil::getImagePath("icon_pg.gif"));

                        // link
                        $this->ctrl->setParameter($this, "backcmd", "");
                        $this->ctrl->setParameterByClass("ilLMPageObjectGUI", "obj_id", $page["obj_id"]);
//echo "<br>:".$this->ctrl->getLinkTargetByClass("ilLMPageObjectGUI", "view").":";
                        $this->tpl->setVariable("LINK_TARGET",
                                $this->ctrl->getLinkTargetByClass("ilLMPageObjectGUI", "view"));

                        // title
                        $this->tpl->setVariable("TEXT_CONTENT", $page["title"]);

                        // context
                        if ($this->lm_tree->isInTree($page["obj_id"]))
                        {
                                $path_str = $this->getContextPath($page["obj_id"]);
                        }
                        else
                        {
                                $path_str = "---";
                        }

                        // check whether page is header or footer
                        $add_str = "";
                        if ($page["obj_id"] == $this->object->getHeaderPage())
                        {
                                $add_str = " <b>(".$this->lng->txt("cont_header").")</b>";
                        }
                        if ($page["obj_id"] == $this->object->getFooterPage())
                        {
                                $add_str = " <b>(".$this->lng->txt("cont_footer").")</b>";
                        }

                        $this->tpl->setVariable("TEXT_CONTEXT", $path_str.$add_str);


                        $this->tpl->parseCurrentBlock();
                }
                if($cnt == 0)
                {
                        $this->tpl->setCurrentBlock("notfound");
                        $this->tpl->setVariable("NUM_COLS", 4);
                        $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found"));
                        $this->tpl->parseCurrentBlock();
                }
                else
                {
                        $acts = array("delete" => "delete", "movePage" => "movePage", "copyPage" => "copyPage",
                                "selectHeader" => "selectHeader", "selectFooter" => "selectFooter",
                                "activatePages" => "cont_de_activate");
                        if(ilEditClipboard::getContentObjectType() == "pg" &&
                                ilEditClipboard::getAction() == "copy")
                        {
                                $acts["pastePage"] = "pastePage";
                        }

                        /*
                        if (ilEditClipboard::getContentObjectType() == "st")
                        {
                                $acts["pasteChapter"] =  "pasteChapter";
                        }*/
                        $this->setActions($acts);
                        $this->tpl->setVariable("NUM_COLS", 4);
                        $this->showActions();

                        // SHOW VALID ACTIONS
                        /*
                        $this->tpl->setCurrentBlock("operation_btn");
                        $this->tpl->setVariable("BTN_NAME", "delete");
                        $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("delete"));
                        $this->tpl->parseCurrentBlock();*/

                }

                // SHOW POSSIBLE SUB OBJECTS
                $this->tpl->setVariable("NUM_COLS", 4);
                //$this->showPossibleSubObjects("st");
                $subobj = array("pg");
                $opts = ilUtil::formSelect(12,"new_type",$subobj);
                $this->tpl->setCurrentBlock("add_object");
                $this->tpl->setVariable("SELECT_OBJTYPE", $opts);
                $this->tpl->setVariable("BTN_NAME", "create");
                $this->tpl->setVariable("TXT_ADD", $this->lng->txt("create"));
                $this->tpl->parseCurrentBlock();


                $this->tpl->setCurrentBlock("form");
                $this->tpl->parseCurrentBlock();

        }

Here is the call graph for this function:

ilObjContentObjectGUI::pasteChapter ( a_parent_subobj_id = 0  ) 

paste chapter

Definition at line 2028 of file class.ilObjContentObjectGUI.php.

References ilLMObject::_lookupContObjID(), ilEditClipboard::clear(), ilEditClipboard::getAction(), ilEditClipboard::getContentObjectId(), ilEditClipboard::getContentObjectType(), ilLMObjectFactory::getInstance(), ilObjectFactory::getInstanceByObjId(), and ilLMObject::updateInternalLinks().

        {
                if (ilEditClipboard::getContentObjectType() != "st")
                {
                        $this->ilias->raiseError($this->lng->txt("no_chapter_in_clipboard"),$this->ilias->error_obj->MESSAGE);
                }

                $target_tree = new ilTree($this->object->getId());
                $target_tree->setTableNames('lm_tree','lm_data');
                $target_tree->setTreeTablePK("lm_id");

                // check wether page belongs to lm
                if (ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId())
                        != $this->object->getID())
                {
                        $source_tree = new ilTree(ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId()));
                        $source_tree->setTableNames('lm_tree','lm_data');
                        $source_tree->setTreeTablePK("lm_id");
                }
                else
                {
                        $source_tree =& $target_tree;
                }

                // check, if target is within subtree
                $id = ilEditClipboard::getContentObjectId();
                $node = $source_tree->getNodeData($id);
                $subnodes = $source_tree->getSubtree($node);
                foreach ($subnodes as $subnode)
                {
                        if($subnode["obj_id"] == $a_parent_subobj_id)
                        {
                                $this->ilias->raiseError($this->lng->txt("cont_target_within_source"),$this->ilias->error_obj->MESSAGE);
                        }
                }
                if($_POST["id"][0] == $id)
                {
                        ilEditClipboard::clear();
                        $this->ctrl->redirect($this, "chapters");
                }

                // determin parent
                $parent = ($a_parent_subobj_id == 0)
                        ? $target_tree->getRootId()
                        : $a_parent_subobj_id;

                // determine target position
                if(!isset($_POST["id"]))
                {
                        $target = IL_LAST_NODE;
                }
                else
                {
                        $target = $_POST["id"][0];
                }
                if($target == IL_FIRST_NODE) // do not move a chapter in front of a page
                {
                        $childs =& $target_tree->getChildsByType($parent, "pg");
                        if (count($childs) != 0)
                        {
                                $target = $childs[count($childs) - 1]["obj_id"];
                        }
                }

                //echo ":".$id.":";
                // delete old tree entries
//echo "-".ilEditClipboard::getAction()."-";
                if (ilEditClipboard::getAction() == "move")
                {
                        if (ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId())
                                != $this->object->getID())
                        {
                                // we should never reach these lines, moving chapters from on
                                // lm to another is not supported
                                ilEditClipboard::clear();
                                if ($a_parent_subobj_id == 0)
                                {
                                        $this->ctrl->redirect($this, "chapters");
                                }
                                return;
                        }

                        $target_tree->deleteTree($node);

                        if (!$target_tree->isInTree($id))
                        {
                                $target_tree->insertNode($id, $parent, $target);

                                foreach ($subnodes as $node)
                                {
                                        //$obj_data =& $this->ilias->obj_factory->getInstanceByRefId($node["child"]);
                                        //$obj_data->putInTree($node["parent"]);
                                        if($node["obj_id"] != $id)
                                        {
                                                $target_tree->insertNode($node["obj_id"], $node["parent"]);
                                        }
                                }
                        }
                }
                else    // copy
                {
                        $id = ilEditClipboard::getContentObjectId();

                        $copied_nodes = array();
                        if (ilLMObject::_lookupContObjID($id)
                                == $this->object->getID())
                        {
                                $source_obj = ilLMObjectFactory::getInstance($this->object, $id, true);
                                $source_obj->setLMId($this->object->getId());
                                $source_obj->copy($target_tree, $parent, $target, $copied_nodes);
                        }
                        else
                        {
                                $lm_id = ilLMObject::_lookupContObjID($id);

                                $source_lm =& ilObjectFactory::getInstanceByObjId($lm_id);
                                $source_obj = ilLMObjectFactory::getInstance($source_lm, $id, true);
                                $source_obj->setLMId($lm_id);
                                $source_obj->copy($target_tree, $parent, $target, $copied_nodes);
                        }
                }

                ilLMObject::updateInternalLinks($copied_nodes);
                
                ilEditClipboard::clear();

                // check the tree
                $this->object->checkTree();

                if ($a_parent_subobj_id == 0)
                {
                        $this->ctrl->redirect($this, "chapters");
                }
        }

Here is the call graph for this function:

ilObjContentObjectGUI::pastePage (  ) 

paste page

Definition at line 1593 of file class.ilObjContentObjectGUI.php.

References ilLMObject::_lookupContObjID(), ilEditClipboard::clear(), ilEditClipboard::getAction(), ilEditClipboard::getContentObjectId(), ilEditClipboard::getContentObjectType(), and ilLMObject::updateInternalLinks().

        {
                if(ilEditClipboard::getContentObjectType() != "pg")
                {
                        $this->ilias->raiseError($this->lng->txt("no_page_in_clipboard"),$this->ilias->error_obj->MESSAGE);
                }

                // paste selected object
                $id = ilEditClipboard::getContentObjectId();

                // copy page, if action is copy
                if (ilEditClipboard::getAction() == "copy")
                {
                        // check wether page belongs to lm
                        if (ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId())
                                == $this->object->getID())
                        {
                                $lm_page = new ilLMPageObject($this->object, $id);
                                $new_page =& $lm_page->copy();
                                $id = $new_page->getId();
                        }
                        else
                        {
                                // get page from other content object into current content object
                                $lm_id = ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId());
                                $lm_obj =& $this->ilias->obj_factory->getInstanceByObjId($lm_id);
                                $lm_page = new ilLMPageObject($lm_obj, $id);
                                $copied_nodes = array();
                                $new_page =& $lm_page->copyToOtherContObject($this->object, $copied_nodes);
                                $id = $new_page->getId();
                                ilLMObject::updateInternalLinks($copied_nodes);
                        }
                }

                // cut is not be possible in "all pages" form yet
                if (ilEditClipboard::getAction() == "cut")
                {
                        // check wether page belongs not to lm
                        if (ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId())
                                != $this->object->getID())
                        {
                                $lm_id = ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId());
                                $lm_obj =& $this->ilias->obj_factory->getInstanceByObjId($lm_id);
                                $lm_page = new ilLMPageObject($lm_obj, $id);
                                $lm_page->setLMId($this->object->getID());
                                $lm_page->update();
                                $page =& $lm_page->getPageObject();
                                $page->buildDom();
                                $page->setParentId($this->object->getID());
                                $page->update();
                        }
                }


                ilEditClipboard::clear();
                $this->ctrl->redirect($this, "pages");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::perm (  ) 

edit permissions

Definition at line 1896 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::permObject(), ilObjectGUI::setFormAction(), and setTabs().

        {
                $this->setTabs();

                $this->setFormAction("addRole", $this->ctrl->getLinkTarget($this, "addRole"));
                $this->setFormAction("permSave", $this->ctrl->getLinkTarget($this, "permSave"));
                $this->permObject();
        }

Here is the call graph for this function:

ilObjContentObjectGUI::permSave (  ) 

save permissions

Definition at line 1909 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::permSaveObject(), and ilObjectGUI::setReturnLocation().

        {
                $this->setReturnLocation("permSave", $this->ctrl->getLinkTarget($this, "perm"));
                $this->permSaveObject();
        }

Here is the call graph for this function:

ilObjContentObjectGUI::popup (  ) 

popup window for wysiwyg editor

Definition at line 673 of file class.ilObjContentObjectGUI.php.

References $_GET, and exit.

        {
                include_once "./Services/COPage/classes/class.ilWysiwygUtil.php";
                $popup = new ilWysiwygUtil();
                $popup->show($_GET["ptype"]);
                exit;
        }

ilObjContentObjectGUI::proceedDragDrop (  ) 

proceed drag and drop operations on pages/chapters

Definition at line 684 of file class.ilObjContentObjectGUI.php.

References $_GET, $target_id, ilHistory::_createEntry(), ilLMObject::_lookupTitle(), ilLMObjectFactory::getInstance(), and ilLMObject::updateInternalLinks().

Referenced by explorer().

        {
                $lmtree = new ilTree($this->object->getId());
                $lmtree->setTableNames('lm_tree','lm_data');
                $lmtree->setTreeTablePK("lm_id");


                // node-id of dragged object
                $source_id = $_GET["dragdropSource"];

                // node-id of object under dragged obj at drop
                $target_id = $_GET["dragdropTarget"];

                // "move" | "copy"
                $movecopy = $_GET["dragdropCopymove"];

                // "after" | "before" : copy or move the source-object before or after the selected target-object.
                $position = $_GET["dragdropPosition"];

                //echo "sourceId: $sourceId<br>";
                //echo "targetId: $targetId<br>";
                //echo "move or copy: $movecopy<br>";
                //echo "position: $position<br>";

                $source_obj = ilLMObjectFactory::getInstance($this->object, $source_id, true);
                $source_obj->setLMId($this->object->getId());
                $target_obj = ilLMObjectFactory::getInstance($this->object, $target_id, true);
                $target_obj->setLMId($this->object->getId());
                $target_parent = $lmtree->getParentId($target_id);


                // handle pages
                if ($source_obj->getType() == "pg")
                {
                        if ($lmtree->isInTree($source_obj->getId()))
                        {
                                $node_data = $lmtree->getNodeData($source_obj->getId());

                                // cut on move
                                if ($movecopy == "move")
                                {
                                        $parent_id = $lmtree->getParentId($source_obj->getId());
                                        $lmtree->deleteTree($node_data);

                                        // write history entry
                                        require_once("classes/class.ilHistory.php");
                                        ilHistory::_createEntry($source_obj->getId(), "cut",
                                                array(ilLMObject::_lookupTitle($parent_id), $parent_id),
                                                $this->object->getType().":pg");
                                        ilHistory::_createEntry($parent_id, "cut_page",
                                                array(ilLMObject::_lookupTitle($source_obj->getId()), $source_obj->getId()),
                                                $this->object->getType().":st");
                                }
                                else
                                {
                                        // copy page
                                        $new_page =& $source_obj->copy();
                                        $source_id = $new_page->getId();
                                        $source_obj =& $new_page;
                                }

                                // paste page
                                if(!$lmtree->isInTree($source_obj->getId()))
                                {
                                        // move page after/before other page
                                        if ($target_obj->getType() == "pg")
                                        {
                                                $target_pos = $target_id;
                                                if ($position == "before")
                                                {
                                                        $target_pos = IL_FIRST_NODE;
                                                        if ($pred = $lmtree->fetchPredecessorNode($target_id))
                                                        {
                                                                if ($lmtree->getParentId($pred["child"]) == $target_parent)
                                                                {
                                                                        $target_pos = $pred["child"];
                                                                }
                                                        }
                                                }
                                                $parent = $target_parent;
                                        }
                                        else // move page into chapter
                                        {
                                                $target_pos = IL_FIRST_NODE;
                                                $parent = $target_id;
                                        }

                                        // insert page into tree
                                        $lmtree->insertNode($source_obj->getId(),
                                                $parent, $target_pos);

                                        // write hisroty entry
                                        if ($movecopy == "move")
                                        {
                                                // write history comments
                                                include_once("classes/class.ilHistory.php");
                                                ilHistory::_createEntry($source_obj->getId(), "paste",
                                                        array(ilLMObject::_lookupTitle($parent), $parent),
                                                        $this->object->getType().":pg");
                                                ilHistory::_createEntry($parent, "paste_page",
                                                        array(ilLMObject::_lookupTitle($source_obj->getId()), $source_obj->getId()),
                                                        $this->object->getType().":st");
                                        }

                                }
                        }
                }

                // handle chapters
                if ($source_obj->getType() == "st")
                {
                        // check wether target is a chapter
                        if ($target_obj->getType() != "st")
                        {
                                return;
                        }
                        $source_node = $lmtree->getNodeData($source_id);
                        $subnodes = $lmtree->getSubtree($source_node);

                        // check, if target is within subtree
                        foreach ($subnodes as $subnode)
                        {
                                if($subnode["obj_id"] == $target_id)
                                {
                                        return;
                                }
                        }

                        $target_pos = $target_id;

                        // insert before
                        if ($position == "before")
                        {
                                $target_pos = IL_FIRST_NODE;

                                // look for predecessor chapter on same level
                                $childs = $lmtree->getChildsByType($target_parent, "st");
                                $found = false;
                                foreach ($childs as $child)
                                {
                                        if ($child["obj_id"] == $target_id)
                                        {
                                                $found = true;
                                        }
                                        if (!$found)
                                        {
                                                $target_pos = $child["obj_id"];
                                        }
                                }

                                // if target_pos is still first node we must skip all pages
                                if ($target_pos == IL_FIRST_NODE)
                                {
                                        $pg_childs =& $lmtree->getChildsByType($target_parent, "pg");
                                        if (count($pg_childs) != 0)
                                        {
                                                $target_pos = $pg_childs[count($pg_childs) - 1]["obj_id"];
                                        }
                                }
                        }

                        // insert into
                        if ($position == "into")
                        {
                                $target_parent = $target_id;
                                $target_pos = IL_FIRST_NODE;

                                // if target_pos is still first node we must skip all pages
                                if ($target_pos == IL_FIRST_NODE)
                                {
                                        $pg_childs =& $lmtree->getChildsByType($target_parent, "pg");
                                        if (count($pg_childs) != 0)
                                        {
                                                $target_pos = $pg_childs[count($pg_childs) - 1]["obj_id"];
                                        }
                                }
                        }


                        // delete source tree
                        if ($movecopy == "move")
                        {
                                $lmtree->deleteTree($source_node);
                        }
                        else
                        {
                                // copy chapter (incl. subcontents)
                                $copied_nodes = array();
                                $new_chapter =& $source_obj->copy($lmtree, $target_parent, $target_pos, $copied_nodes);
                                ilLMObject::updateInternalLinks($copied_nodes);
                        }

                        if (!$lmtree->isInTree($source_id))
                        {
                                $lmtree->insertNode($source_id, $target_parent, $target_pos);

                                // insert moved tree
                                if ($movecopy == "move")
                                {
                                        foreach ($subnodes as $node)
                                        {
                                                if($node["obj_id"] != $source_id)
                                                {
                                                        $lmtree->insertNode($node["obj_id"], $node["parent"]);
                                                }
                                        }
                                }
                        }

                        // check the tree
                        $this->object->checkTree();

                }


                $this->object->checkTree();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::properties (  ) 

edit properties form

Reimplemented in ilObjDlBookGUI.

Definition at line 271 of file class.ilObjContentObjectGUI.php.

References $_GET, ilObjectGUI::$lng, __initLMMenuEditor(), ilFrameTargetInfo::_getFrame(), ilObjStyleSheet::_getStandardStyles(), ilObjStyleSheet::_lookupStandard(), ilObject::_lookupTitle(), formSelect(), ilObjContentObject::getAvailableLayouts(), ilUtil::getImagePath(), setTabs(), and ilUtil::yn2tf().

Referenced by ilObjLearningModuleGUI::view().

        {
                global $lng;

                $lng->loadLanguageModule("style");
                $this->setTabs();

                //$showViewInFrameset = $this->ilias->ini->readVariable("layout","view_target") == "frame";
                $showViewInFrameset = true;

                if ($showViewInFrameset)
                {
                        $buttonTarget = ilFrameTargetInfo::_getFrame("MainContent");
                }
                else
                {
                        $buttonTarget = "ilContObj".$this->object->getID();
                }

                //add template for view button
                $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");

                // view button
                $this->tpl->setCurrentBlock("btn_cell");
                $this->tpl->setVariable("BTN_LINK", "ilias.php?baseClass=ilLMPresentationGUI&ref_id=".$this->object->getRefID());
                $this->tpl->setVariable("BTN_TARGET"," target=\"".$buttonTarget."\" ");
                $this->tpl->setVariable("BTN_TXT",$this->lng->txt("view"));
                $this->tpl->parseCurrentBlock();

                $this->tpl->setCurrentBlock("btn_cell");
                $this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "fixTreeConfirm"));
                //$this->tpl->setVariable("BTN_TARGET"," target=\"_top\" ");
                $this->tpl->setVariable("BTN_TXT", $this->lng->txt("cont_fix_tree"));
                $this->tpl->parseCurrentBlock();

                //$this->tpl->touchBlock("btn_row");

                // edit public section
                if ($this->ilias->getSetting("pub_section"))
                {
                        if ($this->object->getType() != "dbk")
                        {
                                $this->tpl->setCurrentBlock("btn_cell");
                                $this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "editPublicSection"));
                                //$this->tpl->setVariable("BTN_TARGET"," target=\"_top\" ");
                                $this->tpl->setVariable("BTN_TXT", $this->lng->txt("public_section"));
                                $this->tpl->parseCurrentBlock();
                        }
                }

                // lm properties
                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.lm_properties.html", "Modules/LearningModule");
                $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
                $this->tpl->setVariable("TXT_PROPERTIES", $this->lng->txt("cont_lm_properties"));

                // online
                $this->tpl->setVariable("TXT_ONLINE", $this->lng->txt("cont_online"));
                $this->tpl->setVariable("CBOX_ONLINE", "cobj_online");
                $this->tpl->setVariable("VAL_ONLINE", "y");
                if ($this->object->getOnline())
                {
                        $this->tpl->setVariable("CHK_ONLINE", "checked");
                }

                // layout
                $this->tpl->setVariable("TXT_LAYOUT", $this->lng->txt("cont_def_layout"));
                $layouts = ilObjContentObject::getAvailableLayouts();
                $select_layout = ilUtil::formSelect ($this->object->getLayout(), "lm_layout",
                        $layouts, false, true);
                $this->tpl->setVariable("SELECT_LAYOUT", $select_layout);

                // style
                $this->tpl->setVariable("TXT_STYLE", $this->lng->txt("cont_style"));
                $fixed_style = $this->ilias->getSetting("fixed_content_style_id");

                if ($fixed_style > 0)
                {
                        $this->tpl->setVariable("VAL_STYLE",
                                ilObject::_lookupTitle($fixed_style)." (".
                                $this->lng->txt("global_fixed").")");
                }
                else
                {
                        $this->tpl->setCurrentBlock("style_edit");
                        $style_id = $this->object->getStyleSheetId();

                        $st_styles = ilObjStyleSheet::_getStandardStyles(true, false,
                                $_GET["ref_id"]);

                        $st_styles[0] = $this->lng->txt("default");
                        ksort($st_styles);
                        $style_sel = ilUtil::formSelect ($style_id, "style_id",
                                $st_styles, false, true);

                        if ($style_id > 0)
                        {
                                // standard style
                                if (ilObjStyleSheet::_lookupStandard($style_id))
                                {
                                        $this->tpl->setVariable("VAL_STYLE",
                                                $style_sel);
                                }
                                // individual style
                                else
                                {
                                        $this->tpl->setVariable("VAL_STYLE",
                                                ilObject::_lookupTitle($style_id));
                                        $this->tpl->setVariable("LINK_STYLE_EDIT",
                                                $this->ctrl->getLinkTargetByClass("ilObjStyleSheetGUI", "edit"));
                                        $this->tpl->setVariable("TXT_STYLE_EDIT",
                                                $this->lng->txt("edit"));
                                        //$this->tpl->setVariable("IMG_STYLE_EDIT",
                                        //      ilUtil::getImagePath("icon_pencil.gif"));

                                        // delete icon
                                        $this->tpl->setVariable("LINK_STYLE_DROP",
                                                $this->ctrl->getLinkTargetByClass("ilObjStyleSheetGUI", "delete"));
                                        $this->tpl->setVariable("TXT_STYLE_DROP",
                                                $this->lng->txt("delete"));
                                        //$this->tpl->setVariable("IMG_STYLE_DROP",
                                        //      ilUtil::getImagePath("delete.gif"));
                                }
                        }

                        if ($style_id <= 0 || ilObjStyleSheet::_lookupStandard($style_id))
                        {
                                $this->tpl->setVariable("VAL_STYLE",
                                        $style_sel);
                                $this->tpl->setVariable("LINK_STYLE_CREATE",
                                        $this->ctrl->getLinkTargetByClass("ilObjStyleSheetGUI", "create"));
                                $this->tpl->setVariable("TXT_STYLE_CREATE",
                                        $this->lng->txt("sty_create_ind_style"));
                        }
                        $this->tpl->parseCurrentBlock();
                }

                // page header
                $this->tpl->setVariable("TXT_PAGE_HEADER", $this->lng->txt("cont_page_header"));
                $pg_header = array ("st_title" => $this->lng->txt("cont_st_title"),
                        "pg_title" => $this->lng->txt("cont_pg_title"),
                        "none" => $this->lng->txt("cont_none"));
                $select_pg_head = ilUtil::formSelect ($this->object->getPageHeader(), "lm_pg_header",
                        $pg_header, false, true);
                $this->tpl->setVariable("SELECT_PAGE_HEADER", $select_pg_head);

                // chapter numbers
                $this->tpl->setVariable("TXT_NUMBER", $this->lng->txt("cont_act_number"));
                $this->tpl->setVariable("CBOX_NUMBER", "cobj_act_number");
                $this->tpl->setVariable("VAL_NUMBER", "y");
                if ($this->object->isActiveNumbering())
                {
                        $this->tpl->setVariable("CHK_NUMBER", "checked");
                }

                // toc mode
                $this->tpl->setVariable("TXT_TOC_MODE", $this->lng->txt("cont_toc_mode"));
                $arr_toc_mode = array ("chapters" => $this->lng->txt("cont_chapters_only"),
                        "pages" => $this->lng->txt("cont_chapters_and_pages"));
                $select_toc_mode = ilUtil::formSelect ($this->object->getTOCMode(), "toc_mode",
                        $arr_toc_mode, false, true);
                $this->tpl->setVariable("SELECT_TOC_MODE", $select_toc_mode);

                // public notes
                if (!$this->ilias->getSetting('disable_notes'))
                {
                        $this->tpl->setVariable("TXT_PUB_NOTES", $this->lng->txt("cont_public_notes"));
                        $this->tpl->setVariable("TXT_PUB_NOTES_DESC", $this->lng->txt("cont_public_notes_desc"));
                        $this->tpl->setVariable("CBOX_PUB_NOTES", "cobj_pub_notes");
                        $this->tpl->setVariable("VAL_PUB_NOTES", "y");
                        if ($this->object->publicNotes())
                        {
                                $this->tpl->setVariable("CHK_PUB_NOTES", "checked");
                        }
                }

                // clean frames
                $this->tpl->setVariable("TXT_CLEAN_FRAMES", $this->lng->txt("cont_synchronize_frames"));
                $this->tpl->setVariable("TXT_CLEAN_FRAMES_DESC", $this->lng->txt("cont_synchronize_frames_desc"));
                $this->tpl->setVariable("CBOX_CLEAN_FRAMES", "cobj_clean_frames");
                $this->tpl->setVariable("VAL_CLEAN_FRAMES", "y");
                if ($this->object->cleanFrames())
                {
                        $this->tpl->setVariable("CHK_CLEAN_FRAMES", "checked");
                }

                // history user comments
                $this->tpl->setVariable("TXT_HIST_USER_COMMENTS", $this->lng->txt("enable_hist_user_comments"));
                $this->tpl->setVariable("TXT_HIST_USER_COMMENTS_DESC", $this->lng->txt("enable_hist_user_comments_desc"));
                $this->tpl->setVariable("CBOX_HIST_USER_COMMENTS", "cobj_user_comments");
                $this->tpl->setVariable("VAL_HIST_USER_COMMENTS", "y");
                if ($this->object->isActiveHistoryUserComments())
                {
                        $this->tpl->setVariable("CHK_HIST_USER_COMMENTS", "checked");
                }

                // lm menu
                $this->tpl->setVariable("TXT_LM_MENU", $this->lng->txt("cont_lm_menu"));
                $this->tpl->setVariable("TXT_ACT_MENU", $this->lng->txt("cont_active"));
                $this->tpl->setVariable("CBOX_LM_MENU", "cobj_act_lm_menu");
                $this->tpl->setVariable("VAL_LM_MENU", "y");
                if ($this->object->isActiveLMMenu())
                {
                        $this->tpl->setVariable("CHK_LM_MENU", "checked");
                }

                // toc
                $this->tpl->setVariable("TXT_TOC", $this->lng->txt("cont_toc"));
                $this->tpl->setVariable("CBOX_TOC", "cobj_act_toc");
                $this->tpl->setVariable("VAL_TOC", "y");
                if ($this->object->isActiveTOC())
                {
                        $this->tpl->setVariable("CHK_TOC", "checked");
                }

                // print view
                $this->tpl->setVariable("TXT_PRINT", $this->lng->txt("cont_print_view"));
                $this->tpl->setVariable("CBOX_PRINT", "cobj_act_print");
                $this->tpl->setVariable("VAL_PRINT", "y");
                if ($this->object->isActivePrintView())
                {
                        $this->tpl->setVariable("CHK_PRINT", "checked");
                }

                // downloads
                $this->tpl->setVariable("TXT_DOWNLOADS", $this->lng->txt("cont_downloads"));
                $this->tpl->setVariable("TXT_DOWNLOADS_DESC", $this->lng->txt("cont_downloads_desc"));
                $this->tpl->setVariable("CBOX_DOWNLOADS", "cobj_act_downloads");
                $this->tpl->setVariable("VAL_DOWNLOADS", "y");

                if ($this->object->isActiveDownloads())
                {
                        $this->tpl->setVariable("CHK_DOWNLOADS", "checked=\"checked\"");
                }

                $this->tpl->setVariable("TXT_DOWNLOADS_PUBLIC_DESC", $this->lng->txt("cont_downloads_public_desc"));
                $this->tpl->setVariable("CBOX_DOWNLOADS_PUBLIC", "cobj_act_downloads_public");
                $this->tpl->setVariable("VAL_DOWNLOADS_PUBLIC", "y");

                if ($this->object->isActiveDownloadsPublic())
                {
                        $this->tpl->setVariable("CHK_DOWNLOADS_PUBLIC", "checked=\"checked\"");
                }

                if (!$this->object->isActiveDownloads())
                {
                        $this->tpl->setVariable("CHK2_DOWNLOADS_PUBLIC", "disabled=\"disabled\"");
                }

                // get user defined menu entries
                $this->__initLMMenuEditor();
                $entries = $this->lmme_obj->getMenuEntries();

                if (count($entries) > 0)
                {
                        foreach ($entries as $entry)
                        {
                                $this->ctrl->setParameter($this, "menu_entry", $entry["id"]);

                                $this->tpl->setCurrentBlock("menu_entries");

                                if ($entry["type"] == "intern")
                                {
                                        $entry["link"] = ILIAS_HTTP_PATH."/goto.php?target=".$entry["link"];
                                }

                                // add http:// prefix if not exist
                                if (!strstr($entry["link"],'://') && !strstr($entry["link"],'mailto:'))
                                {
                                        $entry["link"] = "http://".$entry["link"];
                                }

                                $this->tpl->setVariable("ENTRY_LINK", $entry["link"]);
                                $this->tpl->setVariable("ENTRY_TITLE", $entry["title"]);

                                $this->tpl->setVariable("CBOX_ENTRY", "menu_entries[]");
                                $this->tpl->setVariable("VAL_ENTRY", $entry["id"]);

                                if (ilUtil::yn2tf($entry["active"]))
                                {
                                        $this->tpl->setVariable("CHK_ENTRY", "checked=\"checked\"");
                                }


                                $this->tpl->setVariable("LINK_EDIT", $this->ctrl->getLinkTarget($this,"editMenuEntry"));
                                $this->tpl->setVariable("TARGET_EDIT", "content");
                                $this->tpl->setVariable("TXT_EDIT", $this->lng->txt("edit"));
                                $this->tpl->setVariable("IMG_EDIT", ilUtil::getImagePath("icon_pencil.gif"));

                                $this->tpl->setVariable("LINK_DROP", $this->ctrl->getLinkTarget($this,"deleteMenuEntry"));
                                $this->tpl->setVariable("TARGET_DROP", "content");
                                $this->tpl->setVariable("TXT_DROP", $this->lng->txt("drop"));
                                $this->tpl->setVariable("IMG_DROP", ilUtil::getImagePath("delete.gif"));

                                $this->tpl->parseCurrentBlock();
                        }
                }

                // add entry link


                $this->tpl->setCurrentBlock("commands");
                $this->tpl->setVariable("BTN_NAME", "saveProperties");
                $this->tpl->setVariable("BTN_TEXT", $this->lng->txt("save"));
                $this->tpl->setVariable("BTN_NAME2", "addMenuEntry");
                $this->tpl->setVariable("BTN_TEXT2", $this->lng->txt("add_menu_entry"));
                $this->tpl->parseCurrentBlock();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::publishExportFile (  ) 

download export file

Definition at line 2402 of file class.ilObjContentObjectGUI.php.

References $file.

        {
                if(!isset($_POST["file"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }
                if (count($_POST["file"]) > 1)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
                }

                $file = explode(":", $_POST["file"][0]);
                $export_dir = $this->object->getExportDirectory($file[0]);

                if ($this->object->getPublicExportFile($file[0]) ==
                        $file[1])
                {
                        $this->object->setPublicExportFile($file[0], "");
                }
                else
                {
                        $this->object->setPublicExportFile($file[0], $file[1]);
                }
                $this->object->update();
                $this->ctrl->redirect($this, "exportList");
        }

ilObjContentObjectGUI::refreshLinkCheck (  ) 

Definition at line 3154 of file class.ilObjContentObjectGUI.php.

References __initLinkChecker(), linkChecker(), and ilUtil::sendInfo().

        {
                $this->__initLinkChecker();

                if(!$this->link_checker_obj->checkPear())
                {
                        ilUtil::sendInfo($this->lng->txt('missing_pear_library'));
                        $this->linkChecker();

                        return false;
                }

                $this->link_checker_obj->checkLinks();
                ilUtil::sendInfo($this->lng->txt('link_checker_refreshed'));

                $this->linkChecker();

                return true;
        }

Here is the call graph for this function:

ilObjContentObjectGUI::saveBibItem (  ) 

save bib item (module call)

Definition at line 1195 of file class.ilObjContentObjectGUI.php.

References saveBibItemObject(), and setTabs().

        {
                $this->setTabs();
                $this->saveBibItemObject($this->ctrl->getLinkTarget($this));
        }

Here is the call graph for this function:

ilObjContentObjectGUI::saveBibItemObject ( a_target = ""  ) 

save bib item (admin call)

Definition at line 1171 of file class.ilObjContentObjectGUI.php.

References $_GET.

Referenced by saveBibItem().

        {
                include_once "./Modules/LearningModule/classes/class.ilBibItemGUI.php";
                $bib_gui =& new ilBibItemGUI();
                $bib_gui->setObject($this->object);
                $bibItemIndex = $_POST["bibItemIndex"] ? $_POST["bibItemIndex"] : $_GET["bibItemIndex"];
                $bibItemIndex *= 1;
                if ($bibItemIndex < 0)
                {
                        $bibItemIndex = 0;
                }
                $bibItemIndex = $bib_gui->save($bibItemIndex);

                if ($a_target == "")
                {
                        $a_target = "adm_object.php?ref_id=" . $this->object->getRefId();
                }

                $bib_gui->edit("ADM_CONTENT", "adm_content", $a_target, $bibItemIndex);
        }

Here is the caller graph for this function:

ilObjContentObjectGUI::saveLinkCheck (  ) 

Definition at line 3127 of file class.ilObjContentObjectGUI.php.

References linkChecker(), and ilUtil::sendInfo().

        {
                global $ilDB,$ilUser;

                include_once './classes/class.ilLinkCheckNotify.php';

                $link_check_notify =& new ilLinkCheckNotify($ilDB);
                $link_check_notify->setUserId($ilUser->getId());
                $link_check_notify->setObjId($this->object->getId());

                if($_POST['link_check_message'])
                {
                        ilUtil::sendInfo($this->lng->txt('link_check_message_enabled'));
                        $link_check_notify->addNotifier();
                }
                else
                {
                        ilUtil::sendInfo($this->lng->txt('link_check_message_disabled'));
                        $link_check_notify->deleteNotifier();
                }
                $this->linkChecker();

                return true;
        }

Here is the call graph for this function:

ilObjContentObjectGUI::saveMenuEntry (  ) 

save new menu entry

Definition at line 3233 of file class.ilObjContentObjectGUI.php.

References __initLMMenuEditor(), and ilUtil::sendInfo().

        {
                // check title and target
                if (empty($_POST["title"]))
                {
                        $this->ilias->raiseError($this->lng->txt("please_enter_title"),$this->ilias->error_obj->MESSAGE);
                }
                if (empty($_POST["target"]))
                {
                        $this->ilias->raiseError($this->lng->txt("please_enter_target"),$this->ilias->error_obj->MESSAGE);
                }

                $this->__initLMMenuEditor();
                $this->lmme_obj->setTitle($_POST["title"]);
                $this->lmme_obj->setTarget($_POST["target"]);
                $this->lmme_obj->setLinkRefId($_POST["link_ref_id"]);

                if ($_POST["link_ref_id"])
                {
                        $this->lmme_obj->setLinkType("intern");
                }

                $this->lmme_obj->create();

                ilUtil::sendInfo($this->lng->txt("msg_entry_added"), true);
                $this->ctrl->redirect($this, "properties");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::saveObject (  ) 

save new content object to db

Reimplemented from ilObjectGUI.

Definition at line 1019 of file class.ilObjContentObjectGUI.php.

References $_GET, ilUtil::redirect(), ilUtil::sendInfo(), and ilUtil::stripSlashes().

        {
                global $rbacadmin, $rbacsystem;

                // always call parent method first to create an object_data entry & a reference
                //$newObj = parent::saveObject();
                // TODO: fix MetaDataGUI implementation to make it compatible to use parent call
                if (!$rbacsystem->checkAccess("create", $_GET["ref_id"], $_GET["new_type"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_create_permission"), $this->ilias->error_obj->MESSAGE);
                }
                else
                {
                        // check title
                        if ($_POST["Fobject"]["title"] == "")
                        {
                                $this->ilias->raiseError($this->lng->txt("please_enter_title"), $this->ilias->error_obj->MESSAGE);
                                return;
                        }

                        // create and insert object in objecttree
                        include_once("./Modules/LearningModule/classes/class.ilObjContentObject.php");
                        $newObj = new ilObjContentObject();
                        $newObj->setType($this->type);
                        $newObj->setTitle(ilUtil::stripSlashes($_POST["Fobject"]["title"]));#"content object ".$newObj->getId());               // set by meta_gui->save
                        $newObj->setDescription(ilUtil::stripSlashes($_POST["Fobject"]["desc"]));       // set by meta_gui->save
                        $newObj->create();
                        $newObj->createReference();
                        $newObj->putInTree($_GET["ref_id"]);
                        $newObj->setPermissions($_GET["ref_id"]);
                        $newObj->notify("new",$_GET["ref_id"],$_GET["parent_non_rbac_id"],$_GET["ref_id"],$newObj->getRefId());

                        // setup rolefolder & default local roles (moderator)
                        //$roles = $newObj->initDefaultRoles();
                        // assign author role to creator of forum object
                        //$rbacadmin->assignUser($roles[0], $newObj->getOwner(), "n");
                        // create content object tree
                        $newObj->createLMTree();

                        // always send a message
                        ilUtil::sendInfo($this->lng->txt($this->type."_added"), true);
                        ilUtil::redirect("ilias.php?ref_id=".$newObj->getRefId().
                                "&baseClass=ilLMEditorGUI");
                }
        }

Here is the call graph for this function:

ilObjContentObjectGUI::saveProperties (  ) 

save properties

Definition at line 907 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::$ilias, __initLMMenuEditor(), ilObjStyleSheet::_lookupStandard(), ilUtil::sendInfo(), and ilUtil::yn2tf().

        {
                global $ilias;

                if ($ilias->getSetting("fixed_content_style_id") <= 0 &&
                        (ilObjStyleSheet::_lookupStandard($this->object->getStyleSheetId())
                        || $this->object->getStyleSheetId() == 0))
                {
                        $this->object->setStyleSheetId($_POST["style_id"]);
                }
                $this->object->setLayout($_POST["lm_layout"]);
                $this->object->setPageHeader($_POST["lm_pg_header"]);
                $this->object->setTOCMode($_POST["toc_mode"]);
                $this->object->setOnline(ilUtil::yn2tf($_POST["cobj_online"]));
                $this->object->setActiveLMMenu(ilUtil::yn2tf($_POST["cobj_act_lm_menu"]));
                $this->object->setActiveNumbering(ilUtil::yn2tf($_POST["cobj_act_number"]));
                $this->object->setActiveTOC(ilUtil::yn2tf($_POST["cobj_act_toc"]));
                $this->object->setActivePrintView(ilUtil::yn2tf($_POST["cobj_act_print"]));
                $this->object->setActiveDownloads(ilUtil::yn2tf($_POST["cobj_act_downloads"]));
                $this->object->setActiveDownloadsPublic(ilUtil::yn2tf($_POST["cobj_act_downloads_public"]));
                $this->object->setCleanFrames(ilUtil::yn2tf($_POST["cobj_clean_frames"]));
                $this->object->setPublicNotes(ilUtil::yn2tf($_POST["cobj_pub_notes"]));
                $this->object->setHistoryUserComments(ilUtil::yn2tf($_POST["cobj_user_comments"]));
                $this->object->updateProperties();

                $this->__initLMMenuEditor();
                $this->lmme_obj->updateActiveStatus($_POST["menu_entries"]);

                ilUtil::sendInfo($this->lng->txt("msg_obj_modified"), true);
                $this->ctrl->redirect($this, "properties");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::savePublicSection (  ) 

Definition at line 3013 of file class.ilObjContentObjectGUI.php.

References ilLMObject::_writePublicAccessStatus(), and ilUtil::sendInfo().

        {
                //var_dump($_POST["lm_public_mode"]);exit;
                $this->object->setPublicAccessMode($_POST["lm_public_mode"]);
                $this->object->updateProperties();
                ilLMObject::_writePublicAccessStatus($_POST["pages"],$this->object->getId());
                ilUtil::sendInfo($this->lng->txt("msg_obj_modified"), true);
                $this->ctrl->redirect($this, "editPublicSection");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::selectFooter (  ) 

select page as footer

Definition at line 3421 of file class.ilObjContentObjectGUI.php.

        {
                if(!isset($_POST["id"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }
                if(count($_POST["id"]) > 1)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
                }
                if ($_POST["id"][0] != $this->object->getFooterPage())
                {
                        $this->object->setFooterPage($_POST["id"][0]);
                }
                else
                {
                        $this->object->setFooterPage(0);
                }
                $this->object->updateProperties();
                $this->ctrl->redirect($this, "pages");
        }

ilObjContentObjectGUI::selectHeader (  ) 

select page as header

Definition at line 3396 of file class.ilObjContentObjectGUI.php.

        {
                if(!isset($_POST["id"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
                }
                if(count($_POST["id"]) > 1)
                {
                        $this->ilias->raiseError($this->lng->txt("cont_select_max_one_item"),$this->ilias->error_obj->MESSAGE);
                }
                if ($_POST["id"][0] != $this->object->getHeaderPage())
                {
                        $this->object->setHeaderPage($_POST["id"][0]);
                }
                else
                {
                        $this->object->setHeaderPage(0);
                }
                $this->object->updateProperties();
                $this->ctrl->redirect($this, "pages");
        }

ilObjContentObjectGUI::setilLMMenu ( a_offline = false,
a_export_format = "",
a_active = "content",
a_use_global_tabs = false 
)

get lm menu html

Definition at line 2589 of file class.ilObjContentObjectGUI.php.

References $_GET, $ilCtrl, __initLMMenuEditor(), ilFrameTargetInfo::_getFrame(), and ilUtil::appendUrlParameterString().

        {
                global $ilCtrl,$ilUser, $ilAccess, $ilTabs;
                
                $active[$a_active] = true;

                if (!$this->object->isActiveLMMenu())
                {
                        return "";
                }

                if ($a_use_global_tabs)
                {
                        $tabs_gui = $ilTabs;
                }
                else
                {
                        $tabs_gui = new ilTabsGUI();
                }
                
                // Determine whether the view of a learning resource should
                // be shown in the frameset of ilias, or in a separate window.
                //$showViewInFrameset = $this->ilias->ini->readVariable("layout","view_target") == "frame";
                $showViewInFrameset = true;

                if ($showViewInFrameset && !$a_offline)
                {
                        $buttonTarget = ilFrameTargetInfo::_getFrame("MainContent");
                }
                else
                {
                        $buttonTarget = "_top";
                }

                if ($a_export_format == "scorm")
                {
                        $buttonTarget = "";
                }

                // info button
                if ($a_export_format != "scorm" && !$a_offline)
                {
                        if (!$a_offline)
                        {
                                $ilCtrl->setParameterByClass("illmpresentationgui", "obj_id", $_GET["obj_id"]);
                                $link = $this->ctrl->getLinkTargetByClass(
                                                array("illmpresentationgui", "ilinfoscreengui"), "showSummary");
                        }
                        else
                        {
                                $link = "./info.html";
                        }
                        
                        $tabs_gui->addTarget("info_short", $link,
                                        "", "", $buttonTarget, $active["info"]);
                }

                // content
                if (!$a_offline && $ilAccess->checkAccess("read", "", $_GET["ref_id"]))
                {
                        $ilCtrl->setParameterByClass("illmpresentationgui", "obj_id", $_GET["obj_id"]);
                        $tabs_gui->addTarget("content",
                                $ilCtrl->getLinkTargetByClass("illmpresentationgui", "layout"),
                                "", "", $buttonTarget,  $active["content"]);
                }

                // table of contents
                if ($this->object->isActiveTOC() && $ilAccess->checkAccess("read", "", $_GET["ref_id"]))
                {
                        if (!$a_offline)
                        {
                                $ilCtrl->setParameterByClass("illmpresentationgui", "obj_id", $_GET["obj_id"]);
                                $link = $ilCtrl->getLinkTargetByClass("illmpresentationgui", "showTableOfContents");
                        }
                        else
                        {
                                $link = "./table_of_contents.html";
                        }
                        
                        $tabs_gui->addTarget("cont_toc", $link,
                                        "", "", $buttonTarget, $active["toc"]);
                }

                // print view
                if ($this->object->isActivePrintView() && $ilAccess->checkAccess("read", "", $_GET["ref_id"]))
                {
                        if (!$a_offline)                // has to be implemented for offline mode
                        {
                                $ilCtrl->setParameterByClass("illmpresentationgui", "obj_id", $_GET["obj_id"]);
                                $link = $ilCtrl->getLinkTargetByClass("illmpresentationgui", "showPrintViewSelection");
                                $tabs_gui->addTarget("cont_print_view", $link,
                                        "", "", $buttonTarget, $active["print"]);
                        }
                }

                // download
                if ($ilUser->getId() == ANONYMOUS_USER_ID)
                {
                        $is_public = $this->object->isActiveDownloadsPublic();
                }
                else
                {
                        $is_public = true;
                }

                if ($this->object->isActiveDownloads() && !$a_offline && $is_public &&
                        $ilAccess->checkAccess("read", "", $_GET["ref_id"]))
                {
                        $ilCtrl->setParameterByClass("illmpresentationgui", "obj_id", $_GET["obj_id"]);
                        $link = $ilCtrl->getLinkTargetByClass("illmpresentationgui", "showDownloadList");
                        $tabs_gui->addTarget("download", $link,
                                "", "", $buttonTarget, $active["download"]);
                }

                // get user defined menu entries
                $this->__initLMMenuEditor();
                $entries = $this->lmme_obj->getMenuEntries(true);

                if (count($entries) > 0 && $ilAccess->checkAccess("read", "", $_GET["ref_id"]))
                {
                        foreach ($entries as $entry)
                        {
                                // build goto-link for internal resources
                                if ($entry["type"] == "intern")
                                {
                                        $entry["link"] = ILIAS_HTTP_PATH."/goto.php?target=".$entry["link"];
                                }

                                // add http:// prefix if not exist
                                if (!strstr($entry["link"],'://') && !strstr($entry["link"],'mailto:'))
                                {
                                        $entry["link"] = "http://".$entry["link"];
                                }
                                
                                if (!strstr($entry["link"],'mailto:'))
                                {
                                        $entry["link"] = ilUtil::appendUrlParameterString($entry["link"], "ref_id=".$this->ref_id."&structure_id=".$this->obj_id);
                                }
                                $tabs_gui->addTarget($entry["title"],
                                        $entry["link"],
                                        "", "", "_blank", "", true);
                        }
                }

                return $tabs_gui->getHTML();
        }

Here is the call graph for this function:

ilObjContentObjectGUI::setTabs (  ) 

output tabs

Reimplemented from ilObjectGUI.

Definition at line 2854 of file class.ilObjContentObjectGUI.php.

References ilUtil::getImagePath(), and getTabs().

Referenced by addBibItem(), addMenuEntry(), ilObjDlBookGUI::addTranslation(), chapters(), confirmDeleteExportFile(), delete(), deleteBibItem(), editBibItem(), editMenuEntry(), editPublicSection(), executeCommand(), exportList(), fixTreeConfirm(), history(), info(), linkChecker(), owner(), pages(), perm(), properties(), saveBibItem(), showEntrySelector(), and viewExportLog().

        {
                // catch feedback message
                #include_once("classes/class.ilTabsGUI.php");
                #$tabs_gui =& new ilTabsGUI();
                $this->getTabs($this->tabs_gui);
                $this->tpl->setCurrentBlock("header_image");
                $this->tpl->setVariable("IMG_HEADER", ilUtil::getImagePath("icon_lm_b.gif"));
                $this->tpl->parseCurrentBlock();
                $this->tpl->setCurrentBlock("content");
                #$this->tpl->setVariable("TABS", $tabs_gui->getHTML());
                $this->tpl->setVariable("HEADER", $this->object->getTitle());
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::showActions (  ) 

show possible action (form buttons)

public

Definition at line 1861 of file class.ilObjContentObjectGUI.php.

References $d, and ilUtil::getImagePath().

Referenced by chapters(), and pages().

        {
                $notoperations = array();

                $operations = array();

                $d = $this->actions;

                foreach ($d as $row)
                {
                        if (!in_array($row["name"], $notoperations))
                        {
                                $operations[] = $row;
                        }
                }

                if (count($operations)>0)
                {
                        foreach ($operations as $val)
                        {
                                $this->tpl->setCurrentBlock("operation_btn");
                                $this->tpl->setVariable("BTN_NAME", $val["name"]);
                                $this->tpl->setVariable("BTN_VALUE", $this->lng->txt($val["lng"]));
                                $this->tpl->parseCurrentBlock();
                        }

                        $this->tpl->setCurrentBlock("operation");
                        $this->tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("arrow_downright.gif"));
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjContentObjectGUI::showEntrySelector (  ) 

Definition at line 3339 of file class.ilObjContentObjectGUI.php.

References $_GET, formSelect(), ilUtil::sendInfo(), and setTabs().

        {
                $this->setTabs();

                $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.lm_menu_object_selector.html","Modules/LearningModule");

                ilUtil::sendInfo($this->lng->txt("lm_menu_select_object_to_add"));

                require_once ("./Modules/LearningModule/classes/class.ilLMMenuObjectSelector.php");
                $exp = new ilLMMenuObjectSelector($this->ctrl->getLinkTarget($this,'test'),$this);

                $exp->setExpand($_GET["lm_menu_expand"] ? $_GET["lm_menu_expand"] : $this->tree->readRootId());
                $exp->setExpandTarget($this->ctrl->getLinkTarget($this,'showEntrySelector'));
                $exp->setTargetGet("ref_id");
                $exp->setRefId($this->cur_ref_id);

                $sel_types = array('lm','dbk','glo','frm','exc','tst','svy');
                $exp->setSelectableTypes($sel_types);

                //$exp->setTargetGet("obj_id");

                // build html-output
                $exp->setOutput(0);
                $output = $exp->getOutput();

                // get page ids
                foreach ($exp->format_options as $node)
                {
                        if (!$node["container"])
                        {
                                $pages[] = $node["child"];
                        }
                }

                //$this->tpl->setCurrentBlock("content");
                //var_dump($this->object->getPublicAccessMode());
                // access mode selector
                $this->tpl->setVariable("TXT_SET_PUBLIC_MODE", $this->lng->txt("set_public_mode"));
                $this->tpl->setVariable("TXT_CHOOSE_PUBLIC_MODE", $this->lng->txt("choose_public_mode"));
                $modes = array("complete" => $this->lng->txt("all_pages"), "selected" => $this->lng->txt("selected_pages_only"));
                $select_public_mode = ilUtil::formSelect ($this->object->getPublicAccessMode(),"lm_public_mode",$modes, false, true);
                $this->tpl->setVariable("SELECT_PUBLIC_MODE", $select_public_mode);

                $this->tpl->setVariable("TXT_EXPLORER_HEADER", $this->lng->txt("choose_public_pages"));
                $this->tpl->setVariable("EXP_REFRESH", $this->lng->txt("refresh"));
                $this->tpl->setVariable("EXPLORER",$output);
                $this->tpl->setVariable("ONCLICK",$js_pages);
                $this->tpl->setVariable("TXT_CHECKALL", $this->lng->txt("check_all"));
                $this->tpl->setVariable("TXT_UNCHECKALL", $this->lng->txt("uncheck_all"));
                $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
                $this->tpl->setVariable("FORMACTION", $this->ctrl->getLinkTarget($this, "savePublicSection"));
                //$this->tpl->parseCurrentBlock();
        }

Here is the call graph for this function:

ilObjContentObjectGUI::updateMenuEntry (  ) 

update a menu entry

Definition at line 3312 of file class.ilObjContentObjectGUI.php.

References __initLMMenuEditor(), and ilUtil::sendInfo().

        {
                if (empty($_POST["menu_entry"]))
                {
                        $this->ilias->raiseError($this->lng->txt("no_menu_entry_id"),$this->ilias->error_obj->MESSAGE);
                }

                // check title and target
                if (empty($_POST["title"]))
                {
                        $this->ilias->raiseError($this->lng->txt("please_enter_title"),$this->ilias->error_obj->MESSAGE);
                }
                if (empty($_POST["target"]))
                {
                        $this->ilias->raiseError($this->lng->txt("please_enter_target"),$this->ilias->error_obj->MESSAGE);
                }

                $this->__initLMMenuEditor();
                $this->lmme_obj->readEntry($_POST["menu_entry"]);
                $this->lmme_obj->setTitle($_POST["title"]);
                $this->lmme_obj->setTarget($_POST["target"]);
                $this->lmme_obj->update();

                ilUtil::sendInfo($this->lng->txt("msg_entry_updated"), true);
                $this->ctrl->redirect($this, "properties");
        }

Here is the call graph for this function:

ilObjContentObjectGUI::view (  ) 

view content object

Reimplemented in ilObjLearningModuleGUI.

Definition at line 1948 of file class.ilObjContentObjectGUI.php.

References $_GET, ilObjectGUI::prepareOutput(), and ilObjectGUI::viewObject().

        {
                if (strtolower($_GET["baseClass"]) == "iladministrationgui")
                {
                        $this->prepareOutput();
                        parent::viewObject();
                }
                else
                {
                        $this->viewObject();
                }
        }

Here is the call graph for this function:

ilObjContentObjectGUI::viewExportLog (  ) 

Definition at line 2360 of file class.ilObjContentObjectGUI.php.

References ilObjectGUI::$tree, exportMenu(), and setTabs().

        {
                global $tree;

                $this->setTabs();

                //add template for view button
                $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");

                $this->exportMenu();

                // load files templates
                $this->tpl->setVariable("ADM_CONTENT",
                        nl2br(file_get_contents($this->object->getExportDirectory()."/export.log")));

                $this->tpl->parseCurrentBlock();
        }

Here is the call graph for this function:


Field Documentation

ilObjContentObjectGUI::$ctrl

Definition at line 42 of file class.ilObjContentObjectGUI.php.


The documentation for this class was generated from the following file: