Public Member Functions | Data Fields

ilMainMenuGUI Class Reference

Public Member Functions

 ilMainMenuGUI ($a_target="_top", $a_use_start_template=false)
 setSmallMode ($a_small)
 setActive ($a_active)
 setTemplate (&$tpl)
 set output template
 getTemplate ()
 get output template
 addMenuBlock ($a_var="CONTENT", $a_block="navigation")
 add menu template as block
 setTemplateVars ()
 set all template variables (images, scripts, target frames, ...)
 getScriptTarget ($a_script)
 generates complete script target (private)
 _checkAdministrationPermission ()
 getHTML ()

Data Fields

 $ilias
 $tpl
 $target
 $start_template

Detailed Description

Definition at line 32 of file class.ilMainMenuGUI.php.


Member Function Documentation

ilMainMenuGUI::_checkAdministrationPermission (  ) 

Definition at line 340 of file class.ilMainMenuGUI.php.

References $rbacsystem, and ilUtil::_getObjectsByOperations().

Referenced by ilObjForumGUI::createObject(), ilAdministrationGUI::executeCommand(), and setTemplateVars().

        {
                global $rbacsystem;

                if($rbacsystem->checkAccess("visible,read", SYSTEM_FOLDER_ID))
                {
                        return true;
                }
                return false;
                // Allow all local admins to use the administration
                return count(ilUtil::_getObjectsByOperations('cat','cat_administrate_users')) ? true : false;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilMainMenuGUI::addMenuBlock ( a_var = "CONTENT",
a_block = "navigation" 
)

add menu template as block

Definition at line 98 of file class.ilMainMenuGUI.php.

        {
                echo "ilMainMenu->addMenuBlick is deprecated. Use getHTML instead.";
                return;
                $this->tpl->addBlockFile($a_var, $a_block, "tpl.main_buttons.html");
        }

ilMainMenuGUI::getHTML (  ) 

Definition at line 353 of file class.ilMainMenuGUI.php.

References setTemplateVars().

        {
                $this->setTemplateVars();
                return $this->tpl->get();
        }

Here is the call graph for this function:

ilMainMenuGUI::getScriptTarget ( a_script  ) 

generates complete script target (private)

Definition at line 320 of file class.ilMainMenuGUI.php.

References $ilias.

Referenced by setTemplateVars().

        {
                global $ilias;

                $script = "./".$a_script;

                //if ($this->start_template == true)
                //{
                        //if(is_file("./templates/".$ilias->account->skin."/tpl.start.html"))
                        //{
        //                      $script = "./start.php?script=".rawurlencode($script);
                        //}
                //}
                if (defined("ILIAS_MODULE"))
                {
                        $script = ".".$script;
                }
                return $script;
        }

Here is the caller graph for this function:

ilMainMenuGUI::getTemplate (  ) 

get output template

Definition at line 88 of file class.ilMainMenuGUI.php.

        {
                echo "ilMainMenu->getTemplate is deprecated. Use getHTML instead.";
                return;
                return $this->tpl;
        }

ilMainMenuGUI::ilMainMenuGUI ( a_target = "_top",
a_use_start_template = false 
)
Parameters:
string $a_target target frame
boolean $a_use_start_template true means: target scripts should be called through start template

Definition at line 50 of file class.ilMainMenuGUI.php.

References $ilias.

        {
                global $ilias;
                
                
                $this->tpl = new ilTemplate("tpl.main_buttons.html", true, true);
                $this->ilias =& $ilias;
                $this->target = $a_target;
                $this->start_template = $a_use_start_template;
                $this->small = false;
        }

ilMainMenuGUI::setActive ( a_active  ) 
Parameters:
string $a_active "desktop"|"repository"|"search"|"mail"|"administration"

Definition at line 70 of file class.ilMainMenuGUI.php.

        {
                $this->active = $a_active;
        }

ilMainMenuGUI::setSmallMode ( a_small  ) 

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

        {
                $this->small = $a_small;
        }

ilMainMenuGUI::setTemplate ( &$  tpl  ) 

set output template

Definition at line 78 of file class.ilMainMenuGUI.php.

References $tpl.

        {
                echo "ilMainMenu->setTemplate is deprecated. Use getHTML instead.";
                return;
                $this->tpl =& $tpl;
        }

ilMainMenuGUI::setTemplateVars (  ) 

set all template variables (images, scripts, target frames, ...)

Definition at line 108 of file class.ilMainMenuGUI.php.

References $_GET, $_SESSION, $add, $ilias, $lng, $mbox, $obj_id, $rbacsystem, $tree, $type, _checkAdministrationPermission(), ilMailbox::_countNewMails(), ilObjSystemFolder::_getHeaderTitle(), ilSearchSettings::_getSearchSettingRefId(), ilLanguage::_lookupEntry(), _lookupObjId(), ilRegistrationSettings::_lookupRegistrationType(), ilObject::_lookupType(), ilUtil::getImagePath(), getScriptTarget(), ilUtil::getStyleSheetLocation(), and ilMailbox::hasNewMail().

Referenced by getHTML().

        {
                global $rbacsystem, $lng, $ilias, $tree;

                // administration button

                #if ($rbacsystem->checkAccess("visible,read", SYSTEM_FOLDER_ID))
                if(ilMainMenuGUI::_checkAdministrationPermission())
                {
                        $this->tpl->setCurrentBlock("userisadmin");
                        $this->tpl->setVariable("IMG_ADMIN", ilUtil::getImagePath("navbar/admin.gif", false));
                        $this->tpl->setVariable("IMG_SPACE_ADMIN", ilUtil::getImagePath("spacer.gif", false));
                        $this->tpl->setVariable("TXT_ADMINISTRATION", $lng->txt("administration"));
                        $this->tpl->setVariable("SCRIPT_ADMIN", $this->getScriptTarget("ilias.php?baseClass=ilAdministrationGUI"));
                        $this->tpl->setVariable("TARGET_ADMIN", $this->target);
                        if ($this->active == "administration")
                        {
                                $this->tpl->setVariable("MM_CLASS", "MMActive");
                        }
                        else
                        {
                                $this->tpl->setVariable("MM_CLASS", "MMInactive");
                        }
                        $this->tpl->parseCurrentBlock();
                }

                include_once 'Services/Search/classes/class.ilSearchSettings.php';
                if($rbacsystem->checkAccess('search',ilSearchSettings::_getSearchSettingRefId()))
                {
                        $this->tpl->setCurrentBlock("searchbutton");
                        $this->tpl->setVariable("SCRIPT_SEARCH",$this->getScriptTarget('search.php'));
                        #$this->tpl->setVariable("SCRIPT_SEARCH",$this->getScriptTarget('search_new.php'));
                        $this->tpl->setVariable("TARGET_SEARCH",$this->target);
                        $this->tpl->setVariable("TXT_SEARCH", $lng->txt("search"));
                        if ($this->active == "search")
                        {
                                $this->tpl->setVariable("MM_CLASS", "MMActive");
                        }
                        else
                        {
                                $this->tpl->setVariable("MM_CLASS", "MMInactive");
                        }
                        $this->tpl->parseCurrentBlock();
                }

                // help button
                //$this->tpl->setCurrentBlock("userhelp");
                //$this->tpl->setVariable("TXT_HELP", $lng->txt("help"));
                //$this->tpl->setVariable("SCRIPT_HELP", "ilias.php?baseClass=ilHelpGUI");
                //$this->tpl->setVariable("TARGET_HELP", "ilias_help");
                //$this->tpl->parseCurrentBlock();

                $this->tpl->setVariable("IMG_SPACE", ilUtil::getImagePath("spacer.gif", false));
                
                // mail & desktop button
                if ($_SESSION["AccountId"] != ANONYMOUS_USER_ID)
                {
                        $this->tpl->setCurrentBlock("desktopbutton");
                        $this->tpl->setVariable("IMG_DESK", ilUtil::getImagePath("navbar/desk.gif", false));
                        $this->tpl->setVariable("IMG_SPACE_DESK", ilUtil::getImagePath("spacer.gif", false));
                        $this->tpl->setVariable("TXT_PERSONAL_DESKTOP", $lng->txt("personal_desktop"));
                        $this->tpl->setVariable("SCRIPT_DESK", $this->getScriptTarget("ilias.php?baseClass=ilPersonalDesktopGUI&PDHistory=1"));
                        $this->tpl->setVariable("TARGET_DESK", $this->target);
                        if ($this->active == "desktop")
                        {
                                $this->tpl->setVariable("MM_CLASS", "MMActive");
                        }
                        else
                        {
                                $this->tpl->setVariable("MM_CLASS", "MMInactive");
                        }
                        $this->tpl->parseCurrentBlock();

                        include_once "./classes/class.ilMail.php";
                        
                        $mail =& new ilMail($_SESSION["AccountId"]);

                        if($rbacsystem->checkAccess('mail_visible',$mail->getMailObjectReferenceId()))
                        {
                                $link = "mail_frameset.php";
                                if ($mail_id = ilMailbox::hasNewMail($_SESSION["AccountId"]))
                                {
                                        $mbox = new ilMailbox($_SESSION["AccountId"]);
                                        $mail =& new ilMail($_SESSION['AccountId']);
                                        $folder_id = $mbox->getInboxFolder();
                                
                                        //$link = "mail_frameset.php?target=".
                                        //      htmlentities(urlencode("mail_read.php?mobj_id=".
                                        //      $folder_id."&mail_id=".$mail_id));
                                        $add = " ".sprintf($lng->txt("cnt_new"),
                                                ilMailbox::_countNewMails($_SESSION["AccountId"]));
                                }
                                
                                $this->tpl->setCurrentBlock("mailbutton");
                                $this->tpl->setVariable("IMG_MAIL", ilUtil::getImagePath("navbar/mail.gif", false));
                                $this->tpl->setVariable("IMG_SPACE_MAIL", ilUtil::getImagePath("spacer.gif", false));
                                $this->tpl->setVariable("TXT_MAIL", $lng->txt("mail").$add);
                                $this->tpl->setVariable("SCRIPT_MAIL", $this->getScriptTarget($link));
                                $this->tpl->setVariable("TARGET_MAIL", $this->target);
                                if ($this->active == "mail")
                                {
                                        $this->tpl->setVariable("MM_CLASS", "MMActive");
                                }
                                else
                                {
                                        $this->tpl->setVariable("MM_CLASS", "MMInactive");
                                }
                                $this->tpl->parseCurrentBlock();
                        }
                }

                // repository link
                $this->tpl->setCurrentBlock("rep_button");
                $this->tpl->setVariable("SCRIPT_CATALOG",
                        $this->getScriptTarget("repository.php?cmd=frameset&getlast=true"));
                $this->tpl->setVariable("TXT_CATALOG", $lng->txt("repository"));
                if ($this->active == "repository" || $this->active == "")
                {
                        $this->tpl->setVariable("MM_CLASS", "MMActive");
                }
                else
                {
                        $this->tpl->setVariable("MM_CLASS", "MMInactive");
                }
                // set target frame
                $this->tpl->setVariable("TARGET", $this->target);
                $this->tpl->parseCurrentBlock();
                

                $link_dir = (defined("ILIAS_MODULE"))
                        ? "../"
                        : "";

                if (!$this->small)
                {
        
                        // login stuff
                        if ($_SESSION["AccountId"] == ANONYMOUS_USER_ID)
                        {
                                include_once 'Services/Registration/classes/class.ilRegistrationSettingsGUI.php';
                                if (ilRegistrationSettings::_lookupRegistrationType() != IL_REG_DISABLED)
                                {
                                        $this->tpl->setCurrentBlock("registration_link");
                                        $this->tpl->setVariable("TXT_REGISTER",$lng->txt("register"));
                                        $this->tpl->setVariable("LINK_REGISTER", $link_dir."register.php?client_id=".rawurlencode(CLIENT_ID)."&lang=".$ilias->account->getCurrentLanguage());
                                        $this->tpl->parseCurrentBlock();
                                }
        
                                $languages = $lng->getInstalledLanguages();
                                
                                foreach ($languages as $lang_key)
                                {
                                        $this->tpl->setCurrentBlock("languages");
                                        $this->tpl->setVariable("LANG_KEY", $lang_key);
                                        $this->tpl->setVariable("LANG_NAME",
                                                ilLanguage::_lookupEntry($lang_key, "meta", "meta_l_".$lang_key));
                                        $this->tpl->parseCurrentBlock();
                                }
        
                                $this->tpl->setVariable("TXT_OK", $lng->txt("ok"));
                                $this->tpl->setVariable("LANG_FORM_ACTION", "repository.php?ref_id=".$_GET["ref_id"]);
                                $this->tpl->setVariable("TXT_CHOOSE_LANGUAGE", $lng->txt("choose_language"));
        
                                $this->tpl->setCurrentBlock("userisanonymous");
                                $this->tpl->setVariable("TXT_NOT_LOGGED_IN",$lng->txt("not_logged_in"));
                                $this->tpl->setVariable("TXT_LOGIN",$lng->txt("log_in"));
                                
                                $target_str = "";
                                if ($_GET["ref_id"] != "")
                                {
                                        if ($tree->isInTree($_GET["ref_id"]) && $_GET["ref_id"] != $tree->getRootId())
                                        {
                                                $obj_id = ilObject::_lookupObjId($_GET["ref_id"]);
                                                $type = ilObject::_lookupType($obj_id);
                                                $target_str = $type."_".$_GET["ref_id"];
                                        }
                                }
                                $this->tpl->setVariable("LINK_LOGIN",
                                        $link_dir."login.php?target=".$target_str."&client_id=".rawurlencode(CLIENT_ID)."&cmd=force_login&lang=".$ilias->account->getCurrentLanguage());
                                $this->tpl->parseCurrentBlock();
                        }
                        else
                        {
                                $this->tpl->setCurrentBlock("userisloggedin");
                                $this->tpl->setVariable("TXT_LOGIN_AS",$lng->txt("login_as"));
                                $this->tpl->setVariable("TXT_LOGOUT2",$lng->txt("logout"));
                                $this->tpl->setVariable("LINK_LOGOUT2", $link_dir."logout.php?lang=".$ilias->account->getCurrentLanguage());
                                $this->tpl->setVariable("USERNAME",$ilias->account->getFullname());
                                $this->tpl->parseCurrentBlock();
                        }
        
        
                        $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
                        //$this->tpl->setVariable("JS_BUTTONS", ilUtil::getJSPath("buttons.js"));
        
                        $this->tpl->setVariable("TXT_LOGOUT", $lng->txt("logout"));
        
                        $this->tpl->setVariable("HEADER_ICON", ilUtil::getImagePath("HeaderIcon.png"));
                        $this->tpl->setVariable("HEADER_BG_IMAGE", ilUtil::getImagePath("HeaderBackground.gif"));
                        include_once("classes/class.ilObjSystemFolder.php");
                        $this->tpl->setVariable("TXT_HEADER_TITLE", ilObjSystemFolder::_getHeaderTitle());
        
                        // set link to return to desktop, not depending on a specific position in the hierarchy
                        //$this->tpl->setVariable("SCRIPT_START", $this->getScriptTarget("start.php"));
                }

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

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

ilMainMenuGUI::$ilias

Definition at line 39 of file class.ilMainMenuGUI.php.

Referenced by getScriptTarget(), ilMainMenuGUI(), and setTemplateVars().

ilMainMenuGUI::$start_template

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

ilMainMenuGUI::$target

Definition at line 41 of file class.ilMainMenuGUI.php.

ilMainMenuGUI::$tpl

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

Referenced by setTemplate().


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