Public Member Functions | Data Fields

ilPageEditorGUI Class Reference

Public Member Functions

 ilPageEditorGUI (&$a_page_object)
 Constructor.
 setHeader ($a_header)
 set header title
 getHeader ()
 get header title
 setLocator (&$a_locator)
 set locator object
 returnToContext ()
 redirect to parent context
 setIntLinkHelpDefault ($a_type, $a_id)
executeCommand ()
 execute command
 _doJSEditing ()
 checks if current user has activated js editing and if browser is js capable
 _isBrowserJSEditCapable ()
 checks wether browser is javascript editing capable
 setMediaMode ()
 set media and editing mode
 copyLinkedMediaToClipboard ()
 copy linked media object to clipboard
 copyLinkedMediaToMediaPool ()
 copy linked media object to media pool
 addChangeComment ()
 add change comment to history
 pasteFromClipboard ($a_hier_id)
 paste from clipboard (redirects to clipboard)
 insertFromClipboard ()
 insert object from clipboard
 displayLocator ()
 display locator

Data Fields

 $ilias
 $tpl
 $lng
 $ctrl
 $objDefinition
 $page
 $target_script
 $return_location
 $header
 $tabs
 $cont_obj

Detailed Description

Definition at line 52 of file class.ilPageEditorGUI.php.


Member Function Documentation

ilPageEditorGUI::_doJSEditing (  ) 

checks if current user has activated js editing and if browser is js capable

Definition at line 446 of file class.ilPageEditorGUI.php.

References $ilias, $ilUser, and _isBrowserJSEditCapable().

