/** * show download list */ function showDownloadList() { global $ilBench, $ilAccess, $ilias, $lng, $ilTabs; if (!$ilAccess->checkAccess("read", "", $_GET["ref_id"])) { $ilias->raiseError($lng->txt("permission_denied"), $ilias->error_obj->MESSAGE); } $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.glo_download_list.html", "Modules/Glossary"); $this->setTabs(); $ilTabs->activateTab("download"); // set title header $this->tpl->setTitle($this->glossary->getTitle()); //$this->tpl->setVariable("IMG_HEADER", ilUtil::getImagePath("icon_glo_b.png")); $this->tpl->setTitleIcon(ilUtil::getImagePath("icon_glo_b.png")); // create table require_once "./Services/Table/classes/class.ilTableGUI.php"; $tbl = new ilTableGUI(); // load files templates $this->tpl->addBlockfile("DOWNLOAD_TABLE", "download_table", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.download_file_row.html", "Modules/Glossary"); $export_files = array(); $types = array("xml", "html"); foreach ($types as $type) { if ($this->glossary->getPublicExportFile($type) != "") { $dir = $this->glossary->getExportDirectory($type); if (is_file($this->glossary->getExportDirectory($type) . "/" . $this->glossary->getPublicExportFile($type))) { $size = filesize($this->glossary->getExportDirectory($type) . "/" . $this->glossary->getPublicExportFile($type)); $export_files[] = array("type" => $type, "file" => $this->glossary->getPublicExportFile($type), "size" => $size); } } } $num = 0; $tbl->setTitle($this->lng->txt("download")); $tbl->setHeaderNames(array($this->lng->txt("cont_format"), $this->lng->txt("cont_file"), $this->lng->txt("size"), $this->lng->txt("date"), "")); $cols = array("format", "file", "size", "date", "download"); $header_params = array("ref_id" => $_GET["ref_id"], "obj_id" => $_GET["obj_id"], "cmd" => "showDownloadList", "cmdClass" => strtolower(get_class($this))); $tbl->setHeaderVars($cols, $header_params); $tbl->setColumnWidth(array("10%", "30%", "20%", "20%", "20%")); $tbl->disable("sort"); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); // ??? $this->tpl->setVariable("COLUMN_COUNTS", 5); // footer //$tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next")); $tbl->disable("footer"); $tbl->setMaxCount(count($export_files)); $export_files = array_slice($export_files, $_GET["offset"], $_GET["limit"]); $tbl->render(); if (count($export_files) > 0) { $i = 0; foreach ($export_files as $exp_file) { $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("TXT_FILENAME", $exp_file["file"]); $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->setVariable("TXT_SIZE", $exp_file["size"]); $this->tpl->setVariable("TXT_FORMAT", strtoupper($exp_file["type"])); $this->tpl->setVariable("CHECKBOX_ID", $exp_file["type"] . ":" . $exp_file["file"]); $file_arr = explode("__", $exp_file["file"]); $this->tpl->setVariable("TXT_DATE", date("Y-m-d H:i:s", $file_arr[0])); $this->tpl->setVariable("TXT_DOWNLOAD", $this->lng->txt("download")); $this->ctrl->setParameter($this, "type", $exp_file["type"]); $this->tpl->setVariable("LINK_DOWNLOAD", $this->ctrl->getLinkTarget($this, "downloadExportFile")); $this->tpl->parseCurrentBlock(); } } else { $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found")); $this->tpl->setVariable("NUM_COLS", 5); $this->tpl->parseCurrentBlock(); } //$this->tpl->show(); }
/** * get versions table */ function getVersionsTable($a_header_params, $a_user_comment = false) { global $ilCtrl; $ref_id = $a_header_params["ref_id"]; require_once "./Services/Table/classes/class.ilTableGUI.php"; $tbl = new ilTableGUI(0, false); // table header $tbl->setTitle($this->lng->txt("versions")); $tbl->setHeaderNames(array($this->lng->txt("date") . "/" . $this->lng->txt("user"), $this->lng->txt("action"))); $tbl->setColumnWidth(array("40%", "60%")); $cols = array("date_user", "action"); if ($a_header_params == "") { $a_header_params = array(); } $header_params = $a_header_params; $tbl->setHeaderVars($cols, $header_params); // table variables $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); // ??? $tbl->disable("header"); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); // get history entries $entries = ilHistory::_getEntriesForObject($this->obj_id, $this->obj_type); $tbl->setMaxCount(count($entries)); $entries = array_slice($entries, $_GET["offset"], $_GET["limit"]); $this->tpl =& $tbl->getTemplateObject(); $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.history_row.html", "Services/History"); if (count($entries) > 0) { $i = 0; foreach ($entries as $entry) { $this->tpl->setCurrentBlock("tbl_content"); $css_row = $css_row != "tblrow1" ? "tblrow1" : "tblrow2"; $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->setVariable('TXT_DATE', ilDatePresentation::formatDate(new ilDateTime($entry['date'], IL_CAL_DATETIME))); $name = ilObjUser::_lookupName($entry["user_id"]); $this->tpl->setVariable("TXT_USER", $name["title"] . " " . $name["firstname"] . " " . $name["lastname"] . " [" . $entry["user_id"] . "]"); $info_params = explode(",", $entry["info_params"]); $info_text = $this->lng->txt("hist_" . $this->obj_type . "_" . $entry["action"]); $i = 1; foreach ($info_params as $info_param) { $info_text = str_replace("%" . $i, $info_param, $info_text); $i++; } $this->tpl->setVariable("TXT_ACTION", $info_text); if ($a_user_comment) { $this->tpl->setCurrentBlock("user_comment"); $this->tpl->setVariable("TXT_USER_COMMENT", $entry["user_comment"]); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("tbl_content"); } $this->tpl->setCurrentBlock("dl_link"); $this->tpl->setVariable("TXT_DL", $this->lng->txt("download")); $ilCtrl->setParameterByClass("ilobjfilegui", "hist_id", $entry["hist_entry_id"]); $this->tpl->setVariable("DL_LINK", $ilCtrl->getLinkTargetByClass("ilobjfilegui", "sendfile")); $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->parseCurrentBlock(); } } else { $this->tpl->setCurrentBlock("tbl_content_cell"); $this->tpl->setVariable("TBL_CONTENT_CELL", $this->lng->txt("hist_no_entries")); $this->tpl->setVariable("TBL_COL_SPAN", 4); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("tbl_content_row"); $this->tpl->setVariable("ROWCOLOR", "tblrow1"); $this->tpl->parseCurrentBlock(); } $tbl->render(); //$this->tpl->parseCurrentBlock(); return $this->tpl->get(); }
/** * display edit form * * @access public */ function editObject() { global $rbacsystem, $rbacreview; if (!$rbacsystem->checkAccess("edit_permission", $_GET["ref_id"])) { $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE); } //prepare objectlist $this->data = array(); $this->data["data"] = array(); $this->data["ctrl"] = array(); $this->data["cols"] = array("type", "operation", "description", "status"); $ops_valid = $rbacreview->getOperationsOnType($this->obj_id); if ($ops_arr = ilRbacReview::_getOperationList('', $a_order, $a_direction)) { $options = array("e" => "enabled", "d" => "disabled"); foreach ($ops_arr as $key => $ops) { // BEGIN ROW if (in_array($ops["ops_id"], $ops_valid)) { $ops_status = 'e'; } else { $ops_status = 'd'; } $obj = $ops["ops_id"]; $ops_options = ilUtil::formSelect($ops_status, "id[{$obj}]", $options); //visible data part $this->data["data"][] = array("type" => "perm", "operation" => $ops["operation"], "description" => $ops["desc"], "status" => $ops_status, "status_html" => $ops_options, "obj_id" => $val["ops_id"]); } } //if typedata $this->maxcount = count($this->data["data"]); // sorting array $this->data["data"] = ilUtil::sortArray($this->data["data"], $_GET["sort_by"], $_GET["sort_order"]); // now compute control information foreach ($this->data["data"] as $key => $val) { $this->data["ctrl"][$key] = array("obj_id" => $val["obj_id"], "type" => $val["type"]); unset($this->data["data"][$key]["obj_id"]); $this->data["data"][$key]["status"] = $this->data["data"][$key]["status_html"]; unset($this->data["data"][$key]["status_html"]); } // build table include_once "./Services/Table/classes/class.ilTableGUI.php"; // load template for table $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html"); $num = 0; $obj_str = $this->call_by_reference ? "" : "&obj_id=" . $this->obj_id; $this->tpl->setVariable("FORMACTION", "adm_object.php?ref_id=" . $this->ref_id . "{$obj_str}&cmd=save"); // create table $tbl = new ilTableGUI(); // title & header columns $tbl->setTitle($this->lng->txt("edit_operations") . " " . strtolower($this->lng->txt("of")) . " '" . $this->object->getTitle() . "'", "icon_" . $this->object->getType() . "_b.png", $this->lng->txt("obj_" . $this->object->getType())); $tbl->setHelp("tbl_help.php", "icon_help.png", $this->lng->txt("help")); foreach ($this->data["cols"] as $val) { $header_names[] = $this->lng->txt($val); } $tbl->setHeaderNames($header_names); $header_params = array("ref_id" => $this->ref_id, "obj_id" => $this->id, "cmd" => "edit"); $tbl->setHeaderVars($this->data["cols"], $header_params); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit(0); $tbl->setOffset(0); $tbl->setMaxCount($this->maxcount); // SHOW VALID ACTIONS $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.png")); $this->tpl->setVariable("COLUMN_COUNTS", count($this->data["cols"])); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); //$tbl->disable("footer"); // render table $tbl->render(); if (is_array($this->data["data"][0])) { //table cell for ($i = 0; $i < count($this->data["data"]); $i++) { $data = $this->data["data"][$i]; $ctrl = $this->data["ctrl"][$i]; // color changing $css_row = ilUtil::switchColor($i + 1, "tblrow1", "tblrow2"); $this->tpl->setCurrentBlock("table_cell"); $this->tpl->setVariable("CELLSTYLE", "tblrow1"); $this->tpl->parseCurrentBlock(); foreach ($data as $key => $val) { $this->tpl->setCurrentBlock("text"); if ($key == "type") { $val = ilUtil::getImageTagByType($val, $this->tpl->tplPath); } $this->tpl->setVariable("TEXT_CONTENT", $val); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("table_cell"); $this->tpl->parseCurrentBlock(); } //foreach $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("save")); $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->parseCurrentBlock(); } //for } //if is_array }
/** * show tracking data of item */ function showTrackingItem() { include_once "./Services/Table/classes/class.ilTableGUI.php"; // load template for table $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.scorm2004_track_item.html", "Modules/Scorm2004"); $num = 2; $this->tpl->setVariable("FORMACTION", "adm_object.php?ref_id=" . $this->ref_id . "{$obj_str}&cmd=gateway"); // create table $tbl = new ilTableGUI(); include_once "./Modules/ScormAicc/classes/SCORM/class.ilSCORMItem.php"; $sc_item =& new ilSCORMItem($_GET["obj_id"]); // title & header columns $user = new ilObjUser($_GET["user_id"]); $tbl->setTitle($user->getLastname() . ", " . $user->getFirstname()); $tbl->setHeaderNames(array($this->lng->txt("title"), $this->lng->txt("cont_status"), $this->lng->txt("cont_time"), $this->lng->txt("cont_score"))); $header_params = array("ref_id" => $this->ref_id, "cmd" => $_GET["cmd"], "cmdClass" => get_class($this), "obj_id" => $_GET["obj_id"], "baseClass" => "ilSAHSEditGUI", 'user_id' => $_GET["user_id"]); $cols = array("title", "status", "time", "score"); $tbl->setHeaderVars($cols, $header_params); //$tbl->setColumnWidth(array("25%",)); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); //$this->tpl->setVariable("COLUMN_COUNTS",count($this->data["cols"])); //$this->showActions(true); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); #$tbl->disable("footer"); $tr_data = $this->object->getTrackingDataAgg($_GET["user_id"]); //$objs = ilUtil::sortArray($objs, $_GET["sort_by"], $_GET["sort_order"]); $tbl->setMaxCount(count($tr_data)); $tr_data = array_slice($tr_data, $_GET["offset"], $_GET["limit"]); $tbl->render(); if (count($tr_data) > 0) { foreach ($tr_data as $data) { $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("VAL_TITLE", $data["title"]); $this->ctrl->setParameter($this, "user_id", $_GET["user_id"]); $this->ctrl->setParameter($this, "obj_id", $data["sco_id"]); $this->tpl->setVariable("LINK_SCO", $this->ctrl->getLinkTarget($this, "showTrackingItemPerUser")); $this->tpl->setVariable("VAL_TIME", $data["time"]); $this->tpl->setVariable("VAL_STATUS", $data["status"]); $this->tpl->setVariable("VAL_SCORE", $data["score"]); $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->parseCurrentBlock(); } } else { $this->tpl->setCurrentBlock("notfound"); $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found")); $this->tpl->setVariable("NUM_COLS", $num); $this->tpl->parseCurrentBlock(); } }
/** * display object list * * @access public */ function displayList() { include_once "./Services/Table/classes/class.ilTableGUI.php"; return; // load template for table $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html"); $num = 0; $obj_str = $this->call_by_reference ? "" : "&obj_id=" . $this->obj_id; $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); // create table $tbl = new ilTableGUI(); // title & header columns $tbl->setTitle($this->object->getTitle()); foreach ($this->data["cols"] as $val) { $header_names[] = $this->lng->txt($val); } $tbl->setHeaderNames($header_names); //$header_params = array("ref_id" => $this->ref_id); $header_params = $this->ctrl->getParameterArray($this, "view"); $tbl->setHeaderVars($this->data["cols"], $header_params); $tbl->setColumnWidth(array("15", "75%", "25%")); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); //$tbl->disable("footer"); // render table $tbl->render(); if (is_array($this->data["data"][0])) { //table cell for ($i = 0; $i < count($this->data["data"]); $i++) { $data = $this->data["data"][$i]; $ctrl = $this->data["ctrl"][$i]; // color changing $css_row = ilUtil::switchColor($i + 1, "tblrow1", "tblrow2"); $this->tpl->setCurrentBlock("table_cell"); $this->tpl->setVariable("CELLSTYLE", "tblrow1"); $this->tpl->parseCurrentBlock(); foreach ($data as $key => $val) { //build link /* $n = 0; foreach ($ctrl as $key2 => $val2) { $link .= $key2."=".$val2; if ($n < count($ctrl)-1) { $link .= "&"; $n++; } } if ($key == "title") { $name_field = explode("#separator#",$val); } if ($key == "title" || $key == "type") { $this->tpl->setCurrentBlock("begin_link"); $this->tpl->setVariable("LINK_TARGET", $link); $this->tpl->parseCurrentBlock(); $this->tpl->touchBlock("end_link"); } $this->tpl->setCurrentBlock("text"); if ($key == "type") { $val = ilUtil::getImageTagByType($val,$this->tpl->tplPath); } if ($key == "title") { $this->tpl->setVariable("TEXT_CONTENT", $name_field[0]); $this->tpl->setCurrentBlock("subtitle"); $this->tpl->setVariable("DESC", $name_field[1]); $this->tpl->parseCurrentBlock(); } else { $this->tpl->setVariable("TEXT_CONTENT", $val); } $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("table_cell"); $this->tpl->parseCurrentBlock(); */ } //foreach $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->parseCurrentBlock(); } //for } else { $this->tpl->setCurrentBlock("notfound"); $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found")); $this->tpl->setVariable("NUM_COLS", $num); $this->tpl->parseCurrentBlock(); } }
function view() { global $ilAccess, $ilErr; // MINIMUM ACCESS LEVEL = 'write' if (!$ilAccess->checkAccess("read", '', $this->course_obj->getRefId())) { $ilErr->raiseError($this->lng->txt('msg_no_perm_write'), $ilErr->MESSAGE); } $this->is_tutor = $ilAccess->checkAccess('write', '', $this->course_obj->getRefId()); $this->download_allowed = ($this->is_tutor or $this->course_obj->getArchiveType() == $this->course_obj->ARCHIVE_DOWNLOAD); $this->course_obj->initCourseArchiveObject(); $this->course_obj->archives_obj->initCourseFilesObject(); $archives = $this->is_tutor ? $this->course_obj->archives_obj->getArchives() : $this->course_obj->archives_obj->getPublicArchives(); require_once "./Services/Table/classes/class.ilTableGUI.php"; $tbl = new ilTableGUI(); $this->__showArchivesMenu(); $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html"); $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.crs_archives_row.html", 'Modules/Course'); $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $tbl->setTitle($this->lng->txt("crs_header_archives")); if ($this->download_allowed or $this->is_tutor) { $header_names = array('', $this->lng->txt("type"), $this->lng->txt("crs_file_name"), $this->lng->txt("crs_size"), $this->lng->txt("crs_create_date"), $this->lng->txt("crs_archive_lang")); $header_vars = array("", "type", "name", "size", "date", "lang"); $column_width = array("1%", "9%", "30%", "20%", "20%", "20%"); $this->tpl->setVariable("COLUMN_COUNTS", 6); } else { $header_names = array($this->lng->txt("type"), $this->lng->txt("crs_file_name"), $this->lng->txt("crs_create_date"), $this->lng->txt("crs_size"), $this->lng->txt("crs_archive_lang")); $header_vars = array("type", "name", "date", "size", "lang"); $column_width = array("10%", "30%", "20%", "20%", "20%"); $this->tpl->setVariable("COLUMN_COUNTS", 5); } $tbl->setHeaderNames($header_names); $tbl->setHeaderVars($header_vars, array("ref_id" => $this->course_obj->getRefId(), "cmd" => "view", "cmdClass" => strtolower(get_class($this)))); $tbl->setColumnWidth($column_width); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->disable("sort"); if ($this->download_allowed) { $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.png")); if ($this->is_tutor) { // delete $this->tpl->setCurrentBlock("tbl_action_btn"); $this->tpl->setVariable("BTN_NAME", "confirmDeleteArchives"); $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("delete")); $this->tpl->parseCurrentBlock(); } // download $this->tpl->setCurrentBlock("tbl_action_btn"); $this->tpl->setVariable("BTN_NAME", "downloadArchives"); $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("download")); $this->tpl->parseCurrentBlock(); } $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); $tbl->setMaxCount(count($archives)); $archives = array_slice($archives, $_GET['offset'], $_GET['limit']); $tbl->render(); if (!count($archives)) { $this->tpl->setCurrentBlock("notfound"); $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found")); $this->tpl->setVariable("NUM_COLS", 6); $this->tpl->parseCurrentBlock(); } $counter = 0; foreach ($archives as $archive_data) { $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("CSS_ROW", ilUtil::switchColor($counter++, 'tblrow1', 'tblrow2')); if ($this->download_allowed) { $this->tpl->setVariable("VAL_CHECK", ilUtil::formCheckbox(0, "archives[]", $archive_data['archive_id'])); } // Type switch ($archive_data["archive_type"]) { case $this->course_obj->archives_obj->ARCHIVE_XML: $type = $this->lng->txt("crs_xml"); break; case $this->course_obj->archives_obj->ARCHIVE_HTML: $type = $this->lng->txt("crs_html"); break; case $this->course_obj->archives_obj->ARCHIVE_PDF: $type = $this->lng->txt("crs_pdf"); break; } $this->tpl->setVariable("VAL_TYPE", $type); // Name if ($archive_data['archive_type'] == $this->course_obj->archives_obj->ARCHIVE_HTML) { $link = '<a href="' . $this->course_obj->archives_obj->course_files_obj->getOnlineLink($archive_data['archive_name']) . '"' . ' target="_blank">' . $archive_data["archive_name"] . '</a>'; } else { $link = $archive_data['archive_name']; } $this->tpl->setVariable("VAL_NAME", $link); $this->tpl->setVariable("VAL_SIZE", $archive_data['archive_size']); $this->tpl->setVariable('VAL_DATE', ilDatePresentation::formatDate(new ilDateTime($archive_data['archive_name'], IL_CAL_UNIX))); if ($archive_data["archive_lang"]) { $this->tpl->setVariable("VAL_LANG", $this->lng->txt('lang_' . $archive_data["archive_lang"])); } else { $this->tpl->setVariable("VAL_LANG", $this->lng->txt('crs_not_available')); } $this->tpl->parseCurrentBlock(); } $this->tpl->parseCurrentBlock(); }
/** * administrate files of media object */ function editFilesObject() { // standard item $std_item =& $this->object->getMediaItem("Standard"); if ($this->object->hasFullscreenItem()) { $full_item =& $this->object->getMediaItem("Fullscreen"); } // create table require_once "./Services/Table/classes/class.ilTableGUI.php"; $tbl = new ilTableGUI(); // determine directory $cur_subdir = $_GET["cdir"]; if ($_GET["newdir"] == "..") { $cur_subdir = substr($cur_subdir, 0, strrpos($cur_subdir, "/")); } else { if (!empty($_GET["newdir"])) { if (!empty($cur_subdir)) { $cur_subdir = $cur_subdir . "/" . $_GET["newdir"]; } else { $cur_subdir = $_GET["newdir"]; } } } $cur_subdir = str_replace(".", "", $cur_subdir); $mob_dir = ilUtil::getWebspaceDir() . "/mobs/mm_" . $this->object->getId(); $cur_dir = !empty($cur_subdir) ? $mob_dir . "/" . $cur_subdir : $mob_dir; // load files templates $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.mob_files.html", "Services/MediaObjects"); $this->ctrl->setParameter($this, "cdir", urlencode($cur_subdir)); $this->tpl->setVariable("FORMACTION1", $this->ctrl->getFormAction($this)); //echo "--".$this->getTargetScript(). //"&hier_id=".$_GET["hier_id"]."&cdir=".$cur_subdir."&cmd=post"."--<br>"; $this->tpl->setVariable("TXT_NEW_DIRECTORY", $this->lng->txt("cont_new_dir")); $this->tpl->setVariable("TXT_NEW_FILE", $this->lng->txt("cont_new_file")); $this->tpl->setVariable("CMD_NEW_DIR", "createDirectory"); $this->tpl->setVariable("CMD_NEW_FILE", "uploadFile"); $this->tpl->setVariable("BTN_NEW_DIR", $this->lng->txt("create")); $this->tpl->setVariable("BTN_NEW_FILE", $this->lng->txt("upload")); // $this->tpl->addBlockfile("FILE_TABLE", "files", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.mob_file_row.html", "Services/MediaObjects"); $num = 0; $obj_str = $this->call_by_reference ? "" : "&obj_id=" . $this->obj_id; $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $tbl->setTitle($this->lng->txt("cont_files") . " " . $cur_subdir); //$tbl->setHelp("tbl_help.php","icon_help.gif",$this->lng->txt("help")); $tbl->setHeaderNames(array("", "", $this->lng->txt("cont_dir_file"), $this->lng->txt("cont_size"), $this->lng->txt("cont_purpose"))); $cols = array("", "", "dir_file", "size", "purpose"); $header_params = array("ref_id" => $_GET["ref_id"], "obj_id" => $_GET["obj_id"], "cmd" => "editFiles", "hier_id" => $_GET["hier_id"], "item_id" => $_GET["item_id"]); $tbl->setHeaderVars($cols, $header_params); $tbl->setColumnWidth(array("1%", "1%", "33%", "33%", "32%")); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); // ??? //$tbl->setMaxCount(30); // ??? $this->tpl->setVariable("COLUMN_COUNTS", 5); // delete button $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.svg")); $this->tpl->setCurrentBlock("tbl_action_btn"); $this->tpl->setVariable("BTN_NAME", "deleteFile"); $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("delete")); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("tbl_action_btn"); $this->tpl->setVariable("BTN_NAME", "assignStandard"); $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("cont_assign_std")); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("tbl_action_btn"); $this->tpl->setVariable("BTN_NAME", "assignFullscreen"); $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("cont_assign_full")); $this->tpl->parseCurrentBlock(); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); //$tbl->disable("footer"); $entries = ilUtil::getDir($cur_dir); //$objs = ilUtil::sortArray($objs, $_GET["sort_by"], $_GET["sort_order"]); $tbl->setMaxCount(count($entries)); $entries = array_slice($entries, $_GET["offset"], $_GET["limit"]); $tbl->render(); if (count($entries) > 0) { $i = 0; foreach ($entries as $entry) { if ($entry["entry"] == "." || $entry["entry"] == ".." && empty($cur_subdir)) { continue; } //$this->tpl->setVariable("ICON", $obj["title"]); if ($entry["type"] == "dir") { $this->tpl->setCurrentBlock("FileLink"); $this->ctrl->setParameter($this, "cdir", $cur_subdir); $this->ctrl->setParameter($this, "newdir", rawurlencode($entry["entry"])); $this->tpl->setVariable("LINK_FILENAME", $this->ctrl->getLinkTarget($this, "editFiles")); $this->tpl->setVariable("TXT_FILENAME", $entry["entry"]); $this->tpl->parseCurrentBlock(); $this->tpl->setVariable("ICON", "<img src=\"" . ilUtil::getImagePath("icon_cat.svg") . "\">"); } else { $this->tpl->setCurrentBlock("File"); $this->tpl->setVariable("TXT_FILENAME2", $entry["entry"]); $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock("tbl_content"); $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->setVariable("TXT_SIZE", $entry["size"]); $this->tpl->setVariable("CHECKBOX_ID", $entry["entry"]); $compare = !empty($cur_subdir) ? $cur_subdir . "/" . $entry["entry"] : $entry["entry"]; $purpose = array(); if ($std_item->getLocation() == $compare) { $purpose[] = $this->lng->txt("cont_std_view"); } if ($this->object->hasFullscreenItem()) { if ($full_item->getLocation() == $compare) { $purpose[] = $this->lng->txt("cont_fullscreen"); } } $this->tpl->setVariable("TXT_PURPOSE", implode($purpose, ", ")); $this->tpl->parseCurrentBlock(); } } else { $this->tpl->setCurrentBlock("notfound"); $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found")); $this->tpl->setVariable("NUM_COLS", 4); $this->tpl->parseCurrentBlock(); } $this->tpl->parseCurrentBlock(); }
/** * show client list */ function showClientList() { global $tpl, $ilIliasIniFile, $ilCtrl; //echo "1"; if (!$ilIliasIniFile->readVariable("clients", "list")) { $this->processIndexPHP(); return; } //echo "2"; $tpl = new ilTemplate("tpl.main.html", true, true); $tpl->setAddFooter(false); // no client yet // to do: get standard style $tpl->setVariable("PAGETITLE", "Client List"); $tpl->setVariable("LOCATION_STYLESHEET", "./templates/default/delos.css"); // load client list template self::initStartUpTemplate("tpl.client_list.html"); // load template for table $tpl->addBlockfile("CLIENT_LIST", "client_list", "tpl.table.html"); // load template for table content data $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html"); // load table content data require_once "setup/classes/class.ilClientList.php"; require_once "setup/classes/class.ilClient.php"; require_once "setup/classes/class.ilDBConnections.php"; require_once "./Services/Table/classes/class.ilTableGUI.php"; $this->db_connections = new ilDBConnections(); $clientlist = new ilClientList($this->db_connections); $list = $clientlist->getClients(); if (count($list) == 0) { header("Location: ./setup/setup.php"); exit; } $hasPublicSection = false; foreach ($list as $key => $client) { $client->setDSN(); if ($client->checkDatabaseExists(true) and $client->ini->readVariable("client", "access") and $client->getSetting("setup_ok")) { $this->ctrl->setParameter($this, "client_id", $key); $tmp = array(); $tmp[] = $client->getName(); $tmp[] = "<a href=\"" . "login.php?cmd=force_login&client_id=" . urlencode($key) . "\">Login page</a>"; if ($client->getSetting('pub_section')) { $hasPublicSection = true; $tmp[] = "<a href=\"" . "ilias.php?baseClass=ilRepositoryGUI&client_id=" . urlencode($key) . "\">Start page</a>"; } else { $tmp[] = ''; } $data[] = $tmp; } } // create table $tbl = new ilTableGUI(); // title & header columns if ($hasPublicSection) { $tbl->setTitle("Available Clients"); $tbl->setHeaderNames(array("Installation Name", "Login", "Public Access")); $tbl->setHeaderVars(array("name", "index", "login")); $tbl->setColumnWidth(array("50%", "25%", "25%")); } else { $tbl->setTitle("Available Clients"); $tbl->setHeaderNames(array("Installation Name", "Login", '')); $tbl->setHeaderVars(array("name", "login", '')); $tbl->setColumnWidth(array("70%", "25%", '1px')); } // control $tbl->setOrderColumn($_GET["sort_by"], "name"); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); // content $tbl->setData($data); $tbl->disable("icon"); $tbl->disable("numinfo"); $tbl->disable("sort"); $tbl->disable("footer"); // render table $tbl->render(); $tpl->show("DEFAULT", true, true); }
function sco_resources() { global $tpl, $lng, $ilCtrl; $this->setTabs(); $this->setLocator(); $i = 0; $export_files = $this->getExportResources(); // create table require_once "./Services/Table/classes/class.ilTableGUI.php"; $tbl = new ilTableGUI(); // load files templates $tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html"); // load template for table content data $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.download_file_row.html", "Modules/LearningModule"); $num = 0; $tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $tbl->setTitle($lng->txt("cont_files")); $tbl->setHeaderNames(array($lng->txt("cont_format"), $lng->txt("cont_file"), $lng->txt("size"), $lng->txt("date"), "")); $cols = array("format", "file", "size", "date", "download"); $header_params = array("ref_id" => $_GET["ref_id"], "obj_id" => $_GET["obj_id"], "cmd" => "sco_resources", "cmdClass" => strtolower(get_class($this)), "cmdNode" => $_GET["cmdNode"], "baseClass" => $_GET["baseClass"]); $tbl->setHeaderVars($cols, $header_params); $tbl->setColumnWidth(array("10%", "30%", "20%", "20%", "20%")); $tbl->disable("sort"); $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); // ??? $tbl->setMaxCount(count($export_files)); // footer $tbl->setFooter("tblfooter", $lng->txt("previous"), $lng->txt("next")); //$tbl->disable("footer"); $tbl->setMaxCount(count($export_files)); $export_files = array_slice($export_files, $_GET["offset"], $_GET["limit"]); $tbl->render(); if (count($export_files) > 0) { $i = 0; foreach ($export_files as $exp_file) { /* remote files (youtube videos) have no size, so we allow them now if (!$exp_file["size"] > 0) { continue; } */ $tpl->setCurrentBlock("tbl_content"); $tpl->setVariable("TXT_FILENAME", $exp_file["file"]); $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2"); $tpl->setVariable("CSS_ROW", $css_row); $tpl->setVariable("TXT_SIZE", $exp_file["size"]); $tpl->setVariable("TXT_FORMAT", $exp_file["type"]); $tpl->setVariable("TXT_DATE", $exp_file["date"]); if ($exp_file["size"] > 0) { $tpl->setVariable("TXT_DOWNLOAD", $lng->txt("download")); $ilCtrl->setParameter($this, "resource", rawurlencode($exp_file["path"])); $ilCtrl->setParameter($this, "file_id", rawurlencode($exp_file["file_id"])); $tpl->setVariable("LINK_DOWNLOAD", $ilCtrl->getLinkTarget($this, "downloadResource")); } else { $tpl->setVariable("TXT_DOWNLOAD", $lng->txt("show")); $tpl->setVariable("LINK_TARGET", " target=\"_blank\""); $tpl->setVariable("LINK_DOWNLOAD", $exp_file["path"]); } $tpl->parseCurrentBlock(); } } //if is_array /* not found in template? else { $tpl->setCurrentBlock("notfound"); $tpl->setVariable("TXT_OBJECT_NOT_FOUND", $lng->txt("obj_not_found")); $tpl->setVariable("NUM_COLS", 4); $tpl->parseCurrentBlock(); } */ // $tpl->parseCurrentBlock(); }
/** * show tracking data */ function showTrackingItems() { include_once './Services/PrivacySecurity/classes/class.ilPrivacySettings.php'; $privacy = ilPrivacySettings::_getInstance(); if (!$privacy->enabledSahsProtocolData()) { $this->ilias->raiseError($this->lng->txt('permission_denied'), $this->ilias->error_obj->MESSAGE); } include_once "./Services/Table/classes/class.ilTableGUI.php"; // load template for table $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.scorm_track_items.html", "Modules/ScormAicc"); $num = 1; $this->tpl->setVariable("FORMACTION", "adm_object.php?ref_id=" . $this->ref_id . "{$obj_str}&cmd=gateway"); // create table $tbl = new ilTableGUI(); // title & header columns $tbl->setTitle($this->lng->txt("cont_tracking_items")); $tbl->setHeaderNames(array($this->lng->txt("title"))); $header_params = array("ref_id" => $this->ref_id, "cmd" => $_GET["cmd"], "cmdClass" => get_class($this)); $cols = array("title"); $tbl->setHeaderVars($cols, $header_params); $tbl->setColumnWidth(array("100%")); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); //$this->tpl->setVariable("COLUMN_COUNTS",count($this->data["cols"])); //$this->showActions(true); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); #$tbl->disable("footer"); //$items = $this->object->getTrackingItems(); $items = $this->object->getTrackedItems(); //$objs = ilUtil::sortArray($objs, $_GET["sort_by"], $_GET["sort_order"]); $tbl->setMaxCount(count($items)); $items = array_slice($items, $_GET["offset"], $_GET["limit"]); $tbl->render(); if (count($items) > 0) { foreach ($items as $item) { $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("TXT_ITEM_TITLE", $item->getTitle()); $this->ctrl->setParameter($this, "obj_id", $item->getId()); $this->tpl->setVariable("LINK_ITEM", $this->ctrl->getLinkTarget($this, "showTrackingItem")); $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->parseCurrentBlock(); } } else { $this->tpl->setCurrentBlock("notfound"); $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found")); $this->tpl->setVariable("NUM_COLS", $num); $this->tpl->parseCurrentBlock(); } }
/** * Show file list of available export files * * @access public * */ public function showFileList() { global $ilUser; if (!count($files = $this->fss_export->getMemberExportFiles())) { return false; } $a_tpl = new ilTemplate('tpl.table.html', true, true); $a_tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.member_export_file_row.html", "Modules/Course"); $a_tpl->setVariable('FORMACTION', $this->ctrl->getFormaction($this)); include_once "./Services/Table/classes/class.ilTableGUI.php"; $tbl = new ilTableGUI(); // load template for table content data $tbl->setTitle($this->lng->txt("ps_export_files")); $tbl->setHeaderNames(array("", $this->lng->txt("type"), $this->lng->txt("ps_size"), $this->lng->txt("date"))); $cols = array("", "type", "size", "date"); $header_params = $this->ctrl->getParameterArray($this, 'show'); $tbl->setHeaderVars($cols, $header_params); $tbl->setColumnWidth(array("1%", "9%", "45%", "45%")); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($ilUser->getPref('hits_per_page', 9999)); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount(count($files)); $tbl->disable("sort"); $a_tpl->setVariable("COLUMN_COUNTS", 4); $files = array_reverse($files); $files = array_slice($files, $_GET["offset"], $_GET["limit"]); $num = 0; $i = 0; foreach ($files as $exp_file) { $a_tpl->setCurrentBlock("tbl_content"); $a_tpl->setVariable("TXT_FILENAME", $exp_file["file"]); $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2"); $a_tpl->setVariable("CSS_ROW", $css_row); $a_tpl->setVariable("TXT_SIZE", $exp_file['size']); $a_tpl->setVariable("TXT_TYPE", strtoupper($exp_file["type"])); $a_tpl->setVariable("CHECKBOX_ID", $exp_file["timest"]); $a_tpl->setVariable("TXT_DATE", date("Y-m-d H:i", $exp_file['timest'])); $a_tpl->parseCurrentBlock(); } // delete button $a_tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.png")); $a_tpl->setCurrentBlock("tbl_action_btn"); $a_tpl->setVariable("BTN_NAME", "confirmDeleteExportFile"); $a_tpl->setVariable("BTN_VALUE", $this->lng->txt("delete")); $a_tpl->parseCurrentBlock(); $a_tpl->setCurrentBlock("tbl_action_btn"); $a_tpl->setVariable("BTN_NAME", "downloadExportFile"); $a_tpl->setVariable("BTN_VALUE", $this->lng->txt("download")); $a_tpl->parseCurrentBlock(); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); //$tbl->disable("footer"); $tbl->setTemplate($a_tpl); $tbl->render(); #$this->tpl->setCurrentBlock('file_list'); $this->tpl->setVariable('FILE_LIST_TABLE', $a_tpl->get()); #$this->tpl->parseCurrentBlock(); }
/** * quick term list */ function quickList() { global $ilUser, $tpl; return; include_once "./Modules/Glossary/classes/class.ilTermQuickListTableGUI.php"; $tab = new ilTermQuickListTableGUI($this, "listTerms"); $tpl->setLeftContent($tab->getHTML()); $this->tpl->addBlockFile("CONTENT", "content", "tpl.glossary_short_list.html", "Modules/Glossary"); // $this->tpl->addBlockFile("EXPLORER_TOP", "exp_top", "tpl.explorer_top.html"); // $this->tpl->setVariable("IMG_SPACE", ilUtil::getImagePath("spacer.png", false)); $this->tpl->setVariable("FORMACTION1", $this->ctrl->getFormAction($this)); $this->tpl->setVariable("CMD_REFR", "quickList"); $this->tpl->setVariable("TXT_REFR", $this->lng->txt("refresh")); $this->tpl->setVariable("TXT_EXPLORER_HEADER", $this->lng->txt("cont_terms")); include_once "./Services/Table/classes/class.ilTableGUI.php"; // glossary term list template // load template for table $this->tpl->addBlockfile("SHORT_LIST", "list", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.term_short_tbl_row.html", true); $num = 0; $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); // create table $tbl = new ilTableGUI(); // title & header columns //$tbl->setTitle($this->lng->txt("cont_terms")); //$tbl->setHelp("tbl_help.php","icon_help.png",$this->lng->txt("help")); $tbl->setHeaderNames(array($this->lng->txt("cont_term"))); $cols = array("term"); $header_params = $this->ctrl->getParameterArrayByClass("ilobjglossarygui", "listTerms"); $header_params["cmd"] = "quickList"; $tbl->setHeaderVars($cols, $header_params); $tbl->setColumnWidth(array("100%")); $tbl->disable("title"); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->disable("header"); $term_list = $this->object->getTermList(); $tbl->setMaxCount(count($term_list)); $this->tpl->setVariable("COLUMN_COUNT", 1); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); // sorting array $term_list = array_slice($term_list, $_GET["offset"], $_GET["limit"]); // render table $tbl->render(); if (count($term_list) > 0) { $i = 1; foreach ($term_list as $key => $term) { $defs = ilGlossaryDefinition::getDefinitionList($term["id"]); $sep = ": "; for ($j = 0; $j < count($defs); $j++) { $def = $defs[$j]; // edit $this->tpl->setCurrentBlock("definition"); $this->tpl->setVariable("SEP", $sep); $this->ctrl->setParameterByClass("ilglossarydefpagegui", "term_id", $term["id"]); $this->ctrl->setParameterByClass("ilglossarydefpagegui", "def", $def["id"]); $this->tpl->setVariable("LINK_EDIT_DEF", $this->ctrl->getLinkTargetByClass(array("ilglossarytermgui", "iltermdefinitioneditorgui", "ilglossarydefpagegui"), "edit")); $this->tpl->setVariable("TEXT_DEF", $this->lng->txt("glo_definition_abbr") . ($j + 1)); $this->tpl->parseCurrentBlock(); $sep = ", "; } $this->tpl->setCurrentBlock("tbl_content"); $css_row = ilUtil::switchColor(++$i, "tblrow1", "tblrow2"); // edit term link $this->tpl->setVariable("TEXT_TERM", $term["term"]); $this->ctrl->setParameter($this, "term_id", $term["id"]); $this->tpl->setVariable("LINK_EDIT_TERM", $this->ctrl->getLinkTargetByClass("ilglossarytermgui", "editTerm")); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->parseCurrentBlock(); } } else { //$this->tpl->setCurrentBlock("notfound"); $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found")); $this->tpl->setVariable("NUM_COLS", $num); //$this->tpl->parseCurrentBlock(); } }
/** * Displays the settings page for test defaults * * @access public */ function defaultsObject() { global $ilUser; global $ilAccess; if (!$ilAccess->checkAccess("write", "", $this->ref_id)) { // allow only write access ilUtil::sendInfo($this->lng->txt("cannot_edit_test"), true); $this->ctrl->redirect($this, "infoScreen"); } $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_as_tst_defaults.html", "Modules/Test"); $maxentries = $ilUser->getPref("hits_per_page"); if ($maxentries < 1) { $maxentries = 9999; } $offset = $_GET["offset"] ? $_GET["offset"] : 0; $sortby = $_GET["sort_by"] ? $_GET["sort_by"] : "name"; $sortorder = $_GET["sort_order"] ? $_GET["sort_order"] : "asc"; $defaults =& $this->object->getAvailableDefaults($sortby, $sortorder); if (count($defaults) > 0) { $tablerows = array(); foreach ($defaults as $row) { array_push($tablerows, array("checkbox" => "<input type=\"checkbox\" name=\"chb_defaults[]\" value=\"" . $row["test_defaults_id"] . "\"/>", "name" => $row["name"])); } $headervars = array("", "name"); include_once "./Services/Table/classes/class.ilTableGUI.php"; $tbl = new ilTableGUI(0, FALSE); $tbl->setTitle($this->lng->txt("tst_defaults_available")); $header_names = array("", $this->lng->txt("title")); $tbl->setHeaderNames($header_names); $tbl->disable("sort"); $tbl->disable("auto_sort"); $tbl->enable("title"); $tbl->enable("action"); $tbl->enable("select_all"); $tbl->setLimit($maxentries); $tbl->setOffset($offset); $tbl->setData($tablerows); $tbl->setMaxCount(count($tablerows)); $tbl->setOrderDirection($sortorder); $tbl->setSelectAllCheckbox("chb_defaults"); $tbl->setFormName("formDefaults"); $tbl->addActionButton("deleteDefaults", $this->lng->txt("delete")); $tbl->addActionButton("applyDefaults", $this->lng->txt("apply")); $header_params = $this->ctrl->getParameterArray($this, "defaults"); $tbl->setHeaderVars($headervars, $header_params); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); // render table $tableoutput = $tbl->render(); $this->tpl->setVariable("TEST_DEFAULTS_TABLE", $tableoutput); } else { $this->tpl->setVariable("TEST_DEFAULTS_TABLE", $this->lng->txt("tst_defaults_not_defined")); } $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this, "addDefaults")); $this->tpl->setVariable("BUTTON_ADD", $this->lng->txt("add")); $this->tpl->setVariable("TEXT_DEFAULTS_OF_TEST", $this->lng->txt("tst_defaults_defaults_of_test")); }
function askDeleteObjective() { global $rbacsystem; // MINIMUM ACCESS LEVEL = 'write' if (!$rbacsystem->checkAccess("write", $this->course_obj->getRefId())) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"), $this->ilErr->MESSAGE); } if (!count($_POST['objective'])) { ilUtil::sendFailure($this->lng->txt('crs_no_objective_selected')); $this->listObjectives(); return true; } $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.crs_objectives.html", 'Modules/Course'); ilUtil::sendQuestion($this->lng->txt('crs_delete_objectve_sure')); $tpl =& new ilTemplate("tpl.table.html", true, true); $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.crs_objectives_delete_row.html", 'Modules/Course'); $counter = 0; foreach ($_POST['objective'] as $objective_id) { $objective_obj = $this->__initObjectivesObject($objective_id); $tpl->setCurrentBlock("tbl_content"); $tpl->setVariable("ROWCOL", ilUtil::switchColor(++$counter, "tblrow2", "tblrow1")); $tpl->setVariable("TITLE", $objective_obj->getTitle()); $tpl->setVariable("DESCRIPTION", $objective_obj->getDescription()); $tpl->parseCurrentBlock(); } $tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); // Show action row $tpl->setCurrentBlock("tbl_action_btn"); $tpl->setVariable("BTN_NAME", 'deleteObjectives'); $tpl->setVariable("BTN_VALUE", $this->lng->txt('delete')); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_btn"); $tpl->setVariable("BTN_NAME", 'listObjectives'); $tpl->setVariable("BTN_VALUE", $this->lng->txt('cancel')); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_row"); $tpl->setVariable("COLUMN_COUNTS", 1); $tpl->setVariable("IMG_ARROW", ilUtil::getImagePath('arrow_downright.png')); $tpl->parseCurrentBlock(); // create table $tbl = new ilTableGUI(); $tbl->setStyle('table', 'std'); // title & header columns $tbl->setTitle($this->lng->txt("crs_objectives"), "icon_lobj.png", $this->lng->txt("crs_objectives")); $tbl->setHeaderNames(array($this->lng->txt("title"))); $tbl->setHeaderVars(array("title"), array("ref_id" => $this->course_obj->getRefId(), "cmdClass" => "ilcourseobjectivesgui", "cmdNode" => $_GET["cmdNode"])); $tbl->setColumnWidth(array("50%")); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount(count($_POST['objective'])); // footer $tbl->disable("footer"); $tbl->disable('sort'); // render table $tbl->setTemplate($tpl); $tbl->render(); $this->tpl->setVariable("OBJECTIVES_TABLE", $tpl->get()); // Save marked objectives $_SESSION['crs_delete_objectives'] = $_POST['objective']; return true; }
/** * Print out statistics about the language */ function statisticsObject() { $modules = ilObjLanguageExt::_getModules($this->object->key); $data = array(); $total = array("", 0, 0, 0); foreach ($modules as $module) { $row = array(); $row[0] = $module; $row[1] = count($this->object->getAllValues(array($module))); $row[2] = count($this->object->getChangedValues(array($module))); $row[3] = $row[1] - $row[2]; $total[1] += $row[1]; $total[2] += $row[2]; $total[3] += $row[3]; $data[] = $row; } $total[0] = "<b>" . $this->lng->txt("language_all_modules") . "</b>"; $total[1] = "<b>" . $total[1] . "</b>"; $total[2] = "<b>" . $total[2] . "</b>"; $total[3] = "<b>" . $total[3] . "</b>"; $data[] = $total; // prepare the templates for output $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.lang_statistics.html", "Services/Language"); $this->tpl->addBlockFile("TABLE_STATISTICS", "table_statistics", "tpl.table.html"); $this->tpl->addBlockFile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html"); // create and configure the table object include_once 'Services/Table/classes/class.ilTableGUI.php'; $tbl = new ilTableGUI(); $tbl->disable('title'); $tbl->disable('sort'); $tbl->disable('numinfo'); $tbl->setHeaderNames(array($this->lng->txt("module"), $this->lng->txt("language_scope_global"), $this->lng->txt("language_scope_local"), $this->lng->txt("language_scope_unchanged"))); $tbl->setColumnWidth(array("25%", "25%", "25%", "25%")); $tbl->setLimit(count($data)); $tbl->setData($data); // show the table $tbl->render(); // $this->tpl->show(); }
/** * show download list */ function showDownloadList() { //$this->tpl = new ilTemplate("tpl.lm_toc.html", true, true, true); $this->tpl->setCurrentBlock("ContentStyle"); if (!$this->offlineMode()) { $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath($this->lm->getStyleSheetId())); } else { $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", "content_style/content.css"); } $this->tpl->parseCurrentBlock(); $this->renderPageTitle(); $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation()); $this->tpl->getStandardTemplate(); $this->tpl->setVariable("TABS", $this->lm_gui->setilLMMenu($this->offlineMode(), $this->getExportFormat(), "download", true)); $this->ilLocator(); //$this->tpl->stopTitleFloating(); $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.lm_download_list.html", "Modules/LearningModule"); // set title header $this->tpl->setTitle($this->lm->getTitle()); $this->tpl->setTitleIcon(ilUtil::getImagePath("icon_lm.svg")); /* $this->tpl->setVariable("TXT_BACK", $this->lng->txt("back")); $this->ctrl->setParameter($this, "obj_id", $_GET["obj_id"]); $this->tpl->setVariable("LINK_BACK", $this->ctrl->getLinkTarget($this, "")); */ // output copyright information include_once 'Services/MetaData/classes/class.ilMD.php'; $md = new ilMD($this->lm->getId(), 0, $this->lm->getType()); if (is_object($md_rights = $md->getRights())) { $copyright = $md_rights->getDescription(); include_once 'Services/MetaData/classes/class.ilMDUtils.php'; $copyright = ilMDUtils::_parseCopyright($copyright); if ($copyright != "") { $this->lng->loadLanguageModule("meta"); $this->tpl->setCurrentBlock("copyright"); $this->tpl->setVariable("TXT_COPYRIGHT", $this->lng->txt("meta_copyright")); $this->tpl->setVariable("LM_COPYRIGHT", $copyright); $this->tpl->parseCurrentBlock(); } } // create table require_once "./Services/Table/classes/class.ilTableGUI.php"; $tbl = new ilTableGUI(); // load files templates $this->tpl->addBlockfile("DOWNLOAD_TABLE", "download_table", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.download_file_row.html", "Modules/LearningModule"); $export_files = array(); $types = array("xml", "html", "scorm"); foreach ($types as $type) { if ($this->lm->getPublicExportFile($type) != "") { if (is_file($this->lm->getExportDirectory($type) . "/" . $this->lm->getPublicExportFile($type))) { $dir = $this->lm->getExportDirectory($type); $size = filesize($this->lm->getExportDirectory($type) . "/" . $this->lm->getPublicExportFile($type)); $export_files[] = array("type" => $type, "file" => $this->lm->getPublicExportFile($type), "size" => $size); } } } $num = 0; $tbl->setTitle($this->lng->txt("download")); $tbl->setHeaderNames(array($this->lng->txt("cont_format"), $this->lng->txt("cont_file"), $this->lng->txt("size"), $this->lng->txt("date"), "")); $cols = array("format", "file", "size", "date", "download"); $header_params = array("ref_id" => $_GET["ref_id"], "obj_id" => $_GET["obj_id"], "cmd" => "showDownloadList", "cmdClass" => strtolower(get_class($this))); $tbl->setHeaderVars($cols, $header_params); $tbl->setColumnWidth(array("10%", "30%", "20%", "20%", "20%")); $tbl->disable("sort"); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); // ??? //$this->tpl->setVariable("COLUMN_COUNTS", 5); // footer //$tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next")); $tbl->disable("footer"); $tbl->setMaxCount(count($export_files)); $export_files = array_slice($export_files, $_GET["offset"], $_GET["limit"]); $tbl->render(); if (count($export_files) > 0) { $i = 0; foreach ($export_files as $exp_file) { if (!$exp_file["size"] > 0) { continue; } $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("TXT_FILENAME", $exp_file["file"]); $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->setVariable("TXT_SIZE", $exp_file["size"]); $this->tpl->setVariable("TXT_FORMAT", strtoupper($exp_file["type"])); $this->tpl->setVariable("CHECKBOX_ID", $exp_file["type"] . ":" . $exp_file["file"]); $file_arr = explode("__", $exp_file["file"]); $this->tpl->setVariable("TXT_DATE", date("Y-m-d H:i:s", $file_arr[0])); $this->tpl->setVariable("TXT_DOWNLOAD", $this->lng->txt("download")); $this->ctrl->setParameter($this, "type", $exp_file["type"]); $this->tpl->setVariable("LINK_DOWNLOAD", $this->ctrl->getLinkTarget($this, "downloadExportFile")); $this->tpl->parseCurrentBlock(); } } else { $this->tpl->setCurrentBlock("notfound"); $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found")); $this->tpl->setVariable("NUM_COLS", 5); $this->tpl->parseCurrentBlock(); } $this->tpl->show(); }
/** * The disk quota report list shows user accounts, their disk quota and their * disk usage, as well as the last time a reminder was sent. */ public function viewDiskQuotaReport() { global $rbacsystem, $ilErr, $ilSetting, $lng; if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId())) { $ilErr->raiseError($lng->txt("no_permission"), $ilErr->WARNING); } $this->tabs_gui->setTabActive('disk_quota'); $this->addDiskQuotaSubtabs('disk_quota_report'); // nothing to do if disk quota is not active require_once 'Services/WebDAV/classes/class.ilDiskQuotaActivationChecker.php'; if (!ilDiskQuotaActivationChecker::_isActive()) { return; } // get the form $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.disk_quota_report.html', "Services/WebDAV"); // get the date of the last update require_once "./Services/WebDAV/classes/class.ilDiskQuotaChecker.php"; $last_update = ilDiskQuotaChecker::_lookupDiskUsageReportLastUpdate(); if ($last_update == null) { // nothing to do if disk usage report has not been run $this->tpl->setVariable('LAST_UPDATE_TEXT', $lng->txt('disk_quota_report_not_run_yet')); return; } else { $this->tpl->setVariable('LAST_UPDATE_TEXT', $lng->txt('last_update') . ': ' . ilFormat::formatDate($last_update, 'datetime', true)); } // Filter $_SESSION['quota_usage_filter'] = isset($_POST['usage_filter']) ? $_POST['usage_filter'] : $_SESSION['quota_usage_filter']; if ($_SESSION['quota_usage_filter'] == 0) { $_SESSION['quota_usage_filter'] = 4; } $_SESSION['quota_access_filter'] = isset($_POST['access_filter']) ? $_POST['access_filter'] : $_SESSION['quota_access_filter']; if ($_SESSION['quota_access_filter'] == 0) { $_SESSION['quota_access_filter'] = 1; } $usage_action[1] = $lng->txt('all_users'); $usage_action[2] = $lng->txt('filter_users_without_disk_usage'); $usage_action[3] = $lng->txt('filter_users_with_disk_usage'); $usage_action[4] = $lng->txt('filter_users_with_exceeded_disk_quota'); $access_action[1] = $lng->txt('all_users'); $access_action[2] = $lng->txt('filter_users_with_access'); $access_action[3] = $lng->txt('filter_users_without_access'); $select_usage_filter = ilUtil::formSelect($_SESSION['quota_usage_filter'], "usage_filter", $usage_action, false, true); $select_access_filter = ilUtil::formSelect($_SESSION['quota_access_filter'], "access_filter", $access_action, false, true); $this->tpl->setCurrentBlock("filter"); $this->tpl->setVariable("FILTER_TXT_FILTER", $lng->txt('filter')); $this->tpl->setVariable("SELECT_USAGE_FILTER", $select_usage_filter); $this->tpl->setVariable("SELECT_ACCESS_FILTER", $select_access_filter); $this->tpl->setVariable("FILTER_ACTION", $this->ctrl->getLinkTarget($this, 'viewDiskQuotaReport')); $this->tpl->setVariable("FILTER_NAME", 'view'); $this->tpl->setVariable("FILTER_VALUE", $lng->txt('apply_filter')); $this->tpl->parseCurrentBlock(); // load templates for table $a_tpl = new ilTemplate('tpl.table.html', true, true); $a_tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html"); // create table require_once './Services/Table/classes/class.ilTableGUI.php'; $tbl = new ilTableGUI(0, false); // title & header columns $header_vars = array('login', 'firstname', 'lastname', 'email', 'access_until', 'last_login', 'disk_quota', 'disk_usage', 'last_reminder'); $tbl->setHeaderNames(array($lng->txt('login'), $lng->txt('firstname'), $lng->txt('lastname'), $lng->txt('email'), $lng->txt('access_until'), $lng->txt('last_login'), $lng->txt('disk_quota'), $lng->txt('disk_usage'), $lng->txt('last_reminder'))); $tbl->setHeaderVars($header_vars, $this->ctrl->getParameterArray($this, 'viewDiskQuotaReport', false)); $tbl->enable("numinfo_header"); $tbl->setFormName("cmd"); $tbl->setSelectAllCheckbox("id"); // sorting $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); // fetch the data $data = ilDiskQuotaChecker::_fetchDiskQuotaReport($_SESSION['quota_usage_filter'], $_SESSION['quota_access_filter'], $header_vars[$tbl->getOrderColumn()], $tbl->getOrderDirection()); // paging $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount(count($data)); // footer $tbl->setFooter("tblfooter", $lng->txt("previous"), $lng->txt("next")); // render table $tbl->setTemplate($a_tpl); // render rows $count = 0; for ($i = $tbl->getOffset(); $i < count($data) && $i < $tbl->getOffset() + $tbl->getLimit(); $i++) { $row = $data[$i]; // build columns foreach ($header_vars as $key) { switch ($key) { case 'login': //build link $this->ctrl->setParameterByClass("ilobjusergui", "ref_id", "7"); $this->ctrl->setParameterByClass("ilobjusergui", "obj_id", $row["usr_id"]); $link = $this->ctrl->getLinkTargetByClass("ilobjusergui", "view"); $tbl_content_cell = '<a href="' . $link . '">' . htmlspecialchars($row[$key]) . '</a>'; break; case 'disk_quota': if ($row['role_id'] == SYSTEM_ROLE_ID) { $tbl_content_cell = "<span class=\"smallgreen\">" . $lng->txt('access_unlimited') . '</span>'; } else { $tbl_content_cell = ilFormat::formatSize($row[$key], 'short'); } break; case 'disk_usage': if ($row['last_update'] == null) { $tbl_content_cell = $lng->txt('unknown'); } else { if ($row['disk_usage'] > $row['disk_quota']) { $tbl_content_cell = "<span class=\"smallred\">" . ilFormat::formatSize($row[$key], 'short') . '</span>'; } else { $tbl_content_cell = ilFormat::formatSize($row[$key], 'short'); } } break; case 'access_until': if (!$row['active']) { $tbl_content_cell = "<span class=\"smallred\">" . $lng->txt('inactive') . '</span>'; } else { if ($row['time_limit_unlimited']) { $tbl_content_cell = "<span class=\"smallgreen\">" . $lng->txt('access_unlimited') . '</span>'; } else { if ($row['expired']) { $tbl_content_cell = "<span class=\"smallred\">" . $lng->txt('access_expired') . '</span>'; } else { $tbl_content_cell = ilFormat::formatDate($row[$key]); } } } break; case 'last_login': case 'last_reminder': if ($row[$key] == null) { $tbl_content_cell = $lng->txt('no_date'); } else { $tbl_content_cell = ilFormat::formatDate($row[$key]); } break; default: $tbl_content_cell = htmlspecialchars($row[$key]); } /* if (is_array($tbl_content_cell)) { $tbl->tpl->setCurrentBlock("tbl_cell_subtitle"); $tbl->tpl->setVariable("TBL_CELL_SUBTITLE",$tbl_content_cell[1]); $tbl->tpl->parseCurrentBlock(); $tbl_content_cell = "<b>".$tbl_content_cell[0]."</b>"; }*/ $tbl->tpl->setCurrentBlock("tbl_content_cell"); $tbl->tpl->setVariable("TBL_CONTENT_CELL", $tbl_content_cell); $tbl->tpl->parseCurrentBlock(); } $tbl->tpl->setCurrentBlock("tbl_content_row"); $rowcolor = ilUtil::switchColor($count, "tblrow1", "tblrow2"); $tbl->tpl->setVariable("ROWCOLOR", $rowcolor); $tbl->tpl->parseCurrentBlock(); $count++; } $tbl->render(); // Add table to page $this->tpl->setVariable("USER_TABLE", $a_tpl->get()); }
/** * list sessions of all user * * @access public * @param * @return */ public function eventsListObject() { global $ilErr, $ilAccess, $ilUser, $tree; if (!$ilAccess->checkAccess('write', '', $this->object->getRefId())) { $ilErr->raiseError($this->lng->txt('msg_no_perm_read'), $ilErr->MESSAGE); } $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.sess_list.html', 'Modules/Session'); $this->__showButton($this->ctrl->getLinkTarget($this, 'exportCSV'), $this->lng->txt('event_csv_export')); include_once 'Modules/Session/classes/class.ilEventParticipants.php'; $this->tpl->addBlockfile("EVENTS_TABLE", "events_table", "tpl.table.html"); $this->tpl->addBlockfile('TBL_CONTENT', 'tbl_content', 'tpl.sess_list_row.html', 'Modules/Session'); $members_obj = $this->initContainer(true); $members = $members_obj->getParticipants(); $members = ilUtil::_sortIds($members, 'usr_data', 'lastname', 'usr_id'); // Table $tbl = new ilTableGUI(); $tbl->setTitle($this->lng->txt("event_overview"), 'icon_usr.png', $this->lng->txt('obj_usr')); $this->ctrl->setParameter($this, 'offset', (int) $_GET['offset']); $course_ref_id = $tree->checkForParentType($this->object->getRefId(), 'crs'); $events = array(); foreach ($tree->getSubtree($tree->getNodeData($course_ref_id), false, 'sess') as $event_id) { $tmp_event = ilObjectFactory::getInstanceByRefId($event_id, false); if (!is_object($tmp_event) or $tmp_event->getType() != 'sess') { continue; } $events[] = $tmp_event; } $headerNames = array(); $headerVars = array(); $colWidth = array(); $headerNames[] = $this->lng->txt('name'); $headerVars[] = "name"; $colWidth[] = '20%'; for ($i = 1; $i <= count($events); $i++) { $headerNames[] = $i; $headerVars[] = "event_" . $i; $colWidth[] = 80 / count($events) . "%"; } $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $tbl->setHeaderNames($headerNames); $tbl->setHeaderVars($headerVars, $this->ctrl->getParameterArray($this, 'eventsList')); $tbl->setColumnWidth($colWidth); $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setOffset($_GET["offset"]); $tbl->setLimit($ilUser->getPref("hits_per_page")); $tbl->setMaxCount(count($members)); $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); $sliced_users = array_slice($members, $_GET['offset'], $_SESSION['tbl_limit']); $tbl->disable('sort'); $tbl->render(); $counter = 0; foreach ($sliced_users as $user_id) { foreach ($events as $event_obj) { $this->tpl->setCurrentBlock("eventcols"); $event_part = new ilEventParticipants($this->object->getId()); $this->tpl->setVariable("IMAGE_PARTICIPATED", $event_part->hasParticipated($user_id) ? ilUtil::getImagePath('icon_ok.png') : ilUtil::getImagePath('icon_not_ok.png')); $this->tpl->setVariable("PARTICIPATED", $event_part->hasParticipated($user_id) ? $this->lng->txt('event_participated') : $this->lng->txt('event_not_participated')); $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock("tbl_content"); $name = ilObjUser::_lookupName($user_id); $this->tpl->setVariable("CSS_ROW", ilUtil::switchColor($counter++, 'tblrow1', 'tblrow2')); $this->tpl->setVariable("LASTNAME", $name['lastname']); $this->tpl->setVariable("FIRSTNAME", $name['firstname']); $this->tpl->setVariable("LOGIN", ilObjUser::_lookupLogin($user_id)); $this->tpl->parseCurrentBlock(); } $this->tpl->setVariable("HEAD_TXT_LEGEND", $this->lng->txt("legend")); $this->tpl->setVariable("HEAD_TXT_DIGIT", $this->lng->txt("event_digit")); $this->tpl->setVariable("HEAD_TXT_EVENT", $this->lng->txt("event")); $this->tpl->setVariable("HEAD_TXT_LOCATION", $this->lng->txt("event_location")); $this->tpl->setVariable("HEAD_TXT_DATE_TIME", $this->lng->txt("event_date_time")); $i = 1; foreach ($events as $event_obj) { $this->tpl->setCurrentBlock("legend_loop"); $this->tpl->setVariable("LEGEND_CSS_ROW", ilUtil::switchColor($counter++, 'tblrow1', 'tblrow2')); $this->tpl->setVariable("LEGEND_DIGIT", $i++); $this->tpl->setVariable("LEGEND_EVENT_TITLE", $event_obj->getTitle()); $this->tpl->setVariable("LEGEND_EVENT_DESCRIPTION", $event_obj->getDescription()); $this->tpl->setVariable("LEGEND_EVENT_LOCATION", $event_obj->getLocation()); $this->tpl->setVariable("LEGEND_EVENT_APPOINTMENT", $event_obj->getFirstAppointment()->appointmentToString()); $this->tpl->parseCurrentBlock(); } }
/** * Global user settings * * Allows to define global settings for user accounts * * Note: The Global user settings form allows to specify default values * for some user preferences. To avoid redundant implementations, * specification of default values can be done elsewhere in ILIAS * are not supported by this form. */ function exportObject() { global $ilias, $ilCtrl; if ($_POST["cmd"]["export"]) { $this->object->buildExportFile($_POST["export_type"]); $this->ctrl->redirectByClass("ilobjuserfoldergui", "export"); exit; } $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.usr_export.html', 'Services/User'); $export_types = array("userfolder_export_excel_x86", "userfolder_export_csv", "userfolder_export_xml"); // create table include_once "./Services/Table/classes/class.ilTableGUI.php"; $tbl = new ilTableGUI(); // load files templates $this->tpl->addBlockfile("EXPORT_FILES", "export_files", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.usr_export_file_row.html", "Services/User"); $num = 0; $tbl->setTitle($this->lng->txt("userfolder_export_files")); $tbl->setHeaderNames(array("", $this->lng->txt("userfolder_export_file"), $this->lng->txt("userfolder_export_file_size"), $this->lng->txt("date"))); $tbl->setHeaderVars(array(), $ilCtrl->getParameterArray($this, "export")); $tbl->enabled["sort"] = false; $tbl->setColumnWidth(array("1%", "49%", "25%", "25%")); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); // ??? $this->tpl->setVariable("COLUMN_COUNTS", 4); // delete button $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.png")); $this->tpl->setVariable("ALT_ARROW", $this->lng->txt("actions")); $this->tpl->setCurrentBlock("tbl_action_btn"); $this->tpl->setVariable("BTN_NAME", "confirmDeleteExportFile"); $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("delete")); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("tbl_action_btn"); $this->tpl->setVariable("BTN_NAME", "downloadExportFile"); $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("download")); $this->tpl->parseCurrentBlock(); // footer $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next")); //$tbl->disable("footer"); $export_files = $this->object->getExportFiles(); $tbl->setMaxCount(count($export_files)); $export_files = array_slice($export_files, $_GET["offset"], $_GET["limit"]); $tbl->render(); if (count($export_files) > 0) { $i = 0; foreach ($export_files as $exp_file) { $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("TXT_FILENAME", $exp_file["filename"]); $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->setVariable("TXT_SIZE", $exp_file["filesize"]); $this->tpl->setVariable("CHECKBOX_ID", $exp_file["filename"]); $file_arr = explode("__", $exp_file["filename"]); $this->tpl->setVariable('TXT_DATE', ilDatePresentation::formatDate(new ilDateTime($file_arr[0], IL_CAL_UNIX))); $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock("selectall"); $this->tpl->setVariable("SELECT_ALL", $this->lng->txt("select_all")); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->parseCurrentBlock(); } //if is_array /* else { $this->tpl->setCurrentBlock("notfound"); $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found")); $this->tpl->setVariable("NUM_COLS", 3); $this->tpl->parseCurrentBlock(); } */ $this->tpl->parseCurrentBlock(); foreach ($export_types as $export_type) { $this->tpl->setCurrentBlock("option"); $this->tpl->setVariable("OPTION_VALUE", $export_type); $this->tpl->setVariable("OPTION_TEXT", $this->lng->txt($export_type)); $this->tpl->parseCurrentBlock(); } $this->tpl->setVariable("EXPORT_BUTTON", $this->lng->txt("create_export_file")); $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); }
function calcStats($mode) { global $tpl, $lng, $ilias, $db, $ilDB; if ($mode == 1) { //wenn Aufruf aus Applet $from = $this->from; $to = $this->to; $user_IDs = $this->user_IDs; $LehrModulID = $this->lm_ID; $user_selection = $this->user_selection; $this->appStats = 0; } else { $_SESSION["il_track_yearf"] = $_POST["yearf"]; $_SESSION["il_track_yeart"] = $_POST["yeart"]; $_SESSION["lmID"] = $_POST["lmID"]; $_SESSION["il_track_monthf"] = $_POST["monthf"]; $_SESSION["il_track_montht"] = $_POST["montht"]; $_SESSION["il_track_dayf"] = $_POST["dayf"]; $_SESSION["il_track_dayt"] = $_POST["dayt"]; $_SESSION["il_track_stat"] = $_POST["stat"]; $_SESSION["il_track_language"] = $_POST["language"]; $_SESSION["il_track_author"] = $_POST["author"]; $_SESSION["il_track_author1"] = $_POST["author1"]; $_SESSION["il_track_lm"] = $_POST["lmID"]; $_SESSION["il_track_tst"] = $_POST["tst"]; $_SESSION["il_object_type"] = $_POST["object_type"]; $_SESSION["il_track_stat2"] = $_POST["stat2"]; $user_selection = $_POST["stat2"]; $LehrModulID = $_SESSION["lmID"]; $yearf = $_POST["yearf"]; $monthf = $_POST["monthf"]; $dayf = $_POST["dayf"]; $yeart = $_POST["yeart"]; $montht = $_POST["montht"]; $dayt = $_POST["dayt"]; $from = $yearf . "-" . $monthf . "-" . $dayf . " 00:00:00"; $to = $yeart . "-" . $montht . "-" . $dayt . " 23:59:59"; $user_IDs = $_SESSION["userSelected_stat"]; } //nur falls mind. ein Benutzer ausgew�hlt wurde starten if (count($user_IDs) > 0 || $user_selection == "all") { //Benutzer-String f�r SQL erzeugen //STATS-EINSTELLUNGSOPTIONEN //$UTanz = 1000000; //Anzahl der max auslesenden Tracking Daten $SessionMaxVerweildauer = 1800; //sekunden $IntervallMax[1] = 10; $IntervallMax[2] = 30; $IntervallMax[3] = 60; $IntervallMax[4] = 120; $IntervallMax[5] = 600; $IntervallMax[6] = $SessionMaxVerweildauer; $IntervallSeitenMax[0] = -1; $IntervallSeitenMax[1] = 0; $IntervallSeitenMax[2] = 1; $IntervallSeitenMax[3] = 5; $IntervallSeitenMax[4] = 20; $IntervallSeitenMax[5] = 50; $RankBenoetigteZugriffe = 1; //ben�tigte Seitenzugriffe damit eine Seite ins Ranking kommt $RankAnzahl = 10; //Gr��e der Rankings //$umlauteAendern = 1; //1=ja $KapitelAbdeckungsKennzahlFaktor2 = 0.5; $KapitelAbdeckungsKennzahlFaktor3 = 1.0; $KapitelAbdeckungsKennzahlFaktor4 = 1.5; $KapitelAbdeckungsKennzahlFaktor5 = 2.0; //ALLGEMEINE VARIABLEN //aus DB:lm_tree $q = "SELECT child, parent,depth FROM lm_tree"; $result = $ilias->db->query($q); while ($row = $result->fetchRow()) { $vatizumkind[$row[0]] = $row[1]; $seitenTiefe[$row[0]] = $row[2]; } //Ende While //aus DB:lm_data $q = "SELECT obj_id,title,type,lm_id FROM lm_data WHERE lm_id='" . $LehrModulID . "'"; $result = $ilias->db->query($q); while ($row = $result->fetchRow()) { //Ben�tigte Daten zu den Kapitel und Seiten aus der DB auslesen if ($row[2] == 'st') { $Kapitelanz++; $KapitelID[$Kapitelanz] = $row[0]; $KapitelName[$Kapitelanz] = $row[1]; $KapitelLernModul[$Kapitelanz] = $row[3]; $rKapitelID[$row[0]] = $Kapitelanz; } if ($row[2] == 'pg') { $Seitenanz++; $SeitenID[$Seitenanz] = $row[0]; $SeitenName[$Seitenanz] = $row[1]; $SeitenLernModul[$Seitenanz] = $row[3]; $rSeitenID[$row[0]] = $Seitenanz; } } //2.SESSIONS bestimmen if ($_POST["stat2"] == 'all') { $q = "SELECT id, user_id,acc_obj_id,acc_sub_id,session_id, acc_time " . "FROM ut_access WHERE acc_obj_id=" . $ilDB->quote($LehrModulID, "integer") . " AND acc_time > " . $ilDB->quote($from, "timestamp") . " AND acc_time < " . $ilDB->quote($to, "timestamp") . " "; } else { $q = "SELECT id, user_id, acc_obj_id, acc_sub_id, session_id, acc_time " . "FROM ut_access WHERE acc_obj_id= " . $ilDB->quote($LehrModulID, "integer") . " AND acc_time > " . $ilDB->quote($from, "timestamp") . " AND acc_time < " . $ilDB->quote($to, "timestamp") . " AND " . $ilDB->in("user_id", $user_IDs, false, "integer"); } $result = $ilias->db->query($q); while ($row = $result->fetchRow()) { if ($rSeitenID[$row[3]] != 0 && $rKapitelID[$vatizumkind[$row[3]]] != 0) { //�berpr�ft ob die Seite des UT-Eintrages noch in der DB steht if ($row[1] > $UserTopID) { $UserTopID = $row[1]; } //Es wird die h�chste User-ID bestimmt $UserZugriffe[$row[1]]++; $SeitenZugriffe[$rSeitenID[$row[3]]]++; $GesamtSeitenZugriffe++; $KapitelSeitenZugriffe[$rKapitelID[$vatizumkind[$row[3]]]]++; $checkS = false; //�berpr�fen ob Eintrag zu einer Session geh�rt for ($i = 0; $i <= count($SessionCheck[$row[1]]); $i++) { if ($row[4] == $SessionCheck[$row[1]][$i][0]) { $pos = $SessionCheck[$row[1]][$i][1]; //liefert die session-id $checkS = true; } } //jetzt falls erneuter Seitenzugriff w�hrend einer Session if ($checkS) { //Untersuchen wie lange der Zeitraum zwischen den zwei Besuchen in der Sessions war $SessionGesamtZugriffe++; $SessionEndSekundeDummy[$pos] = substr($row[5], -2); $SessionEndMinuteDummy[$pos] = substr($row[5], -5, 2); $SessionEndStundeDummy[$pos] = substr($row[5], -8, 2); $SessionEndGesamt = $SessionEndSekundeDummy[$pos] + $SessionEndMinuteDummy[$pos] * 60 + $SessionEndStundeDummy[$pos] * 60 * 60; if ($SessionEndGesamt - $SessionStartGesamt[$pos] > 0) { $SessionZugriffDifferenz = $SessionEndGesamt - $SessionStartGesamt[$pos]; } if ($SessionZugriffDifferenz < $SessionMaxVerweildauer) { //Falls Zeitdiff zwischen 2 Zugriffen kleiner der Vorgabe ist //Statistik: Die Verweildauer zwischen den Klicks wird in in einer Klasse eingeteilt if ($SessionZugriffDifferenz <= $IntervallMax[1]) { $IntervallAnz[1]++; } else { if ($SessionZugriffDifferenz <= $IntervallMax[2]) { $IntervallAnz[2]++; } else { if ($SessionZugriffDifferenz <= $IntervallMax[3]) { $IntervallAnz[3]++; } else { if ($SessionZugriffDifferenz <= $IntervallMax[4]) { $IntervallAnz[4]++; } else { if ($SessionZugriffDifferenz <= $IntervallMax[5]) { $IntervallAnz[5]++; } else { $IntervallAnz[6]++; } } } } } $MessbareSessionZugriffe++; $SessionsVerweildauer[$MessbareSessionZugriffe] = $SessionZugriffDifferenz; //Differenz abspeichern if ($SessionZugriffe[$pos] == 1) { $MessbareSessions++; $UserSessionAnz[$row[1]]++; } $SessionZugriffe[$pos]++; $SeitenVerweildauerListe[$rSeitenID[$row[3]]][$SeitenMessbareZugriffe[$rSeitenID[$row[3]]]] = $SessionZugriffDifferenz; $SeitenMessbareZugriffe[$rSeitenID[$row[3]]]++; $SessionEndTime[$pos] = $row[5]; $SessionStartGesamt[$pos] = $SessionEndGesamt; $SessionGesamtDauerAll += $SessionZugriffDifferenz; $SessionGesamtDauer[$pos] += $SessionZugriffDifferenz; $UserGesamtSessionsDauer[$row[1]] += $SessionZugriffDifferenz; $UserSessionZugriffe[$row[1]]++; $SeiteGesamtVerweilZeit[$rSeitenID[$row[3]]] += $SessionZugriffDifferenz; $SessionVonNach[$SessionQuellSeite[$pos]][$rSeitenID[$row[3]]]++; $KapitelVonNach[$rKapitelID[$vatizumkind[$SeitenID[$SessionQuellSeite[$pos]]]]][$rKapitelID[$vatizumkind[$row[3]]]]++; $SessionQuellSeite[$pos] = $rSeitenID[$row[3]]; } else { $checkS = false; } } //Ende if($checkS) //falls erster Seitenzugriff einer Session if ($checkS == false) { $Sessionanz++; $aktSessionAnzahlUser = count($SessionCheck[$row[1]]) + 1; //Sessionanzahl des Users erh�hen $SessionCheck[$row[1]][$aktSessionAnzahlUser][0] = $row[4]; $SessionCheck[$row[1]][$aktSessionAnzahlUser][1] = $Sessionanz; $SessionZugriffe[$Sessionanz] = 1; $SessionID[$Sessionanz] = $row[4]; $SessionUserID[$Sessionanz] = $row[1]; $SessionStartTime[$Sessionanz] = $row[5]; $SessionQuellSeite[$Sessionanz] = $rSeitenID[$row[3]]; $SessionStartSekunde[$Sessionanz] = substr($SessionStartTime[$Sessionanz], -2); $SessionStartMinute[$Sessionanz] = substr($SessionStartTime[$Sessionanz], -5, 2); $SessionStartStunde[$Sessionanz] = substr($SessionStartTime[$Sessionanz], -8, 2); $SessionStartGesamt[$Sessionanz] = $SessionStartSekunde[$Sessionanz] + $SessionStartMinute[$Sessionanz] * 60 + $SessionStartStunde[$Sessionanz] * 60 * 60; } } } //Ende While //STATISTIKEN //SEITENSTATS //meist-wenigst besuchteste Seiten abfragen for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[1]) { $IntervallSeitenAnz[1]++; } else { if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[2]) { $IntervallSeitenAnz[2]++; } else { if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[3]) { $IntervallSeitenAnz[3]++; } else { if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[4]) { $IntervallSeitenAnz[4]++; } else { if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[5]) { $IntervallSeitenAnz[5]++; } else { $IntervallSeitenAnz[6]++; } } } } } } //VERWEILDAUER-STATS //SessionsVerweildauer orden if (count($SessionsVerweildauer) > 0) { sort($SessionsVerweildauer); } //SessionDurchschnittsDauer bestimmen if ($MessbareSessions > 0) { $SessionDurchschnittsDauer = $SessionGesamtDauerAll / $MessbareSessions; } //SeitenVerweildauerDurchschnitt bestimmen if ($MessbareSessionZugriffe > 0) { $SeitenVerweildauerDurchschnitt = $SessionGesamtDauerAll / $MessbareSessionZugriffe; } //SeitenVerweildauerSpannweite bestimmen $SeitenVerweildauerSpannweite = $SessionsVerweildauer[$MessbareSessionZugriffe - 1] - $SessionsVerweildauer[0]; //Verweildauer Median bestimmen if ($MessbareSessionZugriffe % 2 == 0) { $VerweildauerMedianPosA = $MessbareSessionZugriffe / 2; $VerweildauerMedianPosB = ($MessbareSessionZugriffe + 1) / 2 + 1; $VerweildauerMedian = ($SessionsVerweildauer[$VerweildauerMedianPosA - 1] + $SessionsVerweildauer[$VerweildauerMedianPosB - 1]) / 2; } else { $VerweildauerMedianPos = ($MessbareSessionZugriffe + 1) / 2; $VerweildauerMedian = $SessionsVerweildauer[$VerweildauerMedianPos - 1]; } $SeitenVerweildauerVarianz = ilLMStatistics::varianzSV($SessionsVerweildauer, $SeitenVerweildauerDurchschnitt); $SeitenVerweildauerStandartAbw = sqrt($SeitenVerweildauerVarianz); if ($SeitenVerweildauerStandartAbw > 0) { $SeitenVerweildauerVarKoef = $SeitenVerweildauerDurchschnitt / $SeitenVerweildauerStandartAbw; } //GesamtVerweilzeit f�r Seiten maxordnen for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $SeitenGesamtVerweilMax[$i] = $SeiteGesamtVerweilZeit[$i]; $SeitenGesamtVerweilMaxID[$i] = $i; } } if (count($SeitenGesamtVerweilMax) > 0) { array_multisort($SeitenGesamtVerweilMax, SORT_DESC, $SeitenGesamtVerweilMaxID); } //GesamtVerweilzeit f�r Seiten minordnen for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $SeitenGesamtVerweilMin[$i] = $SeiteGesamtVerweilZeit[$i]; $SeitenGesamtVerweilMinID[$i] = $i; } } if (count($SeitenGesamtVerweilMin) > 0) { array_multisort($SeitenGesamtVerweilMin, SORT_ASC, $SeitenGesamtVerweilMinID); } //durchsch. Verweildauer f�r Seiten max ordnen for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $SeitenDurchschnittVerweilMax[$i] = $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i]; $SeitenDurchschnittVerweilMaxID[$i] = $i; } } if (count($SeitenDurchschnittVerweilMax) > 0) { array_multisort($SeitenDurchschnittVerweilMax, SORT_DESC, $SeitenDurchschnittVerweilMaxID); } //durchsch. Verweildauer f�r Seiten min ordnen for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $SeitenDurchschnittVerweilMin[$i] = $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i]; $SeitenDurchschnittVerweilMinID[$i] = $i; } } if (count($SeitenDurchschnittVerweilMin) > 0) { array_multisort($SeitenDurchschnittVerweilMin, SORT_ASC, $SeitenDurchschnittVerweilMinID); } //USER-STATS: //Gesamte Sessiondauer der Einzelnen User ordnen for ($i = 1; $i <= $UserTopID; $i++) { if ($UserGesamtSessionsDauer[$i] > 0) { $UserGesamtSessionsDauerMax[$i] = $UserGesamtSessionsDauer[$i]; $UserGesamtSessionsDauerMaxID[$i] = $i; } else { $UserGesamtSessionsDauerMax[$i] = ""; $UserGesamtSessionsDauerMaxID[$i] = ""; } } if (count($UserGesamtSessionsDauerMax) > 0) { array_multisort($UserGesamtSessionsDauerMax, SORT_DESC, $UserGesamtSessionsDauerMaxID); } //SessionAnz der Einzelnen User ordnen for ($i = 1; $i <= $UserTopID; $i++) { if ($UserSessionAnz[$i] > 0) { $UserSessionAnzMax[$i] = $UserSessionAnz[$i]; $UserSessionAnzMaxID[$i] = $i; } else { $UserSessionAnzMax[$i] = ""; $UserSessionAnzMaxID[$i] = ""; } } if (count($UserSessionAnzMax) > 0) { array_multisort($UserSessionAnzMax, SORT_DESC, $UserSessionAnzMaxID); } //beteiligte User for ($i = 0; $i <= $UserTopID; $i++) { if ($UserZugriffe[$i] > 0) { $UserAnz++; } } //Auswertbare User (Zeit) for ($i = 0; $i <= $UserTopID; $i++) { if ($UserSessionAnz[$i] > 0) { $UserMessbarAnz++; } } //SEITENZUGRIFF-STATS //Zugriffe f�r Seiten maxordnen for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenZugriffe[$i] > 0) { $SeitenZugriffMax[$i] = $SeitenZugriffe[$i]; $SeitenZugriffMaxID[$i] = $i; } else { $SeitenZugriffMax[$i] = ""; $SeitenZugriffMaxID[$i] = ""; } } if (count($SeitenZugriffMax) > 0) { array_multisort($SeitenZugriffMax, SORT_DESC, $SeitenZugriffMaxID); } //Zugriffe f�r Seiten minordnen for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenZugriffe[$i] > 0) { $SeitenZugriffMin[$i] = $SeitenZugriffe[$i]; $SeitenZugriffMinID[$i] = $i; } else { $SeitenZugriffMin[$i] = ""; $SeitenZugriffMinID[$i] = $i; } } if (count($SeitenZugriffMin) > 0) { array_multisort($SeitenZugriffMin, SORT_ASC, $SeitenZugriffMinID); } //Seitenzugriffe Median bestimmen if (count($SeitenZugriffMax) % 2 == 0) { $SeitenZugriffeMedianPosA = count($SeitenZugriffMax) / 2; $SeitenZugriffeMedianPosB = (count($SeitenZugriffMax) + 1) / 2 + 1; $SeitenZugriffeMedian = ($SeitenZugriffMax[$SeitenZugriffeMedianPosA - 1] + $SeitenZugriffMax[$SeitenZugriffeMedianPosB - 1]) / 2; } else { $SeitenZugriffeMedianPos = (count($SeitenZugriffMax) + 1) / 2; $SeitenZugriffeMedian = $SeitenZugriffMax[$SeitenZugriffeMedianPos - 1]; } //SeitenZugriffe Spannweite bestimmen $SeitenZugriffeSpannweite = $SeitenZugriffMax[0] - $SeitenZugriffMax[count($SeitenZugriffMax) - 1]; //SeitenZugriffe Modus bestimmen $MaxZW = 0; for ($i = 1; $i <= $Seitenanz; $i++) { $ZugriffsWert[$SeitenZugriffe[$i]]++; if ($SeitenZugriffe[$i] > $MaxZW) { $MaxZW = $SeitenZugriffe[$i]; } } for ($i = 0; $i <= $MaxZW; $i++) { if ($ZugriffsWert[$i] > $ZugriffsWertMaxAus) { $ZugriffsWertMaxAus = $ZugriffsWert[$i]; $ZugriffsWertMax = $i; } } //SeitenZugriffe Var, Stdabw, Korr if ($Seitenanz > 0) { $SeitenZugriffeVarianz = ilLMStatistics::varianzSV($SeitenZugriffMax, $GesamtSeitenZugriffe / $Seitenanz); } $SeitenZugriffeStandartAbw = sqrt($SeitenZugriffeVarianz); if ($Seitenanz > 0 && $GesamtSeitenZugriffe / $Seitenanz > 0) { $SeitenZugriffeVarKoef = $SeitenZugriffeStandartAbw / ($GesamtSeitenZugriffe / $Seitenanz); } //SESSIONSTATS //Zusatz2: l�ngste Session bestimmen for ($i = 1; $i <= $Sessionanz; $i++) { $SessionGesamtDauerMax[$i] = $SessionGesamtDauer[$i]; $SessionGesamtDauerMaxID[$i] = $i; } if (count($SessionGesamtDauerMax) > 0) { array_multisort($SessionGesamtDauerMax, SORT_DESC, $SessionGesamtDauerMaxID); } if ($Sessionanz > 0) { $SessionDurschnittsZeit = $GesamtSeitenZugriffe / $Sessionanz; } //EINZELSEITEN STATS for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenMessbareZugriffe[$i] > 0) { $EinzelSeitenVarianz[$i] = ilLMStatistics::varianzSV($SeitenVerweildauerListe[$i], $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i]); if ($EinzelSeitenVarianz[$i] > 0) { $EinzelSeitenVarKoef[$i] = $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i] / sqrt($EinzelSeitenVarianz[$i]); } } } //EinzelSeitenvarianzen max for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $EinzelSeitenVarMax[$i] = $EinzelSeitenVarianz[$i]; $EinzelSeitenVarMaxID[$i] = $i; } } if (count($EinzelSeitenVarMax) > 0) { array_multisort($EinzelSeitenVarMax, SORT_DESC, $EinzelSeitenVarMaxID); } //EinzelSeitenvarianzen min for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $EinzelSeitenVarMin[$i] = $EinzelSeitenVarianz[$i]; $EinzelSeitenVarMinID[$i] = $i; } } if (count($EinzelSeitenVarMin) > 0) { array_multisort($EinzelSeitenVarMin, SORT_ASC, $EinzelSeitenVarMinID); } //EinzelSeitenVarKoef max for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $EinzelSeitenVarKoefMax[$i] = $EinzelSeitenVarKoef[$i]; $EinzelSeitenVarKoefMaxID[$i] = $i; } } if (count($EinzelSeitenVarKoefMax) > 0) { array_multisort($EinzelSeitenVarKoefMax, SORT_DESC, $EinzelSeitenVarKoefMaxID); } //EinzelSeitenVarKoef min for ($i = 1; $i <= $Seitenanz; $i++) { if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $EinzelSeitenVarKoefMin[$i] = $EinzelSeitenVarKoef[$i]; $EinzelSeitenVarKoefMinID[$i] = $i; } } if (count($EinzelSeitenVarKoefMin) > 0) { array_multisort($EinzelSeitenVarKoefMin, SORT_ASC, $EinzelSeitenVarKoefMinID); } //KAPITEL STATS: //Seitenstats auf Kapitel �bertragen $knoten = 0; $tiefe = 0; $KapitelAbdeckungsKennzahl1 = 1; //untere Klassengrenze; for ($i = 1; $i <= $Seitenanz; $i++) { $knoten = $SeitenID[$i]; $tiefe = $seitenTiefe[$SeitenID[$i]]; while ($tiefe > 1) { $knoten = $vatizumkind[$knoten]; $KapitelZugriffe[$rKapitelID[$knoten]] += $SeitenZugriffe[$i]; $KapitelGesamtVerweilZeit[$rKapitelID[$knoten]] += $SeiteGesamtVerweilZeit[$i]; $KapitelMessbareZugriffe[$rKapitelID[$knoten]] += $SeitenMessbareZugriffe[$i]; $KapitelSeitenSumme[$rKapitelID[$knoten]]++; if ($tiefe == 2) { $KapitelGesamtSeitenAnzEbene2++; } if ($tiefe == 3) { $KapitelGesamtSeitenAnzEbene3++; } if ($tiefe == 4) { $KapitelGesamtSeitenAnzEbene4++; } if ($tiefe == 5) { $KapitelGesamtSeitenAnzEbene5++; } $tiefe = $seitenTiefe[$knoten]; } } //Zugriffe f�r Kapitel maxordnen for ($i = 1; $i <= $Kapitelanz; $i++) { if ($seitenTiefe[$KapitelID[$i]] == 2) { $KapitelTiefe2Anzahl++; if ($KapitelZugriffe[$i] > 0) { $KapitelZugriffMax2[$i] = $KapitelZugriffe[$i]; $KapitelZugriffMaxID2[$i] = $i; } else { $KapitelZugriffMax2[$i] = ""; $KapitelZugriffMaxID2[$i] = $i; } } if ($seitenTiefe[$KapitelID[$i]] == 3) { $KapitelTiefe3Anzahl++; if ($KapitelZugriffe[$i] > 0) { $KapitelZugriffMax3[$i] = $KapitelZugriffe[$i]; $KapitelZugriffMaxID3[$i] = $i; } else { $KapitelZugriffMax3[$i] = ""; $KapitelZugriffMaxID3[$i] = $i; } } if ($seitenTiefe[$KapitelID[$i]] == 4) { $KapitelTiefe4Anzahl++; if ($KapitelZugriffe[$i] > 0) { $KapitelZugriffMax4[$i] = $KapitelZugriffe[$i]; $KapitelZugriffMaxID4[$i] = $i; } else { $KapitelZugriffMax4[$i] = ""; $KapitelZugriffMaxID4[$i] = $i; } } if ($seitenTiefe[$KapitelID[$i]] >= 5) { $KapitelTiefe5Anzahl++; if ($KapitelZugriffe[$i] > 0) { $KapitelZugriffMax5[$i] = $KapitelZugriffe[$i]; $KapitelZugriffMaxID5[$i] = $i; } else { $KapitelZugriffMax5[$i] = ""; $KapitelZugriffMaxID5[$i] = $i; } } } if (count($KapitelZugriffMax2) > 0) { array_multisort($KapitelZugriffMax2, SORT_DESC, $KapitelZugriffMaxID2); } if (count($KapitelZugriffMax3) > 0) { array_multisort($KapitelZugriffMax3, SORT_DESC, $KapitelZugriffMaxID3); } if (count($KapitelZugriffMax4) > 0) { array_multisort($KapitelZugriffMax4, SORT_DESC, $KapitelZugriffMaxID4); } if (count($KapitelZugriffMax5) > 0) { array_multisort($KapitelZugriffMax5, SORT_DESC, $KapitelZugriffMaxID5); } //Zugriffe f�r Kapitel minordnen for ($i = 1; $i <= $Kapitelanz; $i++) { if ($KapitelZugriffe[$i] > 0) { $KapitelZugriffMin[$i] = $KapitelZugriffe[$i]; $KapitelZugriffMinID[$i] = $i; } else { $KapitelZugriffMin[$i] = ""; $KapitelZugriffMinID[$i] = $i; } } if (count($KapitelZugriffMin) > 0) { array_multisort($KapitelZugriffMin, SORT_ASC, $KapitelZugriffMinID); } //GesamtVerweilzeit f�r Kapitel maxordnen for ($i = 1; $i <= $Kapitelanz; $i++) { if ($seitenTiefe[$KapitelID[$i]] == 2) { if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $KapitelGesamtVerweilMax2[$i] = $KapitelGesamtVerweilZeit[$i]; $KapitelGesamtVerweilMaxID2[$i] = $i; } } if ($seitenTiefe[$KapitelID[$i]] == 3) { if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $KapitelGesamtVerweilMax3[$i] = $KapitelGesamtVerweilZeit[$i]; $KapitelGesamtVerweilMaxID3[$i] = $i; } } if ($seitenTiefe[$KapitelID[$i]] == 4) { if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $KapitelGesamtVerweilMax4[$i] = $KapitelGesamtVerweilZeit[$i]; $KapitelGesamtVerweilMaxID4[$i] = $i; } } if ($seitenTiefe[$KapitelID[$i]] >= 5) { if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $KapitelGesamtVerweilMax5[$i] = $KapitelGesamtVerweilZeit[$i]; $KapitelGesamtVerweilMaxID5[$i] = $i; } } } if (count($KapitelGesamtVerweilMax2) > 0) { array_multisort($KapitelGesamtVerweilMax2, SORT_DESC, $KapitelGesamtVerweilMaxID2); } if (count($KapitelGesamtVerweilMax3) > 0) { array_multisort($KapitelGesamtVerweilMax3, SORT_DESC, $KapitelGesamtVerweilMaxID3); } if (count($KapitelGesamtVerweilMax4) > 0) { array_multisort($KapitelGesamtVerweilMax4, SORT_DESC, $KapitelGesamtVerweilMaxID4); } if (count($KapitelGesamtVerweilMax5) > 0) { array_multisort($KapitelGesamtVerweilMax5, SORT_DESC, $KapitelGesamtVerweilMaxID5); } //GesamtVerweilzeit f�r Kapitel minordnen for ($i = 1; $i <= $Kapitelanz; $i++) { if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) { $KapitelGesamtVerweilMin[$i] = $KapitelGesamtVerweilZeit[$i]; $KapitelGesamtVerweilMinID[$i] = $i; } } if (count($KapitelGesamtVerweilMin) > 0) { array_multisort($KapitelGesamtVerweilMin, SORT_ASC, $KapitelGesamtVerweilMinID); } //SeitenSumme f�r Kapitel maxordnen for ($i = 1; $i <= $Kapitelanz; $i++) { $KapitelSeitenSummeMax[$i] = $KapitelSeitenSumme[$i]; $KapitelSeitenSummeMaxID[$i] = $i; } if (count($KapitelGesamtVerweilMax) > 0) { array_multisort($KapitelSeitenSummeMax, SORT_DESC, $KapitelSeitenSummeMaxID); } //durchschnittliche Seitenzugriffe je Kapiteltiefe $summe = 0; for ($i = 0; $i <= $Kapitelanz; $i++) { $summe += $KapitelZugriffMax2[$i]; } if ($KapitelGesamtSeitenAnzEbene2 > 0) { $KapitelDurchZugriffe2 = $summe / $KapitelGesamtSeitenAnzEbene2; } $summe = 0; for ($i = 0; $i <= $Kapitelanz; $i++) { $summe += $KapitelZugriffMax3[$i]; } if ($KapitelGesamtSeitenAnzEbene3 > 0) { $KapitelDurchZugriffe3 = $summe / $KapitelGesamtSeitenAnzEbene3; } $summe = 0; for ($i = 0; $i <= $Kapitelanz; $i++) { $summe += $KapitelZugriffMax4[$i]; } if ($KapitelGesamtSeitenAnzEbene4 > 0) { $KapitelDurchZugriffe4 = $summe / $KapitelGesamtSeitenAnzEbene4; } $summe = 0; for ($i = 0; $i <= $Kapitelanz; $i++) { $summe += $KapitelZugriffMax5[$i]; } if ($KapitelGesamtSeitenAnzEbene5 > 0) { $KapitelDurchZugriffe5 = $summe / $KapitelGesamtSeitenAnzEbene5; } for ($i = 1; $i <= $Seitenanz; $i++) { $knoten = $SeitenID[$i]; $tiefe = $seitenTiefe[$SeitenID[$i]]; while ($tiefe > 1) { $knoten = $vatizumkind[$knoten]; if ($seitenTiefe[$knoten] == 2 && $KapitelDurchZugriffe2 > 0) { if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) { $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor2) { $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor3) { $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor4) { $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor5) { $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++; } } if ($seitenTiefe[$knoten] == 3 && $KapitelDurchZugriffe3 > 0) { if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) { $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor2) { $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor3) { $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor4) { $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor5) { $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++; } } if ($seitenTiefe[$knoten] == 4 && $KapitelDurchZugriffe4 > 0) { if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) { $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor2) { $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor3) { $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor4) { $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor5) { $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++; } } if ($seitenTiefe[$knoten] >= 5 && $KapitelDurchZugriffe5 > 0) { if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) { $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor2) { $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor3) { $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor4) { $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++; } if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor5) { $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++; } } $tiefe = $seitenTiefe[$knoten]; } } //BEGINN DER AUSGABE /** *Im Feld $SeitenStatsName[] wird jeweils der Name der anzuzeigenden Option gespeichert der dann in der der linken Spalte ausgegeben wird. *In $SeitenStatsWert[] wird der dazugeh�rige Optionswert eingetragen. *Ein Slider ($slider) wird verwendet um die Optionen leichter zu entfernen bzw. zu verschieben. * Soll zB eine neue Option hinzugef�gt werden kann man das mit den Eintr�gen... * $SeitenStatsName[$slider3]="Name der neuen Option"; * $SeitenStatsWert[$slider3]="Wert der neuen Option"; * $slider3++; * ...bewerkstelligt werden. */ $TNA = 300; //Strings werden auf diesen Wert gek�rzt $hop = 3; //Dicke zwischen den Zeilen. Um zB Optionen in der Ausgabe voneinander abzugrenzen //SEITENSTATS //Funktion zum umrechnen von Sekunden in Stunden /* //wenn die Option umlauteAendern eingeschaltet ist (wert=1) dann werden bei der Ausgabe die Umlaute in der Ausgabe ge�ndert if ($umlauteAendern == 1) { $d1 = array ("ä", "ö", "ü", "Ä", "Ö", "Ü"); $d2 = array ("ae", "oe", "ue", "Ae", "Oe", "Ue"); } */ $slider = 1; $SeitenStatsName[$slider] = $lng->txt("stats_page_number"); //$lng->txt("stats_page_number") $SeitenStatsWert[$slider] = round($Seitenanz); $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_number_access"); //"Anzahl Seitenzugriffe"; $SeitenStatsWert[$slider] = round($GesamtSeitenZugriffe) . "z"; $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_total_dwell_time"); //"Gesamte-SeitenVerweilzeit"; $SeitenStatsWert[$slider] = ilLMStatistics::s_to_h($SessionGesamtDauerAll) . " (" . round($SessionGesamtDauerAll) . "s)"; $slider++; if ($Seitenanz > 0) { $SeitenStatsName[$slider] = $lng->txt("stats_page_average_access"); //"Seitenzugriffe-Mittelwert"; $SeitenStatsWert[$slider] = round($GesamtSeitenZugriffe / $Seitenanz, 2) . "z"; $slider++; } $SeitenStatsName[$slider] = $lng->txt("stats_page_median_access"); //"Seitenzugriffe-Median"; $SeitenStatsWert[$slider] = round($SeitenZugriffeMedian) . "z"; $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_mode_access"); //"Seitenzugriffe-Modus:"; $SeitenStatsWert[$slider] = $lng->txt("stats_occurrence") . ": " . round($ZugriffsWertMax) . " (#: " . $ZugriffsWertMaxAus . " )"; $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_range_access"); //"Seitenzugriffe-Spannweite"; $SeitenStatsWert[$slider] = round($SeitenZugriffeSpannweite) . "z"; $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_variance_access"); //"Seitenzugriffe-Varianz"; $SeitenStatsWert[$slider] = round($SeitenZugriffeVarianz, 2); $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_deviation_access"); //"Seitenzugriffe-Standartabweichung"; $SeitenStatsWert[$slider] = round($SeitenZugriffeStandartAbw, 2) . "z"; $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_varcoeff_access"); //"Seitenzugriffer-VarKoef"; $SeitenStatsWert[$slider] = round($SeitenZugriffeVarKoef, 2); $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_average_dwell_time"); //"SeitenVerweildauer-Mittelwert"; $SeitenStatsWert[$slider] = round($SeitenVerweildauerDurchschnitt, 2) . "s"; $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_median_dwell_time"); //"SeitenVerweildauer-Median"; $SeitenStatsWert[$slider] = round($VerweildauerMedian); $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_range_dwell_time"); //"SeitenVerweildauer-Spannweite"; $SeitenStatsWert[$slider] = round($SeitenVerweildauerSpannweite) . "s"; $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_variance_dwell_time"); //"SeitenVerweildauer-Varianz"; $SeitenStatsWert[$slider] = round($SeitenVerweildauerVarianz, 2); $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_deviation_dwell_time"); //"SeitenVerweildauer-Standartabweichung"; $SeitenStatsWert[$slider] = round($SeitenVerweildauerStandartAbw, 2) . "s"; $slider++; $SeitenStatsName[$slider] = $lng->txt("stats_page_varcoeff_dwell_time"); //"SeitenVerweildauer-VarKoef"; $SeitenStatsWert[$slider] = round($SeitenVerweildauerVarKoef, 2); $slider++; $slider = count($SeitenStatsWert); $slider += 2; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_longest_total_dwell_time") . "</b>"; //"<b>Laengste GesamtVerweildauer:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$SeitenGesamtVerweilMaxID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = ilLMStatistics::s_to_h($SeitenGesamtVerweilMax[$i]) . " (" . (is_numeric($SeitenGesamtVerweilMax[$i]) ? $SeitenGesamtVerweilMax[$i] : "0") . "s, mZ:" . (is_numeric($SeitenMessbareZugriffe[$SeitenGesamtVerweilMaxID[$i]]) ? $SeitenMessbareZugriffe[$SeitenGesamtVerweilMaxID[$i]] : "0") . ")"; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_stubbiest_total_dwell_time") . "</b>"; //"<b>Kuerzeste GesamtVerweildauer:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$SeitenGesamtVerweilMinID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = round(is_numeric($SeitenGesamtVerweilMin[$i]) ? $SeitenGesamtVerweilMin[$i] : "0") . "s (mZ:" . (is_numeric($SeitenMessbareZugriffe[$SeitenGesamtVerweilMinID[$i]]) ? $SeitenMessbareZugriffe[$SeitenGesamtVerweilMinID[$i]] : "0") . ")"; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_longest_average_dwell_time") . "</b>"; //"<b>Laengste durschn.Verweildauer:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$SeitenDurchschnittVerweilMaxID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = round(is_numeric($SeitenDurchschnittVerweilMax[$i]) ? $SeitenDurchschnittVerweilMax[$i] : 0) . "s (mZ:" . (is_numeric($SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMaxID[$i]]) ? $SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMaxID[$i]] : "0") . ")"; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_stubbiest_average_dwell_time") . "</b>"; //"<b>Kuerzeste durschn.Verweildauer:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$SeitenDurchschnittVerweilMinID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = round($SeitenDurchschnittVerweilMin[$i]) . "s (mZ:" . (is_numeric($SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMinID[$i]]) ? $SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMinID[$i]] : "0") . ")"; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_most_access") . "</b>"; //"<b>Meisten Zugriffe:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$SeitenZugriffMaxID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = round($SeitenZugriffMax[$i]) . "z "; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_fewest_access") . "</b>"; //"<b>Wenigsten Zugriffe:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$SeitenZugriffMinID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = round($SeitenZugriffMin[$i]) . "z "; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_highest_deviation") . "</b>"; //"<b>Hoechste Standartabweichung:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarMaxID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = round(sqrt($EinzelSeitenVarMax[$i]), 2) . " (mZ:" . (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarMaxID[$i]]) ? $SeitenMessbareZugriffe[$EinzelSeitenVarMaxID[$i]] : 0) . ")"; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_least_deviation") . "</b>"; //"<b>Geringste Standartabweichung:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarMinID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = round(sqrt($EinzelSeitenVarMin[$i]), 2) . " (mZ:" . (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarMinID[$i]]) ? $SeitenMessbareZugriffe[$EinzelSeitenVarMinID[$i]] : 0) . ")"; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_highest_varcoeff") . "</b>"; //"<b>Hoechster Variationskoeffizient:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarKoefMaxID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = round(sqrt($EinzelSeitenVarKoefMax[$i]), 2) . " (mZ:" . (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarKoefMaxID[$i]]) ? $SeitenMessbareZugriffe[$EinzelSeitenVarKoefMaxID[$i]] : 0) . ")"; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_page_lowest_varcoeff") . "</b>"; //"<b>Geringster Variationskoeffizient:</b>"; $SeitenStatsWert[$slider] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SeitenStatsName[$i + 1 + $slider] = $i + 1 . ". " . str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarKoefMinID[$i]], 0, $TNA)); $SeitenStatsWert[$i + 1 + $slider] = round(sqrt($EinzelSeitenVarKoefMin[$i]), 2) . " (mZ:" . (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarKoefMinID[$i]]) ? $SeitenMessbareZugriffe[$EinzelSeitenVarKoefMinID[$i]] : 0) . ")"; } $slider += $RankAnzahl + $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_interval_dwell_time") . "</b>"; //"<b>VerweilDauer-Intervalle:</b>"; $SeitenStatsWert[$slider] = ""; $summe = 0; for ($i = 1; $i <= count($IntervallMax); $i++) { $SeitenStatsName[$i + $slider] = $IntervallMax[$i - 1] . $lng->txt("stats_sec") . " " . $lng->txt("stats_until") . " " . $IntervallMax[$i] . " " . $lng->txt("stats_sec") . ":"; //$IntervallMax[$i-1]."s bis ".$IntervallMax[$i]."s:"; $SeitenStatsWert[$i + $slider] = round($IntervallAnz[$i]) . "z"; $summe += $IntervallAnz[$i]; } $slider += count($IntervallMax) + 1; $SeitenStatsName[$slider] = $lng->txt("stats_summation") . ": "; //"Summe:"; $SeitenStatsWert[$slider] = $summe . " " . $lng->txt("stats_accesses"); //" Zugriffe"; $slider += $hop; $SeitenStatsName[$slider] = "<b>" . $lng->txt("stats_interval_page_access") . "</b>"; //"<b>Seitenzugriffe-Intervalle:</b>"; $SeitenStatsWert[$slider] = ""; $summe = 0; for ($i = 1; $i <= count($IntervallSeitenMax); $i++) { $SeitenStatsName[$i + $slider] = $IntervallSeitenMax[$i - 1] + 1 . " " . $lng->txt("stats_until") . " " . $IntervallSeitenMax[$i] . " " . $lng->txt("stats_accesses"); //..." bis "..." Zugriffe"; $SeitenStatsWert[$i + $slider] = round($IntervallSeitenAnz[$i]) . " " . $lng->txt("stats_pages"); //" Seiten"; $summe += $IntervallSeitenAnz[$i]; } $slider += count($IntervallSeitenMax) + 2; $SeitenStatsName[$slider] = $lng->txt("stats_summation") . ": "; //"Summe:"; $SeitenStatsWert[$slider] = $summe . " " . $lng->txt("stats_pages"); //" Seiten"; $slider += $hop; //SESSIONSTATS $slider2++; $SessionStatsName[$slider2] = $lng->txt("stats_session_number"); //"Anzahl Sessions"; $SessionStatsWert[$slider2] = round($Sessionanz); $slider2++; $SessionStatsName[$slider2] = $lng->txt("stats_session_evaluable"); //"Auswertbare Sessions (Zeit)"; $SessionStatsWert[$slider2] = round($MessbareSessions); $slider2++; $SessionStatsName[$slider2] = $lng->txt("stats_session_involved_usr"); //"beteiligte User"; $SessionStatsWert[$slider2] = round($UserAnz); $slider2++; $SessionStatsName[$slider2] = $lng->txt("stats_session_evaluable_usr"); //"Auswertbare User"; $SessionStatsWert[$slider2] = round($UserMessbarAnz); $slider2++; $SessionStatsName[$slider2] = $lng->txt("stats_session_evaluable_access"); //"Auswertbare Sessionzugriffe (Zeit)"; $SessionStatsWert[$slider2] = round($MessbareSessionZugriffe); $slider2++; $SessionStatsName[$slider2] = $lng->txt("stats_session_average_page_access"); //"durchschn. Seitenzugriffe je Session"; $SessionStatsWert[$slider2] = round($SessionDurschnittsZeit, 4); $slider2++; $SessionStatsName[$slider2] = $lng->txt("stats_session_total_duration"); //"SessionsGesamtdauer"; $SessionStatsWert[$slider2] = ilLMStatistics::s_to_h($SessionGesamtDauerAll) . " (" . $SessionGesamtDauerAll . $lng->txt("stats_sec") . ")"; $slider2++; $SessionStatsName[$slider2] = $lng->txt("stats_session_average_length"); //"durchschn. Sessionlaenge"; $SessionStatsWert[$slider2] = ilLMStatistics::s_to_m($SessionDurchschnittsDauer); $slider2++; $slider2 += $hop; $SessionStatsName[$slider2] = "<b>" . $lng->txt("stats_session_longest") . "</b>"; //"<b>Laengste Session</b>"; $SessionStatsWert[$slider2] = ""; include_once "Services/Tracking/classes/class.ilObjUserTracking.php"; $anonymous = !ilObjUserTracking::_enabledUserRelatedData(); for ($i = 0; $i < $RankAnzahl; $i++) { $SessionStatsName[$i + 1 + $slider2] = $i + 1 . ". " . $lng->txt("stats_user") . " " . ($anonymous ? $i + 1 : ilObjUser::_lookupLogin($SessionUserID[$SessionGesamtDauerMaxID[$i]])); //.$SessionGesamtDauerMaxID[$i]." von User " $SessionStatsWert[$i + 1 + $slider2] = ilLMStatistics::s_to_h($SessionGesamtDauerMax[$i]) . " (" . $SessionGesamtDauerMax[$i] . $lng->txt("stats_sec") . ")"; //"s)"; } $slider2 += $RankAnzahl + $hop; $SessionStatsName[$slider2] = "<b>" . $lng->txt("stats_session_longest_total_duration_usr") . "</b>"; //"<b>Laengste Gesamtdauer pro User</b>"; $SessionStatsWert[$slider2] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SessionStatsName[$i + 1 + $slider2] = $i + 1 . ". " . $lng->txt("stats_user") . " " . ($anonymous ? $i + 1 : ilObjUser::_lookupLogin($UserGesamtSessionsDauerMaxID[$i])); $SessionStatsWert[$i + 1 + $slider2] = ilLMStatistics::s_to_h($UserGesamtSessionsDauerMax[$i]) . " (" . $UserGesamtSessionsDauerMax[$i] . $lng->txt("stats_sec") . ")"; //."s)"; } $slider2 += $RankAnzahl + $hop; $SessionStatsName[$slider2] = "<b>" . $lng->txt("stats_session_most") . ":" . "</b>"; //"<b>Meiste Sessions:</b>"; $SessionStatsWert[$slider2] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $SessionStatsName[$i + 1 + $slider2] = $i + 1 . ". " . $lng->txt("stats_user") . " " . ($anonymous ? $i + 1 : ilObjUser::_lookupLogin($UserSessionAnzMaxID[$i])); //". User " $SessionStatsWert[$i + 1 + $slider2] = round($UserSessionAnzMax[$i]) . " " . $lng->txt("stats_sessions"); //" Sessions"; } $slider2 += $RankAnzahl + $hop; //KAPITELSTATS $hop = 0; $slider3++; $KapitelStatsName[$slider3] = $lng->txt("stats_chapter_number"); //"Anzahl Kapitel"; $KapitelStatsWert[$slider3] = round($Kapitelanz); $slider3++; $KapitelStatsName[$slider3] = $lng->txt("stats_depth") . " 0"; //"Tiefe 2"; $KapitelStatsWert[$slider3] = round($KapitelTiefe2Anzahl); $slider3++; $KapitelStatsName[$slider3] = $lng->txt("stats_depth") . " 1"; //"Tiefe 3"; $KapitelStatsWert[$slider3] = round($KapitelTiefe3Anzahl); $slider3++; $KapitelStatsName[$slider3] = $lng->txt("stats_depth") . " 2"; //"Tiefe 4"; $KapitelStatsWert[$slider3] = round($KapitelTiefe4Anzahl); $slider3++; $KapitelStatsName[$slider3] = $lng->txt("stats_depth") . " 3+"; //"Tiefe 5+"; $KapitelStatsWert[$slider3] = round($KapitelTiefe5Anzahl); $slider3++; $slider3 += $hop; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_longest_total_dwell_time_depth") . " 0:" . "</b>"; //"<b>LaengsteGesamtVerweildauer Tiefe 2:</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < min($KapitelTiefe2Anzahl, $RankAnzahl); $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID2[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = ilLMStatistics::s_to_h($KapitelGesamtVerweilMax2[$i]); } $slider3 += $i + $hop + 1; //$slider3 += $RankAnzahl + $hop; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_most_access_depth") . " 0:" . "</b>"; //"<b>Meisten Zugriffe Tiefe 2</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < min($KapitelTiefe2Anzahl, $RankAnzahl); $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID2[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = round($KapitelZugriffMax2[$i]) . " " . $lng->txt("stats_accesses"); //." Zugriffe"; } $slider3 += $i + $hop + 1; //$slider3 += $RankAnzahl + $hop; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_longest_total_dwell_time_depth") . " 1:" . "</b>"; //"<b>LaengsteGesamtVerweildauer Tiefe 3:</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < min($KapitelTiefe3Anzahl, $RankAnzahl); $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID3[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = ilLMStatistics::s_to_h($KapitelGesamtVerweilMax3[$i]); } //$slider3 += $RankAnzahl + $hop; $slider3 += $i + $hop + 1; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_most_access_depth") . " 1:" . "</b>"; //"<b>Meisten Zugriffe Tiefe 3</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < min($KapitelTiefe3Anzahl, $RankAnzahl); $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID3[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = round($KapitelZugriffMax3[$i]) . " " . $lng->txt("stats_accesses"); //." Zugriffe"; } $slider3 += $i + $hop + 1; //$slider3 += $RankAnzahl + $hop; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_longest_total_dwell_time_depth") . " 2:" . "</b>"; //"<b>LaengsteGesamtVerweildauer Tiefe 4:</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < min($KapitelTiefe4Anzahl, $RankAnzahl); $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID4[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = ilLMStatistics::s_to_h($KapitelGesamtVerweilMax4[$i]); } $slider3 += $i + $hop + 1; //$slider3 += $RankAnzahl + $hop; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_most_access_depth") . " 2:" . "</b>"; //"<b>Meisten Zugriffe Tiefe 4</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < min($KapitelTiefe4Anzahl, $RankAnzahl); $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID4[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = round($KapitelZugriffMax4[$i]) . " " . $lng->txt("stats_accesses"); //." Zugriffe"; } $slider3 += $i + $hop + 1; //$slider3 += $RankAnzahl + $hop; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_longest_total_dwell_time_depth") . " 3+:" . "</b>"; //"<b>LaengsteGesamtVerweildauer Tiefe 5+:</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < min($KapitelTiefe5Anzahl, $RankAnzahl); $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID5[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = ilLMStatistics::s_to_h($KapitelGesamtVerweilMax5[$i]); } $slider3 += $i + $hop + 1; //$slider3 += $RankAnzahl + $hop; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_most_access_depth") . " 3+:" . "</b>"; //"<b>Meisten Zugriffe Tiefe 5+</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < min($KapitelTiefe5Anzahl, $RankAnzahl); $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID5[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = round($KapitelZugriffMax5[$i]) . " " . $lng->txt("stats_accesses"); //." Zugriffe"; } //$slider3 += $RankAnzahl + $hop; $slider3 += $i + $hop + 1; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_stubbiest_total_dwell_time") . ":" . "</b>"; //"<b>kuerzeste GesamtVerweildauer:</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMinID[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = ilLMStatistics::s_to_h($KapitelGesamtVerweilMin[$i]); } $slider3 += $RankAnzahl + $hop; $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_fewest_access") . ":" . "</b>"; //"<b>wenigste Zugriffe:</b>"; $KapitelStatsWert[$slider3] = ""; for ($i = 0; $i < $RankAnzahl; $i++) { $KapitelStatsName[$i + 1 + $slider3] = $i + 1 . ". " . str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMinID[$i]], 0, $TNA)); $KapitelStatsWert[$i + 1 + $slider3] = round($KapitelZugriffMin[$i]) . " " . $lng->txt("stats_accesses"); //." Zugriffe"; } $slider3 += $RankAnzahl + $hop; $slider3save = $slider3; //Abdeckungsgrade Tiefe2 $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_depth_coverage") . " 0:" . "</b>"; //"<b>Abdeckungsgrade Tiefe 2:</b>"; $KapitelStatsWertA1[$slider3] = $lng->txt("stats_accesses") . ">0"; $KapitelStatsWertA2[$slider3] = ">" . floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor2); $KapitelStatsWertA3[$slider3] = ">" . floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor3); $KapitelStatsWertA4[$slider3] = ">" . floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor4); $KapitelStatsWertA5[$slider3] = ">" . floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor5); $u = 0; for ($i = 1; $i <= $Kapitelanz; $i++) { if ($seitenTiefe[$KapitelID[$i]] == 2) { if ($KapitelSeitenSumme[$i] > 0) { $u++; $KapitelStatsName[$u + 1 + $slider3] = $u . ". " . str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)) . " (" . $KapitelSeitenSumme[$i] . " " . $lng->txt("stats_pages") . ")"; $KapitelStatsWertA1[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten1[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten1[$i]) . ")"; $KapitelStatsWertA2[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten2[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten2[$i]) . ")"; $KapitelStatsWertA3[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten3[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten3[$i]) . ")"; $KapitelStatsWertA4[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten4[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten4[$i]) . ")"; $KapitelStatsWertA5[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten5[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten5[$i]) . ")"; } } } $slider3 += $u + $hop + 2; //Abdeckungsgrade Tiefe3 $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_depth_coverage") . " 1:" . "</b>"; //"<b>Abdeckungsgrade Tiefe 3:</b>"; $KapitelStatsWertA1[$slider3] = $lng->txt("stats_accesses") . ">0"; $KapitelStatsWertA2[$slider3] = ">" . floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor2); $KapitelStatsWertA3[$slider3] = ">" . floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor3); $KapitelStatsWertA4[$slider3] = ">" . floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor4); $KapitelStatsWertA5[$slider3] = ">" . floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor5); $u = 0; for ($i = 1; $i <= $Kapitelanz; $i++) { if ($seitenTiefe[$KapitelID[$i]] == 3) { if ($KapitelSeitenSumme[$i] > 0) { $u++; $KapitelStatsName[$u + 1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)) . " (" . $KapitelSeitenSumme[$i] . " " . $lng->txt("stats_pages") . ")"; $KapitelStatsWertA1[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten1[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten1[$i]) . ")"; $KapitelStatsWertA2[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten2[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten2[$i]) . ")"; $KapitelStatsWertA3[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten3[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten3[$i]) . ")"; $KapitelStatsWertA4[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten4[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten4[$i]) . ")"; $KapitelStatsWertA5[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten5[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten5[$i]) . ")"; } } } $slider3 += $u + $hop + 2; //Abdeckungsgrade Tiefe4 $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_depth_coverage") . " 2:" . "</b>"; //"<b>Abdeckungsgrade Tiefe 4:</b>"; $KapitelStatsWertA1[$slider3] = $lng->txt("stats_accesses") . ">0"; $KapitelStatsWertA2[$slider3] = ">" . floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor2); $KapitelStatsWertA3[$slider3] = ">" . floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor3); $KapitelStatsWertA4[$slider3] = ">" . floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor4); $KapitelStatsWertA5[$slider3] = ">" . floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor5); $u = 0; for ($i = 1; $i <= $Kapitelanz; $i++) { if ($seitenTiefe[$KapitelID[$i]] == 4) { if ($KapitelSeitenSumme[$i] > 0) { $u++; $KapitelStatsName[$u + 1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)) . " (" . $KapitelSeitenSumme[$i] . " " . $lng->txt("stats_pages") . ")"; $KapitelStatsWertA1[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten1[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten1[$i]) . ")"; $KapitelStatsWertA2[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten2[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten2[$i]) . ")"; $KapitelStatsWertA3[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten3[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten3[$i]) . ")"; $KapitelStatsWertA4[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten4[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten4[$i]) . ")"; $KapitelStatsWertA5[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten5[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten5[$i]) . ")"; } } } $slider3 += $u + $hop + 2; //Abdeckungsgrade Tiefe5 $KapitelStatsName[$slider3] = "<b>" . $lng->txt("stats_chapter_depth_coverage") . " 3+:" . "</b>"; //"<b>Abdeckungsgrade Tiefe 5+:</b>"; $KapitelStatsWertA1[$slider3] = $lng->txt("stats_accesses") . ">0"; $KapitelStatsWertA2[$slider3] = ">" . floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor2); $KapitelStatsWertA3[$slider3] = ">" . floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor3); $KapitelStatsWertA4[$slider3] = ">" . floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor4); $KapitelStatsWertA5[$slider3] = ">" . floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor5); $u = 0; for ($i = 1; $i <= $Kapitelanz; $i++) { if ($seitenTiefe[$KapitelID[$i]] == 5) { if ($KapitelSeitenSumme[$i] > 0) { $u++; $KapitelStatsName[$u + 1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)) . " (" . $KapitelSeitenSumme[$i] . " " . $lng->txt("stats_pages") . ")"; //." Seiten)";//$KapitelZugriffe[$i]; $KapitelStatsWertA1[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten1[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten1[$i]) . ")"; $KapitelStatsWertA2[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten2[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten2[$i]) . ")"; $KapitelStatsWertA3[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten3[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten3[$i]) . ")"; $KapitelStatsWertA4[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten4[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten4[$i]) . ")"; $KapitelStatsWertA5[$u + 1 + $slider3] = ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten5[$i] * 100 / $KapitelSeitenSumme[$i])) . "%(" . ilLMStatistics::proz($KapitelAbgedeckteSeiten5[$i]) . ")"; } } } $slider3 += $u + $hop + 2; //AUSGABE BEOBACHTUNGSMODELL if ($_POST["stat"] == 'u') { //Daten f�r das Applet zusammenstellen $delim1 = " "; for ($i = 1; $i <= $Seitenanz; $i++) { $KapitelZuSeite2 = $KapitelZuSeite2 . (-1 + $rKapitelID[$vatizumkind[$SeitenID[$i]]]) . $delim1; } for ($i = 1; $i <= $Seitenanz; $i++) { for ($j = 1; $j <= $Seitenanz; $j++) { $SessionVonNach2 = $SessionVonNach2 . (0 + $SessionVonNach[$i][$j]) . $delim1; } } for ($i = 1; $i <= $Kapitelanz; $i++) { for ($j = 1; $j <= $Kapitelanz; $j++) { $KapitelVonNach2 = $KapitelVonNach2 . (0 + $KapitelVonNach[$i][$j]) . $delim1; } } for ($i = 1; $i <= $Kapitelanz; $i++) { $OberkapitelZuKapitel2 = $OberkapitelZuKapitel2 . (-1 + $rKapitelID[$vatizumkind[$KapitelID[$i]]]) . $delim1; } $delim2 = " sName "; for ($i = 1; $i <= $Seitenanz; $i++) { $Seitenname2 = $Seitenname2 . $SeitenName[$i] . $delim2; } $delim3 = " kName "; for ($i = 1; $i <= $Kapitelanz; $i++) { $Kapitelname2 = $Kapitelname2 . $KapitelName[$i] . $delim3; } //Ende der Variablen } else { //SCHREIBE die SEITEN,SESSION oder KAPITELSTATS in Tabelle include_once "./Services/Table/classes/class.ilTableGUI.php"; // $tbl = new ilTableGUI(); $tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.lm_statistics_result.html", "Services/Tracking"); $tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html"); $tpl->addBlockfile("TRACK_TABLE", "track_table", "tpl.table.html"); $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html"); if ($_POST["stat"] == 'd') { $title_new = array("time", "", "", "", "", ""); } else { $title_new = array("time", "count"); } $tbl = new ilTableGUI(); $tbl->setTitle($lng->txt("obj_trac"), 0); foreach ($title_new as $val) { $header_names[] = $lng->txt($val); } $tbl->disable("sort"); $tbl->setHeaderNames($header_names); if ($_POST["stat"] == 'h') { //SeitenSTATS $num = $slider + 1; //$tbl->setMaxCount($num); } else { if ($_POST["stat"] == 'd') { //KapitelSTATS $num = $slider3save + $slider3 + 1; //$tbl->setMaxCount($num); } else { if ($_POST["stat"] == 'o') { //SessionSTATS $num = $slider2 + 1; //$tbl->setMaxCount($num); } else { //BeobModell $num = 24; //$tbl->setMaxCount($num); } } } $tbl->setStyle("table", "std"); $tbl->render(); if ($_POST["stat"] == 'h') { //SeitenSTATS for ($i = 0; $i < $num; $i++) { //Soviele Zeilen ausgeben $data[0] = $SeitenStatsName[$i]; //String in 1. Spalte $data[1] = $SeitenStatsWert[$i]; // Werte der 2. Spalte $css_row = $i % 2 == 0 ? "tblrow1" : "tblrow2"; //Tabelle erstellen foreach ($data as $key => $val) { //Werte eintragen $tpl->setCurrentBlock("text"); $tpl->setVariable("TEXT_CONTENT", $val); //Werte der Zelle setzen $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("table_cell"); //<td class="std" valign="top"> </td> $tpl->parseCurrentBlock(); } $tpl->setCurrentBlock("tbl_content"); //<tr class="{CSS_ROW}"></tr> $tpl->setVariable("CSS_ROW", $css_row); $tpl->parseCurrentBlock(); } $tpl->parseCurrentBlock(); } else { if ($_POST["stat"] == 'd') { //KapitelSTATS for ($i = 1; $i < $slider3save; $i++) { //Soviele Zeilen ausgeben $data[0] = $KapitelStatsName[$i]; //String in 1. Spalte $data[1] = $KapitelStatsWert[$i]; // Werte der 2. Spalte $data[2] = ""; $data[3] = ""; $data[4] = ""; $data[5] = ""; $css_row = $i % 2 == 0 ? "tblrow1" : "tblrow2"; //Tabelle erstellen foreach ($data as $key => $val) { //Werte eintragen $tpl->setCurrentBlock("text"); $tpl->setVariable("TEXT_CONTENT", $val); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("table_cell"); $tpl->parseCurrentBlock(); } $tpl->setCurrentBlock("tbl_content"); $tpl->setVariable("CSS_ROW", $css_row); $tpl->parseCurrentBlock(); } //Abdeckungsgrade ausgeben for ($i = $slider3save; $i < $slider3; $i++) { //Soviele Zeilen ausgeben $data[0] = $KapitelStatsName[$i]; //String in 1. Spalte $data[1] = $KapitelStatsWertA1[$i]; // Werte der 2. Spalte $data[2] = $KapitelStatsWertA2[$i]; $data[3] = $KapitelStatsWertA3[$i]; $data[4] = $KapitelStatsWertA4[$i]; $data[5] = $KapitelStatsWertA5[$i]; $css_row = $i % 2 == 0 ? "tblrow1" : "tblrow2"; //Tabelle erstellen foreach ($data as $key => $val) { //Werte eintragen $tpl->setCurrentBlock("text"); $tpl->setVariable("TEXT_CONTENT", $val); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("table_cell"); $tpl->parseCurrentBlock(); } $tpl->setCurrentBlock("tbl_content"); $tpl->setVariable("CSS_ROW", $css_row); $tpl->parseCurrentBlock(); } $tpl->parseCurrentBlock(); } else { if ($_POST["stat"] == 'o') { //SessionSTATS for ($i = 0; $i < $num; $i++) { //Soviele Zeilen ausgeben $data[0] = $SessionStatsName[$i]; //String in 1. Spalte $data[1] = $SessionStatsWert[$i]; // Werte der 2. Spalte $css_row = $i % 2 == 0 ? "tblrow1" : "tblrow2"; //Tabelle erstellen foreach ($data as $key => $val) { //Werte eintragen $tpl->setCurrentBlock("text"); $tpl->setVariable("TEXT_CONTENT", $val); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("table_cell"); $tpl->parseCurrentBlock(); } $tpl->setCurrentBlock("tbl_content"); $tpl->setVariable("CSS_ROW", $css_row); $tpl->parseCurrentBlock(); } $tpl->parseCurrentBlock(); } } } $tpl->setCurrentBlock("adm_content"); $tpl->setVariable("TXT_TIME_PERIOD", $lng->txt("time_segment")); switch ($_POST["stat"]) { case "h": $tpl->setVariable("TXT_STATISTIC", $lng->txt("stats_pages_statisics")); $tpl->setVariable("TXT_TRACKED_HELP", $lng->txt("help")); $tpl->setVariable("VAL_TRACKED_HELP_LINK", "<a href='" . MODULE_URL . "/docs/pagestats_help.html' target='_blank'>" . "Link" . "</a>"); break; case "u": $tpl->setVariable("TXT_STATISTIC", $lng->txt("stats_navigation")); break; case "d": $tpl->setVariable("TXT_STATISTIC", $lng->txt("stats_chapter_statisics")); $tpl->setVariable("TXT_TRACKED_HELP", $lng->txt("help")); $tpl->setVariable("VAL_TRACKED_HELP_LINK", "<a href='" . MODULE_URL . "/docs/chapterstats_help.html' target='_blank'>" . "Link" . "</a>"); break; case "o": $tpl->setVariable("TXT_STATISTIC", $lng->txt("stats_sessions_statisics")); $tpl->setVariable("TXT_TRACKED_HELP", $lng->txt("help")); $tpl->setVariable("VAL_TRACKED_HELP_LINK", "<a href='" . MODULE_URL . "/docs/sessionstats_help.html' target='_blank'>" . "Link" . "</a>"); break; } $tpl->setVariable("VAL_DATEF", date("Y-m-d", mktime(0, 0, 0, $monthf, $dayf, $yearf))); $tpl->setVariable("TXT_TO", $lng->txt("to")); $tpl->setVariable("VAL_DATET", date("Y-m-d", mktime(0, 0, 0, $montht, $dayt, $yeart))); $tpl->setVariable("TXT_USER_LANGUAGE", $lng->txt("user_language")); if ($_POST["language"] == "0") { $tpl->setVariable("VAL_LANGUAGE", $lng->txt("any_language")); } else { $lng->loadLanguageModule("meta"); $tpl->setVariable("VAL_LANGUAGE", $lng->txt("meta_l_" . $_POST["language"])); } $rLehrmodulID = $_SESSION["il_track_rlm_id"]; $LehrmodulName = $_SESSION["il_track_lm_name"]; $tpl->setVariable("TXT_TRACKED_OBJECTS", $lng->txt("tracked_objects")); $tpl->setVariable("VAL_TRACKED_OBJECTS", $LehrmodulName[$rLehrmodulID[$_POST["lmID"]]]); $tpl->setVariable("LEGENDE", $lng->txt("stats_legend")); $tpl->setVariable("VAL_LEGENDE_MZ", $lng->txt("stats_measurable_hits")); $tpl->setVariable("VAL_LEGENDE_Z", $lng->txt("stats_hits")); $tpl->setVariable("LEGENDE_MZ", "mz"); $tpl->setVariable("LEGENDE_Z", "z"); $tpl->parseCurrentBlock(); } //ENDE von AUSGABE $this->Seitenanz = $Seitenanz; $this->KapitelZuSeite2 = $KapitelZuSeite2; $this->SessionVonNach2 = $SessionVonNach2; $this->Kapitelanz = $Kapitelanz; $this->KapitelVonNach2 = $KapitelVonNach2; $this->OberkapitelZuKapitel2 = $OberkapitelZuKapitel2; $this->Seitenname2 = $Seitenname2; $this->Kapitelname2 = $Kapitelname2; } //Ende if }