ILIAS  Release_4_1_x_branch Revision 61804
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilTrSummaryTableGUI Class Reference

name table More...

+ Inheritance diagram for ilTrSummaryTableGUI:
+ Collaboration diagram for ilTrSummaryTableGUI:

Public Member Functions

 __construct ($a_parent_obj, $a_parent_cmd, $a_ref_id, $a_print_mode=false)
 Constructor.
 getSelectableColumns ()
 Get selectable columns.
 initFilter ($a_obj_id)
 Init filter.
 getSelCountryCodes ()
 getItems ($a_object_id, $a_ref_id)
 Build summary item rows for given object and filter(s.
- Public Member Functions inherited from ilLPTableBaseGUI
 __construct ($a_parent_obj, $a_parent_cmd="", $a_template_context="")
 Constructor.
 executeCommand ()
 Execute command.
 searchFilterListener ($a_ref_id, $a_data)
 Listener for SearchResultFilter Checks wheather the object is hidden and mode is not LP_MODE_DEACTIVATED public.
 initFilter ()
 Init filter.
 getCurrentFilter ($as_query=false)
- Public Member Functions inherited from ilTable2GUI
 determineLimit ()
 Determine the limit.
 determineSelectedColumns ()
 Determine selected columns.
 isColumnSelected ($a_col)
 Is given column selected?
 getSelectedColumns ()
 Get selected columns.
 resetOffset ($a_in_determination=false)
 Reset offset.
 getParentObject ()
 Get parent object.
 getParentCmd ()
 Get parent command.
 setTopAnchor ($a_val)
 Set top anchor.
 getTopAnchor ()
 Get top anchor.
 setNoEntriesText ($a_text)
 Set text for an empty table.
 getNoEntriesText ()
 Get text for an empty table.
 setIsDataTable ($a_val)
 Set is data table.
 getIsDataTable ()
 Get is data table.
 setEnableTitle ($a_enabletitle)
 Set Enable Title.
 getEnableTitle ()
 Get Enable Title.
 setEnableHeader ($a_enableheader)
 Set Enable Header.
 getEnableHeader ()
 Get Enable Header.
 setEnableNumInfo ($a_val)
 Set enable num info.
 getEnableNumInfo ()
 Get enable num info.
 setTitle ($a_title, $a_icon=0, $a_icon_alt=0)
 Set title and title icon.
 setDescription ($a_val)
 Set description.
 getDescription ()
 Get description.
 setOrderField ($a_order_field)
 set order column
 getOrderField ()
 setData ($a_data)
 set table data public
 getData ()
 dataExists ()
 setPrefix ($a_prefix)
 set prefix for sort and offset fields (if you have two or more tables on a page that you want to sort separately) public
 getPrefix ()
 addFilterItem ($a_input_item, $a_optional=false)
 Add filter item.
 addFilterItemByMetaType ($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=NULL)
 Add filter by standard type.
 getFilterItems ($a_optionals=false)
 Get filter items.
 getFilterItemByPostVar ($a_post_var)
 setFilterCols ($a_val)
 Set filter columns.
 getFilterCols ()
 Get filter columns.
 setDisableFilterHiding ($a_val=true)
 Set disable filter hiding.
 getDisableFilterHiding ()
 Get disable filter hiding.
 isFilterSelected ($a_col)
 Is given filter selected?
 getSelectedFilters ()
 Get selected filters.
 determineSelectedFilters ()
 Determine selected filters.
 setCustomPreviousNext ($a_prev_link, $a_next_link)
 Set custom previous/next links.
 setFormAction ($a_form_action)
 Set Form action parameter.
 getFormAction ()
 Get Form action parameter.
 setFormName ($a_formname)
 Set Form name.
 getFormName ()
 Get Form name.
 setId ($a_val)
 Set id.
 getId ()
 Get element id.
 setDisplayAsBlock ($a_val)
 Set display as block.
 getDisplayAsBlock ()
 Get display as block.
 getSelectAllCheckbox ()
 Get the name of the checkbox that should be toggled with a select all button.
 setSelectAllCheckbox ($a_select_all_checkbox)
 Set the name of the checkbox that should be toggled with a select all button.
 setExternalSorting ($a_val)
 Set external sorting.
 getExternalSorting ()
 Get external sorting.
 setFilterCommand ($a_val)
 Set filter command.
 getFilterCommand ()
 Get filter command.
 setResetCommand ($a_val)
 Set reset filter command.
 getResetCommand ()
 Get reset filter command.
 setExternalSegmentation ($a_val)
 Set external segmentation.
 getExternalSegmentation ()
 Get external segmentation.
 setRowTemplate ($a_template, $a_template_dir="")
 Set row template.
 setDefaultOrderField ($a_defaultorderfield)
 Set Default order field.
 getDefaultOrderField ()
 Get Default order field.
 setDefaultOrderDirection ($a_defaultorderdirection)
 Set Default order direction.
 getDefaultOrderDirection ()
 Get Default order direction.
 clearCommandButtons ()
 addCommandButton ($a_cmd, $a_text, $a_onclick= '')
 Add Command button.
 addSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button.
 addMultiItemSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button for selected items.
 setCloseCommand ($a_link)
 Add command for closing table.
 addMultiCommand ($a_cmd, $a_text)
 Add Command button.
 addHiddenInput ($a_name, $a_value)
 Add Hidden Input field.
 addHeaderCommand ($a_href, $a_text, $a_target="", $a_img="")
 Add Header Command (Link) (Image needed for now)
 setTopCommands ($a_val)
 Set top commands (display command buttons on top of table, too)
 getTopCommands ()
 Get top commands (display command buttons on top of table, too)
 addColumn ($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="")
 Add a column to the header.
 getNavParameter ()
 setOrderLink ($sort_field, $order_dir)
 fillHeader ()
 determineOffsetAndOrder ($a_omit_offset=false)
 Determine offset and order.
 storeNavParameter ()
 getHTML ()
 Get HTML.
 numericOrdering ($a_field)
 Should this field be sorted numeric?
 render ()
 render table public
 writeFilterToSession ()
 Write filter values to session.
 resetFilter ()
 Reset filter.
 fillFooter ()
 Fill footer row.
 getLinkbar ($a_num)
 Get previous/next linkbar.
 fillHiddenRow ()
 fillActionRow ()
 Fill Action Row.
 setHeaderHTML ($html)
 set header html
 storeProperty ($type, $value)
 Store table property.
 loadProperty ($type)
 Load table property.
 getCurrentState ()
 get current settings for order, limit, columns and filter
 setContext ($id)
 Set context.
 getContext ()
 Get context.
 setShowRowsSelector ($a_value)
 Toggle rows-per-page selector.
 getShowRowsSelector ()
 Get rows-per-page selector state.
 setShowTemplates ($a_value)
 Toggle templates.
 getShowTemplates ()
 Get template state.
 restoreTemplate ($a_name)
 Restore state from template.
 saveTemplate ($a_name)
 Save current state as template.
 deleteTemplate ($a_name)
 Delete template.
 getLimit ()
 Get limit.
 getOffset ()
 Get offset.
 setExportFormats (array $formats)
 Set available export formats.
 setPrintMode ($a_value=false)
 Toogle print mode.
 getPrintMode ()
 Get print mode.
 getExportMode ()
 Was export activated?
 exportData ($format, $send=false)
 Export and optionally send current table data.
- Public Member Functions inherited from ilTableGUI
 ilTableGUI ($a_data=0, $a_global_tpl=true)
 Constructor.
 setTemplate (&$a_tpl)
 set template public
getTemplateObject ()
 setHelp ($a_help_page, $a_help_icon, $a_help_icon_alt=0)
 set table help page public
 setHeaderNames ($a_header_names)
 set table header names public
 getColumnCount ()
 Returns the column count based on the number of the header row columns public.
 setHeaderVars ($a_header_vars, $a_header_params=0)
 set table header vars public
 setColumnWidth ($a_column_width)
 set table column widths public
 setOneColumnWidth ($a_column_width, $a_column_number)
 set one table column width public
 setMaxCount ($a_max_count)
 set max.
 setLimit ($a_limit=0, $a_default_limit=0)
 set max.
 setOffset ($a_offset)
 set dataset offset public
 setOrderColumn ($a_order_column=0, $a_default_column=0)
 set order column public
 getOrderColumn ()
 Get order column.
 setOrderDirection ($a_order_direction)
 set order direction public
 getOrderDirection ()
 Get order direction.
 setFooter ($a_style, $a_previous=0, $a_next=0)
 set order direction public
 enable ($a_module_name)
 enables particular modules of table
 disable ($a_module_name)
 diesables particular modules of table
 sortData ()
 renderHeader ()
 setStyle ($a_element, $a_style)
 getStyle ($a_element)
 setBase ($a_base)
 Set Base script name (deprecated, only use this for workarounds).
 getBase ()
 Get Base script name (deprecated, only use this for workarounds).
 clearActionButtons ()
 addActionButton ($btn_name, $btn_value)

Protected Member Functions

 getItemsPercentages (array $data=NULL, $overall, array $value_map=NULL, $limit=3)
 Render data as needed for summary list (based on grouped values)
 parseValue ($id, $value, $type)
 fillRow ($a_set)
 Fill table row.
 renderPercentages ($id, $data)
 isArrayColumn ($a_name)
 fillHeaderExcel ($worksheet, &$a_row)
 Excel Version of Fill Row.
 fillRowExcel ($worksheet, &$a_row, $a_set)
 Excel Version of Fill Row.
 fillHeaderCSV ($a_csv)
 CSV Version of Fill Header.
 fillRowCSV ($a_csv, $a_set)
 CSV Version of Fill Row.
- Protected Member Functions inherited from ilLPTableBaseGUI
 searchObjects (array $filter, $permission)
 Search objects that match current filters.
 buildPath ($ref_ids)
 Build path with deep-link.
 getPossibleTypes ()
 Get possible subtypes.
 isPercentageAvailable ($a_obj_id)
 parseTitle ($a_obj_id, $action, $a_user_id=false)
 getExportMeta ()
 Build export meta data.
 fillMetaExcel ($worksheet, &$a_row)
 Add meta information to excel export.
 fillMetaCSV ($a_csv)
 Add meta information to csv export.
 showTimingsWarning ($a_ref_id, $a_user_id)
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated.
 getFilterValue (ilFormPropertyGUI $a_item)
 Get current filter value.
 SetFilterValue (ilFormPropertyGUI $a_item, $a_value)
 Set current filter value.

Additional Inherited Members

- Data Fields inherited from ilTable2GUI
const FILTER_TEXT = 1
const FILTER_SELECT = 2
const FILTER_DATE = 3
const FILTER_LANGUAGE = 4
const FILTER_NUMBER_RANGE = 5
const FILTER_DATE_RANGE = 6
const FILTER_DURATION_RANGE = 7
const EXPORT_EXCEL = 1
const EXPORT_CSV = 2
- Protected Attributes inherited from ilLPTableBaseGUI
 $filter

Detailed Description

name table

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

Definition at line 14 of file class.ilTrSummaryTableGUI.php.

Constructor & Destructor Documentation

ilTrSummaryTableGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
  $a_ref_id,
  $a_print_mode = false 
)

