49 $this->lm_id = $obj_id;
64 $LehrModulID = $this->lm_ID;
68 $_SESSION[
"il_track_yearf"] = $_POST[
"yearf"];
69 $_SESSION[
"il_track_yeart"] = $_POST[
"yeart"];
71 $_SESSION[
"il_track_monthf"] = $_POST[
"monthf"];
72 $_SESSION[
"il_track_montht"] = $_POST[
"montht"];
73 $_SESSION[
"il_track_dayf"] = $_POST[
"dayf"];
74 $_SESSION[
"il_track_dayt"] = $_POST[
"dayt"];
75 $_SESSION[
"il_track_stat"] = $_POST[
"stat"];
76 $_SESSION[
"il_track_language"] = $_POST[
"language"];
77 $_SESSION[
"il_track_author"] = $_POST[
"author"];
78 $_SESSION[
"il_track_author1"] = $_POST[
"author1"];
79 $_SESSION[
"il_track_lm"] = $_POST[
"lmID"];
80 $_SESSION[
"il_track_tst"] = $_POST[
"tst"];
81 $_SESSION[
"il_object_type"] = $_POST[
"object_type"];
82 $_SESSION[
"il_track_stat2"] = $_POST[
"stat2"];
86 $yearf = $_POST[
"yearf"];
87 $monthf = $_POST[
"monthf"];
88 $dayf = $_POST[
"dayf"];
89 $yeart = $_POST[
"yeart"];
90 $montht = $_POST[
"montht"];
91 $dayt = $_POST[
"dayt"];
92 $from = $yearf.
"-".$monthf.
"-".$dayf.
" 00:00:00";
93 $to = $yeart.
"-".$montht.
"-".$dayt.
" 23:59:59";
106 $stringUserID = $stringUserID.$result_id.
",";
108 $stringUserID = substr($stringUserID, 0, -1);
109 $stringUserID = $stringUserID.
")";
115 $SessionMaxVerweildauer = 1800;
116 $IntervallMax[1] = 10;
117 $IntervallMax[2] = 30;
118 $IntervallMax[3] = 60;
119 $IntervallMax[4] = 120;
120 $IntervallMax[5] = 600;
121 $IntervallMax[6] = $SessionMaxVerweildauer;
122 $IntervallSeitenMax[0] = -1;
123 $IntervallSeitenMax[1] = 0;
124 $IntervallSeitenMax[2] = 1;
125 $IntervallSeitenMax[3] = 5;
126 $IntervallSeitenMax[4] = 20;
127 $IntervallSeitenMax[5] = 50;
128 $RankBenoetigteZugriffe = 1;
131 $KapitelAbdeckungsKennzahlFaktor2 = 0.5;
132 $KapitelAbdeckungsKennzahlFaktor3 = 1.0;
133 $KapitelAbdeckungsKennzahlFaktor4 = 1.5;
134 $KapitelAbdeckungsKennzahlFaktor5 = 2.0;
140 $q =
"SELECT child, parent,depth FROM lm_tree";
141 $result = $ilias->db->query($q);
142 while ($row =
$result->fetchRow()) {
143 $vatizumkind[$row[0]] = $row[1];
144 $seitenTiefe[$row[0]] = $row[2];
149 $q =
"SELECT obj_id,title,type,lm_id FROM lm_data WHERE lm_id='".$LehrModulID.
"'";
151 $result = $ilias->db->query($q);
152 while ($row =
$result->fetchRow()) {
156 if ($row[2] ==
'st') {
163 if ($row[2] ==
'pg') {
174 if ($_POST[
"stat2"] ==
'all') {
175 $q =
"SELECT id, user_id,acc_obj_id,acc_sub_id,session_id, acc_time FROM ut_access WHERE acc_obj_id='".$LehrModulID.
"' AND acc_time>'".
$from.
"' AND acc_time<'".
$to.
"' ";
177 $q =
"SELECT id, user_id, acc_obj_id, acc_sub_id, session_id, acc_time FROM ut_access WHERE acc_obj_id='".$LehrModulID.
"' AND acc_time>'".
$from.
"' AND acc_time<'".
$to.
"' AND user_id IN ".$stringUserID.
" ";
179 $result = $ilias->db->query($q);
181 while ($row =
$result->fetchRow()) {
183 if (($rSeitenID[$row[3]] != 0) && ($rKapitelID[$vatizumkind[$row[3]]] != 0)) {
185 if ($row[1] > $UserTopID) {
186 $UserTopID = $row[1];
189 $UserZugriffe[$row[1]]++;
190 $SeitenZugriffe[$rSeitenID[$row[3]]]++;
191 $GesamtSeitenZugriffe ++;
192 $KapitelSeitenZugriffe[$rKapitelID[$vatizumkind[$row[3]]]]++;
197 for ($i = 0; $i <= count($SessionCheck[$row[1]]); $i ++) {
198 if ($row[4] == $SessionCheck[$row[1]][$i][0]) {
199 $pos = $SessionCheck[$row[1]][$i][1];
210 $SessionGesamtZugriffe ++;
211 $SessionEndSekundeDummy[$pos] = (substr($row[5], -2));
212 $SessionEndMinuteDummy[$pos] = (substr($row[5], -5, 2));
213 $SessionEndStundeDummy[$pos] = (substr($row[5], -8, 2));
214 $SessionEndGesamt = $SessionEndSekundeDummy[$pos] + $SessionEndMinuteDummy[$pos] * 60 + $SessionEndStundeDummy[$pos] * 60 * 60;
216 if (($SessionEndGesamt - $SessionStartGesamt[$pos]) > 0) {
217 $SessionZugriffDifferenz = $SessionEndGesamt - $SessionStartGesamt[$pos];
220 if ($SessionZugriffDifferenz < $SessionMaxVerweildauer) {
224 if ($SessionZugriffDifferenz <= $IntervallMax[1]) {
227 if ($SessionZugriffDifferenz <= $IntervallMax[2]) {
230 if ($SessionZugriffDifferenz <= $IntervallMax[3]) {
233 if ($SessionZugriffDifferenz <= $IntervallMax[4]) {
236 if ($SessionZugriffDifferenz <= $IntervallMax[5]) {
242 $MessbareSessionZugriffe ++;
244 $SessionsVerweildauer[$MessbareSessionZugriffe] = $SessionZugriffDifferenz;
246 if ($SessionZugriffe[$pos] == 1) {
247 $MessbareSessions ++;
248 $UserSessionAnz[$row[1]]++;
251 $SessionZugriffe[$pos]++;
252 $SeitenVerweildauerListe[$rSeitenID[$row[3]]][$SeitenMessbareZugriffe[$rSeitenID[$row[3]]]] = $SessionZugriffDifferenz;
253 $SeitenMessbareZugriffe[$rSeitenID[$row[3]]]++;
254 $SessionEndTime[$pos] = $row[5];
255 $SessionStartGesamt[$pos] = $SessionEndGesamt;
256 $SessionGesamtDauerAll += $SessionZugriffDifferenz;
257 $SessionGesamtDauer[$pos] += $SessionZugriffDifferenz;
258 $UserGesamtSessionsDauer[$row[1]] += $SessionZugriffDifferenz;
259 $UserSessionZugriffe[$row[1]]++;
260 $SeiteGesamtVerweilZeit[$rSeitenID[$row[3]]] += $SessionZugriffDifferenz;
262 $SessionVonNach[$SessionQuellSeite[$pos]][$rSeitenID[$row[3]]]++;
263 $KapitelVonNach[$rKapitelID[$vatizumkind[$SeitenID[$SessionQuellSeite[$pos]]]]][$rKapitelID[$vatizumkind[$row[3]]]]++;
264 $SessionQuellSeite[$pos] = $rSeitenID[$row[3]];
274 if ($checkS ==
false) {
278 $aktSessionAnzahlUser = count($SessionCheck[$row[1]]) + 1;
279 $SessionCheck[$row[1]][$aktSessionAnzahlUser][0] = $row[4];
280 $SessionCheck[$row[1]][$aktSessionAnzahlUser][1] = $Sessionanz;
282 $SessionZugriffe[$Sessionanz] = 1;
283 $SessionID[$Sessionanz] = $row[4];
284 $SessionUserID[$Sessionanz] = $row[1];
285 $SessionStartTime[$Sessionanz] = $row[5];
287 $SessionQuellSeite[$Sessionanz] = $rSeitenID[$row[3]];
288 $SessionStartSekunde[$Sessionanz] = (substr($SessionStartTime[$Sessionanz], -2));
289 $SessionStartMinute[$Sessionanz] = (substr($SessionStartTime[$Sessionanz], -5, 2));
290 $SessionStartStunde[$Sessionanz] = (substr($SessionStartTime[$Sessionanz], -8, 2));
291 $SessionStartGesamt[$Sessionanz] = $SessionStartSekunde[$Sessionanz] + $SessionStartMinute[$Sessionanz] * 60 + $SessionStartStunde[$Sessionanz] * 60 * 60;
306 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[1]) {
307 $IntervallSeitenAnz[1]++;
309 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[2]) {
310 $IntervallSeitenAnz[2]++;
312 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[3]) {
313 $IntervallSeitenAnz[3]++;
315 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[4]) {
316 $IntervallSeitenAnz[4]++;
318 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[5]) {
319 $IntervallSeitenAnz[5]++;
321 $IntervallSeitenAnz[6]++;
329 if (count($SessionsVerweildauer) > 0) {
330 sort($SessionsVerweildauer);
334 if ($MessbareSessions > 0) {
335 $SessionDurchschnittsDauer = $SessionGesamtDauerAll / $MessbareSessions;
339 if ($MessbareSessionZugriffe > 0) {
340 $SeitenVerweildauerDurchschnitt = $SessionGesamtDauerAll / $MessbareSessionZugriffe;
345 $SeitenVerweildauerSpannweite = $SessionsVerweildauer[$MessbareSessionZugriffe -1] - $SessionsVerweildauer[0];
349 if ($MessbareSessionZugriffe % 2 == 0) {
351 $VerweildauerMedianPosA = ($MessbareSessionZugriffe) / 2;
352 $VerweildauerMedianPosB = ($MessbareSessionZugriffe +1) / 2 + 1;
353 $VerweildauerMedian = ($SessionsVerweildauer[$VerweildauerMedianPosA -1] + $SessionsVerweildauer[$VerweildauerMedianPosB -1]) / 2;
355 $VerweildauerMedianPos = ($MessbareSessionZugriffe +1) / 2;
356 $VerweildauerMedian = $SessionsVerweildauer[$VerweildauerMedianPos -1];
361 $SeitenVerweildauerStandartAbw = sqrt($SeitenVerweildauerVarianz);
363 if ($SeitenVerweildauerStandartAbw > 0) {
364 $SeitenVerweildauerVarKoef = $SeitenVerweildauerDurchschnitt / $SeitenVerweildauerStandartAbw;
370 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
371 $SeitenGesamtVerweilMax[$i] = $SeiteGesamtVerweilZeit[$i];
372 $SeitenGesamtVerweilMaxID[$i] = $i;
376 if (count($SeitenGesamtVerweilMax) > 0) {
377 array_multisort($SeitenGesamtVerweilMax, SORT_DESC, $SeitenGesamtVerweilMaxID);
383 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
384 $SeitenGesamtVerweilMin[$i] = $SeiteGesamtVerweilZeit[$i];
385 $SeitenGesamtVerweilMinID[$i] = $i;
389 if (count($SeitenGesamtVerweilMin) > 0) {
390 array_multisort($SeitenGesamtVerweilMin, SORT_ASC, $SeitenGesamtVerweilMinID);
396 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
397 $SeitenDurchschnittVerweilMax[$i] = $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i];
398 $SeitenDurchschnittVerweilMaxID[$i] = $i;
401 if (count($SeitenDurchschnittVerweilMax) > 0) {
402 array_multisort($SeitenDurchschnittVerweilMax, SORT_DESC, $SeitenDurchschnittVerweilMaxID);
408 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
409 $SeitenDurchschnittVerweilMin[$i] = $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i];
410 $SeitenDurchschnittVerweilMinID[$i] = $i;
413 if (count($SeitenDurchschnittVerweilMin) > 0) {
414 array_multisort($SeitenDurchschnittVerweilMin, SORT_ASC, $SeitenDurchschnittVerweilMinID);
421 for ($i = 1; $i <= $UserTopID; $i ++) {
422 if ($UserGesamtSessionsDauer[$i] > 0) {
423 $UserGesamtSessionsDauerMax[$i] = $UserGesamtSessionsDauer[$i];
424 $UserGesamtSessionsDauerMaxID[$i] = $i;
426 $UserGesamtSessionsDauerMax[$i] =
"";
427 $UserGesamtSessionsDauerMaxID[$i] =
"";
430 if (count($UserGesamtSessionsDauerMax) > 0) {
431 array_multisort($UserGesamtSessionsDauerMax, SORT_DESC, $UserGesamtSessionsDauerMaxID);
436 for ($i = 1; $i <= $UserTopID; $i ++) {
437 if ($UserSessionAnz[$i] > 0) {
438 $UserSessionAnzMax[$i] = $UserSessionAnz[$i];
439 $UserSessionAnzMaxID[$i] = $i;
441 $UserSessionAnzMax[$i] =
"";
442 $UserSessionAnzMaxID[$i] =
"";
445 if (count($UserSessionAnzMax) > 0) {
446 array_multisort($UserSessionAnzMax, SORT_DESC, $UserSessionAnzMaxID);
451 for ($i = 0; $i <= $UserTopID; $i ++) {
452 if ($UserZugriffe[$i] > 0) {
457 for ($i = 0; $i <= $UserTopID; $i ++) {
458 if ($UserSessionAnz[$i] > 0) {
469 if ($SeitenZugriffe[$i] > 0) {
470 $SeitenZugriffMax[$i] = $SeitenZugriffe[$i];
471 $SeitenZugriffMaxID[$i] = $i;
473 $SeitenZugriffMax[$i] =
"";
474 $SeitenZugriffMaxID[$i] =
"";
478 if (count($SeitenZugriffMax) > 0) {
479 array_multisort($SeitenZugriffMax, SORT_DESC, $SeitenZugriffMaxID);
486 if ($SeitenZugriffe[$i] > 0) {
487 $SeitenZugriffMin[$i] = $SeitenZugriffe[$i];
488 $SeitenZugriffMinID[$i] = $i;
490 $SeitenZugriffMin[$i] =
"";
491 $SeitenZugriffMinID[$i] = $i;
495 if (count($SeitenZugriffMin) > 0) {
496 array_multisort($SeitenZugriffMin, SORT_ASC, $SeitenZugriffMinID);
501 if (count($SeitenZugriffMax) % 2 == 0) {
503 $SeitenZugriffeMedianPosA = (count($SeitenZugriffMax)) / 2;
504 $SeitenZugriffeMedianPosB = (count($SeitenZugriffMax) + 1) / 2 + 1;
505 $SeitenZugriffeMedian = ($SeitenZugriffMax[$SeitenZugriffeMedianPosA -1] + $SeitenZugriffMax[$SeitenZugriffeMedianPosB -1]) / 2;
507 $SeitenZugriffeMedianPos = (count($SeitenZugriffMax) + 1) / 2;
508 $SeitenZugriffeMedian = $SeitenZugriffMax[$SeitenZugriffeMedianPos -1];
513 $SeitenZugriffeSpannweite = $SeitenZugriffMax[0] - $SeitenZugriffMax[count($SeitenZugriffMax) - 1];
518 $ZugriffsWert[$SeitenZugriffe[$i]]++;
519 if ($SeitenZugriffe[$i] > $MaxZW) {
520 $MaxZW = $SeitenZugriffe[$i];
523 for ($i = 0; $i <= $MaxZW; $i ++) {
524 if ($ZugriffsWert[$i] > $ZugriffsWertMaxAus) {
525 $ZugriffsWertMaxAus = $ZugriffsWert[$i];
526 $ZugriffsWertMax = $i;
535 $SeitenZugriffeStandartAbw = sqrt($SeitenZugriffeVarianz);
538 $SeitenZugriffeVarKoef = $SeitenZugriffeStandartAbw / ($GesamtSeitenZugriffe /
$Seitenanz);
545 for ($i = 1; $i <= $Sessionanz; $i ++) {
546 $SessionGesamtDauerMax[$i] = $SessionGesamtDauer[$i];
547 $SessionGesamtDauerMaxID[$i] = $i;
550 if (count($SessionGesamtDauerMax) > 0) {
551 array_multisort($SessionGesamtDauerMax, SORT_DESC, $SessionGesamtDauerMaxID);
554 if ($Sessionanz > 0) {
555 $SessionDurschnittsZeit = $GesamtSeitenZugriffe / $Sessionanz;
561 if ($SeitenMessbareZugriffe[$i] > 0) {
562 $EinzelSeitenVarianz[$i] =
ilLMStatistics::varianzSV($SeitenVerweildauerListe[$i], $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i]);
563 if ($EinzelSeitenVarianz[$i] > 0) {
564 $EinzelSeitenVarKoef[$i] = ($SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i]) / sqrt($EinzelSeitenVarianz[$i]);
570 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
571 $EinzelSeitenVarMax[$i] = $EinzelSeitenVarianz[$i];
572 $EinzelSeitenVarMaxID[$i] = $i;
575 if (count($EinzelSeitenVarMax) > 0) {
576 array_multisort($EinzelSeitenVarMax, SORT_DESC, $EinzelSeitenVarMaxID);
581 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
582 $EinzelSeitenVarMin[$i] = $EinzelSeitenVarianz[$i];
583 $EinzelSeitenVarMinID[$i] = $i;
586 if (count($EinzelSeitenVarMin) > 0) {
587 array_multisort($EinzelSeitenVarMin, SORT_ASC, $EinzelSeitenVarMinID);
592 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
593 $EinzelSeitenVarKoefMax[$i] = $EinzelSeitenVarKoef[$i];
594 $EinzelSeitenVarKoefMaxID[$i] = $i;
597 if (count($EinzelSeitenVarKoefMax) > 0) {
598 array_multisort($EinzelSeitenVarKoefMax, SORT_DESC, $EinzelSeitenVarKoefMaxID);
603 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
604 $EinzelSeitenVarKoefMin[$i] = $EinzelSeitenVarKoef[$i];
605 $EinzelSeitenVarKoefMinID[$i] = $i;
608 if (count($EinzelSeitenVarKoefMin) > 0) {
609 array_multisort($EinzelSeitenVarKoefMin, SORT_ASC, $EinzelSeitenVarKoefMinID);
618 $KapitelAbdeckungsKennzahl1 = 1;
622 $knoten = $SeitenID[$i];
623 $tiefe = $seitenTiefe[$SeitenID[$i]];
627 $knoten = $vatizumkind[$knoten];
628 $KapitelZugriffe[$rKapitelID[$knoten]] += $SeitenZugriffe[$i];
629 $KapitelGesamtVerweilZeit[$rKapitelID[$knoten]] += $SeiteGesamtVerweilZeit[$i];
630 $KapitelMessbareZugriffe[$rKapitelID[$knoten]] += $SeitenMessbareZugriffe[$i];
631 $KapitelSeitenSumme[$rKapitelID[$knoten]]++;
633 $KapitelGesamtSeitenAnzEbene2 ++;
636 $KapitelGesamtSeitenAnzEbene3 ++;
639 $KapitelGesamtSeitenAnzEbene4 ++;
642 $KapitelGesamtSeitenAnzEbene5 ++;
644 $tiefe = $seitenTiefe[$knoten];
652 if ($seitenTiefe[$KapitelID[$i]] == 2) {
654 $KapitelTiefe2Anzahl ++;
656 if ($KapitelZugriffe[$i] > 0) {
657 $KapitelZugriffMax2[$i] = $KapitelZugriffe[$i];
658 $KapitelZugriffMaxID2[$i] = $i;
660 $KapitelZugriffMax2[$i] =
"";
661 $KapitelZugriffMaxID2[$i] = $i;
664 if ($seitenTiefe[$KapitelID[$i]] == 3) {
665 $KapitelTiefe3Anzahl ++;
666 if ($KapitelZugriffe[$i] > 0) {
667 $KapitelZugriffMax3[$i] = $KapitelZugriffe[$i];
668 $KapitelZugriffMaxID3[$i] = $i;
670 $KapitelZugriffMax3[$i] =
"";
671 $KapitelZugriffMaxID3[$i] = $i;
674 if ($seitenTiefe[$KapitelID[$i]] == 4) {
675 $KapitelTiefe4Anzahl ++;
676 if ($KapitelZugriffe[$i] > 0) {
677 $KapitelZugriffMax4[$i] = $KapitelZugriffe[$i];
678 $KapitelZugriffMaxID4[$i] = $i;
680 $KapitelZugriffMax4[$i] =
"";
681 $KapitelZugriffMaxID4[$i] = $i;
684 if ($seitenTiefe[$KapitelID[$i]] >= 5) {
685 $KapitelTiefe5Anzahl ++;
686 if ($KapitelZugriffe[$i] > 0) {
687 $KapitelZugriffMax5[$i] = $KapitelZugriffe[$i];
688 $KapitelZugriffMaxID5[$i] = $i;
690 $KapitelZugriffMax5[$i] =
"";
691 $KapitelZugriffMaxID5[$i] = $i;
696 if (count($KapitelZugriffMax2) > 0) {
697 array_multisort($KapitelZugriffMax2, SORT_DESC, $KapitelZugriffMaxID2);
699 if (count($KapitelZugriffMax3) > 0) {
700 array_multisort($KapitelZugriffMax3, SORT_DESC, $KapitelZugriffMaxID3);
702 if (count($KapitelZugriffMax4) > 0) {
703 array_multisort($KapitelZugriffMax4, SORT_DESC, $KapitelZugriffMaxID4);
705 if (count($KapitelZugriffMax5) > 0) {
706 array_multisort($KapitelZugriffMax5, SORT_DESC, $KapitelZugriffMaxID5);
713 if ($KapitelZugriffe[$i] > 0) {
714 $KapitelZugriffMin[$i] = $KapitelZugriffe[$i];
715 $KapitelZugriffMinID[$i] = $i;
717 $KapitelZugriffMin[$i] =
"";
718 $KapitelZugriffMinID[$i] = $i;
722 if (count($KapitelZugriffMin) > 0) {
723 array_multisort($KapitelZugriffMin, SORT_ASC, $KapitelZugriffMinID);
729 if ($seitenTiefe[$KapitelID[$i]] == 2) {
730 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
731 $KapitelGesamtVerweilMax2[$i] = $KapitelGesamtVerweilZeit[$i];
732 $KapitelGesamtVerweilMaxID2[$i] = $i;
735 if ($seitenTiefe[$KapitelID[$i]] == 3) {
736 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
737 $KapitelGesamtVerweilMax3[$i] = $KapitelGesamtVerweilZeit[$i];
738 $KapitelGesamtVerweilMaxID3[$i] = $i;
741 if ($seitenTiefe[$KapitelID[$i]] == 4) {
742 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
743 $KapitelGesamtVerweilMax4[$i] = $KapitelGesamtVerweilZeit[$i];
744 $KapitelGesamtVerweilMaxID4[$i] = $i;
747 if ($seitenTiefe[$KapitelID[$i]] >= 5) {
748 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
749 $KapitelGesamtVerweilMax5[$i] = $KapitelGesamtVerweilZeit[$i];
750 $KapitelGesamtVerweilMaxID5[$i] = $i;
755 if (count($KapitelGesamtVerweilMax2) > 0) {
756 array_multisort($KapitelGesamtVerweilMax2, SORT_DESC, $KapitelGesamtVerweilMaxID2);
758 if (count($KapitelGesamtVerweilMax3) > 0) {
759 array_multisort($KapitelGesamtVerweilMax3, SORT_DESC, $KapitelGesamtVerweilMaxID3);
761 if (count($KapitelGesamtVerweilMax4) > 0) {
762 array_multisort($KapitelGesamtVerweilMax4, SORT_DESC, $KapitelGesamtVerweilMaxID4);
764 if (count($KapitelGesamtVerweilMax5) > 0) {
765 array_multisort($KapitelGesamtVerweilMax5, SORT_DESC, $KapitelGesamtVerweilMaxID5);
770 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
771 $KapitelGesamtVerweilMin[$i] = $KapitelGesamtVerweilZeit[$i];
772 $KapitelGesamtVerweilMinID[$i] = $i;
776 if (count($KapitelGesamtVerweilMin) > 0) {
777 array_multisort($KapitelGesamtVerweilMin, SORT_ASC, $KapitelGesamtVerweilMinID);
783 $KapitelSeitenSummeMax[$i] = $KapitelSeitenSumme[$i];
784 $KapitelSeitenSummeMaxID[$i] = $i;
787 if (count($KapitelGesamtVerweilMax) > 0) {
788 array_multisort($KapitelSeitenSummeMax, SORT_DESC, $KapitelSeitenSummeMaxID);
794 $summe += $KapitelZugriffMax2[$i];
796 if ($KapitelGesamtSeitenAnzEbene2 > 0) {
797 $KapitelDurchZugriffe2 = $summe / $KapitelGesamtSeitenAnzEbene2;
801 $summe += $KapitelZugriffMax3[$i];
803 if ($KapitelGesamtSeitenAnzEbene3 > 0) {
804 $KapitelDurchZugriffe3 = $summe / $KapitelGesamtSeitenAnzEbene3;
808 $summe += $KapitelZugriffMax4[$i];
810 if ($KapitelGesamtSeitenAnzEbene4 > 0) {
811 $KapitelDurchZugriffe4 = $summe / $KapitelGesamtSeitenAnzEbene4;
815 $summe += $KapitelZugriffMax5[$i];
817 if ($KapitelGesamtSeitenAnzEbene5 > 0) {
818 $KapitelDurchZugriffe5 = $summe / $KapitelGesamtSeitenAnzEbene5;
822 $knoten = $SeitenID[$i];
823 $tiefe = $seitenTiefe[$SeitenID[$i]];
826 $knoten = $vatizumkind[$knoten];
827 if (($seitenTiefe[$knoten] == 2) && ($KapitelDurchZugriffe2 > 0)) {
828 if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
829 $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
831 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor2) {
832 $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
834 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor3) {
835 $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
837 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor4) {
838 $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
840 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor5) {
841 $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
844 if (($seitenTiefe[$knoten] == 3) && ($KapitelDurchZugriffe3 > 0)) {
845 if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
846 $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
848 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor2) {
849 $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
851 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor3) {
852 $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
854 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor4) {
855 $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
857 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor5) {
858 $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
861 if (($seitenTiefe[$knoten] == 4) && ($KapitelDurchZugriffe4 > 0)) {
862 if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
863 $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
865 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor2) {
866 $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
868 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor3) {
869 $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
871 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor4) {
872 $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
874 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor5) {
875 $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
878 if (($seitenTiefe[$knoten] >= 5) && ($KapitelDurchZugriffe5 > 0)) {
879 if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
880 $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
882 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor2) {
883 $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
885 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor3) {
886 $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
888 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor4) {
889 $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
891 if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor5) {
892 $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
895 $tiefe = $seitenTiefe[$knoten];
929 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_number");
930 $SeitenStatsWert[$slider] = round(
$Seitenanz);
932 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_number_access");
933 $SeitenStatsWert[$slider] = round($GesamtSeitenZugriffe).
"z";
935 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_total_dwell_time");
936 $SeitenStatsWert[$slider] =
ilLMStatistics::s_to_h($SessionGesamtDauerAll).
" (".round($SessionGesamtDauerAll).
"s)";
939 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_average_access");
940 $SeitenStatsWert[$slider] = round(($GesamtSeitenZugriffe /
$Seitenanz), 2).
"z";
943 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_median_access");
944 $SeitenStatsWert[$slider] = round($SeitenZugriffeMedian).
"z";
946 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_mode_access");
947 $SeitenStatsWert[$slider] = $lng->txt(
"stats_occurrence").
": ".round($ZugriffsWertMax).
" (#: ".$ZugriffsWertMaxAus.
" )";
949 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_range_access");
950 $SeitenStatsWert[$slider] = round($SeitenZugriffeSpannweite).
"z";
952 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_variance_access");
953 $SeitenStatsWert[$slider] = round($SeitenZugriffeVarianz, 2);
955 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_deviation_access");
956 $SeitenStatsWert[$slider] = round($SeitenZugriffeStandartAbw, 2).
"z";
958 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_varcoeff_access");
959 $SeitenStatsWert[$slider] = round($SeitenZugriffeVarKoef, 2);
961 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_average_dwell_time");
962 $SeitenStatsWert[$slider] = round($SeitenVerweildauerDurchschnitt, 2).
"s";
964 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_median_dwell_time");
965 $SeitenStatsWert[$slider] = round($VerweildauerMedian);
967 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_range_dwell_time");
968 $SeitenStatsWert[$slider] = round($SeitenVerweildauerSpannweite).
"s";
970 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_variance_dwell_time");
971 $SeitenStatsWert[$slider] = round($SeitenVerweildauerVarianz, 2);
973 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_deviation_dwell_time");
974 $SeitenStatsWert[$slider] = round($SeitenVerweildauerStandartAbw, 2).
"s";
976 $SeitenStatsName[$slider] = $lng->txt(
"stats_page_varcoeff_dwell_time");
977 $SeitenStatsWert[$slider] = round($SeitenVerweildauerVarKoef, 2);
979 $slider = count($SeitenStatsWert);
983 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_longest_total_dwell_time").
"</b>";
984 $SeitenStatsWert[$slider] =
"";
985 for ($i = 0; $i < $RankAnzahl; $i ++) {
986 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenGesamtVerweilMaxID[$i]], 0, $TNA));
988 (is_numeric($SeitenGesamtVerweilMax[$i])?$SeitenGesamtVerweilMax[$i]:
"0").
"s, mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenGesamtVerweilMaxID[$i]])?$SeitenMessbareZugriffe[$SeitenGesamtVerweilMaxID[$i]]:
"0").
")";
990 $slider += $RankAnzahl + $hop;
992 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_stubbiest_total_dwell_time").
"</b>";
993 $SeitenStatsWert[$slider] =
"";
994 for ($i = 0; $i < $RankAnzahl; $i ++) {
995 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenGesamtVerweilMinID[$i]], 0, $TNA));
996 $SeitenStatsWert[$i +1 + $slider] =
997 round(is_numeric($SeitenGesamtVerweilMin[$i])?$SeitenGesamtVerweilMin[$i]:
"0").
"s (mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenGesamtVerweilMinID[$i]])?$SeitenMessbareZugriffe[$SeitenGesamtVerweilMinID[$i]]:
"0") .
")";
999 $slider += $RankAnzahl + $hop;
1001 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_longest_average_dwell_time").
"</b>";
1002 $SeitenStatsWert[$slider] =
"";
1003 for ($i = 0; $i < $RankAnzahl; $i ++) {
1004 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenDurchschnittVerweilMaxID[$i]], 0, $TNA));
1005 $SeitenStatsWert[$i +1 + $slider] =
1006 round(is_numeric($SeitenDurchschnittVerweilMax[$i])?$SeitenDurchschnittVerweilMax[$i]:0).
"s (mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMaxID[$i]])?$SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMaxID[$i]]:
"0").
")";
1008 $slider += $RankAnzahl + $hop;
1010 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_stubbiest_average_dwell_time").
"</b>";
1011 $SeitenStatsWert[$slider] =
"";
1012 for ($i = 0; $i < $RankAnzahl; $i ++) {
1013 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenDurchschnittVerweilMinID[$i]], 0, $TNA));
1014 $SeitenStatsWert[$i +1 + $slider] =
1015 round($SeitenDurchschnittVerweilMin[$i]).
"s (mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMinID[$i]])?$SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMinID[$i]]:
"0").
")";
1017 $slider += $RankAnzahl + $hop;
1019 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_most_access").
"</b>";
1020 $SeitenStatsWert[$slider] =
"";
1021 for ($i = 0; $i < $RankAnzahl; $i ++) {
1022 $SeitenStatsName[($i +1) + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenZugriffMaxID[$i]], 0, $TNA));
1023 $SeitenStatsWert[($i +1) + $slider] = round($SeitenZugriffMax[$i]).
"z ";
1025 $slider += $RankAnzahl + $hop;
1027 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_fewest_access").
"</b>";
1028 $SeitenStatsWert[$slider] =
"";
1029 for ($i = 0; $i < $RankAnzahl; $i ++) {
1030 $SeitenStatsName[($i +1) + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$SeitenZugriffMinID[$i]], 0, $TNA));
1031 $SeitenStatsWert[($i +1) + $slider] = round($SeitenZugriffMin[$i]).
"z ";
1033 $slider += $RankAnzahl + $hop;
1035 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_highest_deviation").
"</b>";
1036 $SeitenStatsWert[$slider] =
"";
1037 for ($i = 0; $i < $RankAnzahl; $i ++) {
1038 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarMaxID[$i]], 0, $TNA));
1039 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarMax[$i]), 2).
" (mZ:"
1040 .(is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarMaxID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarMaxID[$i]]:0).
")";
1042 $slider += $RankAnzahl + $hop;
1044 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_least_deviation").
"</b>";
1045 $SeitenStatsWert[$slider] =
"";
1046 for ($i = 0; $i < $RankAnzahl; $i ++) {
1047 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarMinID[$i]], 0, $TNA));
1048 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarMin[$i]), 2).
" (mZ:".
1049 (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarMinID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarMinID[$i]]:0).
")";
1051 $slider += $RankAnzahl + $hop;
1053 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_highest_varcoeff").
"</b>";
1054 $SeitenStatsWert[$slider] =
"";
1055 for ($i = 0; $i < $RankAnzahl; $i ++) {
1056 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarKoefMaxID[$i]], 0, $TNA));
1057 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarKoefMax[$i]), 2).
" (mZ:".
1058 (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarKoefMaxID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarKoefMaxID[$i]]:0).
")";
1060 $slider += $RankAnzahl + $hop;
1062 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_page_lowest_varcoeff").
"</b>";
1063 $SeitenStatsWert[$slider] =
"";
1064 for ($i = 0; $i < $RankAnzahl; $i ++) {
1065 $SeitenStatsName[$i +1 + $slider] = ($i +1).
". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarKoefMinID[$i]], 0, $TNA));
1066 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarKoefMin[$i]), 2).
" (mZ:".
1067 (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarKoefMinID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarKoefMinID[$i]]:0).
")";
1069 $slider += $RankAnzahl + $hop;
1071 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_interval_dwell_time").
"</b>";
1072 $SeitenStatsWert[$slider] =
"";
1074 for ($i = 1; $i <= count($IntervallMax); $i ++) {
1075 $SeitenStatsName[$i + $slider] = $IntervallMax[$i -1].$lng->txt(
"stats_sec").
" ".$lng->txt(
"stats_until").
" ".$IntervallMax[$i].
" ".$lng->txt(
"stats_sec").
":";
1076 $SeitenStatsWert[$i + $slider] = round($IntervallAnz[$i]).
"z";
1077 $summe += $IntervallAnz[$i];
1079 $slider += count($IntervallMax) + 1;
1081 $SeitenStatsName[$slider] = $lng->txt(
"stats_summation").
": ";
1082 $SeitenStatsWert[$slider] = $summe.
" ".$lng->txt(
"stats_accesses");
1086 $SeitenStatsName[$slider] =
"<b>".$lng->txt(
"stats_interval_page_access").
"</b>";
1087 $SeitenStatsWert[$slider] =
"";
1089 for ($i = 1; $i <= count($IntervallSeitenMax); $i ++) {
1090 $SeitenStatsName[$i + $slider] = ($IntervallSeitenMax[$i -1] + 1).
" ".$lng->txt(
"stats_until").
" ".$IntervallSeitenMax[$i].
" ".$lng->txt(
"stats_accesses");
1091 $SeitenStatsWert[$i + $slider] = round($IntervallSeitenAnz[$i]).
" ".$lng->txt(
"stats_pages");
1092 $summe += $IntervallSeitenAnz[$i];
1094 $slider += count($IntervallSeitenMax) + 2;
1096 $SeitenStatsName[$slider] = $lng->txt(
"stats_summation").
": ";
1097 $SeitenStatsWert[$slider] = $summe.
" ".$lng->txt(
"stats_pages");
1103 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_number");
1104 $SessionStatsWert[$slider2] = round($Sessionanz);
1106 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_evaluable");
1107 $SessionStatsWert[$slider2] = round($MessbareSessions);
1109 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_involved_usr");
1110 $SessionStatsWert[$slider2] = round($UserAnz);
1112 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_evaluable_usr");
1113 $SessionStatsWert[$slider2] = round($UserMessbarAnz);
1115 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_evaluable_access");
1116 $SessionStatsWert[$slider2] = round($MessbareSessionZugriffe);
1118 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_average_page_access");
1119 $SessionStatsWert[$slider2] = round($SessionDurschnittsZeit, 4);
1121 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_total_duration");
1122 $SessionStatsWert[$slider2] =
ilLMStatistics::s_to_h($SessionGesamtDauerAll).
" (".$SessionGesamtDauerAll.$lng->txt(
"stats_sec").
")";
1124 $SessionStatsName[$slider2] = $lng->txt(
"stats_session_average_length");
1130 $SessionStatsName[$slider2] =
"<b>".$lng->txt(
"stats_session_longest").
"</b>";
1131 $SessionStatsWert[$slider2] =
"";
1133 include_once(
"Services/Tracking/classes/class.ilObjUserTracking.php");
1138 for ($i = 0; $i < $RankAnzahl; $i ++) {
1139 $SessionStatsName[$i +1 + $slider2] = ($i +1).
". ".$lng->txt(
"stats_user").
" ". ($anonymous?$i+1:
ilObjUser::_lookupLogin($SessionUserID[$SessionGesamtDauerMaxID[$i]]));
1140 $SessionStatsWert[$i +1 + $slider2] =
ilLMStatistics::s_to_h($SessionGesamtDauerMax[$i]).
" (".$SessionGesamtDauerMax[$i].$lng->txt(
"stats_sec").
")";
1142 $slider2 += $RankAnzahl + $hop;
1144 $SessionStatsName[$slider2] =
"<b>".$lng->txt(
"stats_session_longest_total_duration_usr").
"</b>";
1145 $SessionStatsWert[$slider2] =
"";
1146 for ($i = 0; $i < $RankAnzahl; $i ++) {
1147 $SessionStatsName[$i +1 + $slider2] = ($i +1).
". ".$lng->txt(
"stats_user").
" ".($anonymous?$i+1:
ilObjUser::_lookupLogin($UserGesamtSessionsDauerMaxID[$i]));
1148 $SessionStatsWert[$i +1 + $slider2] =
ilLMStatistics::s_to_h($UserGesamtSessionsDauerMax[$i]).
" (".$UserGesamtSessionsDauerMax[$i].$lng->txt(
"stats_sec").
")";
1150 $slider2 += $RankAnzahl + $hop;
1152 $SessionStatsName[$slider2] =
"<b>".$lng->txt(
"stats_session_most").
":".
"</b>";
1153 $SessionStatsWert[$slider2] =
"";
1154 for ($i = 0; $i < $RankAnzahl; $i ++) {
1155 $SessionStatsName[$i +1 + $slider2] = ($i +1).
". ".$lng->txt(
"stats_user").
" ".($anonymous?$i+1:
ilObjUser::_lookupLogin($UserSessionAnzMaxID[$i]));
1156 $SessionStatsWert[$i +1 + $slider2] = round($UserSessionAnzMax[$i]).
" ".$lng->txt(
"stats_sessions");
1158 $slider2 += $RankAnzahl + $hop;
1165 $KapitelStatsName[$slider3] = $lng->txt(
"stats_chapter_number");
1168 $KapitelStatsName[$slider3] = $lng->txt(
"stats_depth").
" 0";
1169 $KapitelStatsWert[$slider3] = round($KapitelTiefe2Anzahl);
1171 $KapitelStatsName[$slider3] = $lng->txt(
"stats_depth").
" 1";
1172 $KapitelStatsWert[$slider3] = round($KapitelTiefe3Anzahl);
1174 $KapitelStatsName[$slider3] = $lng->txt(
"stats_depth").
" 2";
1175 $KapitelStatsWert[$slider3] = round($KapitelTiefe4Anzahl);
1177 $KapitelStatsName[$slider3] = $lng->txt(
"stats_depth").
" 3+";
1178 $KapitelStatsWert[$slider3] = round($KapitelTiefe5Anzahl);
1183 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_longest_total_dwell_time_depth").
" 0:".
"</b>";
1184 $KapitelStatsWert[$slider3] =
"";
1185 for ($i = 0; $i < min($KapitelTiefe2Anzahl,$RankAnzahl); $i ++) {
1186 $KapitelStatsName[$i + 1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID2[$i]], 0, $TNA));
1190 $slider3 += $i + $hop + 1;
1193 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_most_access_depth").
" 0:".
"</b>";
1194 $KapitelStatsWert[$slider3] =
"";
1195 for ($i = 0; $i < min($KapitelTiefe2Anzahl, $RankAnzahl); $i ++) {
1196 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID2[$i]], 0, $TNA));
1197 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax2[$i]).
" ".$lng->txt(
"stats_accesses");
1199 $slider3 += $i + $hop + 1;
1202 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_longest_total_dwell_time_depth").
" 1:".
"</b>";
1203 $KapitelStatsWert[$slider3] =
"";
1204 for ($i = 0; $i < min($KapitelTiefe3Anzahl, $RankAnzahl); $i ++) {
1205 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID3[$i]], 0, $TNA));
1209 $slider3 += $i + $hop + 1;
1211 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_most_access_depth").
" 1:".
"</b>";
1212 $KapitelStatsWert[$slider3] =
"";
1213 for ($i = 0; $i < min($KapitelTiefe3Anzahl, $RankAnzahl); $i ++) {
1214 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID3[$i]], 0, $TNA));
1215 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax3[$i]).
" ".$lng->txt(
"stats_accesses");
1217 $slider3 += $i + $hop + 1;
1220 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_longest_total_dwell_time_depth").
" 2:".
"</b>";
1221 $KapitelStatsWert[$slider3] =
"";
1222 for ($i = 0; $i < min($KapitelTiefe4Anzahl, $RankAnzahl); $i ++) {
1223 $KapitelStatsName[$i +1 + $slider3] = ($i + 1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID4[$i]], 0, $TNA));
1227 $slider3 += $i + $hop + 1;
1230 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_most_access_depth").
" 2:".
"</b>";
1231 $KapitelStatsWert[$slider3] =
"";
1232 for ($i = 0; $i < min($KapitelTiefe4Anzahl, $RankAnzahl); $i ++) {
1233 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID4[$i]], 0, $TNA));
1234 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax4[$i]).
" ".$lng->txt(
"stats_accesses");
1237 $slider3 += $i + $hop + 1;
1240 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_longest_total_dwell_time_depth").
" 3+:".
"</b>";
1241 $KapitelStatsWert[$slider3] =
"";
1242 for ($i = 0; $i < min($KapitelTiefe5Anzahl, $RankAnzahl); $i ++) {
1243 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID5[$i]], 0, $TNA));
1246 $slider3 += $i + $hop + 1;
1250 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_most_access_depth").
" 3+:".
"</b>";
1251 $KapitelStatsWert[$slider3] =
"";
1252 for ($i = 0; $i < min($KapitelTiefe5Anzahl, $RankAnzahl); $i ++) {
1253 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID5[$i]], 0, $TNA));
1254 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax5[$i]).
" ".$lng->txt(
"stats_accesses");
1257 $slider3 += $i + $hop + 1;
1259 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_stubbiest_total_dwell_time").
":".
"</b>";
1260 $KapitelStatsWert[$slider3] =
"";
1261 for ($i = 0; $i < $RankAnzahl; $i ++) {
1262 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMinID[$i]], 0, $TNA));
1265 $slider3 += $RankAnzahl + $hop;
1267 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_fewest_access").
":".
"</b>";
1268 $KapitelStatsWert[$slider3] =
"";
1269 for ($i = 0; $i < $RankAnzahl; $i ++) {
1270 $KapitelStatsName[$i +1 + $slider3] = ($i +1).
". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMinID[$i]], 0, $TNA));
1271 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMin[$i]).
" ".$lng->txt(
"stats_accesses");
1273 $slider3 += $RankAnzahl + $hop;
1275 $slider3save = $slider3;
1278 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_depth_coverage").
" 0:".
"</b>";
1279 $KapitelStatsWertA1[$slider3] = $lng->txt(
"stats_accesses").
">0";
1280 $KapitelStatsWertA2[$slider3] =
">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor2);
1281 $KapitelStatsWertA3[$slider3] =
">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor3);
1282 $KapitelStatsWertA4[$slider3] =
">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor4);
1283 $KapitelStatsWertA5[$slider3] =
">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor5);
1287 if ($seitenTiefe[$KapitelID[$i]] == 2) {
1288 if ($KapitelSeitenSumme[$i] > 0) {
1290 $KapitelStatsName[$u +1 + $slider3] = $u.
". ".str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)).
" (".$KapitelSeitenSumme[$i].
" ".$lng->txt(
"stats_pages").
")";
1299 $slider3 += $u + $hop +2;
1302 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_depth_coverage").
" 1:".
"</b>";
1303 $KapitelStatsWertA1[$slider3] = $lng->txt(
"stats_accesses").
">0";
1304 $KapitelStatsWertA2[$slider3] =
">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor2);
1305 $KapitelStatsWertA3[$slider3] =
">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor3);
1306 $KapitelStatsWertA4[$slider3] =
">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor4);
1307 $KapitelStatsWertA5[$slider3] =
">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor5);
1310 if ($seitenTiefe[$KapitelID[$i]] == 3) {
1311 if ($KapitelSeitenSumme[$i] > 0) {
1313 $KapitelStatsName[$u +1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)).
" (".$KapitelSeitenSumme[$i].
" ".$lng->txt(
"stats_pages").
")";
1322 $slider3 += $u + $hop +2;
1325 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_depth_coverage").
" 2:".
"</b>";
1326 $KapitelStatsWertA1[$slider3] = $lng->txt(
"stats_accesses").
">0";
1327 $KapitelStatsWertA2[$slider3] =
">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor2);
1328 $KapitelStatsWertA3[$slider3] =
">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor3);
1329 $KapitelStatsWertA4[$slider3] =
">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor4);
1330 $KapitelStatsWertA5[$slider3] =
">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor5);
1333 if ($seitenTiefe[$KapitelID[$i]] == 4) {
1334 if ($KapitelSeitenSumme[$i] > 0) {
1336 $KapitelStatsName[$u +1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)).
" (".$KapitelSeitenSumme[$i].
" ".$lng->txt(
"stats_pages").
")";
1345 $slider3 += $u + $hop +2;
1348 $KapitelStatsName[$slider3] =
"<b>".$lng->txt(
"stats_chapter_depth_coverage").
" 3+:".
"</b>";
1349 $KapitelStatsWertA1[$slider3] = $lng->txt(
"stats_accesses").
">0";
1350 $KapitelStatsWertA2[$slider3] =
">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor2);
1351 $KapitelStatsWertA3[$slider3] =
">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor3);
1352 $KapitelStatsWertA4[$slider3] =
">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor4);
1353 $KapitelStatsWertA5[$slider3] =
">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor5);
1356 if ($seitenTiefe[$KapitelID[$i]] == 5) {
1357 if ($KapitelSeitenSumme[$i] > 0) {
1359 $KapitelStatsName[$u +1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA)).
" (".$KapitelSeitenSumme[$i].
" ".$lng->txt(
"stats_pages").
")";
1368 $slider3 += $u + $hop +2;
1372 if ($_POST[
"stat"] ==
'u') {
1394 $delim2 =
" sName ";
1400 $delim3 =
" kName ";
1412 include_once
"./Services/Table/classes/class.ilTableGUI.php";
1414 $tpl->addBlockfile(
"ADM_CONTENT",
"adm_content", MODULE_PATH.
"/templates/default/tpl.lm_statistics_result.html");
1415 $tpl->addBlockFile(
"STATUSLINE",
"statusline",
"tpl.statusline.html");
1416 $tpl->addBlockfile(
"TRACK_TABLE",
"track_table",
"tpl.table.html");
1417 $tpl->addBlockfile(
"TBL_CONTENT",
"tbl_content",
"tpl.obj_tbl_rows.html");
1419 if ($_POST[
"stat"] ==
'd') {
1420 $title_new = array (
"time",
"",
"",
"",
"",
"");
1422 $title_new = array (
"time",
"count");
1426 $tbl->setTitle($lng->txt(
"obj_trac"), 0);
1427 foreach ($title_new as $val) {
1428 $header_names[] = $lng->txt($val);
1430 $tbl->disable(
"sort");
1431 $tbl->setHeaderNames($header_names);
1432 if ($_POST[
"stat"] ==
'h') {
1436 if ($_POST[
"stat"] ==
'd') {
1437 $num = $slider3save + $slider3 + 1;
1440 if ($_POST[
"stat"] ==
'o') {
1447 $tbl->setStyle(
"table",
"std");
1450 if ($_POST[
"stat"] ==
'h') {
1451 for ($i = 0; $i < $num; $i ++) {
1452 $data[0] = $SeitenStatsName[$i];
1453 $data[1] = $SeitenStatsWert[$i];
1454 $css_row = $i % 2 == 0 ?
"tblrow1" :
"tblrow2";
1455 foreach (
$data as $key => $val) {
1456 $tpl->setCurrentBlock(
"text");
1457 $tpl->setVariable(
"TEXT_CONTENT", $val);
1458 $tpl->parseCurrentBlock();
1459 $tpl->setCurrentBlock(
"table_cell");
1460 $tpl->parseCurrentBlock();
1462 $tpl->setCurrentBlock(
"tbl_content");
1463 $tpl->setVariable(
"CSS_ROW", $css_row);
1464 $tpl->parseCurrentBlock();
1466 $tpl->parseCurrentBlock();
1468 if ($_POST[
"stat"] ==
'd') {
1469 for ($i = 1; $i < $slider3save; $i ++) {
1470 $data[0] = $KapitelStatsName[$i];
1471 $data[1] = $KapitelStatsWert[$i];
1476 $css_row = $i % 2 == 0 ?
"tblrow1" :
"tblrow2";
1477 foreach (
$data as $key => $val) {
1478 $tpl->setCurrentBlock(
"text");
1479 $tpl->setVariable(
"TEXT_CONTENT", $val);
1480 $tpl->parseCurrentBlock();
1481 $tpl->setCurrentBlock(
"table_cell");
1482 $tpl->parseCurrentBlock();
1484 $tpl->setCurrentBlock(
"tbl_content");
1485 $tpl->setVariable(
"CSS_ROW", $css_row);
1486 $tpl->parseCurrentBlock();
1489 for ($i = $slider3save; $i < $slider3; $i ++) {
1490 $data[0] = $KapitelStatsName[$i];
1491 $data[1] = $KapitelStatsWertA1[$i];
1492 $data[2] = $KapitelStatsWertA2[$i];
1493 $data[3] = $KapitelStatsWertA3[$i];
1494 $data[4] = $KapitelStatsWertA4[$i];
1495 $data[5] = $KapitelStatsWertA5[$i];
1496 $css_row = $i % 2 == 0 ?
"tblrow1" :
"tblrow2";
1497 foreach (
$data as $key => $val) {
1498 $tpl->setCurrentBlock(
"text");
1499 $tpl->setVariable(
"TEXT_CONTENT", $val);
1500 $tpl->parseCurrentBlock();
1501 $tpl->setCurrentBlock(
"table_cell");
1502 $tpl->parseCurrentBlock();
1504 $tpl->setCurrentBlock(
"tbl_content");
1505 $tpl->setVariable(
"CSS_ROW", $css_row);
1506 $tpl->parseCurrentBlock();
1508 $tpl->parseCurrentBlock();
1510 if ($_POST[
"stat"] ==
'o') {
1511 for ($i = 0; $i < $num; $i ++) {
1512 $data[0] = $SessionStatsName[$i];
1513 $data[1] = $SessionStatsWert[$i];
1514 $css_row = $i % 2 == 0 ?
"tblrow1" :
"tblrow2";
1515 foreach (
$data as $key => $val) {
1516 $tpl->setCurrentBlock(
"text");
1517 $tpl->setVariable(
"TEXT_CONTENT", $val);
1518 $tpl->parseCurrentBlock();
1519 $tpl->setCurrentBlock(
"table_cell");
1520 $tpl->parseCurrentBlock();
1522 $tpl->setCurrentBlock(
"tbl_content");
1523 $tpl->setVariable(
"CSS_ROW", $css_row);
1524 $tpl->parseCurrentBlock();
1526 $tpl->parseCurrentBlock();
1528 $tpl->setCurrentBlock(
"adm_content");
1529 $tpl->setVariable(
"TXT_TIME_PERIOD", $lng->txt(
"time_segment"));
1530 switch ($_POST[
"stat"]) {
1532 $tpl->setVariable(
"TXT_STATISTIC", $lng->txt(
"stats_pages_statisics"));
1533 $tpl->setVariable(
"TXT_TRACKED_HELP", $lng->txt(
"help"));
1534 $tpl->setVariable(
"VAL_TRACKED_HELP_LINK",
"<a href='".MODULE_URL.
"/docs/pagestats_help.html' target='_blank'>".
"Link".
"</a>");
1537 $tpl->setVariable(
"TXT_STATISTIC", $lng->txt(
"stats_navigation"));
1540 $tpl->setVariable(
"TXT_STATISTIC", $lng->txt(
"stats_chapter_statisics"));
1541 $tpl->setVariable(
"TXT_TRACKED_HELP", $lng->txt(
"help"));
1542 $tpl->setVariable(
"VAL_TRACKED_HELP_LINK",
"<a href='".MODULE_URL.
"/docs/chapterstats_help.html' target='_blank'>".
"Link".
"</a>");
1545 $tpl->setVariable(
"TXT_STATISTIC", $lng->txt(
"stats_sessions_statisics"));
1546 $tpl->setVariable(
"TXT_TRACKED_HELP", $lng->txt(
"help"));
1547 $tpl->setVariable(
"VAL_TRACKED_HELP_LINK",
"<a href='".MODULE_URL.
"/docs/sessionstats_help.html' target='_blank'>".
"Link".
"</a>");
1550 $tpl->setVariable(
"VAL_DATEF", date(
"Y-m-d", mktime(0, 0, 0, $monthf, $dayf, $yearf)));
1551 $tpl->setVariable(
"TXT_TO", $lng->txt(
"to"));
1552 $tpl->setVariable(
"VAL_DATET", date(
"Y-m-d", mktime(0, 0, 0, $montht, $dayt, $yeart)));
1553 $tpl->setVariable(
"TXT_USER_LANGUAGE", $lng->txt(
"user_language"));
1554 if ($_POST[
"language"] ==
"0") {
1555 $tpl->setVariable(
"VAL_LANGUAGE", $lng->txt(
"any_language"));
1557 $tpl->setVariable(
"VAL_LANGUAGE", $lng->txt(
"lang_".$_POST[
"language"]));
1559 $rLehrmodulID =
$_SESSION[
"il_track_rlm_id"];
1560 $LehrmodulName =
$_SESSION[
"il_track_lm_name"];
1561 $tpl->setVariable(
"TXT_TRACKED_OBJECTS", $lng->txt(
"tracked_objects"));
1562 $tpl->setVariable(
"VAL_TRACKED_OBJECTS", $LehrmodulName[$rLehrmodulID[$_POST[
"lmID"]]]);
1563 $tpl->setVariable(
"LEGENDE", $lng->txt(
"stats_legend"));
1564 $tpl->setVariable(
"VAL_LEGENDE_MZ", $lng->txt(
"stats_measurable_hits"));
1565 $tpl->setVariable(
"VAL_LEGENDE_Z", $lng->txt(
"stats_hits"));
1566 $tpl->setVariable(
"LEGENDE_MZ",
"mz");
1567 $tpl->setVariable(
"LEGENDE_Z",
"z");
1568 $tpl->parseCurrentBlock();
1589 $tpl->setVariable(
"Sprache",
"<param name='Sprache' value= '".$ilias->account->prefs[
"language"].
"'>");
1590 $tpl->setVariable(
"Seitenanz2",
"<param name='Seitenanz2' value= '".$this->Seitenanz.
"'>");
1591 $tpl->setVariable(
"KapitelZuSeite2",
"<param name='KapitelZuSeite2' value= '".$this->KapitelZuSeite2.
"'>");
1592 $tpl->setVariable(
"SessionVonNach2",
"<param name='SessionVonNach2' value= '".$this->SessionVonNach2.
"'>");
1593 $tpl->setVariable(
"Kapitelanz2",
"<param name='Kapitelanz2' value= '".$this->Kapitelanz.
"'>");
1594 $tpl->setVariable(
"KapitelVonNach2",
"<param name='KapitelVonNach2' value= '".$this->KapitelVonNach2.
"'>");
1595 $tpl->setVariable(
"OberkapitelZuKapitel2",
"<param name='OberkapitelZuKapitel2' value= '".$this->OberkapitelZuKapitel2.
"'>");
1596 $tpl->setVariable(
"Seitenname2",
"<param name='Seitenname2' value= '".$this->Seitenname2.
"'>");
1597 $tpl->setVariable(
"Kapitelname2",
"<param name='Kapitelname2' value= '".$this->Kapitelname2.
"'>");
1599 include_once
"./Services/Table/classes/class.ilTableGUI.php";
1600 $tpl->addBlockFile(
"ADM_CONTENT",
"adm_content", MODULE_PATH.
"/templates/default/tpl.lm_statistics_result_applet.html");
1601 $tpl->addBlockFile(
"STATUSLINE",
"statusline",
"tpl.statusline.html");
1602 $tpl->setVariable(
"TXT_TRACKED_OBJECTS2",
"Beobachtungsmodell");
1603 $tpl->setVariable(
"CODEBASE", MODULE_URL.
"/lib");
1604 $tpl->setCurrentBlock(
"adm_content");
1605 $tpl->parseCurrentBlock();
1624 for ($i = 0; $i < count($arr); $i ++) {
1625 $summe += ($arr[$i] - $mittelwert) * ($arr[$i] - $mittelwert);
1627 return $summe / (count($arr));
1631 $stund = floor($sek / 3600);
1632 $min = floor(($sek - $stund * 3600) / 60);
1633 $restsek = ($sek - $stund * 3600 - $min * 60);
1634 return $stund.
"h,".$min.
"m,".$restsek.
"s";
1640 $min = floor($sek / 60);
1641 $restsek = ($sek - $min * 60);
1642 return $min.
"m,".round($restsek).
"s";
1669 define(MODULE_URL, ILIAS_HTTP_PATH.
"/Services/Tracking");