12require_once(
"Modules/StudyProgramme/classes/class.ilStudyProgrammeProgressListGUI.php");
13require_once(
'./Modules/StudyProgramme/classes/class.ilObjStudyProgrammeAdmin.php');
42 parent::__construct($a_progress);
46 $this->il_rbacsystem = $rbacsystem;
48 $this->il_access = $ilAccess;
56 assert(is_int($a_indent));
57 assert($a_indent >= 0);
58 $this->indent = $a_indent;
64 return parent::getHTML();
68 require_once(
"./Services/JSON/classes/class.ilJsonUtil.php");
70 parent::fillTemplate(
$tpl);
73 $tpl->setVariable(
"ACTIVE_HEAD",
"il_PrgAccordionHeadActive");
77 $tpl->setVariable(
"HREF_TITLE",
"");
82 $tpl->setCurrentBlock(
"expand");
83 $tpl->setVariable(
"EXP_ALT", $this->il_lng->txt(
"expand"));
85 $tpl->setVariable(
"NOT_EXP_ALT", $this->il_lng->txt(
"expanded"));
87 $tpl->parseCurrentBlock();
90 $tpl->touchBlock(
"indent");
93 for($i = 0; $i < $this->
getIndent(); $i++) {
94 $tpl->touchBlock(
"indent");
97 $tpl->setCurrentBlock(
"accordion");
99 $tpl->setVariable(
"ACCORDION_HIDE_CONTENT",
"");
102 $tpl->setVariable(
"ACCORDION_HIDE_CONTENT",
"ilAccHideContent");
104 $tpl->setVariable(
"ACCORDION_CONTENT", $content);
106 $tpl->parseCurrentBlock();
110 if (!$this->progress->getStudyProgramme()->hasLPChildren()) {
124 if (!$self->shouldShowSubProgress(
$progress)) {
128 $gui->setIndent($self->getIndent() + 1);
129 return $gui->getHTML();
130 }, $this->progress->getChildrenProgress()));
136 $can_read = $this->il_access->checkAccess(
"read",
"", $prg->getRefId(),
"prg", $prg->getId());
152 include_once(
"./Services/Object/classes/class.ilObjectListGUIPreloader.php");
156 foreach ($this->progress->getStudyProgramme()->getLPChildren() as $il_obj_crs_ref) {
158 $preloader->addItem($course->getId(), $course->getType(), $course->getRefId());
161 $preloader->preload();
165 return implode(
"\n", array_map(
function(
ilObjCourse $course) use ($self) {
166 require_once(
"Modules/StudyProgramme/classes/class.ilStudyProgrammeCourseListGUI.php");
167 require_once(
"Modules/StudyProgramme/classes/class.ilStudyProgrammeContainerObjectMock.php");
170 $self->configureItemGUI($item_gui);
172 return $item_gui->getListItemHTML
205 (
"orientation" =>
"horizontal"
207 ,
"int_id" =>
"prg_progress_".$this->progress->getId()
208 ,
"initial_opened" =>
null
210 ,
"behaviour" =>
"AllClosed"
211 ,
"toggle_class" =>
'il_PrgAccordionToggle'
212 ,
"toggle_act_class" =>
'foo'
213 ,
"content_class" =>
'il_PrgAccordionContent'
215 ,
"active_head_class" =>
"il_PrgAccordionHeadActive"
217 ,
"id" => $this->getAccordionId()
219 ,
"show_all_element" =>
null
220 ,
"hide_all_element" =>
null
221 ,
"reset_width" =>
true
226 return "prg_progress_".$this->progress->getId().
"_".$this->
getIndent();
230 require_once(
"Services/Utilities/classes/class.ilUtil.php");
235 require_once(
"Services/Utilities/classes/class.ilUtil.php");
244 return $_GET[
"prg_progress_id"] == $this->progress->getId();
248 if ($this->js_added) {
252 include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
254 $this->il_tpl->addJavaScript(
"./Services/Accordion/js/accordion.js",
true, 3);
255 $this->js_added =
true;
259 if ($this->css_added) {
263 $this->il_tpl->addCSS(
"Modules/StudyProgramme/templates/css/ilStudyProgramme.css");
264 $this->css_added =
true;
static encode($mixed, $suppress_native=false)
const SETTING_VISIBLE_ON_PD_READ
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
Preloader for object list GUIs.
enableDescription($a_status)
En/disable description.
enableCommands($a_status, $a_std_only=false)
En/disable commands.
enableProperties($a_status)
En/disable properties.
const CONTEXT_PERSONAL_DESKTOP
enableLink($a_status)
En/disable link.
enableCheckbox($a_status)
En/Dis-able checkboxes.
enableNoticeProperties($a_status)
En/disable notices.
enablePayment($a_status)
En/disable payment.
enableIcon($a_status)
En/Dis-able icons.
enableCopy($a_status)
En/disable copy.
enablePreconditions($a_status)
En/disable preconditions.
enableTags($a_value)
Toogle tags action status.
enableCut($a_status)
En/disable cut.
enableProgressInfo($a_status)
enable progress info
enableSubscribe($a_status)
En/disable subscribe.
enableComments($a_value, $a_enable_comments_settings=true)
Toogle comments action status.
enableInfoScreen($a_info_screen)
En/disable path.
enableDelete($a_status)
En/disable delete.
getRefId()
get reference id @access public
getDescription()
get object description
getId()
get object id @access public
getTitle()
get object title @access public
Class ilStudyProgrammeContainerObjectMock.
Class ilStudyProgrammeCourseListGUI.
Class ilStudyProgrammeExpandableProgressListGUI.
getAccordionContentCoursesHTML()
newSubItem(ilStudyProgrammeUserProgress $a_progress)
getAccordionContentProgressesHTML()
getTitleAndIconTarget(ilStudyProgrammeUserProgress $a_progress)
configureItemGUI(ilStudyProgrammeCourseListGUI $a_item_gui)
__construct(ilStudyProgrammeUserProgress $a_progress)
shouldShowSubProgress(ilStudyProgrammeUserProgress $a_progress)
getAccordionContentHTML()
Class ilStudyProgrammeProgressListGUI.
Represents the progress of a user at one node of a study programme.
getStudyProgramme()
Get the program node where this progress belongs to was made.
isRelevant()
Check whether this node is relevant for the user.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static initjQueryUI()
Init jQuery UI (see included_components.txt for included components)