Constructor.

Definition at line 19 of file class.ilTrSummaryTableGUI.php.

References $ilCtrl, $lng, ilObject\_lookupObjId(), ilTable2GUI\addColumn(), getItems(), getSelectableColumns(), ilTable2GUI\getSelectedColumns(), ilLPTableBaseGUI\initFilter(), ilLPTableBaseGUI\parseTitle(), ilTable2GUI\setDefaultOrderField(), ilTable2GUI\setEnableHeader(), ilTable2GUI\setExportFormats(), ilTable2GUI\setFormAction(), ilTable2GUI\setId(), ilTableGUI\setLimit(), ilTable2GUI\setPrintMode(), ilTable2GUI\setRowTemplate(), and ilTable2GUI\setShowTemplates().

{
global $ilCtrl, $lng, $ilAccess, $lng;
$this->setId("trsmy");
$this->ref_id = $a_ref_id;
$this->obj_id = ilObject::_lookupObjId($a_ref_id);
parent::__construct($a_parent_obj, $a_parent_cmd);
if($a_print_mode)
{
$this->setPrintMode(true);
}
$this->parseTitle($this->obj_id, "trac_summary");
$this->setLimit(9999);
$this->setShowTemplates(true);
$this->setExportFormats(array(self::EXPORT_CSV, self::EXPORT_EXCEL));
$this->addColumn($this->lng->txt("title"), "title");
$this->setDefaultOrderField("title");
$labels = $this->getSelectableColumns();
foreach ($this->getSelectedColumns() as $c)
{
$this->addColumn($labels[$c]["txt"], $c);
}
// $this->setExternalSorting(true);
$this->setEnableHeader(true);
$this->setFormAction($ilCtrl->getFormActionByClass(get_class($this)));
$this->setRowTemplate("tpl.trac_summary_row.html", "Services/Tracking");
$this->initFilter($a_parent_obj->getObjId());
$this->getItems($a_parent_obj->getObjId(), $a_ref_id);
}

