28 $this->lm_id = $obj_id;
37 global
$tpl,
$lng, $ilias, $db, $ilDB;
43 $LehrModulID = $this->lm_ID;
66 $monthf =
$_POST[
"monthf"];
69 $montht =
$_POST[
"montht"];
71 $from = $yearf.
"-".$monthf.
"-".$dayf.
" 00:00:00";
72 $to = $yeart.
"-".$montht.
"-".$dayt.
" 23:59:59";
85 $SessionMaxVerweildauer = 1800;
86 $IntervallMax[1] = 10;
87 $IntervallMax[2] = 30;
88 $IntervallMax[3] = 60;
89 $IntervallMax[4] = 120;
90 $IntervallMax[5] = 600;
91 $IntervallMax[6] = $SessionMaxVerweildauer;
92 $IntervallSeitenMax[0] = -1;
93 $IntervallSeitenMax[1] = 0;
94 $IntervallSeitenMax[2] = 1;
95 $IntervallSeitenMax[3] = 5;
96 $IntervallSeitenMax[4] = 20;
97 $IntervallSeitenMax[5] = 50;
98 $RankBenoetigteZugriffe = 1;
101 $KapitelAbdeckungsKennzahlFaktor2 = 0.5;
102 $KapitelAbdeckungsKennzahlFaktor3 = 1.0;
103 $KapitelAbdeckungsKennzahlFaktor4 = 1.5;
104 $KapitelAbdeckungsKennzahlFaktor5 = 2.0;
110 $q =
"SELECT child, parent,depth FROM lm_tree";
111 $result = $ilias->db->query($q);
113 $vatizumkind[
$row[0]] = $row[1];
114 $seitenTiefe[$row[0]] = $row[2];
119 $q =
"SELECT obj_id,title,type,lm_id FROM lm_data WHERE lm_id='".$LehrModulID.
"'";
121 $result = $ilias->db->query($q);
126 if (
$row[2] ==
'st') {
133 if (
$row[2] ==
'pg') {
144 if (
$_POST[
"stat2"] ==
'all') {
145 $q =
"SELECT id, user_id,acc_obj_id,acc_sub_id,session_id, acc_time ".
146 "FROM ut_access WHERE acc_obj_id=".$ilDB->quote($LehrModulID,
"integer").
147 " AND acc_time > ".$ilDB->quote(
$from,
"timestamp").
" AND acc_time < ".
148 $ilDB->quote(
$to,
"timestamp").
" ";
150 $q =
"SELECT id, user_id, acc_obj_id, acc_sub_id, session_id, acc_time ".
151 "FROM ut_access WHERE acc_obj_id= ".$ilDB->quote($LehrModulID,
"integer").
152 " AND acc_time > ".$ilDB->quote(
$from,
"timestamp").
" AND acc_time < ".
153 $ilDB->quote(
$to,
"timestamp").
" AND ".$ilDB->in(
"user_id",
$user_IDs,
false,
"integer");
155 $result = $ilias->db->query($q);
159 if (($rSeitenID[
$row[3]] != 0) && ($rKapitelID[$vatizumkind[
$row[3]]] != 0)) {
161 if (
$row[1] > $UserTopID) {
162 $UserTopID =
$row[1];
165 $UserZugriffe[
$row[1]]++;
166 $SeitenZugriffe[$rSeitenID[$row[3]]]++;
167 $GesamtSeitenZugriffe ++;
168 $KapitelSeitenZugriffe[$rKapitelID[$vatizumkind[$row[3]]]]++;
173 for ($i = 0; $i <= count($SessionCheck[$row[1]]); $i ++) {
174 if ($row[4] == $SessionCheck[$row[1]][$i][0]) {
175 $pos = $SessionCheck[$row[1]][$i][1];
186 $SessionGesamtZugriffe ++;
187 $SessionEndSekundeDummy[$pos] = (substr($row[5], -2));
188 $SessionEndMinuteDummy[$pos] = (substr($row[5], -5, 2));
189 $SessionEndStundeDummy[$pos] = (substr($row[5], -8, 2));
190 $SessionEndGesamt = $SessionEndSekundeDummy[$pos] + $SessionEndMinuteDummy[$pos] * 60 + $SessionEndStundeDummy[$pos] * 60 * 60;
192 if (($SessionEndGesamt - $SessionStartGesamt[$pos]) > 0) {
193 $SessionZugriffDifferenz = $SessionEndGesamt - $SessionStartGesamt[$pos];
196 if ($SessionZugriffDifferenz < $SessionMaxVerweildauer) {
200 if ($SessionZugriffDifferenz <= $IntervallMax[1]) {
203 if ($SessionZugriffDifferenz <= $IntervallMax[2]) {
206 if ($SessionZugriffDifferenz <= $IntervallMax[3]) {
209 if ($SessionZugriffDifferenz <= $IntervallMax[4]) {
212 if ($SessionZugriffDifferenz <= $IntervallMax[5]) {
218 $MessbareSessionZugriffe ++;
220 $SessionsVerweildauer[$MessbareSessionZugriffe] = $SessionZugriffDifferenz;
222 if ($SessionZugriffe[$pos] == 1) {
223 $MessbareSessions ++;
224 $UserSessionAnz[$row[1]]++;
227 $SessionZugriffe[$pos]++;
228 $SeitenVerweildauerListe[$rSeitenID[$row[3]]][$SeitenMessbareZugriffe[$rSeitenID[$row[3]]]] = $SessionZugriffDifferenz;
229 $SeitenMessbareZugriffe[$rSeitenID[$row[3]]]++;
230 $SessionEndTime[$pos] = $row[5];
231 $SessionStartGesamt[$pos] = $SessionEndGesamt;
232 $SessionGesamtDauerAll += $SessionZugriffDifferenz;
233 $SessionGesamtDauer[$pos] += $SessionZugriffDifferenz;
234 $UserGesamtSessionsDauer[$row[1]] += $SessionZugriffDifferenz;
235 $UserSessionZugriffe[$row[1]]++;
236 $SeiteGesamtVerweilZeit[$rSeitenID[$row[3]]] += $SessionZugriffDifferenz;
238 $SessionVonNach[$SessionQuellSeite[$pos]][$rSeitenID[$row[3]]]++;
239 $KapitelVonNach[$rKapitelID[$vatizumkind[$SeitenID[$SessionQuellSeite[$pos]]]]][$rKapitelID[$vatizumkind[$row[3]]]]++;
240 $SessionQuellSeite[$pos] = $rSeitenID[$row[3]];
250 if ($checkS ==
false) {
254 $aktSessionAnzahlUser = count($SessionCheck[$row[1]]) + 1;
255 $SessionCheck[$row[1]][$aktSessionAnzahlUser][0] = $row[4];
256 $SessionCheck[$row[1]][$aktSessionAnzahlUser][1] = $Sessionanz;
258 $SessionZugriffe[$Sessionanz] = 1;
259 $SessionID[$Sessionanz] = $row[4];
260 $SessionUserID[$Sessionanz] = $row[1];
261 $SessionStartTime[$Sessionanz] = $row[5];
263 $SessionQuellSeite[$Sessionanz] = $rSeitenID[$row[3]];
264 $SessionStartSekunde[$Sessionanz] = (substr($SessionStartTime[$Sessionanz], -2));
265 $SessionStartMinute[$Sessionanz] = (substr($SessionStartTime[$Sessionanz], -5, 2));
266 $SessionStartStunde[$Sessionanz] = (substr($SessionStartTime[$Sessionanz], -8, 2));
267 $SessionStartGesamt[$Sessionanz] = $SessionStartSekunde[$Sessionanz] + $SessionStartMinute[$Sessionanz] * 60 + $SessionStartStunde[$Sessionanz] * 60 * 60;
282 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[1]) {
283 $IntervallSeitenAnz[1]++;
285 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[2]) {
286 $IntervallSeitenAnz[2]++;
288 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[3]) {
289 $IntervallSeitenAnz[3]++;
291 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[4]) {
292 $IntervallSeitenAnz[4]++;
294 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[5]) {
295 $IntervallSeitenAnz[5]++;
297 $IntervallSeitenAnz[6]++;
305 if (count($SessionsVerweildauer) > 0) {
306 sort($SessionsVerweildauer);
310 if ($MessbareSessions > 0) {
311 $SessionDurchschnittsDauer = $SessionGesamtDauerAll / $MessbareSessions;
315 if ($MessbareSessionZugriffe > 0) {
316 $SeitenVerweildauerDurchschnitt = $SessionGesamtDauerAll / $MessbareSessionZugriffe;
321 $SeitenVerweildauerSpannweite = $SessionsVerweildauer[$MessbareSessionZugriffe -1] - $SessionsVerweildauer[0];
325 if ($MessbareSessionZugriffe % 2 == 0) {
327 $VerweildauerMedianPosA = ($MessbareSessionZugriffe) / 2;
328 $VerweildauerMedianPosB = ($MessbareSessionZugriffe +1) / 2 + 1;
329 $VerweildauerMedian = ($SessionsVerweildauer[$VerweildauerMedianPosA -1] + $SessionsVerweildauer[$VerweildauerMedianPosB -1]) / 2;
331 $VerweildauerMedianPos = ($MessbareSessionZugriffe +1) / 2;
332 $VerweildauerMedian = $SessionsVerweildauer[$VerweildauerMedianPos -1];
337 $SeitenVerweildauerStandartAbw = sqrt($SeitenVerweildauerVarianz);
339 if ($SeitenVerweildauerStandartAbw > 0) {
340 $SeitenVerweildauerVarKoef = $SeitenVerweildauerDurchschnitt / $SeitenVerweildauerStandartAbw;
346 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
347 $SeitenGesamtVerweilMax[$i] = $SeiteGesamtVerweilZeit[$i];
348 $SeitenGesamtVerweilMaxID[$i] = $i;
352 if (count($SeitenGesamtVerweilMax) > 0) {
353 array_multisort($SeitenGesamtVerweilMax, SORT_DESC, $SeitenGesamtVerweilMaxID);
359 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
360 $SeitenGesamtVerweilMin[$i] = $SeiteGesamtVerweilZeit[$i];
361 $SeitenGesamtVerweilMinID[$i] = $i;
365 if (count($SeitenGesamtVerweilMin) > 0) {
366 array_multisort($SeitenGesamtVerweilMin, SORT_ASC, $SeitenGesamtVerweilMinID);
372 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
373 $SeitenDurchschnittVerweilMax[$i] = $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i];
374 $SeitenDurchschnittVerweilMaxID[$i] = $i;
377 if (count($SeitenDurchschnittVerweilMax) > 0) {
378 array_multisort($SeitenDurchschnittVerweilMax, SORT_DESC, $SeitenDurchschnittVerweilMaxID);
384 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
385 $SeitenDurchschnittVerweilMin[$i] = $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i];
386 $SeitenDurchschnittVerweilMinID[$i] = $i;
389 if (count($SeitenDurchschnittVerweilMin) > 0) {
390 array_multisort($SeitenDurchschnittVerweilMin, SORT_ASC, $SeitenDurchschnittVerweilMinID);
397 for ($i = 1; $i <= $UserTopID; $i ++) {
398 if ($UserGesamtSessionsDauer[$i] > 0) {
399 $UserGesamtSessionsDauerMax[$i] = $UserGesamtSessionsDauer[$i];
400 $UserGesamtSessionsDauerMaxID[$i] = $i;
402 $UserGesamtSessionsDauerMax[$i] =
"";
403 $UserGesamtSessionsDauerMaxID[$i] =
"";
406 if (count($UserGesamtSessionsDauerMax) > 0) {
407 array_multisort($UserGesamtSessionsDauerMax, SORT_DESC, $UserGesamtSessionsDauerMaxID);
412 for ($i = 1; $i <= $UserTopID; $i ++) {
413 if ($UserSessionAnz[$i] > 0) {
414 $UserSessionAnzMax[$i] = $UserSessionAnz[$i];
415 $UserSessionAnzMaxID[$i] = $i;
417 $UserSessionAnzMax[$i] =
"";
418 $UserSessionAnzMaxID[$i] =
"";
421 if (count($UserSessionAnzMax) > 0) {
422 array_multisort($UserSessionAnzMax, SORT_DESC, $UserSessionAnzMaxID);
427 for ($i = 0; $i <= $UserTopID; $i ++) {
428 if ($UserZugriffe[$i] > 0) {
433 for ($i = 0; $i <= $UserTopID; $i ++) {
434 if ($UserSessionAnz[$i] > 0) {
445 if ($SeitenZugriffe[$i] > 0) {
446 $SeitenZugriffMax[$i] = $SeitenZugriffe[$i];
447 $SeitenZugriffMaxID[$i] = $i;
449 $SeitenZugriffMax[$i] =
"";
450 $SeitenZugriffMaxID[$i] =
"";
454 if (count($SeitenZugriffMax) > 0) {
455 array_multisort($SeitenZugriffMax, SORT_DESC, $SeitenZugriffMaxID);
462 if ($SeitenZugriffe[$i] > 0) {
463 $SeitenZugriffMin[$i] = $SeitenZugriffe[$i];
464 $SeitenZugriffMinID[$i] = $i;
466 $SeitenZugriffMin[$i] =
"";
467 $SeitenZugriffMinID[$i] = $i;
471 if (count($SeitenZugriffMin) > 0) {
472 array_multisort($SeitenZugriffMin, SORT_ASC, $SeitenZugriffMinID);
477 if (count($SeitenZugriffMax) % 2 == 0) {
479 $SeitenZugriffeMedianPosA = (count($SeitenZugriffMax)) / 2;
480 $SeitenZugriffeMedianPosB = (count($SeitenZugriffMax) + 1) / 2 + 1;
481 $SeitenZugriffeMedian = ($SeitenZugriffMax[$SeitenZugriffeMedianPosA -1] + $SeitenZugriffMax[$SeitenZugriffeMedianPosB -1]) / 2;
483 $SeitenZugriffeMedianPos = (count($SeitenZugriffMax) + 1) / 2;
484 $SeitenZugriffeMedian = $SeitenZugriffMax[$SeitenZugriffeMedianPos -1];
489 $SeitenZugriffeSpannweite = $SeitenZugriffMax[0] - $SeitenZugriffMax[count($SeitenZugriffMax) - 1];
494 $ZugriffsWert[$SeitenZugriffe[$i]]++;
495 if ($SeitenZugriffe[$i] > $MaxZW) {
496 $MaxZW = $SeitenZugriffe[$i];
499 for ($i = 0; $i <= $MaxZW; $i ++) {
500 if ($ZugriffsWert[$i] > $ZugriffsWertMaxAus) {
501 $ZugriffsWertMaxAus = $ZugriffsWert[$i];
502 $ZugriffsWertMax = $i;
511 $SeitenZugriffeStandartAbw = sqrt($SeitenZugriffeVarianz);
514 $SeitenZugriffeVarKoef = $SeitenZugriffeStandartAbw / ($GesamtSeitenZugriffe /
$Seitenanz);
521 for ($i = 1; $i <= $Sessionanz; $i ++) {
522 $SessionGesamtDauerMax[$i] = $SessionGesamtDauer[$i];
523 $SessionGesamtDauerMaxID[$i] = $i;
526 if (count($SessionGesamtDauerMax) > 0) {
527 array_multisort($SessionGesamtDauerMax, SORT_DESC, $SessionGesamtDauerMaxID);
530 if ($Sessionanz > 0) {
531 $SessionDurschnittsZeit = $GesamtSeitenZugriffe / $Sessionanz;
537 if ($SeitenMessbareZugriffe[$i] > 0) {
538 $EinzelSeitenVarianz[$i] =
ilLMStatistics::varianzSV($SeitenVerweildauerListe[$i], $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i]);
539 if ($EinzelSeitenVarianz[$i] > 0) {
540 $EinzelSeitenVarKoef[$i] = ($SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i]) / sqrt($EinzelSeitenVarianz[$i]);
546 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
547 $EinzelSeitenVarMax[$i] = $EinzelSeitenVarianz[$i];
548 $EinzelSeitenVarMaxID[$i] = $i;
551 if (count($EinzelSeitenVarMax) > 0) {
552 array_multisort($EinzelSeitenVarMax, SORT_DESC, $EinzelSeitenVarMaxID);
557 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
558 $EinzelSeitenVarMin[$i] = $EinzelSeitenVarianz[$i];
559 $EinzelSeitenVarMinID[$i] = $i;
562 if (count($EinzelSeitenVarMin) > 0) {
563 array_multisort($EinzelSeitenVarMin, SORT_ASC, $EinzelSeitenVarMinID);
568 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
569 $EinzelSeitenVarKoefMax[$i] = $EinzelSeitenVarKoef[$i];
570 $EinzelSeitenVarKoefMaxID[$i] = $i;
573 if (count($EinzelSeitenVarKoefMax) > 0) {
574 array_multisort($EinzelSeitenVarKoefMax, SORT_DESC, $EinzelSeitenVarKoefMaxID);
579 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
580 $EinzelSeitenVarKoefMin[$i] = $EinzelSeitenVarKoef[$i];
581 $EinzelSeitenVarKoefMinID[$i] = $i;
584 if (count($EinzelSeitenVarKoefMin) > 0) {
585 array_multisort($EinzelSeitenVarKoefMin, SORT_ASC, $EinzelSeitenVarKoefMinID);
594 $KapitelAbdeckungsKennzahl1 = 1;
598 $knoten = $SeitenID[$i];
599 $tiefe = $seitenTiefe[$SeitenID[$i]];
603 $knoten = $vatizumkind[$knoten];
604 $KapitelZugriffe[$rKapitelID[$knoten]] += $SeitenZugriffe[$i];
605 $KapitelGesamtVerweilZeit[$rKapitelID[$knoten]] += $SeiteGesamtVerweilZeit[$i];
606 $KapitelMessbareZugriffe[$rKapitelID[$knoten]] += $SeitenMessbareZugriffe[$i];
607 $KapitelSeitenSumme[$rKapitelID[$knoten]]++;
609 $KapitelGesamtSeitenAnzEbene2 ++;
612 $KapitelGesamtSeitenAnzEbene3 ++;
615 $KapitelGesamtSeitenAnzEbene4 ++;
618 $KapitelGesamtSeitenAnzEbene5 ++;
620 $tiefe = $seitenTiefe[$knoten];
628 if ($seitenTiefe[$KapitelID[$i]] == 2) {
630 $KapitelTiefe2Anzahl ++;
632 if ($KapitelZugriffe[$i] > 0) {
633 $KapitelZugriffMax2[$i] = $KapitelZugriffe[$i];
634 $KapitelZugriffMaxID2[$i] = $i;
636 $KapitelZugriffMax2[$i] =
"";
637 $KapitelZugriffMaxID2[$i] = $i;
640 if ($seitenTiefe[$KapitelID[$i]] == 3) {
641 $KapitelTiefe3Anzahl ++;
642 if ($KapitelZugriffe[$i] > 0) {
643 $KapitelZugriffMax3[$i] = $KapitelZugriffe[$i];
644 $KapitelZugriffMaxID3[$i] = $i;
646 $KapitelZugriffMax3[$i] =
"";
647 $KapitelZugriffMaxID3[$i] = $i;
650 if ($seitenTiefe[$KapitelID[$i]] == 4) {
651 $KapitelTiefe4Anzahl ++;
652 if ($KapitelZugriffe[$i] > 0) {
653 $KapitelZugriffMax4[$i] = $KapitelZugriffe[$i];
654 $KapitelZugriffMaxID4[$i] = $i;
656 $KapitelZugriffMax4[$i] =
"";
657 $KapitelZugriffMaxID4[$i] = $i;
660 if ($seitenTiefe[$KapitelID[$i]] >= 5) {
661 $KapitelTiefe5Anzahl ++;
662 if ($KapitelZugriffe[$i] > 0) {
663 $KapitelZugriffMax5[$i] = $KapitelZugriffe[$i];
664 $KapitelZugriffMaxID5[$i] = $i;
666 $KapitelZugriffMax5[$i] =
"";
667 $KapitelZugriffMaxID5[$i] = $i;
672 if (count($KapitelZugriffMax2) > 0) {
673 array_multisort($KapitelZugriffMax2, SORT_DESC, $KapitelZugriffMaxID2);
675 if (count($KapitelZugriffMax3) > 0) {
676 array_multisort($KapitelZugriffMax3, SORT_DESC, $KapitelZugriffMaxID3);
678 if (count($KapitelZugriffMax4) > 0) {
679 array_multisort($KapitelZugriffMax4, SORT_DESC, $KapitelZugriffMaxID4);
681 if (count($KapitelZugriffMax5) > 0) {
682 array_multisort($KapitelZugriffMax5, SORT_DESC, $KapitelZugriffMaxID5);
689 if ($KapitelZugriffe[$i] > 0) {
690 $KapitelZugriffMin[$i] = $KapitelZugriffe[$i];
691 $KapitelZugriffMinID[$i] = $i;
693 $KapitelZugriffMin[$i] =
"";
694 $KapitelZugriffMinID[$i] = $i;
698 if (count($KapitelZugriffMin) > 0) {
699 array_multisort($KapitelZugriffMin, SORT_ASC, $KapitelZugriffMinID);
705 if ($seitenTiefe[$KapitelID[$i]] == 2) {
706 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
707 $KapitelGesamtVerweilMax2[$i] = $KapitelGesamtVerweilZeit[$i];
708 $KapitelGesamtVerweilMaxID2[$i] = $i;
711 if ($seitenTiefe[$KapitelID[$i]] == 3) {
712 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
713 $KapitelGesamtVerweilMax3[$i] = $KapitelGesamtVerweilZeit[$i];
714 $KapitelGesamtVerweilMaxID3[$i] = $i;
717 if ($seitenTiefe[$KapitelID[$i]] == 4) {
718 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
719 $KapitelGesamtVerweilMax4[$i] = $KapitelGesamtVerweilZeit[$i];
720 $KapitelGesamtVerweilMaxID4[$i] = $i;
723 if ($seitenTiefe[$KapitelID[$i]] >= 5) {
724 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
725 $KapitelGesamtVerweilMax5[$i] = $KapitelGesamtVerweilZeit[$i];
726 $KapitelGesamtVerweilMaxID5[$i] = $i;
731 if (count($KapitelGesamtVerweilMax2) > 0) {
732 array_multisort($KapitelGesamtVerweilMax2, SORT_DESC, $KapitelGesamtVerweilMaxID2);
734 if (count($KapitelGesamtVerweilMax3) > 0) {
735 array_multisort($KapitelGesamtVerweilMax3, SORT_DESC, $KapitelGesamtVerweilMaxID3);
737 if (count($KapitelGesamtVerweilMax4) > 0) {
738 array_multisort($KapitelGesamtVerweilMax4, SORT_DESC, $KapitelGesamtVerweilMaxID4);
740 if (count($KapitelGesamtVerweilMax5) > 0) {
741 array_multisort($KapitelGesamtVerweilMax5, SORT_DESC, $KapitelGesamtVerweilMaxID5);
746 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
747 $KapitelGesamtVerweilMin[$i] = $KapitelGesamtVerweilZeit[$i];
748 $KapitelGesamtVerweilMinID[$i] = $i;
752 if (count($KapitelGesamtVerweilMin) > 0) {
753 array_multisort($KapitelGesamtVerweilMin, SORT_ASC, $KapitelGesamtVerweilMinID);
759 $KapitelSeitenSummeMax[$i] = $KapitelSeitenSumme[$i];
760 $KapitelSeitenSummeMaxID[$i] = $i;
763 if (count($KapitelGesamtVerweilMax) > 0) {
764 array_multisort($KapitelSeitenSummeMax, SORT_DESC, $KapitelSeitenSummeMaxID);
770 $summe += $KapitelZugriffMax2[$i];
772 if ($KapitelGesamtSeitenAnzEbene2 > 0) {
773 $KapitelDurchZugriffe2 = $summe / $KapitelGesamtSeitenAnzEbene2;
777 $summe += $KapitelZugriffMax3[$i];
779 if ($KapitelGesamtSeitenAnzEbene3 > 0) {
780 $KapitelDurchZugriffe3 = $summe / $KapitelGesamtSeitenAnzEbene3;
784 $summe += $KapitelZugriffMax4[$i];
786 if ($KapitelGesamtSeitenAnzEbene4 > 0) {
787 $KapitelDurchZugriffe4 = $summe / $KapitelGesamtSeitenAnzEbene4;
791 $summe += $KapitelZugriffMax5[$i];
793 if ($KapitelGesamtSeitenAnzEbene5 > 0) {
794 $KapitelDurchZugriffe5 = $summe / $KapitelGesamtSeitenAnzEbene5;
798 $knoten = $SeitenID[$i];
799 $tiefe = $seitenTiefe[$SeitenID[$i]];
802 $knoten = $vatizumkind[$knoten];
803 if (($seitenTiefe[$knoten] == 2) && ($KapitelDurchZugriffe2 > 0)) {
804 if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
805 $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
807 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor2) {
808 $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
810 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor3) {
811 $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
813 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor4) {
814 $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
816 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor5) {
817 $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
820 if (($seitenTiefe[$knoten] == 3) && ($KapitelDurchZugriffe3 > 0)) {
821 if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
822 $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
824 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor2) {
825 $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
827 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor3) {
828 $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
830 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor4) {
831 $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
833 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor5) {
834 $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
837 if (($seitenTiefe[$knoten] == 4) && ($KapitelDurchZugriffe4 > 0)) {
838 if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
839 $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
841 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor2) {
842 $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
844 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor3) {
845 $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
847 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor4) {
848 $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
850 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor5) {
851 $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
854 if (($seitenTiefe[$knoten] >= 5) && ($KapitelDurchZugriffe5 > 0)) {
855 if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
856 $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
858 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor2) {
859 $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
861 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor3) {
862 $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
864 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor4) {
865 $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
867 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor5) {
868 $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
871 $tiefe = $seitenTiefe[$knoten];
905 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_number");
906 $SeitenStatsWert[$slider] = round(
$Seitenanz);
908 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_number_access");
909 $SeitenStatsWert[$slider] = round($GesamtSeitenZugriffe).
"z";
911 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_total_dwell_time");
912 $SeitenStatsWert[$slider] =
ilLMStatistics::s_to_h($SessionGesamtDauerAll).
" (".round($SessionGesamtDauerAll).
"s)";
915 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_average_access");
916 $SeitenStatsWert[$slider] = round(($GesamtSeitenZugriffe /
$Seitenanz), 2).
"z";
919 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_median_access");
920 $SeitenStatsWert[$slider] = round($SeitenZugriffeMedian).
"z";
922 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_mode_access");
923 $SeitenStatsWert[$slider] = $lng->txt(
"stats_occurrence").
": ".round($ZugriffsWertMax).
" (#: ".$ZugriffsWertMaxAus.
" )";
925 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_range_access");
926 $SeitenStatsWert[$slider] = round($SeitenZugriffeSpannweite).
"z";
928 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_variance_access");
929 $SeitenStatsWert[$slider] = round($SeitenZugriffeVarianz, 2);
931 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_deviation_access");
932 $SeitenStatsWert[$slider] = round($SeitenZugriffeStandartAbw, 2).
"z";
934 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_varcoeff_access");
935 $SeitenStatsWert[$slider] = round($SeitenZugriffeVarKoef, 2);
937 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_average_dwell_time");
938 $SeitenStatsWert[$slider] = round($SeitenVerweildauerDurchschnitt, 2).
"s";
940 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_median_dwell_time");
941 $SeitenStatsWert[$slider] = round($VerweildauerMedian);
943 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_range_dwell_time");
944 $SeitenStatsWert[$slider] = round($SeitenVerweildauerSpannweite).
"s";
946 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_variance_dwell_time");
947 $SeitenStatsWert[$slider] = round($SeitenVerweildauerVarianz, 2);
949 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_deviation_dwell_time");
950 $SeitenStatsWert[$slider] = round($SeitenVerweildauerStandartAbw, 2).
"s";
952 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_varcoeff_dwell_time");
953 $SeitenStatsWert[$slider] = round($SeitenVerweildauerVarKoef, 2);
955 $slider = count($SeitenStatsWert);
959 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_longest_total_dwell_time").
"</b>";
960 $SeitenStatsWert[$slider] =
"";
961 for ($i = 0; $i < $RankAnzahl; $i ++) {
962 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenGesamtVerweilMaxID[$i]], 0, $TNA));
964 (is_numeric($SeitenGesamtVerweilMax[$i])?$SeitenGesamtVerweilMax[$i]:
"0").
"s, mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenGesamtVerweilMaxID[$i]])?$SeitenMessbareZugriffe[$SeitenGesamtVerweilMaxID[$i]]:
"0").
")";
966 $slider += $RankAnzahl + $hop;
968 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_stubbiest_total_dwell_time").
"</b>";
969 $SeitenStatsWert[$slider] =
"";
970 for ($i = 0; $i < $RankAnzahl; $i ++) {
971 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenGesamtVerweilMinID[$i]], 0, $TNA));
972 $SeitenStatsWert[$i +1 + $slider] =
973 round(is_numeric($SeitenGesamtVerweilMin[$i])?$SeitenGesamtVerweilMin[$i]:
"0").
"s (mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenGesamtVerweilMinID[$i]])?$SeitenMessbareZugriffe[$SeitenGesamtVerweilMinID[$i]]:
"0") .
")";
975 $slider += $RankAnzahl + $hop;
977 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_longest_average_dwell_time").
"</b>";
978 $SeitenStatsWert[$slider] =
"";
979 for ($i = 0; $i < $RankAnzahl; $i ++) {
980 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenDurchschnittVerweilMaxID[$i]], 0, $TNA));
981 $SeitenStatsWert[$i +1 + $slider] =
982 round(is_numeric($SeitenDurchschnittVerweilMax[$i])?$SeitenDurchschnittVerweilMax[$i]:0).
"s (mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMaxID[$i]])?$SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMaxID[$i]]:
"0").
")";
984 $slider += $RankAnzahl + $hop;
986 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_stubbiest_average_dwell_time").
"</b>";
987 $SeitenStatsWert[$slider] =
"";
988 for ($i = 0; $i < $RankAnzahl; $i ++) {
989 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenDurchschnittVerweilMinID[$i]], 0, $TNA));
990 $SeitenStatsWert[$i +1 + $slider] =
991 round($SeitenDurchschnittVerweilMin[$i]).
"s (mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMinID[$i]])?$SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMinID[$i]]:
"0").
")";
993 $slider += $RankAnzahl + $hop;
995 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_most_access").
"</b>";
996 $SeitenStatsWert[$slider] =
"";
997 for ($i = 0; $i < $RankAnzahl; $i ++) {
998 $SeitenStatsName[($i +1) + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenZugriffMaxID[$i]], 0, $TNA));
999 $SeitenStatsWert[($i +1) + $slider] = round($SeitenZugriffMax[$i]).
"z ";
1001 $slider += $RankAnzahl + $hop;
1003 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_fewest_access").
"</b>";
1004 $SeitenStatsWert[$slider] =
"";
1005 for ($i = 0; $i < $RankAnzahl; $i ++) {
1006 $SeitenStatsName[($i +1) + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenZugriffMinID[$i]], 0, $TNA));
1007 $SeitenStatsWert[($i +1) + $slider] = round($SeitenZugriffMin[$i]).
"z ";
1009 $slider += $RankAnzahl + $hop;
1011 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_highest_deviation").
"</b>";
1012 $SeitenStatsWert[$slider] =
"";
1013 for ($i = 0; $i < $RankAnzahl; $i ++) {
1014 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarMaxID[$i]], 0, $TNA));
1015 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarMax[$i]), 2).
" (mZ:"
1016 .(is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarMaxID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarMaxID[$i]]:0).
")";
1018 $slider += $RankAnzahl + $hop;
1020 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_least_deviation").
"</b>";
1021 $SeitenStatsWert[$slider] =
"";
1022 for ($i = 0; $i < $RankAnzahl; $i ++) {
1023 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarMinID[$i]], 0, $TNA));
1024 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarMin[$i]), 2).
" (mZ:".
1025 (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarMinID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarMinID[$i]]:0).
")";
1027 $slider += $RankAnzahl + $hop;
1029 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_highest_varcoeff").
"</b>";
1030 $SeitenStatsWert[$slider] =
"";
1031 for ($i = 0; $i < $RankAnzahl; $i ++) {
1032 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarKoefMaxID[$i]], 0, $TNA));
1033 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarKoefMax[$i]), 2).
" (mZ:".
1034 (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarKoefMaxID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarKoefMaxID[$i]]:0).
")";
1036 $slider += $RankAnzahl + $hop;
1038 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_lowest_varcoeff").
"</b>";
1039 $SeitenStatsWert[$slider] =
"";
1040 for ($i = 0; $i < $RankAnzahl; $i ++) {
1041 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarKoefMinID[$i]], 0, $TNA));
1042 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarKoefMin[$i]), 2).
" (mZ:".
1043 (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarKoefMinID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarKoefMinID[$i]]:0).
")";
1045 $slider += $RankAnzahl + $hop;
1047 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_interval_dwell_time").
"</b>";
1048 $SeitenStatsWert[$slider] =
"";
1050 for ($i = 1; $i <= count($IntervallMax); $i ++) {
1051 $SeitenStatsName[$i + $slider] = $IntervallMax[$i -1].$lng->txt(
"stats_sec").
" ".$lng->txt(
"stats_until").
" ".$IntervallMax[$i].
" ".$lng->txt(
"stats_sec").
":";
1052 $SeitenStatsWert[$i + $slider] = round($IntervallAnz[$i]).
"z";
1053 $summe += $IntervallAnz[$i];
1055 $slider += count($IntervallMax) + 1;
1057 $SeitenStatsName[$slider] = $lng->txt(
"stats_summation").
": ";
1058 $SeitenStatsWert[$slider] = $summe.
" ".$lng->txt(
"stats_accesses");
1062 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_interval_page_access").
"</b>";
1063 $SeitenStatsWert[$slider] =
"";
1065 for ($i = 1; $i <= count($IntervallSeitenMax); $i ++) {
1066 $SeitenStatsName[$i + $slider] = ($IntervallSeitenMax[$i -1] + 1).
" ".$lng->txt(
"stats_until").
" ".$IntervallSeitenMax[$i].
" ".$lng->txt(
"stats_accesses");
1067 $SeitenStatsWert[$i + $slider] = round($IntervallSeitenAnz[$i]).
" ".$lng->txt(
"stats_pages");
1068 $summe += $IntervallSeitenAnz[$i];
1070 $slider += count($IntervallSeitenMax) + 2;
1072 $SeitenStatsName[$slider] = $lng->txt(
"stats_summation").
": ";
1073 $SeitenStatsWert[$slider] = $summe.
" ".$lng->txt(
"stats_pages");
1079 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_number");
1080 $SessionStatsWert[$slider2] = round($Sessionanz);
1082 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_evaluable");
1083 $SessionStatsWert[$slider2] = round($MessbareSessions);
1085 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_involved_usr");
1086 $SessionStatsWert[$slider2] = round($UserAnz);
1088 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_evaluable_usr");
1089 $SessionStatsWert[$slider2] = round($UserMessbarAnz);
1091 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_evaluable_access");
1092 $SessionStatsWert[$slider2] = round($MessbareSessionZugriffe);
1094 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_average_page_access");
1095 $SessionStatsWert[$slider2] = round($SessionDurschnittsZeit, 4);
1097 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_total_duration");
1098 $SessionStatsWert[$slider2] =
ilLMStatistics::s_to_h($SessionGesamtDauerAll).
" (".$SessionGesamtDauerAll.$lng->txt(
"stats_sec").
")";
1100 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_average_length");
1106 $SessionStatsName[$slider2] =
"<b>".$lng->txt(
"stats_session_longest").
"</b>";
1107 $SessionStatsWert[$slider2] =
"";
1109 include_once(
"Services/Tracking/classes/class.ilObjUserTracking.php");
1114 for ($i = 0; $i < $RankAnzahl; $i ++) {
1115 $SessionStatsName[$i +1 + $slider2] = ($i +1).
". ".$lng->txt(
"stats_user").
" ". ($anonymous?$i+1:
ilObjUser::_lookupLogin($SessionUserID[$SessionGesamtDauerMaxID[$i]]));
1116 $SessionStatsWert[$i +1 + $slider2] =
ilLMStatistics::s_to_h($SessionGesamtDauerMax[$i]).
" (".$SessionGesamtDauerMax[$i].$lng->txt(
"stats_sec").
")";
1118 $slider2 += $RankAnzahl + $hop;
1120 $SessionStatsName[$slider2] =
"<b>".$lng->txt(
"stats_session_longest_total_duration_usr").
"</b>";
1121 $SessionStatsWert[$slider2] =
"";
1122 for ($i = 0; $i < $RankAnzahl; $i ++) {
1123 $SessionStatsName[$i +1 + $slider2] = ($i +1).
". ".$lng->txt(
"stats_user").
" ".($anonymous?$i+1:
ilObjUser::_lookupLogin($UserGesamtSessionsDauerMaxID[$i]));
1124 $SessionStatsWert[$i +1 + $slider2] =
ilLMStatistics::s_to_h($UserGesamtSessionsDauerMax[$i]).
" (".$UserGesamtSessionsDauerMax[$i].$lng->txt(
"stats_sec").
")";
1126 $slider2 += $RankAnzahl + $hop;
1128 $SessionStatsName[$slider2] =
"<b>".$lng->txt(
"stats_session_most").
":".
"</b>";
1129 $SessionStatsWert[$slider2] =
"";
1130 for ($i = 0; $i < $RankAnzahl; $i ++) {
1131 $SessionStatsName[$i +1 + $slider2] = ($i +1).
". ".$lng->txt(
"stats_user").
" ".($anonymous?$i+1:
ilObjUser::_lookupLogin($UserSessionAnzMaxID[$i]));
1132 $SessionStatsWert[$i +1 + $slider2] = round($UserSessionAnzMax[$i]).
" ".$lng->txt(
"stats_sessions");
1134 $slider2 += $RankAnzahl + $hop;
1141 $KapitelStatsName[$slider3] = $lng->txt(
"stats_chapter_number");
1144 $KapitelStatsName[$slider3] = $lng->txt(
"stats_depth").
" 0";
1145 $KapitelStatsWert[$slider3] = round($KapitelTiefe2Anzahl);
1147 $KapitelStatsName[$slider3] = $lng->txt(
"stats_depth").
" 1";
1148 $KapitelStatsWert[$slider3] = round($KapitelTiefe3Anzahl);
1150 $KapitelStatsName[$slider3] = $lng->txt(
"stats_depth").
" 2";
1151 $KapitelStatsWert[$slider3] = round($KapitelTiefe4Anzahl);
1153 $KapitelStatsName[$slider3] = $lng->txt(
"stats_depth").
" 3+";
1154 $KapitelStatsWert[$slider3] = round($KapitelTiefe5Anzahl);
1159 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_longest_total_dwell_time_depth").
" 0:".
"</b>";
1160 $KapitelStatsWert[$slider3] =
"";
1161 for ($i = 0; $i < min($KapitelTiefe2Anzahl,$RankAnzahl); $i ++) {
1162 $KapitelStatsName[$i + 1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID2[$i]], 0, $TNA));
1166 $slider3 += $i + $hop + 1;
1169 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_most_access_depth").
" 0:".
"</b>";
1170 $KapitelStatsWert[$slider3] =
"";
1171 for ($i = 0; $i < min($KapitelTiefe2Anzahl, $RankAnzahl); $i ++) {
1172 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID2[$i]], 0, $TNA));
1173 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax2[$i]).
" ".$lng->txt(
"stats_accesses");
1175 $slider3 += $i + $hop + 1;
1178 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_longest_total_dwell_time_depth").
" 1:".
"</b>";
1179 $KapitelStatsWert[$slider3] =
"";
1180 for ($i = 0; $i < min($KapitelTiefe3Anzahl, $RankAnzahl); $i ++) {
1181 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID3[$i]], 0, $TNA));
1185 $slider3 += $i + $hop + 1;
1187 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_most_access_depth").
" 1:".
"</b>";
1188 $KapitelStatsWert[$slider3] =
"";
1189 for ($i = 0; $i < min($KapitelTiefe3Anzahl, $RankAnzahl); $i ++) {
1190 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID3[$i]], 0, $TNA));
1191 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax3[$i]).
" ".$lng->txt(
"stats_accesses");
1193 $slider3 += $i + $hop + 1;
1196 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_longest_total_dwell_time_depth").
" 2:".
"</b>";
1197 $KapitelStatsWert[$slider3] =
"";
1198 for ($i = 0; $i < min($KapitelTiefe4Anzahl, $RankAnzahl); $i ++) {
1199 $KapitelStatsName[$i +1 + $slider3] = ($i + 1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID4[$i]], 0, $TNA));
1203 $slider3 += $i + $hop + 1;
1206 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_most_access_depth").
" 2:".
"</b>";
1207 $KapitelStatsWert[$slider3] =
"";
1208 for ($i = 0; $i < min($KapitelTiefe4Anzahl, $RankAnzahl); $i ++) {
1209 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID4[$i]], 0, $TNA));
1210 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax4[$i]).
" ".$lng->txt(
"stats_accesses");
1213 $slider3 += $i + $hop + 1;
1216 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_longest_total_dwell_time_depth").
" 3+:".
"</b>";
1217 $KapitelStatsWert[$slider3] =
"";
1218 for ($i = 0; $i < min($KapitelTiefe5Anzahl, $RankAnzahl); $i ++) {
1219 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID5[$i]], 0, $TNA));
1222 $slider3 += $i + $hop + 1;
1226 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_most_access_depth").
" 3+:".
"</b>";
1227 $KapitelStatsWert[$slider3] =
"";
1228 for ($i = 0; $i < min($KapitelTiefe5Anzahl, $RankAnzahl); $i ++) {
1229 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID5[$i]], 0, $TNA));
1230 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax5[$i]).
" ".$lng->txt(
"stats_accesses");
1233 $slider3 += $i + $hop + 1;
1235 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_stubbiest_total_dwell_time").
":".
"</b>";
1236 $KapitelStatsWert[$slider3] =
"";
1237 for ($i = 0; $i < $RankAnzahl; $i ++) {
1238 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMinID[$i]], 0, $TNA));
1241 $slider3 += $RankAnzahl + $hop;
1243 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_fewest_access").
":".
"</b>";
1244 $KapitelStatsWert[$slider3] =
"";
1245 for ($i = 0; $i < $RankAnzahl; $i ++) {
1246 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMinID[$i]], 0, $TNA));
1247 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMin[$i]).
" ".$lng->txt(
"stats_accesses");
1249 $slider3 += $RankAnzahl + $hop;
1251 $slider3save = $slider3;
1254 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_depth_coverage").
" 0:".
"</b>";
1255 $KapitelStatsWertA1[$slider3] = $lng->txt(
"stats_accesses").
">0";
1256 $KapitelStatsWertA2[$slider3] =
">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor2);
1257 $KapitelStatsWertA3[$slider3] =
">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor3);
1258 $KapitelStatsWertA4[$slider3] =
">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor4);
1259 $KapitelStatsWertA5[$slider3] =
">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor5);
1263 if ($seitenTiefe[$KapitelID[$i]] == 2) {
1264 if ($KapitelSeitenSumme[$i] > 0) {
1266 $KapitelStatsName[$u +1 + $slider3] = $u.
". ".str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)).
" (".$KapitelSeitenSumme[$i].
" ".$lng->txt(
"stats_pages").
")";
1275 $slider3 += $u + $hop +2;
1278 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_depth_coverage").
" 1:".
"</b>";
1279 $KapitelStatsWertA1[$slider3] = $lng->txt(
"stats_accesses").
">0";
1280 $KapitelStatsWertA2[$slider3] =
">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor2);
1281 $KapitelStatsWertA3[$slider3] =
">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor3);
1282 $KapitelStatsWertA4[$slider3] =
">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor4);
1283 $KapitelStatsWertA5[$slider3] =
">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor5);
1286 if ($seitenTiefe[$KapitelID[$i]] == 3) {
1287 if ($KapitelSeitenSumme[$i] > 0) {
1289 $KapitelStatsName[$u +1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)).
" (".$KapitelSeitenSumme[$i].
" ".$lng->txt(
"stats_pages").
")";
1298 $slider3 += $u + $hop +2;
1301 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_depth_coverage").
" 2:".
"</b>";
1302 $KapitelStatsWertA1[$slider3] = $lng->txt(
"stats_accesses").
">0";
1303 $KapitelStatsWertA2[$slider3] =
">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor2);
1304 $KapitelStatsWertA3[$slider3] =
">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor3);
1305 $KapitelStatsWertA4[$slider3] =
">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor4);
1306 $KapitelStatsWertA5[$slider3] =
">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor5);
1309 if ($seitenTiefe[$KapitelID[$i]] == 4) {
1310 if ($KapitelSeitenSumme[$i] > 0) {
1312 $KapitelStatsName[$u +1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)).
" (".$KapitelSeitenSumme[$i].
" ".$lng->txt(
"stats_pages").
")";
1321 $slider3 += $u + $hop +2;
1324 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_depth_coverage").
" 3+:".
"</b>";
1325 $KapitelStatsWertA1[$slider3] = $lng->txt(
"stats_accesses").
">0";
1326 $KapitelStatsWertA2[$slider3] =
">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor2);
1327 $KapitelStatsWertA3[$slider3] =
">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor3);
1328 $KapitelStatsWertA4[$slider3] =
">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor4);
1329 $KapitelStatsWertA5[$slider3] =
">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor5);
1332 if ($seitenTiefe[$KapitelID[$i]] == 5) {
1333 if ($KapitelSeitenSumme[$i] > 0) {
1335 $KapitelStatsName[$u +1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)).
" (".$KapitelSeitenSumme[$i].
" ".$lng->txt(
"stats_pages").
")";
1344 $slider3 += $u + $hop +2;
1348 if (
$_POST[
"stat"] ==
'u') {
1370 $delim2 =
" sName ";
1376 $delim3 =
" kName ";
1388 include_once
"./Services/Table/classes/class.ilTableGUI.php";
1390 $tpl->addBlockfile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_statistics_result.html",
"Services/Tracking");
1391 $tpl->addBlockFile(
"STATUSLINE",
"statusline",
"tpl.statusline.html");
1392 $tpl->addBlockfile(
"TRACK_TABLE",
"track_table",
"tpl.table.html");
1393 $tpl->addBlockfile(
"TBL_CONTENT",
"tbl_content",
"tpl.obj_tbl_rows.html");
1395 if (
$_POST[
"stat"] ==
'd') {
1396 $title_new = array (
"time",
"",
"",
"",
"",
"");
1398 $title_new = array (
"time",
"count");
1402 $tbl->setTitle($lng->txt(
"obj_trac"), 0);
1403 foreach ($title_new as $val) {
1404 $header_names[] = $lng->txt($val);
1406 $tbl->disable(
"sort");
1407 $tbl->setHeaderNames($header_names);
1408 if (
$_POST[
"stat"] ==
'h') {
1412 if (
$_POST[
"stat"] ==
'd') {
1413 $num = $slider3save + $slider3 + 1;
1416 if (
$_POST[
"stat"] ==
'o') {
1423 $tbl->setStyle(
"table",
"std");
1426 if (
$_POST[
"stat"] ==
'h') {
1427 for ($i = 0; $i < $num; $i ++) {
1428 $data[0] = $SeitenStatsName[$i];
1429 $data[1] = $SeitenStatsWert[$i];
1430 $css_row = $i % 2 == 0 ?
"tblrow1" :
"tblrow2";
1431 foreach ($data as $key => $val) {
1432 $tpl->setCurrentBlock(
"text");
1433 $tpl->setVariable(
"TEXT_CONTENT", $val);
1434 $tpl->parseCurrentBlock();
1435 $tpl->setCurrentBlock(
"table_cell");
1436 $tpl->parseCurrentBlock();
1438 $tpl->setCurrentBlock(
"tbl_content");
1439 $tpl->setVariable(
"CSS_ROW", $css_row);
1440 $tpl->parseCurrentBlock();
1442 $tpl->parseCurrentBlock();
1444 if (
$_POST[
"stat"] ==
'd') {
1445 for ($i = 1; $i < $slider3save; $i ++) {
1446 $data[0] = $KapitelStatsName[$i];
1447 $data[1] = $KapitelStatsWert[$i];
1452 $css_row = $i % 2 == 0 ?
"tblrow1" :
"tblrow2";
1453 foreach ($data as $key => $val) {
1454 $tpl->setCurrentBlock(
"text");
1455 $tpl->setVariable(
"TEXT_CONTENT", $val);
1456 $tpl->parseCurrentBlock();
1457 $tpl->setCurrentBlock(
"table_cell");
1458 $tpl->parseCurrentBlock();
1460 $tpl->setCurrentBlock(
"tbl_content");
1461 $tpl->setVariable(
"CSS_ROW", $css_row);
1462 $tpl->parseCurrentBlock();
1465 for ($i = $slider3save; $i < $slider3; $i ++) {
1466 $data[0] = $KapitelStatsName[$i];
1467 $data[1] = $KapitelStatsWertA1[$i];
1468 $data[2] = $KapitelStatsWertA2[$i];
1469 $data[3] = $KapitelStatsWertA3[$i];
1470 $data[4] = $KapitelStatsWertA4[$i];
1471 $data[5] = $KapitelStatsWertA5[$i];
1472 $css_row = $i % 2 == 0 ?
"tblrow1" :
"tblrow2";
1473 foreach ($data as $key => $val) {
1474 $tpl->setCurrentBlock(
"text");
1475 $tpl->setVariable(
"TEXT_CONTENT", $val);
1476 $tpl->parseCurrentBlock();
1477 $tpl->setCurrentBlock(
"table_cell");
1478 $tpl->parseCurrentBlock();
1480 $tpl->setCurrentBlock(
"tbl_content");
1481 $tpl->setVariable(
"CSS_ROW", $css_row);
1482 $tpl->parseCurrentBlock();
1484 $tpl->parseCurrentBlock();
1486 if (
$_POST[
"stat"] ==
'o') {
1487 for ($i = 0; $i < $num; $i ++) {
1488 $data[0] = $SessionStatsName[$i];
1489 $data[1] = $SessionStatsWert[$i];
1490 $css_row = $i % 2 == 0 ?
"tblrow1" :
"tblrow2";
1491 foreach ($data as $key => $val) {
1492 $tpl->setCurrentBlock(
"text");
1493 $tpl->setVariable(
"TEXT_CONTENT", $val);
1494 $tpl->parseCurrentBlock();
1495 $tpl->setCurrentBlock(
"table_cell");
1496 $tpl->parseCurrentBlock();
1498 $tpl->setCurrentBlock(
"tbl_content");
1499 $tpl->setVariable(
"CSS_ROW", $css_row);
1500 $tpl->parseCurrentBlock();
1502 $tpl->parseCurrentBlock();
1504 $tpl->setCurrentBlock(
"adm_content");
1505 $tpl->setVariable(
"TXT_TIME_PERIOD", $lng->txt(
"time_segment"));
1506 switch (
$_POST[
"stat"]) {
1508 $tpl->setVariable(
"TXT_STATISTIC", $lng->txt(
"stats_pages_statisics"));
1509 $tpl->setVariable(
"TXT_TRACKED_HELP", $lng->txt(
"help"));
1510 $tpl->setVariable(
"VAL_TRACKED_HELP_LINK",
"<a href='".MODULE_URL.
"/docs/pagestats_help.html' target='_blank'>".
"Link".
"</a>");
1513 $tpl->setVariable(
"TXT_STATISTIC", $lng->txt(
"stats_navigation"));
1516 $tpl->setVariable(
"TXT_STATISTIC", $lng->txt(
"stats_chapter_statisics"));
1517 $tpl->setVariable(
"TXT_TRACKED_HELP", $lng->txt(
"help"));
1518 $tpl->setVariable(
"VAL_TRACKED_HELP_LINK",
"<a href='".MODULE_URL.
"/docs/chapterstats_help.html' target='_blank'>".
"Link".
"</a>");
1521 $tpl->setVariable(
"TXT_STATISTIC", $lng->txt(
"stats_sessions_statisics"));
1522 $tpl->setVariable(
"TXT_TRACKED_HELP", $lng->txt(
"help"));
1523 $tpl->setVariable(
"VAL_TRACKED_HELP_LINK",
"<a href='".MODULE_URL.
"/docs/sessionstats_help.html' target='_blank'>".
"Link".
"</a>");
1526 $tpl->setVariable(
"VAL_DATEF", date(
"Y-m-d", mktime(0, 0, 0, $monthf, $dayf, $yearf)));
1527 $tpl->setVariable(
"TXT_TO", $lng->txt(
"to"));
1528 $tpl->setVariable(
"VAL_DATET", date(
"Y-m-d", mktime(0, 0, 0, $montht, $dayt, $yeart)));
1529 $tpl->setVariable(
"TXT_USER_LANGUAGE", $lng->txt(
"user_language"));
1530 if (
$_POST[
"language"] ==
"0") {
1531 $tpl->setVariable(
"VAL_LANGUAGE", $lng->txt(
"any_language"));
1533 $lng->loadLanguageModule(
"meta");
1534 $tpl->setVariable(
"VAL_LANGUAGE", $lng->txt(
"meta_l_".$_POST[
"language"]));
1536 $rLehrmodulID =
$_SESSION[
"il_track_rlm_id"];
1537 $LehrmodulName =
$_SESSION[
"il_track_lm_name"];
1538 $tpl->setVariable(
"TXT_TRACKED_OBJECTS", $lng->txt(
"tracked_objects"));
1539 $tpl->setVariable(
"VAL_TRACKED_OBJECTS", $LehrmodulName[$rLehrmodulID[
$_POST[
"lmID"]]]);
1540 $tpl->setVariable(
"LEGENDE", $lng->txt(
"stats_legend"));
1541 $tpl->setVariable(
"VAL_LEGENDE_MZ", $lng->txt(
"stats_measurable_hits"));
1542 $tpl->setVariable(
"VAL_LEGENDE_Z", $lng->txt(
"stats_hits"));
1543 $tpl->setVariable(
"LEGENDE_MZ",
"mz");
1544 $tpl->setVariable(
"LEGENDE_Z",
"z");
1545 $tpl->parseCurrentBlock();
1566 $tpl->setVariable(
"Sprache",
"<param name='Sprache' value= '".$ilias->account->prefs[
"language"].
"'>");
1567 $tpl->setVariable(
"Seitenanz2",
"<param name='Seitenanz2' value= '".$this->Seitenanz.
"'>");
1568 $tpl->setVariable(
"KapitelZuSeite2",
"<param name='KapitelZuSeite2' value= '".$this->KapitelZuSeite2.
"'>");
1569 $tpl->setVariable(
"SessionVonNach2",
"<param name='SessionVonNach2' value= '".$this->SessionVonNach2.
"'>");
1570 $tpl->setVariable(
"Kapitelanz2",
"<param name='Kapitelanz2' value= '".$this->Kapitelanz.
"'>");
1571 $tpl->setVariable(
"KapitelVonNach2",
"<param name='KapitelVonNach2' value= '".$this->KapitelVonNach2.
"'>");
1572 $tpl->setVariable(
"OberkapitelZuKapitel2",
"<param name='OberkapitelZuKapitel2' value= '".$this->OberkapitelZuKapitel2.
"'>");
1573 $tpl->setVariable(
"Seitenname2",
"<param name='Seitenname2' value= '".$this->Seitenname2.
"'>");
1574 $tpl->setVariable(
"Kapitelname2",
"<param name='Kapitelname2' value= '".$this->Kapitelname2.
"'>");
1576 include_once
"./Services/Table/classes/class.ilTableGUI.php";
1577 $tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_statistics_result_applet.html",
true);
1578 $tpl->addBlockFile(
"STATUSLINE",
"statusline",
"tpl.statusline.html");
1579 $tpl->setVariable(
"TXT_TRACKED_OBJECTS2",
"Beobachtungsmodell");
1580 $tpl->setVariable(
"CODEBASE", MODULE_URL.
"/lib");
1581 $tpl->setCurrentBlock(
"adm_content");
1582 $tpl->parseCurrentBlock();
1601 for ($i = 0; $i < count($arr); $i ++) {
1602 $summe += ($arr[$i] - $mittelwert) * ($arr[$i] - $mittelwert);
1604 return $summe / (count($arr));
1608 $stund = floor($sek / 3600);
1609 $min = floor(($sek - $stund * 3600) / 60);
1610 $restsek = ($sek - $stund * 3600 - $min * 60);
1611 return $stund.
"h,".$min.
"m,".$restsek.
"s";
1617 $min = floor($sek / 60);
1618 $restsek = ($sek - $min * 60);
1619 return $min.
"m,".round($restsek).
"s";
1646 define(MODULE_URL, ILIAS_HTTP_PATH.
"/Services/Tracking");