Beispiel #1
0
 /**
  * @access	public
  * @param	string
  * @param bool fill template variable {TABS} with content of ilTabs
  */
 function show($part = "DEFAULT", $a_fill_tabs = true, $a_skip_main_menu = false)
 {
     global $ilias, $ilTabs;
     // include yahoo dom per default
     include_once "./Services/YUI/classes/class.ilYuiUtil.php";
     ilYuiUtil::initDom();
     //echo "-".ilUtil::getP3PLocation()."-";
     //header('P3P: policyref="'.ilUtil::getP3PLocation().
     //	'", CP="CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND UNI COM NAV INT CNT STA PRE"');
     header('P3P: CP="CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND UNI COM NAV INT CNT STA PRE"');
     header("Content-type: " . $this->getContentType() . "; charset=UTF-8");
     $this->fillMessage();
     // display ILIAS footer
     if ($part !== false) {
         $this->addILIASFooter();
     }
     // set standard parts (tabs and title icon)
     $this->fillBodyClass();
     if ($a_fill_tabs) {
         if ($this->blockExists("content")) {
             // determine default screen id
             $this->getTabsHTML();
         }
         // to get also the js files for the main menu
         if (!$a_skip_main_menu) {
             $this->getMainMenu();
             $this->initHelp();
         }
         if ($this->blockExists("content") && $this->variableExists('MAINMENU')) {
             global $tpl;
             include_once 'Services/Authentication/classes/class.ilSessionReminderGUI.php';
             $session_reminder_gui = new ilSessionReminderGUI(ilSessionReminder::createInstanceWithCurrentUserSession());
             $tpl->setVariable('SESSION_REMINDER', $session_reminder_gui->getHtml());
         }
         // these fill blocks in tpl.main.html
         $this->fillCssFiles();
         $this->fillInlineCss();
         //$this->fillJavaScriptFiles();
         $this->fillContentStyle();
         // these fill just plain placeholder variables in tpl.main.html
         $this->setCurrentBlock("DEFAULT");
         $this->fillNewContentStyle();
         $this->fillContentLanguage();
         $this->fillWindowTitle();
         // these fill blocks in tpl.adm_content.html
         $this->fillHeader();
         $this->fillSideIcons();
         $this->fillScreenReaderFocus();
         $this->fillStopFloating();
         $this->fillLeftContent();
         $this->fillLeftNav();
         $this->fillRightContent();
         $this->fillAdminPanel();
         $this->fillToolbar();
         $this->fillPermanentLink();
         $this->setCenterColumnClass();
         // late loading of javascipr files, since operations above may add files
         $this->fillJavaScriptFiles();
         $this->fillOnLoadCode();
         // these fill just plain placeholder variables in tpl.adm_content.html
         // these fill just plain placeholder variables in tpl.adm_content.html
         if ($this->blockExists("content")) {
             $this->setCurrentBlock("content");
             $this->fillTabs();
             $this->fillMainContent();
             $this->fillMainMenu();
             $this->fillLightbox();
             $this->parseCurrentBlock();
         }
     }
     if ($part == "DEFAULT" or is_bool($part)) {
         $html = parent::get();
     } else {
         $html = parent::get($part);
     }
     // include the template output hook
     global $ilPluginAdmin;
     $pl_names = $ilPluginAdmin->getActivePluginsForSlot(IL_COMP_SERVICE, "UIComponent", "uihk");
     foreach ($pl_names as $pl) {
         $ui_plugin = ilPluginAdmin::getPluginObject(IL_COMP_SERVICE, "UIComponent", "uihk", $pl);
         $gui_class = $ui_plugin->getUIClassInstance();
         $resp = $gui_class->getHTML("", "template_show", array("tpl_id" => $this->tplIdentifier, "tpl_obj" => $this, "html" => $html));
         if ($resp["mode"] != ilUIHookPluginGUI::KEEP) {
             $html = $gui_class->modifyHTML($html, $resp);
         }
     }
     print $html;
     $this->handleReferer();
 }
 /**
  * Add javascript files that are necessary to run accordion
  */
 static function addJavaScript()
 {
     global $tpl;
     include_once "./Services/YUI/classes/class.ilYuiUtil.php";
     ilYuiUtil::initEvent();
     ilYuiUtil::initDom();
     ilYuiUtil::initAnimation();
     ilYuiUtil::initConnection();
     $tpl->addJavaScript("./Services/Accordion/js/accordion.js", true, 3);
 }
 /**
  * Get Content.
  */
 function getContent()
 {
     global $lng, $tpl, $ilUser;
     include_once "./Services/YUI/classes/class.ilYuiUtil.php";
     ilYuiUtil::initEvent();
     ilYuiUtil::initDom();
     ilYuiUtil::initAnimation();
     $tpl->addJavaScript("./Services/JavaScript/js/Basic.js");
     $tpl->addJavaScript("Services/Form/js/Form.js");
     $this->tpl = new ilTemplate("tpl.property_form.html", true, true, "Services/Form");
     // check if form has not title and first item is a section header
     // -> use section header for title and remove section header
     // -> command buttons are presented on top
     $fi = $this->items[0];
     if ($this->getMode() == "std" && $this->getTitle() == "" && is_object($fi) && $fi->getType() == "section_header") {
         $this->setTitle($fi->getTitle());
         unset($this->items[0]);
     }
     // title icon
     if ($this->getTitleIcon() != "" && @is_file($this->getTitleIcon())) {
         $this->tpl->setCurrentBlock("title_icon");
         $this->tpl->setVariable("IMG_ICON", $this->getTitleIcon());
         $this->tpl->parseCurrentBlock();
     }
     // title
     if ($this->getTitle() != "") {
         // commands on top
         if (count($this->buttons) > 0 && $this->getShowTopButtons()) {
             // command buttons
             foreach ($this->buttons as $button) {
                 $this->tpl->setCurrentBlock("cmd2");
                 $this->tpl->setVariable("CMD", $button["cmd"]);
                 $this->tpl->setVariable("CMD_TXT", $button["text"]);
                 $this->tpl->parseCurrentBlock();
             }
             $this->tpl->setCurrentBlock("commands2");
             $this->tpl->parseCurrentBlock();
         }
         $this->tpl->setCurrentBlock("header");
         $this->tpl->setVariable("TXT_TITLE", $this->getTitle());
         $this->tpl->setVariable("LABEL", $this->getTopAnchor());
         $this->tpl->setVariable("TXT_DESCRIPTION", $this->getDescription());
         $this->tpl->parseCurrentBlock();
     }
     $this->tpl->touchBlock("item");
     // properties
     $this->required_text = false;
     foreach ($this->items as $item) {
         if ($item->getType() != "hidden") {
             $this->insertItem($item);
         }
     }
     // required
     if ($this->required_text && $this->getMode() == "std") {
         $this->tpl->setCurrentBlock("required_text");
         $this->tpl->setVariable("TXT_REQUIRED", $lng->txt("required_field"));
         $this->tpl->parseCurrentBlock();
     }
     // command buttons
     foreach ($this->buttons as $button) {
         $this->tpl->setCurrentBlock("cmd");
         $this->tpl->setVariable("CMD", $button["cmd"]);
         $this->tpl->setVariable("CMD_TXT", $button["text"]);
         $this->tpl->parseCurrentBlock();
     }
     // try to keep uploads even if checking input fails
     if ($this->getMultipart()) {
         $hash = $_POST["ilfilehash"];
         if (!$hash) {
             $hash = md5(uniqid(mt_rand(), true));
         }
         $fhash = new ilHiddenInputGUI("ilfilehash");
         $fhash->setValue($hash);
         $this->addItem($fhash);
     }
     // hidden properties
     $hidden_fields = false;
     foreach ($this->items as $item) {
         if ($item->getType() == "hidden") {
             $item->insert($this->tpl);
             $hidden_fields = true;
         }
     }
     if ($this->required_text || count($this->buttons) > 0 || $hidden_fields) {
         $this->tpl->setCurrentBlock("commands");
         $this->tpl->parseCurrentBlock();
     }
     if ($this->getMode() == "subform") {
         $this->tpl->touchBlock("sub_table");
     } else {
         $this->tpl->touchBlock("std_table");
         $this->tpl->setVariable('STD_TABLE_WIDTH', $this->getTableWidth());
     }
     return $this->tpl->get();
 }