+ Here is the call graph for this function:

Member Function Documentation

ilTrSummaryTableGUI::fillHeaderCSV (   $a_csv)
protected

CSV Version of Fill Header.

Likely to be overwritten by derived class.

Parameters
object$a_csvcurrent file

Reimplemented from ilTable2GUI.

Definition at line 601 of file class.ilTrSummaryTableGUI.php.

References getSelectableColumns(), ilTable2GUI\getSelectedColumns(), and isArrayColumn().

{
$a_csv->addColumn($this->lng->txt("title"));
$labels = $this->getSelectableColumns();
foreach ($this->getSelectedColumns() as $c)
{
$label = $labels[$c]["txt"];
$label = str_replace("Ø", $this->lng->txt("trac_average"), $label);
$label = str_replace("∑", $this->lng->txt("trac_sum"), $label);
if(!$this->isArrayColumn($c))
{
$a_csv->addColumn($label);
}
else
{
$a_csv->addColumn($label." #1");
$a_csv->addColumn($label." #1");
$a_csv->addColumn($label." #1 %");
$a_csv->addColumn($label." #2");
$a_csv->addColumn($label." #2");
$a_csv->addColumn($label." #2 %");
$a_csv->addColumn($label." #3");
$a_csv->addColumn($label." #3");
$a_csv->addColumn($label." #3 %");
$a_csv->addColumn($label." ".$this->lng->txt("trac_others"));
$a_csv->addColumn($label." ".$this->lng->txt("trac_others"));
$a_csv->addColumn($label." ".$this->lng->txt("trac_others")." %");
}
}
$a_csv->addRow();
}

