/**
  * Create new scorm 2004 with page-layout
  */
 function createWithLayoutId($a_layout_id)
 {
     include_once "./Services/Style/classes/class.ilPageLayout.php";
     //get XML Data for Layout
     $layout_obj = new ilPageLayout($a_layout_id);
     parent::setXMLContent($layout_obj->getXMLContent());
     // create page object
     parent::create();
 }
Exemplo n.º 2
0
 /**
  * Import record
  *
  * @param
  * @return
  */
 function importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version)
 {
     switch ($a_entity) {
         case "pgtp":
             include_once "./Services/Style/classes/class.ilPageLayout.php";
             $pt = new ilPageLayout();
             $pt->setTitle($a_rec["Title"]);
             $pt->setDescription($a_rec["Description"]);
             $pt->setSpecialPage($a_rec["SpecialPage"]);
             $pt->update();
             $this->current_obj = $pt;
             $a_mapping->addMapping("Services/COPage", "pgtp", $a_rec["Id"], $pt->getId());
             $a_mapping->addMapping("Services/COPage", "pg", "stys:" . $a_rec["Id"], "stys:" . $pt->getId());
             break;
     }
 }
 /**
  * Import page layout
  */
 public function importPageLayoutObject()
 {
     global $tpl, $lng, $ilCtrl, $ilTabs;
     $form = $this->initPageLayoutImportForm();
     if ($form->checkInput()) {
         include_once "./Services/Style/classes/class.ilPageLayout.php";
         $pg = ilPageLayout::import($_FILES["file"]["name"], $_FILES["file"]["tmp_name"]);
         if ($pg > 0) {
             ilUtil::sendSuccess($lng->txt("sty_imported_layout"), true);
         }
         $ilCtrl->redirect($this, "viewPageLayouts");
     } else {
         $ilTabs->setTabActive('page_layouts');
         $form->setValuesByPost();
         $tpl->setContent($form->getHtml());
     }
 }
 /**
  * Get menu items
  */
 function getMenuItems($a_node, $a_depth, $a_first_child = false, $a_next_sibling = null, $a_childs = null)
 {
     global $lng, $ilUser;
     include_once "./Services/Style/classes/class.ilPageLayout.php";
     $page_layouts = count(ilPageLayout::activeLayouts()) > 0;
     $special_pages = count(ilPageLayout::activeLayouts(true)) > 0;
     $cmds = array();
     //echo "+".$a_depth."-";
     if (!$a_first_child) {
         // page inserts
         if ($a_node["type"] == "page" || $a_node["type"] == "sco" && count($a_childs) == 0 || $a_node["type"] == "ass" && count($a_childs) == 0) {
             if ($a_node["type"] == "sco" || $a_node["type"] == "ass") {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_page"), "cmd" => "insertPage", "multi" => 10, "as_subitem" => true);
                 if ($page_layouts > 0) {
                     $cmds[] = array("text" => $lng->txt("sahs_insert_pagelayout"), "cmd" => "insertTemplateGUI", "multi" => 10, "as_subitem" => true);
                 }
                 if ($special_pages > 0) {
                     $cmds[] = array("text" => $lng->txt("sahs_insert_special_page"), "cmd" => "insertSpecialPage", "multi" => 10, "as_subitem" => true);
                 }
                 if ($ilUser->clipboardHasObjectsOfType("page")) {
                     $cmds[] = array("text" => $lng->txt("sahs_insert_page_from_clip"), "cmd" => "insertPageClip", "as_subitem" => true);
                 }
             } else {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_page"), "cmd" => "insertPage", "multi" => 10);
                 if ($page_layouts > 0) {
                     $cmds[] = array("text" => $lng->txt("sahs_insert_pagelayout"), "cmd" => "insertTemplateGUI", "multi" => 10);
                 }
                 if ($special_pages > 0) {
                     $cmds[] = array("text" => $lng->txt("sahs_insert_special_page"), "cmd" => "insertSpecialPage", "multi" => 10);
                 }
                 if ($ilUser->clipboardHasObjectsOfType("page")) {
                     $cmds[] = array("text" => $lng->txt("sahs_insert_page_from_clip"), "cmd" => "insertPageClip");
                 }
             }
         }
         // sco/asset inserts... in/after chapters
         if ($a_node["type"] == "chap" || $a_node["type"] == "seqc") {
             $cmds[] = array("text" => $lng->txt("sahs_insert_ass"), "cmd" => "insertAsset", "multi" => 10);
             if (count($a_childs) == 0) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_ass_inside_chap"), "cmd" => "insertAsset", "multi" => 10, "as_subitem" => true);
             }
             $cmds[] = array("text" => $lng->txt("sahs_insert_sco"), "cmd" => "insertSco", "multi" => 10);
             if (count($a_childs) == 0) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_sco_inside_chap"), "cmd" => "insertSco", "multi" => 10, "as_subitem" => true);
             }
             if ($ilUser->clipboardHasObjectsOfType("sco")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_sco_from_clip"), "cmd" => "insertScoClip", "as_subitem" => false);
                 if (count($a_childs) == 0) {
                     $cmds[] = array("text" => $lng->txt("sahs_insert_sco_from_clip_inside_chap"), "cmd" => "insertScoClip", "as_subitem" => true);
                 }
             }
             if ($ilUser->clipboardHasObjectsOfType("ass")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_ass_from_clip"), "cmd" => "insertAssetClip", "as_subitem" => false);
                 if (count($a_childs) == 0) {
                     $cmds[] = array("text" => $lng->txt("sahs_insert_ass_from_clip_inside_chap"), "cmd" => "insertAssetClip", "as_subitem" => true);
                 }
             }
         }
         // sco/asset inserts... after sco/assets
         if ($a_node["type"] == "sco" || $a_node["type"] == "ass") {
             // scos
             $cmds[] = array("text" => $lng->txt("sahs_insert_sco"), "cmd" => "insertSco", "multi" => 10);
             if ($ilUser->clipboardHasObjectsOfType("sco")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_sco_from_clip"), "cmd" => "insertScoClip");
             }
             // assets
             $cmds[] = array("text" => $lng->txt("sahs_insert_ass"), "cmd" => "insertAsset", "multi" => 10);
             if ($ilUser->clipboardHasObjectsOfType("ass")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_ass_from_clip"), "cmd" => "insertAssetClip");
             }
             // chapters
             if ($a_node["depth"] == 2) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_chapter"), "cmd" => "insertChapter", "multi" => 10);
                 if ($ilUser->clipboardHasObjectsOfType("chap")) {
                     $cmds[] = array("text" => $lng->txt("sahs_insert_chap_from_clip"), "cmd" => "insertChapterClip");
                 }
             }
         }
         //if ($a_node["type"] == "chap")
         //{
         //	$cmds[] = array("text" => $lng->txt("sahs_insert_sub_chapter"), "cmd" => "insertSubchapter", "multi" => 10);
         //}
         // chapter inserts
         if ($a_node["type"] == "chap" || $a_node["type"] == "seqc") {
             $cmds[] = array("text" => $lng->txt("sahs_insert_chapter"), "cmd" => "insertChapter", "multi" => 10);
             if ($ilUser->clipboardHasObjectsOfType("chap")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_chap_from_clip"), "cmd" => "insertChapterClip");
             }
             //check if parent chaper has sequencing scenario
             //	$cmds[] = array("text" => $lng->txt("sahs_insert_scenario"), "cmd" => "insertScenarioGUI", "multi" => 0);
         }
     } else {
         if ($a_node["type"] == "" && $a_node["node_id"] == 1) {
             // scos
             $cmds[] = array("text" => $lng->txt("sahs_insert_sco"), "cmd" => "insertSco", "multi" => 10);
             if ($ilUser->clipboardHasObjectsOfType("sco")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_sco_from_clip"), "cmd" => "insertScoClip");
             }
             // assets
             $cmds[] = array("text" => $lng->txt("sahs_insert_ass"), "cmd" => "insertAsset", "multi" => 10);
             if ($ilUser->clipboardHasObjectsOfType("ass")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_ass_from_clip"), "cmd" => "insertAssetClip");
             }
             // chapters
             $cmds[] = array("text" => $lng->txt("sahs_insert_chapter"), "cmd" => "insertChapter", "multi" => 10);
             if ($ilUser->clipboardHasObjectsOfType("chap")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_chap_from_clip"), "cmd" => "insertChapterClip");
             }
             //	$cmds[] = array("text" => $lng->txt("sahs_insert_scenario"), "cmd" => "insertScenarioGUI", "multi" => 0);
         }
         if ($a_node["type"] == "chap" || $a_node["type"] == "seqc") {
             $cmds[] = array("text" => $lng->txt("sahs_insert_sco"), "cmd" => "insertSco", "multi" => 10);
             $cmds[] = array("text" => $lng->txt("sahs_insert_ass"), "cmd" => "insertAsset", "multi" => 10);
             if ($ilUser->clipboardHasObjectsOfType("sco")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_sco_from_clip"), "cmd" => "insertScoClip");
             }
             if ($ilUser->clipboardHasObjectsOfType("ass")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_ass_from_clip"), "cmd" => "insertAssetClip");
             }
         }
         if ($a_node["type"] == "sco" || $a_node["type"] == "ass") {
             $cmds[] = array("text" => $lng->txt("sahs_insert_page"), "cmd" => "insertPage", "multi" => 10);
             if ($page_layouts > 0) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_pagelayout"), "cmd" => "insertTemplateGUI", "multi" => 10);
             }
             if ($special_pages > 0) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_special_page"), "cmd" => "insertSpecialPage", "multi" => 10);
             }
             if ($ilUser->clipboardHasObjectsOfType("page")) {
                 $cmds[] = array("text" => $lng->txt("sahs_insert_page_from_clip"), "cmd" => "insertPageClip");
             }
         }
         /*			if ($a_childs["type"] == "")
         			{
         				$cmds[] = array("text" => "insert Chapter", "cmd" => "insertChapter", "multi" => 10);
         			}*/
     }
     return $cmds;
 }
 /**
  * Displays GUI to select template for page
  */
 function insertTemplateGUI($a_redirect = true, $a_special_page = false)
 {
     global $ilCtrl, $lng, $tpl;
     include_once "./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php";
     $arr_templates = ilPageLayout::activeLayouts($a_special_page, ilPageLayout::MODULE_SCORM);
     $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.scormeditor_page_layout_chooser.html", "Modules/Scorm2004");
     $this->tpl->setCurrentBlock("option_item");
     $count = 0;
     foreach ($arr_templates as $templ) {
         $count++;
         $sel = "";
         $templ->readObject();
         $this->tpl->setVariable("VAL_LAYOUT_TITLE", $templ->getTitle());
         $this->tpl->setVariable("VAL_LAYOUT_IMAGE", $templ->getPreview());
         $this->tpl->setVariable("VAL_LAYOUT_ID", $templ->getId());
         $this->tpl->setVariable("VAL_DISPLAY", "inline");
         if ($count == 1) {
             $this->tpl->setVariable("VAL_CHECKED", "checked");
         }
         if ($count % 4 == 0) {
             $this->tpl->setVariable("END_ROW", "</tr>");
         }
         if ($count == 1 || ($count - 1) % 4 == 0) {
             $this->tpl->setVariable("BEGIN_ROW", "<tr>");
         }
         $this->tpl->parseCurrentBlock();
     }
     //matrix table
     if ($count % 4 != 0) {
         $rest = 4 - $count % 4;
     } else {
         $rest = 0;
     }
     for ($i = 1; $i <= $rest; $i++) {
         $this->tpl->setVariable("VAL_DISPLAY", "none");
         $this->tpl->setVariable("VAL_LAYOUT_ID", $templ->getId());
         if ($i == $rest) {
             $this->tpl->setVariable("END_ROW", "</tr>");
         }
         $this->tpl->parseCurrentBlock();
     }
     //empty cells and closing <tr>
     $this->tpl->setVariable("VAL_NODE_ID", ilSCORM2004OrganizationHFormGUI::getPostNodeId());
     $this->tpl->setVariable("VAL_MULTI", ilSCORM2004OrganizationHFormGUI::getPostMulti());
     $this->tpl->setVariable("VAL_FIRST_CHILD", ilSCORM2004OrganizationHFormGUI::getPostFirstChild());
     $this->tpl->setVariable("VAL_OBJ_ID", ilSCORM2004OrganizationHFormGUI::getPostFirstChild());
     $ilCtrl->saveParameter($this, "obj_id");
     $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
     $this->tpl->setVariable("BTN_NAME", "insertTemplate");
     $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
     $this->tpl->setVariable("TXT_INSERT", $this->lng->txt("create"));
     $this->tpl->setVariable("CMD_CANCEL", "showOrganization");
     $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
     $this->tpl->setVariable("TXT_INSERT", $this->lng->txt("insert"));
     $this->tpl->setVariable("TXT_CHANGE", $this->lng->txt("change"));
     if ($a_special_page) {
         $this->tpl->setVariable("TXT_TITLE", $this->lng->txt("sahs_choose_special_page"));
     } else {
         $this->tpl->setVariable("TXT_TITLE", $this->lng->txt("sahs_choose_page_template"));
     }
 }
