/** * get the HTML code for showing the card in a training */ function getCardForTrainingHTML() { require_once "./Services/Style/classes/class.ilObjStyleSheet.php"; $this->tpl->addCss(ilObjStyleSheet::getContentStylePath(0)); // get the card pages to be displayed if ($this->card->getTermId()) { $pages = $this->getGlossaryTermPages(); } else { // TODO: corrently only glossary cards are supported $pages = array(); } require_once "./Services/Accordion/classes/class.ilAccordionGUI.php"; $question = new ilAccordionGUI(); $question->setBehaviour(ilAccordionGUI::FORCE_ALL_OPEN); $question->setContentClass("xflcFlashcardPage"); $question->addItem($pages[0]["title"], $pages[0]["html"]); $answers = new ilAccordionGUI(); //$answers->setBehaviour(ilAccordionGUI::FIRST_OPEN); $answers->setContentClass("xflcFlashcardPage"); for ($i = 1; $i < count($pages); $i++) { $answers->addItem($pages[$i]["title"], $pages[$i]["html"]); } return $question->getHTML() . $answers->getHTML(); }
/** * Show overview of assignments */ function showOverviewObject() { global $tpl, $ilTabs, $ilUser, $ilToolbar; $this->checkPermission("read"); include_once "./Services/Tracking/classes/class.ilLearningProgress.php"; ilLearningProgress::_tracProgress($ilUser->getId(), $this->object->getId(), $this->object->getRefId(), 'exc'); $ilTabs->activateTab("content"); $this->addContentSubTabs("content"); // show certificate? if ($this->object->hasUserCertificate($ilUser->getId())) { include_once "./Modules/Exercise/classes/class.ilExerciseCertificateAdapter.php"; include_once "./Services/Certificate/classes/class.ilCertificate.php"; $adapter = new ilExerciseCertificateAdapter($this->object); if (ilCertificate::_isComplete($adapter)) { $ilToolbar->addButton($this->lng->txt("certificate"), $this->ctrl->getLinkTarget($this, "outCertificate")); } } include_once "./Modules/Exercise/classes/class.ilExAssignment.php"; include_once "./Services/Accordion/classes/class.ilAccordionGUI.php"; $acc = new ilAccordionGUI(); $acc->setId("exc_ow_" . $this->object->getId()); $ass_data = ilExAssignment::getAssignmentDataOfExercise($this->object->getId()); include_once "./Modules/Exercise/classes/class.ilExAssignmentGUI.php"; $ass_gui = new ilExAssignmentGUI($this->object); foreach ($ass_data as $ass) { // incoming assignment deeplink $force_open = false; if (isset($_GET["ass_id_goto"]) && (int) $_GET["ass_id_goto"] == $ass["id"]) { $force_open = true; } $acc->addItem($ass_gui->getOverviewHeader($ass), $ass_gui->getOverviewBody($ass), $force_open); } if (count($ass_data) < 2) { $acc->setBehaviour("FirstOpen"); } else { $acc->setUseSessionStorage(true); } $tpl->setContent($acc->getHTML()); }
/** * Get HTML for creation forms (accordion) * * @param array $a_forms */ protected final function getCreationFormsHTML(array $a_forms) { global $tpl; // #13168- sanity check foreach ($a_forms as $id => $form) { if (!$form instanceof ilPropertyFormGUI) { unset($a_forms[$id]); } } // no accordion if there is just one form if (sizeof($a_forms) == 1) { $form_type = key($a_forms); $a_forms = array_shift($a_forms); // see bug #0016217 if (method_exists($this, "getCreationFormTitle")) { $form_title = $this->getCreationFormTitle($form_type); if ($form_title != "") { $a_forms->setTitle($form_title); } } return $a_forms->getHTML(); } else { include_once "./Services/Accordion/classes/class.ilAccordionGUI.php"; $acc = new ilAccordionGUI(); $acc->setBehaviour(ilAccordionGUI::FIRST_OPEN); $cnt = 1; foreach ($a_forms as $form_type => $cf) { $htpl = new ilTemplate("tpl.creation_acc_head.html", true, true, "Services/Object"); // using custom form titles (used for repository plugins) $form_title = ""; if (method_exists($this, "getCreationFormTitle")) { $form_title = $this->getCreationFormTitle($form_type); } if (!$form_title) { $form_title = $cf->getTitle(); } // move title from form to accordion $htpl->setVariable("TITLE", $this->lng->txt("option") . " " . $cnt . ": " . $form_title); $cf->setTitle(null); $cf->setTitleIcon(null); $cf->setTableWidth("100%"); $acc->addItem($htpl->get(), $cf->getHTML()); $cnt++; } return "<div class='ilCreationFormSection'>" . $acc->getHTML() . "</div>"; } }
/** * Show overview */ function showOverview() { global $tpl, $ilTabs; $ilTabs->activateTab("overview"); $this->addOverviewSubTabs("overview"); include_once "./Customizing/global/plugins/Services/Repository/RepositoryObject/Ephorus/classes/class.ilEphAssignment.php"; include_once "./Services/Accordion/classes/class.ilAccordionGUI.php"; $acc = new ilAccordionGUI(); $acc->setBehaviour("OneOpenSession"); $acc->setId("eph_ow_" . $this->object->getId()); $ass_data = ilEphAssignment::getAssignmentDataOfEphorus($this->object->getId()); include_once "./Customizing/global/plugins/Services/Repository/RepositoryObject/Ephorus/classes/class.ilEphAssignmentGUI.php"; $ass_gui = new ilEphAssignmentGUI($this->object); foreach ($ass_data as $ass) { $acc->addItem($ass_gui->getOverviewHeader($ass), $ass_gui->getOverviewBody($ass)); } $tpl->setContent($acc->getHTML()); }
/** * render objective * * @access protected * @param int objective id * @param bool co page status * @param ilAccordionGUI $a_accordion * @param array $a_lo_result * @return string html */ protected function renderObjective($a_objective_id, &$a_has_lo_page, ilAccordionGUI $a_accordion = null, array $a_lo_result = null) { global $ilUser, $lng; include_once './Modules/Course/classes/class.ilCourseObjective.php'; $objective = new ilCourseObjective($this->getContainerObject(), $a_objective_id); include_once './Services/Container/classes/class.ilContainerSorting.php'; include_once './Services/Object/classes/class.ilObjectActivation.php'; $items = ilObjectActivation::getItemsByObjective($a_objective_id); // sorting is handled by ilCourseObjectiveMaterials // $items = ilContainerSorting::_getInstance($this->getContainerObject()->getId())->sortSubItems('lobj',$a_objective_id,$items); include_once './Modules/Course/classes/class.ilCourseObjectiveMaterials.php'; $objectives_lm_obj = new ilCourseObjectiveMaterials($a_objective_id); // #13381 - map material assignment to position $sort_map = array(); foreach ($objectives_lm_obj->getMaterials() as $item) { $sort_map[$item["lm_ass_id"]] = $item["position"]; } $is_manage = $this->getContainerGUI()->isActiveAdministrationPanel(); $is_order = $this->getContainerGUI()->isActiveOrdering(); $sort_content = array(); foreach ($items as $item) { if ($this->getDetailsLevel($a_objective_id) < self::DETAILS_ALL) { continue; } $item_list_gui2 = $this->getItemGUI($item); $item_list_gui2->enableIcon(true); if ($is_order || $a_accordion) { $item_list_gui2->enableCommands(true, true); $item_list_gui2->enableProperties(false); } $chapters = $objectives_lm_obj->getChapters(); if (count($chapters)) { $has_sections = false; foreach ($chapters as $chapter) { if ($chapter['ref_id'] != $item['child']) { continue; } $has_sections = true; include_once './Modules/LearningModule/classes/class.ilLMObject.php'; $title = $item['title'] . " › " . ilLMObject::_lookupTitle($chapter['obj_id']) . " (" . $lng->txt('obj_' . $chapter['type']) . ")"; $item_list_gui2->setDefaultCommandParameters(array("obj_id" => $chapter['obj_id'], "focus_id" => $chapter['obj_id'], "focus_return" => $this->container_obj->getRefId())); if ($is_order) { $item_list_gui2->setPositionInputField("[lobj][" . $a_objective_id . "][" . $chapter['lm_ass_id'] . "]", sprintf('%d', $chapter['position'] * 10)); } $sub_item_html = $item_list_gui2->getListItemHTML($item['ref_id'], $item['obj_id'], $title, $item['description']); // #13381 - use materials order $sort_key = str_pad($chapter['position'], 5, 0, STR_PAD_LEFT) . "_" . strtolower($title) . "_" . $chapter['lm_ass_id']; $sort_content[$sort_key] = $sub_item_html; } } $this->rendered_items[$item['child']] = true; if ($lm_ass_id = $objectives_lm_obj->isAssigned($item['ref_id'], true)) { if ($is_order) { $item_list_gui2->setPositionInputField("[lobj][" . $a_objective_id . "][" . $lm_ass_id . "]", sprintf('%d', $sort_map[$lm_ass_id] * 10)); } $sub_item_html = $item_list_gui2->getListItemHTML($item['ref_id'], $item['obj_id'], $item['title'], $item['description']); // #13381 - use materials order $sort_key = str_pad($sort_map[$lm_ass_id], 5, 0, STR_PAD_LEFT) . "_" . strtolower($item['title']) . "_" . $lm_ass_id; $sort_content[$sort_key] = $sub_item_html; } } if ($this->getDetailsLevel($a_objective_id) == self::DETAILS_ALL) { $this->objective_list_gui->enableCommands(false); } else { $this->objective_list_gui->enableCommands(true); } if ($is_order) { $this->objective_list_gui->setPositionInputField("[lobj][" . $a_objective_id . "][0]", $objective->__getPosition() * 10); } ksort($sort_content); if (!$a_accordion) { foreach ($sort_content as $sub_item_html) { $this->objective_list_gui->addSubItemHTML($sub_item_html); } return $this->objective_list_gui->getListItemHTML(0, $a_objective_id, $objective->getTitle(), $objective->getDescription(), $is_manage || $is_order); } else { $acc_content = $sort_content; $initial_shown = false; if ($this->getSettings()->hasSeparateInitialTests() and !$a_lo_result['initial_status']) { $acc_content[] = $this->renderTest($this->getTestAssignments()->getTestByObjective($a_objective_id, ilLOSettings::TYPE_TEST_INITIAL), $a_objective_id, true, false, $a_lo_result); $initial_shown = TRUE; } elseif ($this->getSettings()->hasSeparateQualifiedTests()) { $acc_content[] = $this->renderTest($this->getTestAssignments()->getTestByObjective($a_objective_id, ilLOSettings::TYPE_TEST_QUALIFIED), $a_objective_id, false, false, $a_lo_result); } /* if($this->loc_settings->getInitialTest() && $this->loc_settings->getType() == ilLOSettings::LOC_INITIAL_SEL && !$a_lo_result["initial_status"]) { $acc_content[] = $this->renderTest($this->loc_settings->getInitialTest(), $a_objective_id, true, false, $a_lo_result); $initial_shown = true; } if(!$initial_shown && $this->loc_settings->getQualifiedTest() && $this->loc_settings->isQualifiedTestPerObjectiveVisible()) { $acc_content[] = $this->renderTest($this->loc_settings->getQualifiedTest(), $a_objective_id, false, false, $a_lo_result); } */ $co_page = null; include_once "./Services/COPage/classes/class.ilPageUtil.php"; if (ilPageUtil::_existsAndNotEmpty("lobj", $objective->getObjectiveId())) { $a_has_lo_page = true; include_once 'Modules/Course/classes/Objectives/class.ilLOPageGUI.php'; $page_gui = new ilLOPageGUI($objective->getObjectiveId()); include_once "./Services/Style/classes/class.ilObjStyleSheet.php"; $page_gui->setStyleId(ilObjStyleSheet::getEffectiveContentStyleId(0)); $page_gui->setPresentationTitle(""); $page_gui->setTemplateOutput(false); $page_gui->setHeader(""); $co_page = "<div class='ilContObjectiveIntro'>" . $page_gui->showPage() . "</div>"; } // patch optes start $a_accordion->addItem($this->buildAccordionTitle($objective, $a_lo_result), $co_page . $this->buildAccordionContent($acc_content), isset($_GET["oobj"]) && (int) $_GET["oobj"] == $objective->getObjectiveId()); // patch optes end } }
function accordiontestObject() { global $tpl; include_once "./Services/Accordion/classes/class.ilAccordionGUI.php"; $acc = new ilAccordionGUI(); $acc->addItem("Header 1", str_repeat("bla bla bla bla bla bla", 30)); $acc->addItem("Header 2", str_repeat("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx x xx x xx", 30)); $acc->setOrientation(ilAccordionGUI::HORIZONTAL); $ac2 = new ilAccordionGUI(); $ac2->addItem("Header 1", str_repeat("bla bla bla bla bla bla", 30)); $ac2->addItem("Header 2", $acc->getHTML()); $ac2->setOrientation(ilAccordionGUI::VERTICAL); $tpl->setContent($ac2->getHTML()); }
/** * Show template permissions * @return void */ protected function permObject($a_show_admin_permissions = false) { global $ilTabs, $ilErr, $ilToolbar, $objDefinition, $rbacreview; $ilTabs->setTabActive('default_perm_settings'); $this->setSubTabs('default_perm_settings'); if ($a_show_admin_permissions) { $ilTabs->setSubTabActive('rbac_admin_permissions'); } else { $ilTabs->setSubTabActive('rbac_repository_permissions'); } if (!$this->checkAccess('write', 'edit_permission')) { $ilErr->raiseError($this->lng->txt('msg_no_perm_perm'), $ilErr->MESSAGE); return true; } // Show copy role button $ilToolbar->setFormAction($this->ctrl->getFormAction($this)); $ilToolbar->addButton($this->lng->txt("adopt_perm_from_template"), $this->ctrl->getLinkTarget($this, 'adoptPerm')); if ($rbacreview->isDeleteable($this->object->getId(), $this->rolf_ref_id)) { $ilToolbar->addButton($this->lng->txt('rbac_delete_role'), $this->ctrl->getLinkTarget($this, 'confirmDeleteRole')); } $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.rbac_template_permissions.html', 'Services/AccessControl'); $this->tpl->setVariable('PERM_ACTION', $this->ctrl->getFormAction($this)); include_once './Services/Accordion/classes/class.ilAccordionGUI.php'; $acc = new ilAccordionGUI(); $acc->setBehaviour(ilAccordionGUI::FORCE_ALL_OPEN); $acc->setId('template_perm_' . $this->getParentRefId()); if ($this->rolf_ref_id == ROLE_FOLDER_ID) { if ($a_show_admin_permissions) { $subs = $objDefinition->getSubObjectsRecursively('adm', true, true); } else { $subs = $objDefinition->getSubObjectsRecursively('root', true, $a_show_admin_permissions); } } else { $subs = $objDefinition->getSubObjectsRecursively($this->getParentType(), true, $a_show_admin_permissions); } $sorted = array(); foreach ($subs as $subtype => $def) { if ($objDefinition->isPlugin($subtype)) { $translation = ilPlugin::lookupTxt("rep_robj", $subtype, "obj_" . $subtype); } elseif ($objDefinition->isSystemObject($subtype)) { $translation = $this->lng->txt("obj_" . $subtype); } else { $translation = $this->lng->txt('objs_' . $subtype); } $sorted[$subtype] = $def; $sorted[$subtype]['translation'] = $translation; } $sorted = ilUtil::sortArray($sorted, 'translation', 'asc', true, true); foreach ($sorted as $subtype => $def) { if ($objDefinition->isPlugin($subtype)) { $translation = ilPlugin::lookupTxt("rep_robj", $subtype, "obj_" . $subtype); } elseif ($objDefinition->isSystemObject($subtype)) { $translation = $this->lng->txt("obj_" . $subtype); } else { $translation = $this->lng->txt('objs_' . $subtype); } include_once 'Services/AccessControl/classes/class.ilObjectRoleTemplatePermissionTableGUI.php'; $tbl = new ilObjectRoleTemplatePermissionTableGUI($this, 'perm', $this->getParentRefId(), $this->object->getId(), $subtype, $a_show_admin_permissions); $tbl->parse(); $acc->addItem($translation, $tbl->getHTML()); } $this->tpl->setVariable('ACCORDION', $acc->getHTML()); // Add options table include_once './Services/AccessControl/classes/class.ilObjectRoleTemplateOptionsTableGUI.php'; $options = new ilObjectRoleTemplateOptionsTableGUI($this, 'perm', $this->rolf_ref_id, $this->object->getId(), $a_show_admin_permissions); $options->addMultiCommand($a_show_admin_permissions ? 'adminPermSave' : 'permSave', $this->lng->txt('save')); $options->parse(); $this->tpl->setVariable('OPTIONS_TABLE', $options->getHTML()); }
protected function fillRow($a_set) { global $ilCtrl; if ($this->show_peer_review && isset($a_set["peer"])) { $acc_data = array(); foreach ($a_set["peer"] as $peer_id => $peer_review) { $peer_name = ilUserUtil::getNamePresentation($peer_id); $acc_item = $peer_name; if ($peer_review[1]) { $rating = new ilRatingGUI(); $rating->setObject($this->ass->getId(), "ass", $a_set["uid"], "peer"); $rating->setUserId($peer_id); $acc_item .= " " . $rating->getHTML(false, false); } if ($peer_review[0]) { $acc_item .= '<div class="small">' . nl2br($peer_review[0]) . "</div>"; } $uploads = $this->ass->getPeerUploadFiles($a_set["uid"], $peer_id); if ($uploads) { $acc_item .= '<div class="small">'; $ilCtrl->setParameter($this->parent_obj, "fu", $peer_id . "__" . $a_set["uid"]); foreach ($uploads as $file) { $ilCtrl->setParameter($this->parent_obj, "fuf", md5($file)); $dl = $ilCtrl->getLinkTarget($this->parent_obj, "downloadPeerReview"); $ilCtrl->setParameter($this->parent_obj, "fuf", ""); $acc_item .= '<a href="' . $dl . '">' . basename($file) . '</a><br />'; } $ilCtrl->setParameter($this->parent_obj, "fu", ""); $acc_item .= '</div>'; } $acc_data[$peer_id] = array("name" => $peer_name, "review" => $acc_item); } if ($acc_data) { $acc_data = ilUtil::sortArray($acc_data, "name", "asc"); $acc = new ilAccordionGUI(); $acc->setId($this->ass->getId() . "_" . $a_set["uid"]); $acc_html = "<ul>"; foreach ($acc_data as $acc_item) { $acc_html .= "<li>" . $acc_item["review"] . "</li>"; } $acc_html .= "</ul>"; $acc->addItem($this->lng->txt("show") . " (" . sizeof($acc_data) . ")", $acc_html); $this->tpl->setCurrentBlock("peer_bl"); $this->tpl->setVariable("PEER_REVIEW", $acc->getHTML()); $this->tpl->parseCurrentBlock(); } } $this->tpl->setVariable("USER_NAME", $a_set["uname"]); $this->tpl->setVariable("USER_DATE", ilDatePresentation::formatDate(new ilDate($a_set["udate"], IL_CAL_DATETIME))); $this->tpl->setVariable("USER_TEXT", $a_set["utext"]); }
/** * Show online help */ function showHelp() { global $ilHelp, $lng, $ilSetting; if ($_GET["help_screen_id"] != "") { ilSession::set("help_screen_id", $_GET["help_screen_id"]); $help_screen_id = $_GET["help_screen_id"]; } else { $help_screen_id = ilSession::get("help_screen_id"); } $this->resetCurrentPage(); $id_arr = explode(".", $help_screen_id); include_once "./Services/Help/classes/class.ilHelpMapping.php"; $help_arr = ilHelpMapping::getHelpSectionsForId($id_arr[0], $id_arr[1]); $hm = (int) $ilSetting->get("help_module"); if ((OH_REF_ID > 0 || $hm > 0) && count($help_arr) > 0) { if (OH_REF_ID > 0) { $oh_lm_id = ilObject::_lookupObjId(OH_REF_ID); } else { include_once "./Services/Help/classes/class.ilObjHelpSettings.php"; $oh_lm_id = ilObjHelpSettings::lookupModuleLmId($hm); } include_once "./Services/Accordion/classes/class.ilAccordionGUI.php"; $acc = new ilAccordionGUI(); $acc->setId("oh_acc"); $acc->setBehaviour(ilAccordionGUI::FIRST_OPEN); foreach ($help_arr as $h_id) { include_once "./Modules/LearningModule/classes/class.ilLMObject.php"; $st_id = $h_id; if (!ilLMObject::_exists($st_id)) { continue; } $pages = ilLMObject::getPagesOfChapter($oh_lm_id, $st_id); include_once "./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php"; $grp_list = new ilGroupedListGUI(); foreach ($pages as $pg) { $grp_list->addEntry(ilLMObject::_lookupTitle($pg["child"]), "#", "", "return il.Help.showPage(" . $pg["child"] . ");"); } $acc->addItem(ilLMObject::_lookupTitle($st_id), $grp_list->getHTML()); } $h_tpl = new ilTemplate("tpl.help.html", true, true, "Services/Help"); $h_tpl->setVariable("HEAD", $lng->txt("help")); $h_tpl->setVariable("CONTENT", $acc->getHTML()); $h_tpl->setVariable("CLOSE_IMG", ilUtil::img(ilUtil::getImagePath("icon_close2_s.png"))); echo $h_tpl->get(); } exit; }