+ Here is the call graph for this function:

ilTrSummaryTableGUI::fillHeaderExcel (   $worksheet,
$a_row 
)
protected

Excel Version of Fill Row.

Likely to be overwritten by derived class.

Parameters
object$a_worksheetcurrent sheet
int$a_rowrow counter

Reimplemented from ilTable2GUI.

Definition at line 524 of file class.ilTrSummaryTableGUI.php.

References getSelectableColumns(), ilTable2GUI\getSelectedColumns(), and isArrayColumn().

{
$worksheet->write($a_row, 0, $this->lng->txt("title"));
$labels = $this->getSelectableColumns();
$cnt = 1;
foreach ($this->getSelectedColumns() as $c)
{
$label = $labels[$c]["txt"];
$label = str_replace("Ø", $this->lng->txt("trac_average"), $label);
$label = str_replace("∑", $this->lng->txt("trac_sum"), $label);
if(!$this->isArrayColumn($c))
{
$worksheet->write($a_row, $cnt, $label);
$cnt++;
}
else
{
$worksheet->write($a_row, $cnt, $label." #1");
$worksheet->write($a_row, ++$cnt, $label." #1");
$worksheet->write($a_row, ++$cnt, $label." #1 %");
$worksheet->write($a_row, ++$cnt, $label." #2");
$worksheet->write($a_row, ++$cnt, $label." #2");
$worksheet->write($a_row, ++$cnt, $label." #2 %");
$worksheet->write($a_row, ++$cnt, $label." #3");
$worksheet->write($a_row, ++$cnt, $label." #3");
$worksheet->write($a_row, ++$cnt, $label." #3 %");
$worksheet->write($a_row, ++$cnt, $label." ".$this->lng->txt("trac_others"));
$worksheet->write($a_row, ++$cnt, $label." ".$this->lng->txt("trac_others"));
$worksheet->write($a_row, ++$cnt, $label." ".$this->lng->txt("trac_others")." %");
$cnt++;
}
}
}

+ Here is the call graph for this function:

ilTrSummaryTableGUI::fillRow (   $a_set)
protected

Fill table row.

Reimplemented from ilTable2GUI.

Definition at line 459 of file class.ilTrSummaryTableGUI.php.

References $lng, ilTable2GUI\getSelectedColumns(), ilUtil\getTypeIconPath(), ilLPTableBaseGUI\isPercentageAvailable(), parseValue(), and renderPercentages().

{
global $lng;
$this->tpl->setVariable("ICON", ilUtil::getTypeIconPath($a_set["type"], $a_set["obj_id"], "tiny"));
$this->tpl->setVariable("ICON_ALT", $lng->txt($a_set["type"]));
$this->tpl->setVariable("TITLE", $a_set["title"]);
foreach ($this->getSelectedColumns() as $c)
{
switch($c)
{
case "country":
case "gender":
case "city":
case "language":
case "status":
case "mark":
case "sel_country":
$this->renderPercentages($c, $a_set[$c]);
break;
case "percentage_avg":
if((int)$a_set[$c] === 0 || !$this->isPercentageAvailable($a_set["obj_id"]))
{
$this->tpl->setVariable(strtoupper($c), "");
break;
}
default:
$value = $this->parseValue($c, $a_set[$c], $a_set["type"]);
$this->tpl->setVariable(strtoupper($c), $value);
break;
}
}
}

+ Here is the call graph for this function:

ilTrSummaryTableGUI::fillRowCSV (   $a_csv,
  $a_set 
)
protected

CSV Version of Fill Row.

Most likely to be overwritten by derived class.

Parameters
object$a_csvcurrent file
array$a_setdata array

Reimplemented from ilTable2GUI.

Definition at line 636 of file class.ilTrSummaryTableGUI.php.

References $res, ilTable2GUI\getSelectedColumns(), isArrayColumn(), and parseValue().

{
$a_csv->addColumn($a_set["title"]);
foreach ($this->getSelectedColumns() as $c)
{
if(!$this->isArrayColumn($c))
{
$val = $this->parseValue($c, $a_set[$c], "user");
$a_csv->addColumn($val);
}
else
{
foreach($a_set[$c] as $idx => $value)
{
if($c == "status")
{
preg_match("/alt=\"([^\"]+)\"/", $value["caption"], $res);
$value["caption"] = $res[1];
}
$a_csv->addColumn($value["caption"]);
$a_csv->addColumn((int)$value["absolute"]);
$a_csv->addColumn($value["percentage"]);
}
if(sizeof($a_set[$c]) < 4)
{
for($loop = 4; $loop > sizeof($a_set[$c]); $loop--)
{
$a_csv->addColumn("");
$a_csv->addColumn("");
$a_csv->addColumn("");
}
}
}
}
$a_csv->addRow();
}

+ Here is the call graph for this function:

ilTrSummaryTableGUI::fillRowExcel (   $a_worksheet,
$a_row,
  $a_set 
)
protected

Excel Version of Fill Row.

Most likely to be overwritten by derived class.

Parameters
object$a_worksheetcurrent sheet
int$a_rowrow counter
array$a_setdata array

Reimplemented from ilTable2GUI.

Definition at line 560 of file class.ilTrSummaryTableGUI.php.

References $res, ilTable2GUI\getSelectedColumns(), isArrayColumn(), and parseValue().

{
$worksheet->write($a_row, 0, $a_set["title"]);
$cnt = 1;
foreach ($this->getSelectedColumns() as $c)
{
if(!$this->isArrayColumn($c))
{
$val = $this->parseValue($c, $a_set[$c], "user");
$worksheet->write($a_row, $cnt, $val);
$cnt++;
}
else
{
foreach($a_set[$c] as $idx => $value)
{
if($c == "status")
{
preg_match("/alt=\"([^\"]+)\"/", $value["caption"], $res);
$value["caption"] = $res[1];
}
$worksheet->write($a_row, $cnt, $value["caption"]);
$worksheet->write($a_row, ++$cnt, (int)$value["absolute"]);
$worksheet->write($a_row, ++$cnt, $value["percentage"]);
$cnt++;
}
if(sizeof($a_set[$c]) < 4)
{
for($loop = 4; $loop > sizeof($a_set[$c]); $loop--)
{
$worksheet->write($a_row, $cnt, "");
$worksheet->write($a_row, ++$cnt, "");
$worksheet->write($a_row, ++$cnt, "");
$cnt++;
}
}
}
}
}

+ Here is the call graph for this function:

ilTrSummaryTableGUI::getItems (   $a_object_id,
  $a_ref_id 
)