Referenced by ilPCParagraphGUI::edit(), ilObjContentObjectGUI::explorer(), ilPCParagraphGUI::insert(), ilInternalLinkGUI::isEnabledJavaScript(), ilInternalLinkGUI::prepareJavascriptOutput(), and ilPageObjectGUI::showPage().

        {
                global $ilUser, $ilias;

                if ($ilUser->getPref("ilPageEditor_JavaScript") == "enable"
                        && $ilias->getSetting("enable_js_edit")
                        && ilPageEditorGUI::_isBrowserJSEditCapable())
                {
                        return true;
                }
                return false;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilPageEditorGUI::_isBrowserJSEditCapable (  ) 

checks wether browser is javascript editing capable

Definition at line 462 of file class.ilPageEditorGUI.php.

References $ilBrowser.

Referenced by _doJSEditing(), and ilPageObjectGUI::showPage().

        {
                global $ilBrowser;

                $version = $ilBrowser->getVersion();

                if ($ilBrowser->isFirefox() ||
                        ($ilBrowser->isIE() && !$ilBrowser->isMac()) ||
                        ($ilBrowser->isMozilla() && $version[0] >= 5))
                {
                        return true;
                }
                return false;
        }

Here is the caller graph for this function:

ilPageEditorGUI::addChangeComment (  ) 

add change comment to history

Definition at line 537 of file class.ilPageEditorGUI.php.

References $_POST, ilHistory::_createEntry(), sendInfo(), and ilUtil::stripSlashes().

        {
                include_once("classes/class.ilHistory.php");
                ilHistory::_createEntry($this->page->getId(), "update",
                        "", $this->page->getParentType().":pg",
                        ilUtil::stripSlashes($_POST["change_comment"]), true);
                sendInfo($this->lng->txt("cont_added_comment"), true);
                $this->ctrl->returnToParent($this);
        }

Here is the call graph for this function:

ilPageEditorGUI::copyLinkedMediaToClipboard (  ) 

copy linked media object to clipboard

Definition at line 514 of file class.ilPageEditorGUI.php.

References $_POST, $ilUser, ilObject::_lookupTitle(), and sendInfo().

        {
                global $ilUser;
                
                sendInfo($this->lng->txt("copied_to_clipboard"), true);
                $ilUser->addObjectToClipboard($_POST["mob_id"], "mob", ilObject::_lookupTitle($_POST["mob_id"]));
                $this->ctrl->returnToParent($this);
        }

Here is the call graph for this function:

ilPageEditorGUI::copyLinkedMediaToMediaPool (  ) 

copy linked media object to media pool

Definition at line 526 of file class.ilPageEditorGUI.php.

References $_POST, and $ilUser.

        {
                global $ilUser;
                
                $this->ctrl->setParameterByClass("ilmediapooltargetselector", "mob_id", $_POST["mob_id"]); 
                $this->ctrl->redirectByClass("ilmediapooltargetselector", "listPools");
        }

ilPageEditorGUI::displayLocator (  ) 

display locator

Definition at line 588 of file class.ilPageEditorGUI.php.

Referenced by executeCommand().

        {
                if(is_object($this->locator))
                {
                        $this->locator->display();
                }
        }

Here is the caller graph for this function:

& ilPageEditorGUI::executeCommand (  ) 

execute command

Definition at line 142 of file class.ilPageEditorGUI.php.

References $_GET, $_POST, $cmd, $cont_obj, $list_gui, ilObject::_lookupTitle(), displayLocator(), getHeader(), and pasteFromClipboard().

        {
//echo "execute";
                $cmd = $this->ctrl->getCmd();
                $cmdClass = strtolower($this->ctrl->getCmdClass());

                $hier_id = $_GET["hier_id"];
                if(isset($_POST["new_hier_id"]))
                {
                        $hier_id = $_POST["new_hier_id"];
                }
//echo "GEThier_id:".$_GET["hier_id"]."<br>";
//echo "hier_id:".$hier_id."<br>";

                $new_type = (isset($_GET["new_type"]))
                        ? $_GET["new_type"]
                        : $_POST["new_type"];

                if (substr($cmd, 0, 5) == "exec_")
                {
                        $cmd = explode("_", key($_POST["cmd"]));
                        unset($cmd[0]);
                        $hier_id = implode($cmd, "_");
                        $cmd = $_POST["command".$hier_id];
                }
                
                // strip "c" "r" of table ids from hierarchical id
                $first_hier_character = substr($hier_id, 0, 1);
                if ($first_hier_character == "c" ||
                        $first_hier_character == "r" ||
                        $first_hier_character == "i")
                {
                        $hier_id = substr($hier_id, 1);
                }

                $this->page->buildDom();
                $this->page->addHierIDs();

                // determine command and content object
                $com = explode("_", $cmd);
                $cmd = $com[0];

//echo "type:$type:cmd:$cmd:";
                $next_class = $this->ctrl->getNextClass($this);

                // determine content type
                if ($cmd == "insert" || $cmd == "create")
                {
                        $ctype = $com[1];
                }
                else
                {
                        // setting cmd and cmdclass for editing of linked media
                        if ($cmd == "editLinkedMedia")
                        {
                                $this->ctrl->setCmd("edit");
                                $cmd = "edit";
                                $_GET["pgEdMediaMode"] = "editLinkedMedia";
                                $_GET["mob_id"] = $_POST["mob_id"];
                        }
                        if ($_GET["pgEdMediaMode"] == "editLinkedMedia")
                        {
                                $this->ctrl->setParameter($this, "pgEdMediaMode", "editLinkedMedia");
                                $this->ctrl->setParameter($this, "mob_id", $_GET["mob_id"]);
                                if ($cmdClass != "ilinternallinkgui")
                                {
                                        $this->ctrl->setCmdClass("ilobjmediaobjectgui");
                                        $cmdClass = "ilobjmediaobjectgui";
                                }
                        }
                        
                        // note: ilinternallinkgui for page: no cont_obj is received
                        // ilinternallinkgui for mob: cont_obj is received
                        if ($cmd != "insertFromClipboard" && $cmd != "pasteFromClipboard" &&
                                $cmd != "setMediaMode" && $cmd != "copyLinkedMediaToClipboard" &&
                                $cmd != "copyLinkedMediaToMediaPool" &&
                                $cmdClass != "ileditclipboardgui" && $cmd != "addChangeComment" &&
                                ($cmdClass != "ilinternallinkgui" || ($next_class == "ilobjmediaobjectgui")))
                        {
                                if ($_GET["pgEdMediaMode"] != "editLinkedMedia")
                                {
                                        $cont_obj =& $this->page->getContentObject($hier_id);
                                        $ctype = $cont_obj->getType();
                                }
                        }
                }

                $this->tpl->addBlockFile("CONTENT", "content", "tpl.adm_content.html");
                $this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");


                if ($ctype != "mob" || !is_object ($cont_obj))
                {
                        $this->tpl->setVariable("HEADER", $this->getHeader());
                        $this->displayLocator();
                }

                $this->cont_obj =& $cont_obj;

                // special command / command class handling
                $this->ctrl->setParameter($this, "hier_id", $hier_id);
                $this->ctrl->setCmd($cmd);
                //$next_class = $this->ctrl->getNextClass($this);

                if ($next_class == "")
                {
                        switch($ctype)
                        {
                                case "src":
                                        $this->ctrl->setCmdClass("ilPCSourcecodeGUI");
                                        break;

                                case "par":
                                        $this->ctrl->setCmdClass("ilPCParagraphGUI");
                                        break;

                                case "tab":
                                        $this->ctrl->setCmdClass("ilPCTableGUI");
                                        break;

                                case "td":
                                        $this->ctrl->setCmdClass("ilPCTableDataGUI");
                                        break;

                                case "mob":
                                        $this->ctrl->setCmdClass("ilPCMediaObjectGUI");
                                        break;

                                case "list":
                                        $this->ctrl->setCmdClass("ilPCListGUI");
                                        break;

                                case "li":
                                        $this->ctrl->setCmdClass("ilPCListItemGUI");
                                        break;

                                case "flst":
                                        $this->ctrl->setCmdClass("ilPCFileListGUI");
                                        break;

                                case "flit":
                                        $this->ctrl->setCmdClass("ilPCFileItemGUI");
                                        break;

                                case "pcqst":
                                        $this->ctrl->setCmdClass("ilPCQuestionGUI");
                                        break;
                        }
                        $next_class = $this->ctrl->getNextClass($this);
                }

//echo "hier_id:$hier_id:type:$type:cmd:$cmd:ctype:$ctype:next_class:$next_class:<br>";

                switch($next_class)
                {
                        case "ilinternallinkgui":
                                $link_gui = new ilInternalLinkGUI(
                                        $this->int_link_def_type, $this->int_link_def_id);
                                $link_gui->setMode("normal");
                                $link_gui->setSetLinkTargetScript(
                                        $this->ctrl->getLinkTarget($this, "setInternalLink"));
                                //$link_gui->filterLinkType("Media");
                                $ret =& $this->ctrl->forwardCommand($link_gui);
                                //$ret =& $link_gui->executeCommand();
                                break;

                        // Sourcecode
                        case "ilpcsourcecodegui":
                                include_once ("content/classes/Pages/class.ilPCSourcecodeGUI.php");
                                $src_gui =& new ilPCSourcecodeGUI($this->page, $cont_obj, $hier_id);
                                //$ret =& $src_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($src_gui);
                                break;

                        // Paragraph
                        case "ilpcparagraphgui":
                                include_once ("content/classes/Pages/class.ilPCParagraphGUI.php");
                                $par_gui =& new ilPCParagraphGUI($this->page, $cont_obj, $hier_id);
                                //$ret =& $par_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($par_gui);
                                break;

                        // Table
                        case "ilpctablegui":
                                include_once ("content/classes/Pages/class.ilPCTableGUI.php");
                                $tab_gui =& new ilPCTableGUI($this->page, $cont_obj, $hier_id);
                                //$ret =& $tab_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($tab_gui);
                                break;

                        // Table Cell
                        case "ilpctabledatagui":
                                include_once ("content/classes/Pages/class.ilPCTableDataGUI.php");
                                $td_gui =& new ilPCTableDataGUI($this->page, $cont_obj, $hier_id);
                                //$ret =& $td_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($td_gui);
                                break;

                        // PC Media Object
                        case "ilpcmediaobjectgui":
                        case "ilobjmediaobjectgui":
                                include_once ("content/classes/Media/class.ilObjMediaObjectGUI.php");
                                include_once ("content/classes/Pages/class.ilPCMediaObjectGUI.php");
                                $tabs_gui =& new ilTabsGUI();
                                if ($_GET["pgEdMediaMode"] != "editLinkedMedia")
                                {
                                        $pcmob_gui =& new ilPCMediaObjectGUI($this->page, $cont_obj, $hier_id);
                                        if (is_object ($cont_obj))
                                        {
                                                $pcmob_gui->getTabs($tabs_gui);
                                                $this->tpl->setVariable("HEADER", $this->lng->txt("mob").": ".
                                                        $cont_obj->getTitle());
                                                $this->displayLocator("mob");
                                                $mob_gui =& new ilObjMediaObjectGUI("", $cont_obj->getId(),false, false);
                                                $mob_gui->getTabs($tabs_gui);
                                        }
                                        else
                                        {
                                                $pcmob_gui->getTabs($tabs_gui, true);
                                        }
                                }
                                else
                                {
                                        $mob_gui =& new ilObjMediaObjectGUI("", $_GET["mob_id"],false, false);
                                        $mob_gui->getTabs($tabs_gui);
                                        $this->tpl->setVariable("HEADER", $this->lng->txt("mob").": ".
                                                ilObject::_lookupTitle($_GET["mob_id"]));
                                }

                                $this->tpl->setVariable("TABS", $tabs_gui->getHTML());

                                if ($next_class == "ilpcmediaobjectgui")
                                {
                                        //$pcmob_gui->executeCommand();
                                        $ret =& $this->ctrl->forwardCommand($pcmob_gui);
                                }
                                else
                                {
                                        //$ret =& $mob_gui->executeCommand();
                                        $ret =& $this->ctrl->forwardCommand($mob_gui);
                                }
                                break;

                        // List
                        case "ilpclistgui":
                                include_once ("content/classes/Pages/class.ilPCListGUI.php");
                                $list_gui =& new ilPCListGUI($this->page, $cont_obj, $hier_id);
                                //$ret =& $list_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($list_gui);
                                break;

                        // List Item
                        case "ilpclistitemgui":
                                include_once ("content/classes/Pages/class.ilPCListItemGUI.php");
                                $list_item_gui =& new ilPCListItemGUI($this->page, $cont_obj, $hier_id);
                                //$ret =& $list_item_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($list_item_gui);
                                break;

                        // File List
                        case "ilpcfilelistgui":
                                include_once ("content/classes/Pages/class.ilPCFileListGUI.php");
                                $file_list_gui =& new ilPCFileListGUI($this->page, $cont_obj, $hier_id);
                                //$ret =& $file_list_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($file_list_gui);
                                break;

                        // File List Item
                        case "ilpcfileitemgui":
                                include_once ("content/classes/Pages/class.ilPCFileItemGUI.php");
                                $file_item_gui =& new ilPCFileItemGUI($this->page, $cont_obj, $hier_id);
                                //$ret =& $file_item_gui->executeCommand();
                                $ret =& $this->ctrl->forwardCommand($file_item_gui);
                                break;

                        case "ilpcquestiongui":
                                include_once("content/classes/Pages/class.ilPCQuestionGUI.php");
                                $pc_question_gui =& new ilPCQuestionGUI($this->page, $cont_obj, $hier_id);
                                $cmd = $this->ctrl->getCmd();
                                $pc_question_gui->$cmd();
                                $this->ctrl->redirectByClass(array("ilobjquestionpoolgui", get_class($cont_obj)), "editQuestion");
                                break;

                        default:

                                if ($cmd == "pasteFromClipboard")
                                {
                                        $ret =& $this->pasteFromClipboard($hier_id);
                                }
                                else
                                {
                                        $ret =& $this->$cmd();
                                }
                                break;

                }

                return $ret;
        }

Here is the call graph for this function:

ilPageEditorGUI::getHeader (  ) 

get header title

Returns:
string header title

Definition at line 109 of file class.ilPageEditorGUI.php.

Referenced by executeCommand().

        {
                return $this->header;
        }

Here is the caller graph for this function:

ilPageEditorGUI::ilPageEditorGUI ( &$  a_page_object  ) 

Constructor.

Parameters:
object $a_page_object page object public

Definition at line 77 of file class.ilPageEditorGUI.php.

References $ilCtrl, $ilias, $lng, $objDefinition, and $tpl.

        {
                global $ilias, $tpl, $lng, $objDefinition, $ilCtrl;

                // initiate variables
                $this->ilias =& $ilias;
                $this->ctrl =& $ilCtrl;
                $this->tpl =& $tpl;
                $this->lng =& $lng;
                $this->objDefinition = $objDefinition;

                $this->page =& $a_page_object;

                $this->ctrl->saveParameter($this, "hier_id");
        }

ilPageEditorGUI::insertFromClipboard (  ) 

insert object from clipboard

Definition at line 565 of file class.ilPageEditorGUI.php.

References $_GET.

        {
                include_once ("content/classes/Media/class.ilObjMediaObjectGUI.php");
                if ($_GET["clip_obj_id"] != "")
                {
                        if ($_GET["clip_obj_type"] == "mob")
                        {
//$this->dom =& $this->page->getDom();
//echo "is_object:".is_object($this->dom).":";
                                $this->content_obj = new ilObjMediaObject($_GET["clip_obj_id"]);
                                $this->content_obj->setDom($this->page->getDom());
                                $this->content_obj->createAlias($this->page, $_GET["hier_id"]);
                                $this->updated = $this->page->update();
                        }
                }
                $this->ctrl->returnToParent($this);
        }

ilPageEditorGUI::pasteFromClipboard ( a_hier_id  ) 

paste from clipboard (redirects to clipboard)

Definition at line 550 of file class.ilPageEditorGUI.php.

References $ilCtrl.

Referenced by executeCommand().

        {
                global $ilCtrl;

                $ilCtrl->setParameter($this, "hier_id", $a_hier_id);
                $ilCtrl->setParameterByClass("ilEditClipboardGUI", "returnCommand",
                        rawurlencode($ilCtrl->getLinkTarget($this,
                        "insertFromClipboard")));
//echo ":".$ilCtrl->getLinkTarget($this, "insertFromClipboard").":";
                $ilCtrl->redirectByClass("ilEditClipboardGUI", "getObject");
        }

Here is the caller graph for this function:

ilPageEditorGUI::returnToContext (  ) 

redirect to parent context

Definition at line 127 of file class.ilPageEditorGUI.php.

        {
                $this->ctrl->returnToParent($this);
        }

ilPageEditorGUI::setHeader ( a_header  ) 

set header title

Parameters:
string $a_header header title

Definition at line 99 of file class.ilPageEditorGUI.php.

        {
                $this->header = $a_header;
        }

ilPageEditorGUI::setIntLinkHelpDefault ( a_type,
a_id 
)

Definition at line 132 of file class.ilPageEditorGUI.php.

        {
                $this->int_link_def_type = $a_type;
                $this->int_link_def_id = $a_id;
        }

ilPageEditorGUI::setLocator ( &$  a_locator  ) 

set locator object

Parameters:
object $a_locator locator object

Definition at line 119 of file class.ilPageEditorGUI.php.

        {
                $this->locator =& $a_locator;
        }

ilPageEditorGUI::setMediaMode (  ) 

set media and editing mode

Definition at line 480 of file class.ilPageEditorGUI.php.

References $_POST, $ilias, and $ilUser.

        {
                global $ilUser, $ilias;

                $ilUser->writePref("ilPageEditor_MediaMode", $_POST["media_mode"]);
                if ($ilias->getSetting("enable_js_edit"))
                {
                        if ($ilUser->getPref("ilPageEditor_JavaScript") != $_POST["js_mode"])
                        {
                                // not nice, should be solved differently in the future
                                if ($this->page->getParentType() == "lm" ||
                                        $this->page->getParentType() == "dbk")
                                {
                                        $this->ctrl->setParameterByClass("illmpageobjectgui", "reloadTree", "y");
                                }
                        }
                        $ilUser->writePref("ilPageEditor_JavaScript", $_POST["js_mode"]);
                }
                
                // again not so nice...
                if ($this->page->getParentType() == "lm" ||
                        $this->page->getParentType() == "dbk")
                {
                        $this->ctrl->redirectByClass("illmpageobjectgui", "view");
                }
                else
                {
                        $this->ctrl->returnToParent($this);
                }
        }


Field Documentation

ilPageEditorGUI::$cont_obj

Definition at line 69 of file class.ilPageEditorGUI.php.

Referenced by executeCommand().

ilPageEditorGUI::$ctrl

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

ilPageEditorGUI::$header

Definition at line 67 of file class.ilPageEditorGUI.php.

ilPageEditorGUI::$ilias

Definition at line 59 of file class.ilPageEditorGUI.php.

Referenced by _doJSEditing(), ilPageEditorGUI(), and setMediaMode().

ilPageEditorGUI::$lng

Definition at line 61 of file class.ilPageEditorGUI.php.

Referenced by ilPageEditorGUI().

ilPageEditorGUI::$objDefinition

Definition at line 63 of file class.ilPageEditorGUI.php.

Referenced by ilPageEditorGUI().

ilPageEditorGUI::$page

Definition at line 64 of file class.ilPageEditorGUI.php.

ilPageEditorGUI::$return_location

Definition at line 66 of file class.ilPageEditorGUI.php.

ilPageEditorGUI::$tabs

Definition at line 68 of file class.ilPageEditorGUI.php.

ilPageEditorGUI::$target_script

Definition at line 65 of file class.ilPageEditorGUI.php.

ilPageEditorGUI::$tpl

Definition at line 60 of file class.ilPageEditorGUI.php.

Referenced by ilPageEditorGUI().


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