Exemplo n.º 6
0
 protected function afterSave(ilObject $a_new_object)
 {
     // create 1st page / blog
     include_once "Modules/Portfolio/classes/class.ilPortfolioPage.php";
     $page = $this->getPageInstance(null, $a_new_object->getId());
     if ($_POST["ptype"] == "page") {
         $page->setType(ilPortfolioPage::TYPE_PAGE);
         $page->setTitle($_POST["fpage"]);
         // use template as basis
         $layout_id = $_POST["tmpl"];
         if ($layout_id) {
             include_once "./Services/Style/classes/class.ilPageLayout.php";
             $layout_obj = new ilPageLayout($layout_id);
             $page->setXMLContent($layout_obj->getXMLContent());
         }
     } else {
         $page->setType(ilPortfolioPage::TYPE_BLOG);
         $page->setTitle($_POST["blog"]);
     }
     $page->create();
     ilUtil::sendSuccess($this->lng->txt("prtf_portfolio_created"), true);
     $this->ctrl->setParameter($this, "prt_id", $a_new_object->getId());
     $this->ctrl->redirect($this, "view");
 }
 /**
  * Create new portfolio page
  */
 public function savePage()
 {
     $form = $this->initPageForm("create");
     if ($form->checkInput() && $this->checkPermissionBool("write")) {
         include_once "Modules/Portfolio/classes/class.ilPortfolioPage.php";
         $page = $this->getPageInstance();
         $page->setType(ilPortfolioPage::TYPE_PAGE);
         $page->setTitle($form->getInput("title"));
         // use template as basis
         $layout_id = $form->getInput("tmpl");
         if ($layout_id) {
             include_once "./Services/Style/classes/class.ilPageLayout.php";
             $layout_obj = new ilPageLayout($layout_id);
             $page->setXMLContent($layout_obj->getXMLContent());
         }
         $page->create();
         ilUtil::sendSuccess($this->lng->txt("prtf_page_created"), true);
         $this->ctrl->redirect($this, "view");
     }
     $this->tabs_gui->clearTargets();
     $this->tabs_gui->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTarget($this, "view"));
     $form->setValuesByPost();
     $this->tpl->setContent($form->getHtml());
 }
 function initForm($a_mode)
 {
     global $ilCtrl, $lng, $ilSetting;
     include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
     $form_gui = new ilPropertyFormGUI();
     $form_gui->setFormAction($ilCtrl->getFormAction($this));
     $form_gui->setTitle($lng->txt("cont_ed_pglprop"));
     // title
     $title_input = new ilTextInputGUI($lng->txt("title"), "pgl_title");
     $title_input->setSize(50);
     $title_input->setMaxLength(128);
     $title_input->setValue($this->layout_object->title);
     $title_input->setTitle($lng->txt("title"));
     $title_input->setRequired(true);
     // description
     $desc_input = new ilTextAreaInputGUI($lng->txt("description"), "pgl_desc");
     $desc_input->setValue($this->layout_object->description);
     $desc_input->setRows(3);
     $desc_input->setCols(37);
     $desc_input->setTitle($lng->txt("description"));
     $desc_input->setRequired(false);
     // modules
     $mods = new ilCheckboxGroupInputGUI($this->lng->txt("modules"), "module");
     // $mods->setRequired(true);
     $mods->setValue($this->layout_object->getModules());
     foreach (ilPageLayout::getAvailableModules() as $mod_id => $mod_caption) {
         $mod = new ilCheckboxOption($mod_caption, $mod_id);
         $mods->addOption($mod);
     }
     $form_gui->addItem($title_input);
     $form_gui->addItem($desc_input);
     $form_gui->addItem($mods);
     // style
     $fixed_style = $ilSetting->get("fixed_content_style_id");
     $style_id = $this->layout_object->getStyleId();
     if ($fixed_style > 0) {
         $st = new ilNonEditableValueGUI($lng->txt("cont_current_style"));
         $st->setValue(ilObject::_lookupTitle($fixed_style) . " (" . $this->lng->txt("global_fixed") . ")");
         $form_gui->addItem($st);
     } else {
         include_once "./Services/Style/classes/class.ilObjStyleSheet.php";
         $st_styles = ilObjStyleSheet::_getStandardStyles(true, false);
         $st_styles[0] = $this->lng->txt("default");
         ksort($st_styles);
         $style_sel = new ilSelectInputGUI($lng->txt("obj_sty"), "style_id");
         $style_sel->setOptions($st_styles);
         $style_sel->setValue($style_id);
         $form_gui->addItem($style_sel);
     }
     $form_gui->addCommandButton("updateProperties", $lng->txt($a_mode));
     return $form_gui;
 }
 /**
  * Standard Version of Fill Row. Most likely to
  * be overwritten by derived class.
  */
 protected function fillRow($a_set)
 {
     global $lng, $ilCtrl;
     // action
     $ilCtrl->setParameter($this->parent_obj, "layout_id", $a_set['layout_id']);
     $this->tpl->setCurrentBlock("action");
     $this->tpl->setVariable("HREF_ACTION", $ilCtrl->getLinkTarget($this->parent_obj, "exportLayout"));
     $this->tpl->setVariable("TXT_ACTION", $lng->txt("export"));
     $this->tpl->parseCurrentBlock();
     $ilCtrl->setParameter($this->parent_obj, "layout_id", "");
     // modules
     $this->tpl->setCurrentBlock("mod");
     foreach ($this->all_mods as $mod_id => $mod_caption) {
         if ($mod_id == ilPageLayout::MODULE_SCORM && $a_set["mod_scorm"] || $mod_id == ilPageLayout::MODULE_PORTFOLIO && $a_set["mod_portfolio"]) {
             $this->tpl->setVariable("MOD_STATUS", " checked=\"checked\"");
         }
         $this->tpl->setVariable("MODULE_ID", $mod_id);
         $this->tpl->setVariable("LAYOUT_ID", $a_set["layout_id"]);
         $this->tpl->setVariable("MOD_NAME", $mod_caption);
         $this->tpl->parseCurrentBlock();
     }
     if ($a_set['active']) {
         $this->tpl->setVariable("IMG_ACTIVE", ilUtil::getImagePath("icon_ok.svg"));
     } else {
         $this->tpl->setVariable("IMG_ACTIVE", ilUtil::getImagePath("icon_not_ok.svg"));
     }
     $this->tpl->setVariable("VAL_TITLE", $a_set['title']);
     $this->tpl->setVariable("VAL_DESCRIPTION", $a_set['description']);
     $this->tpl->setVariable("CHECKBOX_ID", $a_set['layout_id']);
     $ilCtrl->setParameterByClass("ilobjstylesettingsgui", "obj_id", $a_set['layout_id']);
     $this->tpl->setVariable("HREF_EDIT_PGLAYOUT", $ilCtrl->getLinkTargetByClass("ilobjstylesettingsgui", "editPg"));
     $pgl_obj = new ilPageLayout($a_set['layout_id']);
     $this->tpl->setVariable("VAL_PREVIEW_HTML", $pgl_obj->getPreview());
     if ($a_set["style_id"] > 0) {
         $this->tpl->setVariable("STYLE", ilObject::_lookupTitle($a_set["style_id"]));
     }
     $this->tpl->setVariable("TYPE", ilUtil::formSelect($a_set["special_page"], "type[" . $a_set["layout_id"] . "]", array("0" => $lng->txt("cont_layout_template"), "1" => $lng->txt("cont_special_page")), false, true));
 }
 /**
  * Create new portfolio page
  */
 public function savePage()
 {
     global $tpl, $lng, $ilCtrl, $ilTabs;
     $form = $this->initPageForm("create");
     if ($form->checkInput() && $this->checkAccess("write")) {
         include_once "Services/Portfolio/classes/class.ilPortfolioPage.php";
         $page = new ilPortfolioPage($this->portfolio->getId());
         $page->setType(ilPortfolioPage::TYPE_PAGE);
         $page->setTitle($form->getInput("title"));
         // use template as basis
         $layout_id = $form->getInput("tmpl");
         if ($layout_id) {
             include_once "./Services/Style/classes/class.ilPageLayout.php";
             $layout_obj = new ilPageLayout($layout_id);
             $page->setXMLContent($layout_obj->getXMLContent());
         }
         $page->create();
         ilUtil::sendSuccess($lng->txt("prtf_page_created"), true);
         $ilCtrl->redirect($this, "pages");
     }
     $ilTabs->clearTargets();
     $ilTabs->setBackTarget($lng->txt("back"), $ilCtrl->getLinkTarget($this, "pages"));
     $form->setValuesByPost();
     $tpl->setContent($form->getHtml());
 }