Build summary item rows for given object and filter(s.

Parameters
int$a_object_id
int$a_ref_id

Definition at line 248 of file class.ilTrSummaryTableGUI.php.

References ilTableGUI\$data, $lng, $path, $result, $sess, ilLearningProgressBaseGUI\_getImagePathForStatus(), ilLearningProgressBaseGUI\_getStatusText(), ilLPTableBaseGUI\getCurrentFilter(), getItemsPercentages(), ilTable2GUI\getLimit(), ilTrQuery\getObjectsSummaryForObject(), ilTable2GUI\getOffset(), ilTableGUI\getOrderDirection(), ilTable2GUI\getOrderField(), getSelCountryCodes(), ilTable2GUI\getSelectedColumns(), ilUtil\img(), ilLPTableBaseGUI\isPercentageAvailable(), LP_STATUS_COMPLETED_NUM, LP_STATUS_FAILED_NUM, LP_STATUS_IN_PROGRESS_NUM, LP_STATUS_NOT_ATTEMPTED_NUM, ilTable2GUI\setData(), ilTableGUI\setMaxCount(), and ilUtil\stripSlashes().

Referenced by __construct().

{
global $lng;
include_once("./Services/Tracking/classes/class.ilTrQuery.php");
$a_object_id,
$a_ref_id,
$this->getCurrentFilter(),
);
$rows = array();
foreach($data["set"] as $idx => $result)
{
// sessions have no title
if($result["title"] == "" && $result["type"] == "sess")
{
include_once "Modules/Session/classes/class.ilObjSession.php";
$sess = new ilObjSession($result["obj_id"], false);
$data["set"][$idx]["title"] = $sess->getFirstAppointment()->appointmentToString();
}
// percentages
$users_no = $result["user_total"];
$data["set"][$idx]["country"] = $this->getItemsPercentages($result["country"], $users_no);
$data["set"][$idx]["gender"] = $this->getItemsPercentages($result["gender"], $users_no, array("m"=>$lng->txt("gender_m"), "f"=>$lng->txt("gender_f")));
$data["set"][$idx]["city"] = $this->getItemsPercentages($result["city"], $users_no);
$data["set"][$idx]["sel_country"] = $this->getItemsPercentages($result["sel_country"], $users_no, $this->getSelCountryCodes());
$languages = array();
foreach ($lng->getInstalledLanguages() as $lang_key)
{
$languages[$lang_key] = $lng->txt("lang_".$lang_key);
}
$data["set"][$idx]["language"] = $this->getItemsPercentages($result["language"], $users_no, $languages);
include_once("./Services/Tracking/classes/class.ilLearningProgressBaseGUI.php");
include_once("./Services/Tracking/classes/class.ilLPStatus.php");
$map = array();
{
$map[$status] = ilUtil::img($path, $text);
}
$map[""] = $map[0];
$data["set"][$idx]["status"] = $this->getItemsPercentages($result["status"], $users_no, $map);
$data["set"][$idx]["mark"] = $this->getItemsPercentages($result["mark"], $users_no);
if(!$this->isPercentageAvailable($result["obj_id"]))
{
$data["set"][$idx]["percentage_avg"] = NULL;
}
}
$this->setMaxCount($data["cnt"]);
$this->setData($data["set"]);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTrSummaryTableGUI::getItemsPercentages ( array  $data = NULL,
  $overall,
array  $value_map = NULL,
  $limit = 3 
)
protected

Render data as needed for summary list (based on grouped values)

Parameters
array$datarows data
int$overalloverall number of entries
array$value_maplabels for values
int$limitsummarize all entries beyond limit
Returns
array

Definition at line 322 of file class.ilTrSummaryTableGUI.php.

References ilTableGUI\$data, ilTableGUI\$limit, $lng, and $result.

Referenced by getItems().

{
global $lng;
if(!$overall)
{
return false;
}
$result = array();
if($data)
{
$counter = $others_counter = $others_sum = 0;
foreach($data as $id => $count)
{
$counter++;
if($counter <= $limit)
{
$caption = $id;
if($value_map && isset($value_map[$id]))
{
$caption = $value_map[$id];
}
if($caption == "")
{
$caption = $lng->txt("none");
}
$perc = round($count/$overall*100);
$result[] = array(
"caption" => $caption,
"absolute" => $count." ".($count > 1 ? $lng->txt("users") : $lng->txt("user")),
"percentage" => $perc
);
}
else
{
$others_sum += $count;
$others_counter++;
}
}
if($others_counter)
{
$perc = round($others_sum/$overall*100);
$result[] = array(
"caption" => $otherss_counter." ".$lng->txt("trac_others"),
"absolute" => $others_sum." ".($others_sum > 1 ? $lng->txt("users") : $lng->txt("user")),
"percentage" => $perc
);
}
}
return $result;
}

+ Here is the caller graph for this function:

ilTrSummaryTableGUI::getSelCountryCodes ( )

Definition at line 228 of file class.ilTrSummaryTableGUI.php.

References $lng, and ilCountry\getCountryCodes().

Referenced by getItems(), and initFilter().

{
global $lng;
include_once("./Services/Utilities/classes/class.ilCountry.php");
$options = array();
foreach (ilCountry::getCountryCodes() as $c)
{
$options[$c] = $lng->txt("meta_c_".$c);
}
asort($options);
return $options;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTrSummaryTableGUI::getSelectableColumns ( )

Get selectable columns.

Returns
array key: column id, val: true/false -> default on/off

Reimplemented from ilTable2GUI.

Definition at line 60 of file class.ilTrSummaryTableGUI.php.

References $columns, $ilSetting, $lng, ilTableGUI\$prefix, ilObjUserTracking\EXTENDED_DATA_LAST_ACCESS, ilObjUserTracking\EXTENDED_DATA_READ_COUNT, and ilObjUserTracking\EXTENDED_DATA_SPENT_SECONDS.

Referenced by __construct(), fillHeaderCSV(), and fillHeaderExcel().

{
global $lng, $ilSetting;
$lng_map = array("user_total" => "users", "first_access_min" => "trac_first_access",
"last_access_max" => "trac_last_access", "mark" => "trac_mark", "status" => "trac_status",
"spent_seconds_avg" => "trac_spent_seconds", "percentage_avg" => "trac_percentage",
"read_count_sum" => "trac_read_count", "read_count_avg" => "trac_read_count",
);
$all = array("user_total");
$default = array();
// show only if extended data was activated in lp settings
include_once 'Services/Tracking/classes/class.ilObjUserTracking.php';
$tracking = new ilObjUserTracking();
if($tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_READ_COUNT))
{
$all[] = "read_count_sum";
$all[] = "read_count_avg";
$default[] = "read_count_sum";
}
if($tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_SPENT_SECONDS))
{
$all[] = "spent_seconds_avg";
$default[] = "spent_seconds_avg";
}
$all[] = "percentage_avg";
$all[] = "status";
$all[] = "mark";
$privacy = array("gender", "city", "country", "sel_country");
foreach($privacy as $field)
{
if($ilSetting->get("usr_settings_course_export_".$field))
{
$all[] = $field;
}
}
$all[] = "language";
$default[] = "percentage_avg";
$default[] = "status";
$default[] = "mark";
if($tracking->hasExtendedData(ilObjUserTracking::EXTENDED_DATA_LAST_ACCESS))
{
$all[] = "first_access_min";
$all[] = "last_access_max";
}
$all[] = "create_date_min";
$all[] = "create_date_max";
$columns = array();
foreach($all as $column)
{
$l = $column;
$prefix = false;
if(substr($l, -3) == "avg")
{
$prefix = "&#216; ";
}
else if(substr($l, -3) == "sum" || $l == "user_total")
{
$prefix = "&#8721; ";
}
if(isset($lng_map[$l]))
{
$l = $lng_map[$l];
}
$txt = $prefix.$lng->txt($l);
$columns[$column] = array(
"txt" => $txt,
"default" => (in_array($column, $default) ? true :false)
);
}
return $columns;
}

