4 include_once
'./Services/Table/classes/class.ilTable2GUI.php';
5 require_once(
'./Services/Repository/classes/class.ilObjectPlugin.php');
23 public function __construct($a_parent_obj, $a_parent_cmd =
"", $a_node_id, $a_mode)
25 parent::__construct($a_parent_obj, $a_parent_cmd);
30 $this->node_id = $a_node_id;
31 $this->mode = $a_mode;
53 $this->
setData($a_collection->getTableGUIData($this->getNode()));
59 $this->
addMultiCommand(
'releaseMaterials', $this->lng->txt(
'trac_release_materials'));
61 foreach ($this->row_data as $item) {
62 if ($item[
"grouped"]) {
63 $this->
addCommandButton(
'saveObligatoryMaterials', $this->lng->txt(
'trac_group_materials_save'));
78 $objDefinition = $DIC[
'objDefinition'];
79 $ilAccess = $DIC[
'ilAccess'];
81 include_once
'./Services/Link/classes/class.ilLink.php';
83 $this->tpl->setCurrentBlock(
'item_row');
84 $this->tpl->setVariable(
'ITEM_ID', $a_set[
'id']);
85 $this->tpl->setVariable(
'COLL_TITLE', $a_set[
'title']);
86 $this->tpl->setVariable(
'COLL_DESC', $a_set[
'description']);
88 if ($objDefinition->isPluginTypeName($a_set[
"type"])) {
91 $alt = $this->lng->txt(
'obj_' . $a_set[
'type']);
93 $this->tpl->setVariable(
'ALT_IMG', $alt);
94 $this->tpl->setVariable(
105 if ($a_set[
'ref_id']) {
106 $this->tpl->setVariable(
'COLL_LINK',
ilLink::_getLink($a_set[
'ref_id'], $a_set[
'type']));
109 include_once
'./Services/Tree/classes/class.ilPathGUI.php';
111 $this->tpl->setVariable(
'COLL_PATH', $this->lng->txt(
'path') .
': ' .
$path->getPath($this->
getNode(), $a_set[
'ref_id']));
114 if ($a_set[
'grouped'] ||
115 $a_set[
'group_item']) {
117 $mode_suffix =
'_INLINE';
119 if (!$a_set[
'group_item']) {
120 $this->tpl->setVariable(
"COLL_MODE",
"");
123 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
125 $lp_settings_link =
ilLink::_getLink($a_set[
'ref_id'], $a_set[
'type'], array(
'gotolp' => 1));
126 $a_set[
"mode"] =
'<a href="' . $lp_settings_link .
'">' . $a_set[
'mode'] .
'</a>';
129 $mode = $a_set[
'mode_id'];
131 $this->tpl->setVariable(
"COLL_MODE" . $mode_suffix, $a_set[
'mode']);
133 $this->tpl->setVariable(
"COLL_MODE" . $mode_suffix,
"");
134 $this->tpl->setVariable(
"COLL_MODE_DEACTIVATED" . $mode_suffix, $a_set[
'mode']);
136 if ($a_set[
"anonymized"]) {
137 $this->tpl->setVariable(
"ANONYMIZED" . $mode_suffix, $this->lng->txt(
'trac_anonymized_info_short'));
141 $this->tpl->setVariable(
"COLL_MODE_LABEL", $this->lng->txt(
"trac_mode"));
145 $this->tpl->setVariable(
'COLL_LINK', $a_set[
'url']);
149 $this->tpl->setCurrentBlock(
"tlt");
150 $this->tpl->setVariable(
"TXT_MONTH", $this->lng->txt(
'md_months'));
151 $this->tpl->setVariable(
"TXT_DAYS", $this->lng->txt(
'md_days'));
152 $this->tpl->setVariable(
"TXT_TIME", $this->lng->txt(
'md_time'));
153 $this->tpl->setVariable(
"TLT_HINT",
'(hh:mm)');
156 $mon = floor($a_set[
"tlt"] / (60 * 60 * 24 * 30));
157 $tlt = $a_set[
"tlt"] % (60 * 60 * 24 * 30);
158 $day = floor($tlt / (60 * 60 * 24));
159 $tlt = $tlt % (60 * 60 * 24);
160 $hr = floor($tlt / (60 * 60));
161 $tlt = $tlt % (60 * 60);
162 $min = floor($tlt / 60);
165 for (
$i = 0;
$i <= 24;
$i++) {
168 $this->tpl->setVariable(
173 for (
$i = 0;
$i <= 31;
$i++) {
176 $this->tpl->setVariable(
182 'tlt[' . $a_set[
'id'] .
']',
190 $this->tpl->parseCurrentBlock();
195 $this->tpl->setVariable(
201 $this->tpl->setVariable(
204 ? $this->lng->txt(
'trac_assigned')
205 : $this->lng->txt(
'trac_not_assigned')
207 $this->tpl->parseCurrentBlock();
211 foreach ((array) $a_set[
'grouped'] as $item) {
212 $item[
'group_item'] =
true;
219 array_key_exists(
'grouped', $a_set) &&
220 count($a_set[
'grouped'])
222 $this->tpl->setCurrentBlock(
'num_passed_items');
223 $this->tpl->setVariable(
'MIN_PASSED_TXT', $this->lng->txt(
'trac_min_passed'));
224 $this->tpl->setVariable(
'NUM_OBLIGATORY', $a_set[
'num_obligatory']);
225 $this->tpl->setVariable(
'GRP_ID', $a_set[
'grouping_id']);
226 $this->tpl->parseCurrentBlock();
240 $this->
setRowTemplate(
'tpl.lp_collection_row.html',
'Services/Tracking');
241 $this->
setTitle($this->lng->txt(
'trac_lp_determination'));
242 $this->
setDescription($this->lng->txt(
'trac_lp_determination_info_crs'));
246 $this->
setRowTemplate(
'tpl.lp_collection_row.html',
'Services/Tracking');
247 $this->
setTitle($this->lng->txt(
'trac_lp_determination_tutor'));
248 $this->
setDescription($this->lng->txt(
'trac_lp_determination_info_crs_tutor'));
252 $this->
setRowTemplate(
'tpl.lp_collection_scorm_row.html',
'Services/Tracking');
253 $this->
setTitle($this->lng->txt(
'trac_lp_determination'));
254 $this->
setDescription($this->lng->txt(
'trac_lp_determination_info_sco'));
258 $this->
setRowTemplate(
'tpl.lp_collection_subitem_row.html',
'Services/Tracking');
259 $this->
setTitle($this->lng->txt(
'trac_lp_determination'));
260 $this->
setDescription($this->lng->txt(
'trac_lp_determination_info_crs'));
261 $this->lng->loadLanguageModule(
"meta");
267 $this->
setRowTemplate(
'tpl.lp_collection_subitem_row.html',
'Services/Tracking');
268 $this->
setTitle($this->lng->txt(
'trac_lp_determination'));
269 $this->
setDescription($this->lng->txt(
'trac_lp_determination_info_mob'));
274 $this->
addColumn($this->lng->txt(
'item'),
'title',
'50%');
280 $this->
addColumn($this->lng->txt(
'trac_mode'),
'mode');
282 $this->
addColumn($this->lng->txt(
'meta_typical_learning_time'),
'tlt');
286 $this->
addMultiCommand(
'assign', $this->lng->txt(
'trac_collection_assign'));
287 $this->
addMultiCommand(
'deassign', $this->lng->txt(
'trac_collection_deassign'));
288 $this->
addColumn($this->lng->txt(
'trac_determines_learning_progress'),
'status');
290 $this->
addMultiCommand(
'assign', $this->lng->txt(
'trac_manual_display'));
291 $this->
addMultiCommand(
'deassign', $this->lng->txt(
'trac_manual_no_display'));
292 $this->
addColumn($this->lng->txt(
'trac_manual_is_displayed'),
'status');
295 $this->
enable(
'select_all');
299 $this->
addMultiCommand(
'groupMaterials', $this->lng->txt(
'trac_group_materials'));
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
Creates a path for a start and endnode.
setDescription($a_val)
Set description.
static lookupTxtById($plugin_id, $lang_var)
const LP_MODE_MANUAL_BY_TUTOR
const LP_MODE_COLLECTION_MANUAL
const LP_MODE_COLLECTION_TLT
parse(ilLPCollection $a_collection)
Read and parse items.
static checkPermission($a_permission, $a_ref_id, $a_user_id=null)
wrapper for rbac access checks
static makeTimeSelect($prefix, $short=true, $hour="", $minute="", $second="", $a_use_default=true, $a_further_options=array())
Creates a combination of HTML selects for time inputs.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
getNode()
Get node id of current learning progress item.
setSelectAllCheckbox($a_select_all_checkbox, $a_select_all_on_top=false)
Set the name of the checkbox that should be toggled with a select all button.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
fillRow($a_set)
Fill template row.
static _lookupObjId($a_id)
addMultiCommand($a_cmd, $a_text)
Add Command button.
enable($a_module_name)
enables particular modules of table
static hasGroupedItems($a_obj_id)
setRowTemplate($a_template, $a_template_dir="")
Set row template.
LP collection base class.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
const LP_MODE_DEACTIVATED
static formSelect( $selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
const LP_MODE_COLLECTION_MOBS
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
__construct($a_parent_obj, $a_parent_cmd="", $a_node_id, $a_mode)
Constructor.