+ Here is the caller graph for this function:

ilTrSummaryTableGUI::initFilter (   $a_obj_id)

Init filter.

Definition at line 151 of file class.ilTrSummaryTableGUI.php.

References $ilSetting, $lng, ilTable2GUI\addFilterItemByMetaType(), ilTable2GUI\FILTER_DATE_RANGE, ilTable2GUI\FILTER_DURATION_RANGE, ilTable2GUI\FILTER_LANGUAGE, ilTable2GUI\FILTER_NUMBER_RANGE, ilTable2GUI\FILTER_SELECT, ilTable2GUI\FILTER_TEXT, getSelCountryCodes(), LP_STATUS_COMPLETED, LP_STATUS_COMPLETED_NUM, LP_STATUS_FAILED, LP_STATUS_FAILED_NUM, LP_STATUS_IN_PROGRESS, LP_STATUS_IN_PROGRESS_NUM, LP_STATUS_NOT_ATTEMPTED, and LP_STATUS_NOT_ATTEMPTED_NUM.

{
global $lng, $ilSetting;
$item = $this->addFilterItemByMetaType("user_total", ilTable2GUI::FILTER_NUMBER_RANGE, true);
$this->filter["user_total"] = $item->getValue();
$item = $this->addFilterItemByMetaType("read_count", ilTable2GUI::FILTER_NUMBER_RANGE, true,
$lng->txt("trac_read_count"));
$this->filter["read_count"] = $item->getValue();
true, $lng->txt("trac_spent_seconds"));
$this->filter["spent_seconds"]["from"] = $item->getCombinationItem("from")->getValueInSeconds();
$this->filter["spent_seconds"]["to"] = $item->getCombinationItem("to")->getValueInSeconds();
$item = $this->addFilterItemByMetaType("percentage", ilTable2GUI::FILTER_NUMBER_RANGE, true,
$lng->txt("trac_percentage"));
$this->filter["percentage"] = $item->getValue();
include_once "Services/Tracking/classes/class.ilLPStatus.php";
$item = $this->addFilterItemByMetaType("status", ilTable2GUI::FILTER_SELECT, true);
$item->setOptions(array("" => $lng->txt("trac_all"),
$this->filter["status"] = $item->getValue();
if($this->filter["status"])
{
$this->filter["status"]--;
}
$item = $this->addFilterItemByMetaType("mark", ilTable2GUI::FILTER_TEXT, true,
$lng->txt("trac_mark"));
$this->filter["mark"] = $item->getValue();
if($ilSetting->get("usr_settings_course_export_gender"))
{
$item = $this->addFilterItemByMetaType("gender", ilTable2GUI::FILTER_SELECT, true);
$item->setOptions(array("" => $lng->txt("trac_all"), "m" => $lng->txt("gender_m"),
"f" => $lng->txt("gender_f")));
$this->filter["gender"] = $item->getValue();
}
if($ilSetting->get("usr_settings_course_export_city"))
{
$item = $this->addFilterItemByMetaType("city", ilTable2GUI::FILTER_TEXT, true);
$this->filter["city"] = $item->getValue();
}
if($ilSetting->get("usr_settings_course_export_country"))
{
$item = $this->addFilterItemByMetaType("country", ilTable2GUI::FILTER_TEXT, true);
$this->filter["country"] = $item->getValue();
}
if($ilSetting->get("usr_settings_course_export_sel_country"))
{
$item = $this->addFilterItemByMetaType("sel_country", ilTable2GUI::FILTER_SELECT, true);
$item->setOptions(array("" => $lng->txt("trac_all"))+$this->getSelCountryCodes());
$this->filter["sel_country"] = $item->getValue();
}
$item = $this->addFilterItemByMetaType("language", ilTable2GUI::FILTER_LANGUAGE, true);
$this->filter["language"] = $item->getValue();
$item = $this->addFilterItemByMetaType("trac_first_access", ilTable2GUI::FILTER_DATE_RANGE, true);
$this->filter["first_access"] = $item->getDate();
$item = $this->addFilterItemByMetaType("trac_last_access", ilTable2GUI::FILTER_DATE_RANGE, true);
$this->filter["last_access"] = $item->getDate();
$item = $this->addFilterItemByMetaType("registration_filter", ilTable2GUI::FILTER_DATE_RANGE, true);
$this->filter["registration"] = $item->getDate();
}

+ Here is the call graph for this function:

ilTrSummaryTableGUI::isArrayColumn (   $a_name)
protected

Definition at line 515 of file class.ilTrSummaryTableGUI.php.

Referenced by fillHeaderCSV(), fillHeaderExcel(), fillRowCSV(), and fillRowExcel().

{
if(in_array($a_name, array("country", "gender", "city", "language", "status", "mark")))
{
return true;
}
return false;
}

+ Here is the caller graph for this function:

ilTrSummaryTableGUI::parseValue (   $id,
  $value,
  $type 
)
protected

Reimplemented from ilLPTableBaseGUI.

Definition at line 382 of file class.ilTrSummaryTableGUI.php.

References $lng, ilFormat\_secondsToString(), ilDatePresentation\formatDate(), IL_CAL_DATETIME, and IL_CAL_UNIX.

Referenced by fillRow(), fillRowCSV(), and fillRowExcel().

{
global $lng;
// get rid of aggregation
$pos = strrpos($id, "_");
if($pos !== false)
{
$function = strtoupper(substr($id, $pos+1));
if(in_array($function, array("MIN", "MAX", "SUM", "AVG", "COUNT")))
{
$id = substr($id, 0, $pos);
}
}
if(trim($value) == "")
{
if($id == "title")
{
return "--".$lng->txt("none")."--";
}
return "";
}
switch($id)
{
case "first_access":
case "create_date":
break;
case "last_access":
break;
case "spent_seconds":
if(in_array($type, array("exc")))
{
$value = "-";
}
else
{
include_once("./classes/class.ilFormat.php");
$value = ilFormat::_secondsToString($value);
}
break;
case "percentage":
/* :TODO:
if(in_array(strtolower($this->status_class),
array("illpstatusmanual", "illpstatusscormpackage", "illpstatustestfinished")) ||
$type == "exc"))
*/
if(false)
{
$value = "-";
}
else
{
$value = $value."%";
}
break;
case "mark":
if(in_array($type, array("lm", "dbk")))
{
$value = "-";
}
break;
}
return $value;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTrSummaryTableGUI::renderPercentages (   $id,
  $data 
)
protected

Definition at line 496 of file class.ilTrSummaryTableGUI.php.

References ilTableGUI\$data.

Referenced by fillRow().

{
if($data)
{
foreach($data as $item)
{
$this->tpl->setCurrentBlock($id."_row");
$this->tpl->setVariable("CAPTION", $item["caption"]);
$this->tpl->setVariable("ABSOLUTE", $item["absolute"]);
$this->tpl->setVariable("PERCENTAGE", $item["percentage"]);
$this->tpl->parseCurrentBlock();
}
}
else
{
$this->tpl->touchBlock($id);;
}
}

+ Here is the caller graph for this function:


The documentation for this class was generated from the following file: