• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

Services/Tracking/classes/class.ilLMStatistics.php

Go to the documentation of this file.
00001 <?php
00002 /*
00003 +-----------------------------------------------------------------------------+
00004 | ILIAS open source                                                           |
00005 +-----------------------------------------------------------------------------+
00006 | Copyright (c) 1998-2001 ILIAS open source, University of Cologne            |
00007 |                                                                             |
00008 | This program is free software; you can redistribute it and/or               |
00009 | modify it under the terms of the GNU General Public License                 |
00010 | as published by the Free Software Foundation; either version 2              |
00011 | of the License, or (at your option) any later version.                      |
00012 |                                                                             |
00013 | This program is distributed in the hope that it will be useful,             |
00014 | but WITHOUT ANY WARRANTY; without even the implied warranty of              |
00015 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               |
00016 | GNU General Public License for more details.                                |
00017 |                                                                             |
00018 | You should have received a copy of the GNU General Public License           |
00019 | along with this program; if not, write to the Free Software                 |
00020 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. |
00021 +-----------------------------------------------------------------------------+
00022 */
00023 
00029 class ilLMStatistics {
00030 
00031     var $AppletData;
00032     var $AppletDataInfoString;
00033     var $Seitenanz;
00034     var $KapitelZuSeite2;
00035     var $SessionVonNach2;
00036     var $Kapitelanz;
00037     var $KapitelVonNach2;
00038     var $OberkapitelZuKapitel2;
00039     var $Seitenname2;
00040     var $Kapitelname2;
00041     var $appStats;
00042     var $from;
00043     var $to;
00044     var $user_IDs;
00045     var $lm_id;
00046     var $user_selection;
00047 
00048     function ilLMStatistics($obj_id) {
00049         $this->lm_id = $obj_id;
00050     }
00051 
00052     function outputHTML() {
00053         $this->calcStats (0);
00054     }
00055 
00056     function calcStats($mode) {
00057 
00058         global $tpl, $lng, $ilias, $db;
00059 
00060         if ($mode == 1) { //wenn Aufruf aus Applet
00061             $from = $this->from;
00062             $to = $this->to;
00063             $user_IDs = $this->user_IDs;
00064             $LehrModulID = $this->lm_ID;
00065             $user_selection = $this->user_selection;
00066             $this->appStats = 0;
00067         } else {
00068             $_SESSION["il_track_yearf"] = $_POST["yearf"];
00069             $_SESSION["il_track_yeart"] = $_POST["yeart"];
00070             $_SESSION["lmID"] = $_POST["lmID"];
00071             $_SESSION["il_track_monthf"] = $_POST["monthf"];
00072             $_SESSION["il_track_montht"] = $_POST["montht"];
00073             $_SESSION["il_track_dayf"] = $_POST["dayf"];
00074             $_SESSION["il_track_dayt"] = $_POST["dayt"];
00075             $_SESSION["il_track_stat"] = $_POST["stat"];
00076             $_SESSION["il_track_language"] = $_POST["language"];
00077             $_SESSION["il_track_author"] = $_POST["author"];
00078             $_SESSION["il_track_author1"] = $_POST["author1"];
00079             $_SESSION["il_track_lm"] = $_POST["lmID"];
00080             $_SESSION["il_track_tst"] = $_POST["tst"];
00081             $_SESSION["il_object_type"] = $_POST["object_type"];
00082             $_SESSION["il_track_stat2"] = $_POST["stat2"];
00083 
00084             $user_selection = $_POST["stat2"];
00085             $LehrModulID = $_SESSION["lmID"];
00086             $yearf = $_POST["yearf"];
00087             $monthf = $_POST["monthf"];
00088             $dayf = $_POST["dayf"];
00089             $yeart = $_POST["yeart"];
00090             $montht = $_POST["montht"];
00091             $dayt = $_POST["dayt"];
00092             $from = $yearf."-".$monthf."-".$dayf." 00:00:00";
00093             $to = $yeart."-".$montht."-".$dayt." 23:59:59";
00094             $user_IDs = $_SESSION["userSelected_stat"];
00095         }
00096 
00097         //nur falls mind. ein Benutzer ausgew�hlt wurde starten
00098 
00099         if (count($user_IDs) > 0 || ($user_selection == "all")) {
00100 
00101             //Benutzer-String f�r SQL erzeugen
00102 
00103             if (count($user_IDs) > 0) {
00104                 $stringUserID = "(";
00105                 foreach ($user_IDs as $result_id) {
00106                     $stringUserID = $stringUserID.$result_id.",";
00107                 }
00108                 $stringUserID = substr($stringUserID, 0, -1);
00109                 $stringUserID = $stringUserID.")";
00110             }
00111 
00112             //STATS-EINSTELLUNGSOPTIONEN
00113 
00114             //$UTanz = 1000000; //Anzahl der max auslesenden Tracking Daten
00115             $SessionMaxVerweildauer = 1800; //sekunden
00116             $IntervallMax[1] = 10;
00117             $IntervallMax[2] = 30;
00118             $IntervallMax[3] = 60;
00119             $IntervallMax[4] = 120;
00120             $IntervallMax[5] = 600;
00121             $IntervallMax[6] = $SessionMaxVerweildauer;
00122             $IntervallSeitenMax[0] = -1;
00123             $IntervallSeitenMax[1] = 0;
00124             $IntervallSeitenMax[2] = 1;
00125             $IntervallSeitenMax[3] = 5;
00126             $IntervallSeitenMax[4] = 20;
00127             $IntervallSeitenMax[5] = 50;
00128             $RankBenoetigteZugriffe = 1; //ben�tigte Seitenzugriffe damit eine Seite ins Ranking kommt
00129             $RankAnzahl = 10; //Gr��e der Rankings
00130             //$umlauteAendern = 1; //1=ja
00131             $KapitelAbdeckungsKennzahlFaktor2 = 0.5;
00132             $KapitelAbdeckungsKennzahlFaktor3 = 1.0;
00133             $KapitelAbdeckungsKennzahlFaktor4 = 1.5;
00134             $KapitelAbdeckungsKennzahlFaktor5 = 2.0;
00135 
00136             //ALLGEMEINE VARIABLEN
00137 
00138             //aus DB:lm_tree
00139 
00140             $q = "SELECT child, parent,depth FROM lm_tree";
00141             $result = $ilias->db->query($q);
00142             while ($row = $result->fetchRow()) {
00143                 $vatizumkind[$row[0]] = $row[1];
00144                 $seitenTiefe[$row[0]] = $row[2];
00145             } //Ende While
00146 
00147             //aus DB:lm_data
00148 
00149             $q = "SELECT obj_id,title,type,lm_id FROM lm_data WHERE lm_id='".$LehrModulID."'";
00150 
00151             $result = $ilias->db->query($q);
00152             while ($row = $result->fetchRow()) {
00153 
00154                 //Ben�tigte Daten zu den Kapitel und Seiten aus der DB auslesen
00155 
00156                 if ($row[2] == 'st') {
00157                     $Kapitelanz ++;
00158                     $KapitelID[$Kapitelanz] = $row[0];
00159                     $KapitelName[$Kapitelanz] = $row[1];
00160                     $KapitelLernModul[$Kapitelanz] = $row[3];
00161                     $rKapitelID[$row[0]] = $Kapitelanz;
00162                 }
00163                 if ($row[2] == 'pg') {
00164                     $Seitenanz ++;
00165                     $SeitenID[$Seitenanz] = $row[0];
00166                     $SeitenName[$Seitenanz] = $row[1];
00167                     $SeitenLernModul[$Seitenanz] = $row[3];
00168                     $rSeitenID[$row[0]] = $Seitenanz;
00169                 }
00170             }
00171 
00172             //2.SESSIONS bestimmen
00173 
00174             if ($_POST["stat2"] == 'all') {
00175                 $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."' ";
00176             } else {
00177                 $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." ";
00178             }
00179             $result = $ilias->db->query($q);
00180 
00181             while ($row = $result->fetchRow()) {
00182 
00183                 if (($rSeitenID[$row[3]] != 0) && ($rKapitelID[$vatizumkind[$row[3]]] != 0)) { //�berpr�ft ob die Seite des UT-Eintrages noch in der DB steht
00184 
00185                     if ($row[1] > $UserTopID) {
00186                         $UserTopID = $row[1];
00187                     } //Es wird die h�chste User-ID bestimmt
00188 
00189                     $UserZugriffe[$row[1]]++;
00190                     $SeitenZugriffe[$rSeitenID[$row[3]]]++;
00191                     $GesamtSeitenZugriffe ++;
00192                     $KapitelSeitenZugriffe[$rKapitelID[$vatizumkind[$row[3]]]]++;
00193                     $checkS = false;
00194 
00195                     //�berpr�fen ob Eintrag zu einer Session geh�rt
00196 
00197                     for ($i = 0; $i <= count($SessionCheck[$row[1]]); $i ++) {
00198                         if ($row[4] == $SessionCheck[$row[1]][$i][0]) {
00199                             $pos = $SessionCheck[$row[1]][$i][1]; //liefert die session-id
00200                             $checkS = true;
00201                         }
00202                     }
00203 
00204                     //jetzt falls erneuter Seitenzugriff w�hrend einer Session
00205 
00206                     if ($checkS) {
00207 
00208                         //Untersuchen wie lange der Zeitraum zwischen den zwei Besuchen in der Sessions war
00209 
00210                         $SessionGesamtZugriffe ++;
00211                         $SessionEndSekundeDummy[$pos] = (substr($row[5], -2));
00212                         $SessionEndMinuteDummy[$pos] = (substr($row[5], -5, 2));
00213                         $SessionEndStundeDummy[$pos] = (substr($row[5], -8, 2));
00214                         $SessionEndGesamt = $SessionEndSekundeDummy[$pos] + $SessionEndMinuteDummy[$pos] * 60 + $SessionEndStundeDummy[$pos] * 60 * 60;
00215 
00216                         if (($SessionEndGesamt - $SessionStartGesamt[$pos]) > 0) {
00217                             $SessionZugriffDifferenz = $SessionEndGesamt - $SessionStartGesamt[$pos];
00218                         }
00219 
00220                         if ($SessionZugriffDifferenz < $SessionMaxVerweildauer) { //Falls Zeitdiff zwischen 2 Zugriffen kleiner der Vorgabe ist
00221 
00222                             //Statistik: Die Verweildauer zwischen den Klicks wird in in einer Klasse eingeteilt
00223 
00224                             if ($SessionZugriffDifferenz <= $IntervallMax[1]) {
00225                                 $IntervallAnz[1]++;
00226                             } else
00227                             if ($SessionZugriffDifferenz <= $IntervallMax[2]) {
00228                                 $IntervallAnz[2]++;
00229                             } else
00230                             if ($SessionZugriffDifferenz <= $IntervallMax[3]) {
00231                                 $IntervallAnz[3]++;
00232                             } else
00233                             if ($SessionZugriffDifferenz <= $IntervallMax[4]) {
00234                                 $IntervallAnz[4]++;
00235                             } else
00236                             if ($SessionZugriffDifferenz <= $IntervallMax[5]) {
00237                                 $IntervallAnz[5]++;
00238                             } else {
00239                                 $IntervallAnz[6]++;
00240                             }
00241 
00242                             $MessbareSessionZugriffe ++;
00243 
00244                             $SessionsVerweildauer[$MessbareSessionZugriffe] = $SessionZugriffDifferenz; //Differenz abspeichern
00245 
00246                             if ($SessionZugriffe[$pos] == 1) {
00247                                 $MessbareSessions ++;
00248                                 $UserSessionAnz[$row[1]]++;
00249                             }
00250 
00251                             $SessionZugriffe[$pos]++;
00252                             $SeitenVerweildauerListe[$rSeitenID[$row[3]]][$SeitenMessbareZugriffe[$rSeitenID[$row[3]]]] = $SessionZugriffDifferenz;
00253                             $SeitenMessbareZugriffe[$rSeitenID[$row[3]]]++;
00254                             $SessionEndTime[$pos] = $row[5];
00255                             $SessionStartGesamt[$pos] = $SessionEndGesamt;
00256                             $SessionGesamtDauerAll += $SessionZugriffDifferenz;
00257                             $SessionGesamtDauer[$pos] += $SessionZugriffDifferenz;
00258                             $UserGesamtSessionsDauer[$row[1]] += $SessionZugriffDifferenz;
00259                             $UserSessionZugriffe[$row[1]]++;
00260                             $SeiteGesamtVerweilZeit[$rSeitenID[$row[3]]] += $SessionZugriffDifferenz;
00261 
00262                             $SessionVonNach[$SessionQuellSeite[$pos]][$rSeitenID[$row[3]]]++;
00263                             $KapitelVonNach[$rKapitelID[$vatizumkind[$SeitenID[$SessionQuellSeite[$pos]]]]][$rKapitelID[$vatizumkind[$row[3]]]]++;
00264                             $SessionQuellSeite[$pos] = $rSeitenID[$row[3]];
00265 
00266                         } else {
00267                             $checkS = false;
00268                         }
00269 
00270                     } //Ende  if($checkS)
00271 
00272                     //falls erster Seitenzugriff einer Session
00273 
00274                     if ($checkS == false) {
00275 
00276                         $Sessionanz ++;
00277 
00278                         $aktSessionAnzahlUser = count($SessionCheck[$row[1]]) + 1; //Sessionanzahl des Users erh�hen
00279                         $SessionCheck[$row[1]][$aktSessionAnzahlUser][0] = $row[4];
00280                         $SessionCheck[$row[1]][$aktSessionAnzahlUser][1] = $Sessionanz;
00281 
00282                         $SessionZugriffe[$Sessionanz] = 1;
00283                         $SessionID[$Sessionanz] = $row[4];
00284                         $SessionUserID[$Sessionanz] = $row[1];
00285                         $SessionStartTime[$Sessionanz] = $row[5];
00286 
00287                         $SessionQuellSeite[$Sessionanz] = $rSeitenID[$row[3]];
00288                         $SessionStartSekunde[$Sessionanz] = (substr($SessionStartTime[$Sessionanz], -2));
00289                         $SessionStartMinute[$Sessionanz] = (substr($SessionStartTime[$Sessionanz], -5, 2));
00290                         $SessionStartStunde[$Sessionanz] = (substr($SessionStartTime[$Sessionanz], -8, 2));
00291                         $SessionStartGesamt[$Sessionanz] = $SessionStartSekunde[$Sessionanz] + $SessionStartMinute[$Sessionanz] * 60 + $SessionStartStunde[$Sessionanz] * 60 * 60;
00292 
00293                     }
00294                 }
00295             } //Ende While
00296 
00297 
00298             //STATISTIKEN
00299 
00300             //SEITENSTATS
00301 
00302             //meist-wenigst besuchteste Seiten abfragen
00303 
00304             for ($i = 1; $i <= $Seitenanz; $i ++) {
00305 
00306                 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[1]) {
00307                     $IntervallSeitenAnz[1]++;
00308                 } else
00309                 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[2]) {
00310                     $IntervallSeitenAnz[2]++;
00311                 } else
00312                 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[3]) {
00313                     $IntervallSeitenAnz[3]++;
00314                 } else
00315                 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[4]) {
00316                     $IntervallSeitenAnz[4]++;
00317                 } else
00318                 if ($SeitenZugriffe[$i] <= $IntervallSeitenMax[5]) {
00319                     $IntervallSeitenAnz[5]++;
00320                 } else {
00321                     $IntervallSeitenAnz[6]++;
00322                 }
00323             }
00324 
00325             //VERWEILDAUER-STATS
00326 
00327             //SessionsVerweildauer orden
00328 
00329             if (count($SessionsVerweildauer) > 0) {
00330                 sort($SessionsVerweildauer);
00331             }
00332 
00333             //SessionDurchschnittsDauer bestimmen
00334             if ($MessbareSessions > 0) {
00335                 $SessionDurchschnittsDauer = $SessionGesamtDauerAll / $MessbareSessions;
00336             }
00337 
00338             //SeitenVerweildauerDurchschnitt bestimmen
00339             if ($MessbareSessionZugriffe > 0) {
00340                 $SeitenVerweildauerDurchschnitt = $SessionGesamtDauerAll / $MessbareSessionZugriffe;
00341             }
00342 
00343             //SeitenVerweildauerSpannweite bestimmen
00344 
00345             $SeitenVerweildauerSpannweite = $SessionsVerweildauer[$MessbareSessionZugriffe -1] - $SessionsVerweildauer[0];
00346 
00347             //Verweildauer Median bestimmen
00348 
00349             if ($MessbareSessionZugriffe % 2 == 0) {
00350 
00351                 $VerweildauerMedianPosA = ($MessbareSessionZugriffe) / 2;
00352                 $VerweildauerMedianPosB = ($MessbareSessionZugriffe +1) / 2 + 1;
00353                 $VerweildauerMedian = ($SessionsVerweildauer[$VerweildauerMedianPosA -1] + $SessionsVerweildauer[$VerweildauerMedianPosB -1]) / 2;
00354             } else {
00355                 $VerweildauerMedianPos = ($MessbareSessionZugriffe +1) / 2;
00356                 $VerweildauerMedian = $SessionsVerweildauer[$VerweildauerMedianPos -1];
00357             }
00358 
00359             $SeitenVerweildauerVarianz = ilLMStatistics::varianzSV($SessionsVerweildauer, $SeitenVerweildauerDurchschnitt);
00360 
00361             $SeitenVerweildauerStandartAbw = sqrt($SeitenVerweildauerVarianz);
00362 
00363             if ($SeitenVerweildauerStandartAbw > 0) {
00364                 $SeitenVerweildauerVarKoef = $SeitenVerweildauerDurchschnitt / $SeitenVerweildauerStandartAbw;
00365             }
00366 
00367             //GesamtVerweilzeit f�r Seiten maxordnen
00368 
00369             for ($i = 1; $i <= $Seitenanz; $i ++) {
00370                 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00371                     $SeitenGesamtVerweilMax[$i] = $SeiteGesamtVerweilZeit[$i];
00372                     $SeitenGesamtVerweilMaxID[$i] = $i;
00373                 }
00374             }
00375 
00376             if (count($SeitenGesamtVerweilMax) > 0) {
00377                 array_multisort($SeitenGesamtVerweilMax, SORT_DESC, $SeitenGesamtVerweilMaxID);
00378             }
00379 
00380             //GesamtVerweilzeit f�r Seiten minordnen
00381 
00382             for ($i = 1; $i <= $Seitenanz; $i ++) {
00383                 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00384                     $SeitenGesamtVerweilMin[$i] = $SeiteGesamtVerweilZeit[$i];
00385                     $SeitenGesamtVerweilMinID[$i] = $i;
00386                 }
00387             }
00388 
00389             if (count($SeitenGesamtVerweilMin) > 0) {
00390                 array_multisort($SeitenGesamtVerweilMin, SORT_ASC, $SeitenGesamtVerweilMinID);
00391             }
00392 
00393             //durchsch. Verweildauer f�r Seiten max ordnen
00394 
00395             for ($i = 1; $i <= $Seitenanz; $i ++) {
00396                 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00397                     $SeitenDurchschnittVerweilMax[$i] = $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i];
00398                     $SeitenDurchschnittVerweilMaxID[$i] = $i;
00399                 }
00400             }
00401             if (count($SeitenDurchschnittVerweilMax) > 0) {
00402                 array_multisort($SeitenDurchschnittVerweilMax, SORT_DESC, $SeitenDurchschnittVerweilMaxID);
00403             }
00404 
00405             //durchsch. Verweildauer f�r Seiten min  ordnen
00406 
00407             for ($i = 1; $i <= $Seitenanz; $i ++) {
00408                 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00409                     $SeitenDurchschnittVerweilMin[$i] = $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i];
00410                     $SeitenDurchschnittVerweilMinID[$i] = $i;
00411                 }
00412             }
00413             if (count($SeitenDurchschnittVerweilMin) > 0) {
00414                 array_multisort($SeitenDurchschnittVerweilMin, SORT_ASC, $SeitenDurchschnittVerweilMinID);
00415             }
00416 
00417             //USER-STATS:
00418 
00419             //Gesamte Sessiondauer der Einzelnen User ordnen
00420 
00421             for ($i = 1; $i <= $UserTopID; $i ++) {
00422                 if ($UserGesamtSessionsDauer[$i] > 0) {
00423                     $UserGesamtSessionsDauerMax[$i] = $UserGesamtSessionsDauer[$i];
00424                     $UserGesamtSessionsDauerMaxID[$i] = $i;
00425                 } else {
00426                     $UserGesamtSessionsDauerMax[$i] = "";
00427                     $UserGesamtSessionsDauerMaxID[$i] = "";
00428                 }
00429             }
00430             if (count($UserGesamtSessionsDauerMax) > 0) {
00431                 array_multisort($UserGesamtSessionsDauerMax, SORT_DESC, $UserGesamtSessionsDauerMaxID);
00432             }
00433 
00434             //SessionAnz der Einzelnen User ordnen
00435 
00436             for ($i = 1; $i <= $UserTopID; $i ++) {
00437                 if ($UserSessionAnz[$i] > 0) {
00438                     $UserSessionAnzMax[$i] = $UserSessionAnz[$i];
00439                     $UserSessionAnzMaxID[$i] = $i;
00440                 } else {
00441                     $UserSessionAnzMax[$i] = "";
00442                     $UserSessionAnzMaxID[$i] = "";
00443                 }
00444             }
00445             if (count($UserSessionAnzMax) > 0) {
00446                 array_multisort($UserSessionAnzMax, SORT_DESC, $UserSessionAnzMaxID);
00447             }
00448 
00449             //beteiligte User
00450 
00451             for ($i = 0; $i <= $UserTopID; $i ++) {
00452                 if ($UserZugriffe[$i] > 0) {
00453                     $UserAnz ++;
00454                 }
00455             }
00456             //Auswertbare User (Zeit)
00457             for ($i = 0; $i <= $UserTopID; $i ++) {
00458                 if ($UserSessionAnz[$i] > 0) {
00459                     $UserMessbarAnz ++;
00460                 }
00461             }
00462 
00463             //SEITENZUGRIFF-STATS
00464 
00465             //Zugriffe f�r Seiten maxordnen
00466 
00467             for ($i = 1; $i <= $Seitenanz; $i ++) {
00468 
00469                 if ($SeitenZugriffe[$i] > 0) {
00470                     $SeitenZugriffMax[$i] = $SeitenZugriffe[$i];
00471                     $SeitenZugriffMaxID[$i] = $i;
00472                 } else {
00473                     $SeitenZugriffMax[$i] = "";
00474                     $SeitenZugriffMaxID[$i] = "";
00475                 }
00476             }
00477 
00478             if (count($SeitenZugriffMax) > 0) {
00479                 array_multisort($SeitenZugriffMax, SORT_DESC, $SeitenZugriffMaxID);
00480             }
00481 
00482             //Zugriffe f�r Seiten minordnen
00483 
00484             for ($i = 1; $i <= $Seitenanz; $i ++) {
00485 
00486                 if ($SeitenZugriffe[$i] > 0) {
00487                     $SeitenZugriffMin[$i] = $SeitenZugriffe[$i];
00488                     $SeitenZugriffMinID[$i] = $i;
00489                 } else {
00490                     $SeitenZugriffMin[$i] = "";
00491                     $SeitenZugriffMinID[$i] = $i;
00492                 }
00493             }
00494 
00495             if (count($SeitenZugriffMin) > 0) {
00496                 array_multisort($SeitenZugriffMin, SORT_ASC, $SeitenZugriffMinID);
00497             }
00498 
00499             //Seitenzugriffe Median bestimmen
00500 
00501             if (count($SeitenZugriffMax) % 2 == 0) {
00502 
00503                 $SeitenZugriffeMedianPosA = (count($SeitenZugriffMax)) / 2;
00504                 $SeitenZugriffeMedianPosB = (count($SeitenZugriffMax) + 1) / 2 + 1;
00505                 $SeitenZugriffeMedian = ($SeitenZugriffMax[$SeitenZugriffeMedianPosA -1] + $SeitenZugriffMax[$SeitenZugriffeMedianPosB -1]) / 2;
00506             } else {
00507                 $SeitenZugriffeMedianPos = (count($SeitenZugriffMax) + 1) / 2;
00508                 $SeitenZugriffeMedian = $SeitenZugriffMax[$SeitenZugriffeMedianPos -1];
00509             }
00510 
00511             //SeitenZugriffe Spannweite bestimmen
00512 
00513             $SeitenZugriffeSpannweite = $SeitenZugriffMax[0] - $SeitenZugriffMax[count($SeitenZugriffMax) - 1];
00514 
00515             //SeitenZugriffe Modus bestimmen
00516             $MaxZW = 0;
00517             for ($i = 1; $i <= $Seitenanz; $i ++) {
00518                 $ZugriffsWert[$SeitenZugriffe[$i]]++;
00519                 if ($SeitenZugriffe[$i] > $MaxZW) {
00520                     $MaxZW = $SeitenZugriffe[$i];
00521                 }
00522             }
00523             for ($i = 0; $i <= $MaxZW; $i ++) {
00524                 if ($ZugriffsWert[$i] > $ZugriffsWertMaxAus) {
00525                     $ZugriffsWertMaxAus = $ZugriffsWert[$i];
00526                     $ZugriffsWertMax = $i;
00527                 }
00528             }
00529 
00530             //SeitenZugriffe Var, Stdabw, Korr
00531 
00532             if ($Seitenanz > 0) {
00533                 $SeitenZugriffeVarianz = ilLMStatistics::varianzSV($SeitenZugriffMax, $GesamtSeitenZugriffe / $Seitenanz);
00534             }
00535             $SeitenZugriffeStandartAbw = sqrt($SeitenZugriffeVarianz);
00536 
00537             if (($Seitenanz > 0) && ($GesamtSeitenZugriffe / $Seitenanz) > 0) {
00538                 $SeitenZugriffeVarKoef = $SeitenZugriffeStandartAbw / ($GesamtSeitenZugriffe / $Seitenanz);
00539             }
00540 
00541             //SESSIONSTATS
00542 
00543             //Zusatz2: l�ngste Session bestimmen
00544 
00545             for ($i = 1; $i <= $Sessionanz; $i ++) {
00546                 $SessionGesamtDauerMax[$i] = $SessionGesamtDauer[$i];
00547                 $SessionGesamtDauerMaxID[$i] = $i;
00548             }
00549 
00550             if (count($SessionGesamtDauerMax) > 0) {
00551                 array_multisort($SessionGesamtDauerMax, SORT_DESC, $SessionGesamtDauerMaxID);
00552             }
00553 
00554             if ($Sessionanz > 0) {
00555                 $SessionDurschnittsZeit = $GesamtSeitenZugriffe / $Sessionanz;
00556             }
00557 
00558             //EINZELSEITEN STATS
00559 
00560             for ($i = 1; $i <= $Seitenanz; $i ++) {
00561                 if ($SeitenMessbareZugriffe[$i] > 0) {
00562                     $EinzelSeitenVarianz[$i] = ilLMStatistics::varianzSV($SeitenVerweildauerListe[$i], $SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i]);
00563                     if ($EinzelSeitenVarianz[$i] > 0) {
00564                         $EinzelSeitenVarKoef[$i] = ($SeiteGesamtVerweilZeit[$i] / $SeitenMessbareZugriffe[$i]) / sqrt($EinzelSeitenVarianz[$i]);
00565                     }
00566                 }
00567             }
00568             //EinzelSeitenvarianzen max
00569             for ($i = 1; $i <= $Seitenanz; $i ++) {
00570                 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00571                     $EinzelSeitenVarMax[$i] = $EinzelSeitenVarianz[$i];
00572                     $EinzelSeitenVarMaxID[$i] = $i;
00573                 }
00574             }
00575             if (count($EinzelSeitenVarMax) > 0) {
00576                 array_multisort($EinzelSeitenVarMax, SORT_DESC, $EinzelSeitenVarMaxID);
00577             }
00578 
00579             //EinzelSeitenvarianzen min
00580             for ($i = 1; $i <= $Seitenanz; $i ++) {
00581                 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00582                     $EinzelSeitenVarMin[$i] = $EinzelSeitenVarianz[$i];
00583                     $EinzelSeitenVarMinID[$i] = $i;
00584                 }
00585             }
00586             if (count($EinzelSeitenVarMin) > 0) {
00587                 array_multisort($EinzelSeitenVarMin, SORT_ASC, $EinzelSeitenVarMinID);
00588             }
00589 
00590             //EinzelSeitenVarKoef max
00591             for ($i = 1; $i <= $Seitenanz; $i ++) {
00592                 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00593                     $EinzelSeitenVarKoefMax[$i] = $EinzelSeitenVarKoef[$i];
00594                     $EinzelSeitenVarKoefMaxID[$i] = $i;
00595                 }
00596             }
00597             if (count($EinzelSeitenVarKoefMax) > 0) {
00598                 array_multisort($EinzelSeitenVarKoefMax, SORT_DESC, $EinzelSeitenVarKoefMaxID);
00599             }
00600 
00601             //EinzelSeitenVarKoef min
00602             for ($i = 1; $i <= $Seitenanz; $i ++) {
00603                 if ($SeitenMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00604                     $EinzelSeitenVarKoefMin[$i] = $EinzelSeitenVarKoef[$i];
00605                     $EinzelSeitenVarKoefMinID[$i] = $i;
00606                 }
00607             }
00608             if (count($EinzelSeitenVarKoefMin) > 0) {
00609                 array_multisort($EinzelSeitenVarKoefMin, SORT_ASC, $EinzelSeitenVarKoefMinID);
00610             }
00611 
00612             //KAPITEL STATS:
00613 
00614             //Seitenstats auf Kapitel �bertragen
00615 
00616             $knoten = 0;
00617             $tiefe = 0;
00618             $KapitelAbdeckungsKennzahl1 = 1; //untere Klassengrenze;
00619 
00620             for ($i = 1; $i <= $Seitenanz; $i ++) {
00621 
00622                 $knoten = $SeitenID[$i];
00623                 $tiefe = $seitenTiefe[$SeitenID[$i]];
00624 
00625                 while ($tiefe > 1) {
00626 
00627                     $knoten = $vatizumkind[$knoten];
00628                     $KapitelZugriffe[$rKapitelID[$knoten]] += $SeitenZugriffe[$i];
00629                     $KapitelGesamtVerweilZeit[$rKapitelID[$knoten]] += $SeiteGesamtVerweilZeit[$i];
00630                     $KapitelMessbareZugriffe[$rKapitelID[$knoten]] += $SeitenMessbareZugriffe[$i];
00631                     $KapitelSeitenSumme[$rKapitelID[$knoten]]++;
00632                     if ($tiefe == 2) {
00633                         $KapitelGesamtSeitenAnzEbene2 ++;
00634                     }
00635                     if ($tiefe == 3) {
00636                         $KapitelGesamtSeitenAnzEbene3 ++;
00637                     }
00638                     if ($tiefe == 4) {
00639                         $KapitelGesamtSeitenAnzEbene4 ++;
00640                     }
00641                     if ($tiefe == 5) {
00642                         $KapitelGesamtSeitenAnzEbene5 ++;
00643                     }
00644                     $tiefe = $seitenTiefe[$knoten];
00645                 }
00646             }
00647 
00648             //Zugriffe f�r Kapitel maxordnen
00649 
00650             for ($i = 1; $i <= $Kapitelanz; $i ++) {
00651 
00652                 if ($seitenTiefe[$KapitelID[$i]] == 2) {
00653 
00654                     $KapitelTiefe2Anzahl ++;
00655 
00656                     if ($KapitelZugriffe[$i] > 0) {
00657                         $KapitelZugriffMax2[$i] = $KapitelZugriffe[$i];
00658                         $KapitelZugriffMaxID2[$i] = $i;
00659                     } else {
00660                         $KapitelZugriffMax2[$i] = "";
00661                         $KapitelZugriffMaxID2[$i] = $i;
00662                     }
00663                 }
00664                 if ($seitenTiefe[$KapitelID[$i]] == 3) {
00665                     $KapitelTiefe3Anzahl ++;
00666                     if ($KapitelZugriffe[$i] > 0) {
00667                         $KapitelZugriffMax3[$i] = $KapitelZugriffe[$i];
00668                         $KapitelZugriffMaxID3[$i] = $i;
00669                     } else {
00670                         $KapitelZugriffMax3[$i] = "";
00671                         $KapitelZugriffMaxID3[$i] = $i;
00672                     }
00673                 }
00674                 if ($seitenTiefe[$KapitelID[$i]] == 4) {
00675                     $KapitelTiefe4Anzahl ++;
00676                     if ($KapitelZugriffe[$i] > 0) {
00677                         $KapitelZugriffMax4[$i] = $KapitelZugriffe[$i];
00678                         $KapitelZugriffMaxID4[$i] = $i;
00679                     } else {
00680                         $KapitelZugriffMax4[$i] = "";
00681                         $KapitelZugriffMaxID4[$i] = $i;
00682                     }
00683                 }
00684                 if ($seitenTiefe[$KapitelID[$i]] >= 5) {
00685                     $KapitelTiefe5Anzahl ++;
00686                     if ($KapitelZugriffe[$i] > 0) {
00687                         $KapitelZugriffMax5[$i] = $KapitelZugriffe[$i];
00688                         $KapitelZugriffMaxID5[$i] = $i;
00689                     } else {
00690                         $KapitelZugriffMax5[$i] = "";
00691                         $KapitelZugriffMaxID5[$i] = $i;
00692                     }
00693                 }
00694             }
00695 
00696             if (count($KapitelZugriffMax2) > 0) {
00697                 array_multisort($KapitelZugriffMax2, SORT_DESC, $KapitelZugriffMaxID2);
00698             }
00699             if (count($KapitelZugriffMax3) > 0) {
00700                 array_multisort($KapitelZugriffMax3, SORT_DESC, $KapitelZugriffMaxID3);
00701             }
00702             if (count($KapitelZugriffMax4) > 0) {
00703                 array_multisort($KapitelZugriffMax4, SORT_DESC, $KapitelZugriffMaxID4);
00704             }
00705             if (count($KapitelZugriffMax5) > 0) {
00706                 array_multisort($KapitelZugriffMax5, SORT_DESC, $KapitelZugriffMaxID5);
00707             }
00708 
00709             //Zugriffe f�r Kapitel minordnen
00710 
00711             for ($i = 1; $i <= $Kapitelanz; $i ++) {
00712 
00713                 if ($KapitelZugriffe[$i] > 0) {
00714                     $KapitelZugriffMin[$i] = $KapitelZugriffe[$i];
00715                     $KapitelZugriffMinID[$i] = $i;
00716                 } else {
00717                     $KapitelZugriffMin[$i] = "";
00718                     $KapitelZugriffMinID[$i] = $i;
00719                 }
00720             }
00721 
00722             if (count($KapitelZugriffMin) > 0) {
00723                 array_multisort($KapitelZugriffMin, SORT_ASC, $KapitelZugriffMinID);
00724             }
00725 
00726             //GesamtVerweilzeit f�r Kapitel maxordnen
00727 
00728             for ($i = 1; $i <= $Kapitelanz; $i ++) {
00729                 if ($seitenTiefe[$KapitelID[$i]] == 2) {
00730                     if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00731                         $KapitelGesamtVerweilMax2[$i] = $KapitelGesamtVerweilZeit[$i];
00732                         $KapitelGesamtVerweilMaxID2[$i] = $i;
00733                     }
00734                 }
00735                 if ($seitenTiefe[$KapitelID[$i]] == 3) {
00736                     if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00737                         $KapitelGesamtVerweilMax3[$i] = $KapitelGesamtVerweilZeit[$i];
00738                         $KapitelGesamtVerweilMaxID3[$i] = $i;
00739                     }
00740                 }
00741                 if ($seitenTiefe[$KapitelID[$i]] == 4) {
00742                     if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00743                         $KapitelGesamtVerweilMax4[$i] = $KapitelGesamtVerweilZeit[$i];
00744                         $KapitelGesamtVerweilMaxID4[$i] = $i;
00745                     }
00746                 }
00747                 if ($seitenTiefe[$KapitelID[$i]] >= 5) {
00748                     if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00749                         $KapitelGesamtVerweilMax5[$i] = $KapitelGesamtVerweilZeit[$i];
00750                         $KapitelGesamtVerweilMaxID5[$i] = $i;
00751                     }
00752                 }
00753             }
00754 
00755             if (count($KapitelGesamtVerweilMax2) > 0) {
00756                 array_multisort($KapitelGesamtVerweilMax2, SORT_DESC, $KapitelGesamtVerweilMaxID2);
00757             }
00758             if (count($KapitelGesamtVerweilMax3) > 0) {
00759                 array_multisort($KapitelGesamtVerweilMax3, SORT_DESC, $KapitelGesamtVerweilMaxID3);
00760             }
00761             if (count($KapitelGesamtVerweilMax4) > 0) {
00762                 array_multisort($KapitelGesamtVerweilMax4, SORT_DESC, $KapitelGesamtVerweilMaxID4);
00763             }
00764             if (count($KapitelGesamtVerweilMax5) > 0) {
00765                 array_multisort($KapitelGesamtVerweilMax5, SORT_DESC, $KapitelGesamtVerweilMaxID5);
00766             }
00767 
00768             //GesamtVerweilzeit f�r Kapitel minordnen
00769             for ($i = 1; $i <= $Kapitelanz; $i ++) {
00770                 if ($KapitelMessbareZugriffe[$i] >= $RankBenoetigteZugriffe) {
00771                     $KapitelGesamtVerweilMin[$i] = $KapitelGesamtVerweilZeit[$i];
00772                     $KapitelGesamtVerweilMinID[$i] = $i;
00773                 }
00774             }
00775 
00776             if (count($KapitelGesamtVerweilMin) > 0) {
00777                 array_multisort($KapitelGesamtVerweilMin, SORT_ASC, $KapitelGesamtVerweilMinID);
00778             }
00779 
00780             //SeitenSumme f�r Kapitel maxordnen
00781 
00782             for ($i = 1; $i <= $Kapitelanz; $i ++) {
00783                 $KapitelSeitenSummeMax[$i] = $KapitelSeitenSumme[$i];
00784                 $KapitelSeitenSummeMaxID[$i] = $i;
00785             }
00786 
00787             if (count($KapitelGesamtVerweilMax) > 0) {
00788                 array_multisort($KapitelSeitenSummeMax, SORT_DESC, $KapitelSeitenSummeMaxID);
00789             }
00790 
00791             //durchschnittliche Seitenzugriffe je Kapiteltiefe
00792             $summe = 0;
00793             for ($i = 0; $i <= $Kapitelanz; $i ++) {
00794                 $summe += $KapitelZugriffMax2[$i];
00795             }
00796             if ($KapitelGesamtSeitenAnzEbene2 > 0) {
00797                 $KapitelDurchZugriffe2 = $summe / $KapitelGesamtSeitenAnzEbene2;
00798             }
00799             $summe = 0;
00800             for ($i = 0; $i <= $Kapitelanz; $i ++) {
00801                 $summe += $KapitelZugriffMax3[$i];
00802             }
00803             if ($KapitelGesamtSeitenAnzEbene3 > 0) {
00804                 $KapitelDurchZugriffe3 = $summe / $KapitelGesamtSeitenAnzEbene3;
00805             }
00806             $summe = 0;
00807             for ($i = 0; $i <= $Kapitelanz; $i ++) {
00808                 $summe += $KapitelZugriffMax4[$i];
00809             }
00810             if ($KapitelGesamtSeitenAnzEbene4 > 0) {
00811                 $KapitelDurchZugriffe4 = $summe / $KapitelGesamtSeitenAnzEbene4;
00812             }
00813             $summe = 0;
00814             for ($i = 0; $i <= $Kapitelanz; $i ++) {
00815                 $summe += $KapitelZugriffMax5[$i];
00816             }
00817             if ($KapitelGesamtSeitenAnzEbene5 > 0) {
00818                 $KapitelDurchZugriffe5 = $summe / $KapitelGesamtSeitenAnzEbene5;
00819             }
00820 
00821             for ($i = 1; $i <= $Seitenanz; $i ++) {
00822                 $knoten = $SeitenID[$i];
00823                 $tiefe = $seitenTiefe[$SeitenID[$i]];
00824 
00825                 while ($tiefe > 1) {
00826                     $knoten = $vatizumkind[$knoten];
00827                     if (($seitenTiefe[$knoten] == 2) && ($KapitelDurchZugriffe2 > 0)) {
00828                         if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
00829                             $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
00830                         }
00831                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor2) {
00832                             $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
00833                         }
00834                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor3) {
00835                             $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
00836                         }
00837                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor4) {
00838                             $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
00839                         }
00840                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor5) {
00841                             $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
00842                         }
00843                     }
00844                     if (($seitenTiefe[$knoten] == 3) && ($KapitelDurchZugriffe3 > 0)) {
00845                         if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
00846                             $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
00847                         }
00848                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor2) {
00849                             $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
00850                         }
00851                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor3) {
00852                             $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
00853                         }
00854                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor4) {
00855                             $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
00856                         }
00857                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor5) {
00858                             $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
00859                         }
00860                     }
00861                     if (($seitenTiefe[$knoten] == 4) && ($KapitelDurchZugriffe4 > 0)) {
00862                         if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
00863                             $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
00864                         }
00865                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor2) {
00866                             $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
00867                         }
00868                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor3) {
00869                             $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
00870                         }
00871                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor4) {
00872                             $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
00873                         }
00874                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor5) {
00875                             $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
00876                         }
00877                     }
00878                     if (($seitenTiefe[$knoten] >= 5) && ($KapitelDurchZugriffe5 > 0)) {
00879                         if ($SeitenZugriffe[$i] >= $KapitelAbdeckungsKennzahl1) {
00880                             $KapitelAbgedeckteSeiten1[$rKapitelID[$knoten]]++;
00881                         }
00882                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor2) {
00883                             $KapitelAbgedeckteSeiten2[$rKapitelID[$knoten]]++;
00884                         }
00885                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor3) {
00886                             $KapitelAbgedeckteSeiten3[$rKapitelID[$knoten]]++;
00887                         }
00888                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor4) {
00889                             $KapitelAbgedeckteSeiten4[$rKapitelID[$knoten]]++;
00890                         }
00891                         if ($SeitenZugriffe[$i] >= $KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor5) {
00892                             $KapitelAbgedeckteSeiten5[$rKapitelID[$knoten]]++;
00893                         }
00894                     }
00895                     $tiefe = $seitenTiefe[$knoten];
00896                 }
00897 
00898             }
00899 
00900             //BEGINN DER AUSGABE
00912             $TNA = 300; //Strings werden auf diesen Wert gek�rzt
00913             $hop = 3; //Dicke zwischen den Zeilen. Um zB Optionen in der Ausgabe voneinander abzugrenzen
00914 
00915             //SEITENSTATS
00916 
00917             //Funktion zum umrechnen von Sekunden in Stunden
00918 
00919             /*                  //wenn die Option umlauteAendern eingeschaltet ist (wert=1) dann werden bei der Ausgabe die Umlaute in der Ausgabe ge�ndert
00920 
00921             if ($umlauteAendern == 1) {
00922             $d1 = array ("ä", "ö", "ü", "Ä", "Ö", "Ü");
00923             $d2 = array ("ae", "oe", "ue", "Ae", "Oe", "Ue");
00924             }
00925             */
00926 
00927 
00928             $slider = 1;
00929             $SeitenStatsName[$slider] = $lng->txt("stats_page_number"); //$lng->txt("stats_page_number")
00930             $SeitenStatsWert[$slider] = round($Seitenanz);
00931             $slider ++;
00932             $SeitenStatsName[$slider] = $lng->txt("stats_page_number_access"); //"Anzahl Seitenzugriffe";
00933             $SeitenStatsWert[$slider] = round($GesamtSeitenZugriffe)."z";
00934             $slider ++;
00935             $SeitenStatsName[$slider] = $lng->txt("stats_page_total_dwell_time"); //"Gesamte-SeitenVerweilzeit";
00936             $SeitenStatsWert[$slider] =  ilLMStatistics::s_to_h($SessionGesamtDauerAll)." (".round($SessionGesamtDauerAll)."s)";
00937             $slider ++;
00938             if ($Seitenanz > 0) {
00939                 $SeitenStatsName[$slider] = $lng->txt("stats_page_average_access"); //"Seitenzugriffe-Mittelwert";
00940                 $SeitenStatsWert[$slider] = round(($GesamtSeitenZugriffe / $Seitenanz), 2)."z";
00941                 $slider ++;
00942             }
00943             $SeitenStatsName[$slider] = $lng->txt("stats_page_median_access"); //"Seitenzugriffe-Median";
00944             $SeitenStatsWert[$slider] = round($SeitenZugriffeMedian)."z";
00945             $slider ++;
00946             $SeitenStatsName[$slider] = $lng->txt("stats_page_mode_access"); //"Seitenzugriffe-Modus:";
00947             $SeitenStatsWert[$slider] = $lng->txt("stats_occurrence").": ".round($ZugriffsWertMax)." (#: ".$ZugriffsWertMaxAus." )";
00948             $slider ++;
00949             $SeitenStatsName[$slider] = $lng->txt("stats_page_range_access"); //"Seitenzugriffe-Spannweite";
00950             $SeitenStatsWert[$slider] = round($SeitenZugriffeSpannweite)."z";
00951             $slider ++;
00952             $SeitenStatsName[$slider] = $lng->txt("stats_page_variance_access"); //"Seitenzugriffe-Varianz";
00953             $SeitenStatsWert[$slider] = round($SeitenZugriffeVarianz, 2);
00954             $slider ++;
00955             $SeitenStatsName[$slider] = $lng->txt("stats_page_deviation_access"); //"Seitenzugriffe-Standartabweichung";
00956             $SeitenStatsWert[$slider] = round($SeitenZugriffeStandartAbw, 2)."z";
00957             $slider ++;
00958             $SeitenStatsName[$slider] = $lng->txt("stats_page_varcoeff_access"); //"Seitenzugriffer-VarKoef";
00959             $SeitenStatsWert[$slider] = round($SeitenZugriffeVarKoef, 2);
00960             $slider ++;
00961             $SeitenStatsName[$slider] = $lng->txt("stats_page_average_dwell_time"); //"SeitenVerweildauer-Mittelwert";
00962             $SeitenStatsWert[$slider] = round($SeitenVerweildauerDurchschnitt, 2)."s";
00963             $slider ++;
00964             $SeitenStatsName[$slider] = $lng->txt("stats_page_median_dwell_time"); //"SeitenVerweildauer-Median";
00965             $SeitenStatsWert[$slider] = round($VerweildauerMedian);
00966             $slider ++;
00967             $SeitenStatsName[$slider] = $lng->txt("stats_page_range_dwell_time"); //"SeitenVerweildauer-Spannweite";
00968             $SeitenStatsWert[$slider] = round($SeitenVerweildauerSpannweite)."s";
00969             $slider ++;
00970             $SeitenStatsName[$slider] = $lng->txt("stats_page_variance_dwell_time"); //"SeitenVerweildauer-Varianz";
00971             $SeitenStatsWert[$slider] = round($SeitenVerweildauerVarianz, 2);
00972             $slider ++;
00973             $SeitenStatsName[$slider] = $lng->txt("stats_page_deviation_dwell_time"); //"SeitenVerweildauer-Standartabweichung";
00974             $SeitenStatsWert[$slider] = round($SeitenVerweildauerStandartAbw, 2)."s";
00975             $slider ++;
00976             $SeitenStatsName[$slider] = $lng->txt("stats_page_varcoeff_dwell_time"); //"SeitenVerweildauer-VarKoef";
00977             $SeitenStatsWert[$slider] = round($SeitenVerweildauerVarKoef, 2);
00978             $slider ++;
00979             $slider = count($SeitenStatsWert);
00980 
00981             $slider += 2;
00982 
00983             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_longest_total_dwell_time")."</b>"; //"<b>Laengste GesamtVerweildauer:</b>";
00984             $SeitenStatsWert[$slider] = "";
00985             for ($i = 0; $i < $RankAnzahl; $i ++) {
00986                 $SeitenStatsName[$i +1 + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$SeitenGesamtVerweilMaxID[$i]], 0, $TNA));
00987                 $SeitenStatsWert[$i +1 + $slider] =  ilLMStatistics::s_to_h($SeitenGesamtVerweilMax[$i])." (".
00988                 (is_numeric($SeitenGesamtVerweilMax[$i])?$SeitenGesamtVerweilMax[$i]:"0")."s, mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenGesamtVerweilMaxID[$i]])?$SeitenMessbareZugriffe[$SeitenGesamtVerweilMaxID[$i]]:"0").")";
00989             }
00990             $slider += $RankAnzahl + $hop;
00991 
00992             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_stubbiest_total_dwell_time")."</b>"; //"<b>Kuerzeste GesamtVerweildauer:</b>";
00993             $SeitenStatsWert[$slider] = "";
00994             for ($i = 0; $i < $RankAnzahl; $i ++) {
00995                 $SeitenStatsName[$i +1 + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$SeitenGesamtVerweilMinID[$i]], 0, $TNA));
00996                 $SeitenStatsWert[$i +1 + $slider] =
00997                 round(is_numeric($SeitenGesamtVerweilMin[$i])?$SeitenGesamtVerweilMin[$i]:"0")."s (mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenGesamtVerweilMinID[$i]])?$SeitenMessbareZugriffe[$SeitenGesamtVerweilMinID[$i]]:"0") .")";
00998             }
00999             $slider += $RankAnzahl + $hop;
01000 
01001             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_longest_average_dwell_time")."</b>"; //"<b>Laengste durschn.Verweildauer:</b>";
01002             $SeitenStatsWert[$slider] = "";
01003             for ($i = 0; $i < $RankAnzahl; $i ++) {
01004                 $SeitenStatsName[$i +1 + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$SeitenDurchschnittVerweilMaxID[$i]], 0, $TNA));
01005                 $SeitenStatsWert[$i +1 + $slider] =
01006                 round(is_numeric($SeitenDurchschnittVerweilMax[$i])?$SeitenDurchschnittVerweilMax[$i]:0)."s (mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMaxID[$i]])?$SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMaxID[$i]]:"0").")";
01007             }
01008             $slider += $RankAnzahl + $hop;
01009 
01010             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_stubbiest_average_dwell_time")."</b>"; //"<b>Kuerzeste durschn.Verweildauer:</b>";
01011             $SeitenStatsWert[$slider] = "";
01012             for ($i = 0; $i < $RankAnzahl; $i ++) {
01013                 $SeitenStatsName[$i +1 + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$SeitenDurchschnittVerweilMinID[$i]], 0, $TNA));
01014                 $SeitenStatsWert[$i +1 + $slider] =
01015                 round($SeitenDurchschnittVerweilMin[$i])."s (mZ:".(is_numeric($SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMinID[$i]])?$SeitenMessbareZugriffe[$SeitenDurchschnittVerweilMinID[$i]]:"0").")";
01016             }
01017             $slider += $RankAnzahl + $hop;
01018 
01019             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_most_access")."</b>"; //"<b>Meisten Zugriffe:</b>";
01020             $SeitenStatsWert[$slider] = "";
01021             for ($i = 0; $i < $RankAnzahl; $i ++) {
01022                 $SeitenStatsName[($i +1) + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$SeitenZugriffMaxID[$i]], 0, $TNA));
01023                 $SeitenStatsWert[($i +1) + $slider] = round($SeitenZugriffMax[$i])."z ";
01024             }
01025             $slider += $RankAnzahl + $hop;
01026 
01027             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_fewest_access")."</b>"; //"<b>Wenigsten Zugriffe:</b>";
01028             $SeitenStatsWert[$slider] = "";
01029             for ($i = 0; $i < $RankAnzahl; $i ++) {
01030                 $SeitenStatsName[($i +1) + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$SeitenZugriffMinID[$i]], 0, $TNA));
01031                 $SeitenStatsWert[($i +1) + $slider] = round($SeitenZugriffMin[$i])."z ";
01032             }
01033             $slider += $RankAnzahl + $hop;
01034 
01035             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_highest_deviation")."</b>"; //"<b>Hoechste Standartabweichung:</b>";
01036             $SeitenStatsWert[$slider] = "";
01037             for ($i = 0; $i < $RankAnzahl; $i ++) {
01038                 $SeitenStatsName[$i +1 + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarMaxID[$i]], 0, $TNA));
01039                 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarMax[$i]), 2)." (mZ:"
01040                 .(is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarMaxID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarMaxID[$i]]:0).")";
01041             }
01042             $slider += $RankAnzahl + $hop;
01043 
01044             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_least_deviation")."</b>"; //"<b>Geringste Standartabweichung:</b>";
01045             $SeitenStatsWert[$slider] = "";
01046             for ($i = 0; $i < $RankAnzahl; $i ++) {
01047                 $SeitenStatsName[$i +1 + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarMinID[$i]], 0, $TNA));
01048                 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarMin[$i]), 2)." (mZ:".
01049                 (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarMinID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarMinID[$i]]:0).")";
01050             }
01051             $slider += $RankAnzahl + $hop;
01052 
01053             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_highest_varcoeff")."</b>"; //"<b>Hoechster Variationskoeffizient:</b>";
01054             $SeitenStatsWert[$slider] = "";
01055             for ($i = 0; $i < $RankAnzahl; $i ++) {
01056                 $SeitenStatsName[$i +1 + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarKoefMaxID[$i]], 0, $TNA));
01057                 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarKoefMax[$i]), 2)." (mZ:".
01058                 (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarKoefMaxID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarKoefMaxID[$i]]:0).")";
01059             }
01060             $slider += $RankAnzahl + $hop;
01061 
01062             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_page_lowest_varcoeff")."</b>"; //"<b>Geringster Variationskoeffizient:</b>";
01063             $SeitenStatsWert[$slider] = "";
01064             for ($i = 0; $i < $RankAnzahl; $i ++) {
01065                 $SeitenStatsName[$i +1 + $slider] = ($i +1).". ".str_replace($d1, $d2, substr($SeitenName[$EinzelSeitenVarKoefMinID[$i]], 0, $TNA));
01066                 $SeitenStatsWert[$i +1 + $slider] = round(sqrt($EinzelSeitenVarKoefMin[$i]), 2)." (mZ:".
01067                 (is_numeric($SeitenMessbareZugriffe[$EinzelSeitenVarKoefMinID[$i]])?$SeitenMessbareZugriffe[$EinzelSeitenVarKoefMinID[$i]]:0).")";
01068             }
01069             $slider += $RankAnzahl + $hop;
01070 
01071             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_interval_dwell_time")."</b>"; //"<b>VerweilDauer-Intervalle:</b>";
01072             $SeitenStatsWert[$slider] = "";
01073             $summe = 0;
01074             for ($i = 1; $i <= count($IntervallMax); $i ++) {
01075                 $SeitenStatsName[$i + $slider] = $IntervallMax[$i -1].$lng->txt("stats_sec")." ".$lng->txt("stats_until")." ".$IntervallMax[$i]." ".$lng->txt("stats_sec").":"; //$IntervallMax[$i-1]."s bis ".$IntervallMax[$i]."s:";
01076                 $SeitenStatsWert[$i + $slider] = round($IntervallAnz[$i])."z";
01077                 $summe += $IntervallAnz[$i];
01078             }
01079             $slider += count($IntervallMax) + 1;
01080 
01081             $SeitenStatsName[$slider] = $lng->txt("stats_summation").": "; //"Summe:";
01082             $SeitenStatsWert[$slider] = $summe." ".$lng->txt("stats_accesses"); //" Zugriffe";
01083 
01084             $slider += $hop;
01085 
01086             $SeitenStatsName[$slider] = "<b>".$lng->txt("stats_interval_page_access")."</b>"; //"<b>Seitenzugriffe-Intervalle:</b>";
01087             $SeitenStatsWert[$slider] = "";
01088             $summe = 0;
01089             for ($i = 1; $i <= count($IntervallSeitenMax); $i ++) {
01090                 $SeitenStatsName[$i + $slider] = ($IntervallSeitenMax[$i -1] + 1)." ".$lng->txt("stats_until")." ".$IntervallSeitenMax[$i]." ".$lng->txt("stats_accesses"); //..." bis "..." Zugriffe";
01091                 $SeitenStatsWert[$i + $slider] = round($IntervallSeitenAnz[$i])." ".$lng->txt("stats_pages"); //" Seiten";
01092                 $summe += $IntervallSeitenAnz[$i];
01093             }
01094             $slider += count($IntervallSeitenMax) + 2;
01095 
01096             $SeitenStatsName[$slider] = $lng->txt("stats_summation").": "; //"Summe:";
01097             $SeitenStatsWert[$slider] = $summe." ".$lng->txt("stats_pages"); //" Seiten";
01098 
01099             $slider += $hop;
01100 
01101             //SESSIONSTATS
01102             $slider2 ++;
01103             $SessionStatsName[$slider2] = $lng->txt("stats_session_number"); //"Anzahl Sessions";
01104             $SessionStatsWert[$slider2] = round($Sessionanz);
01105             $slider2 ++;
01106             $SessionStatsName[$slider2] = $lng->txt("stats_session_evaluable"); //"Auswertbare Sessions (Zeit)";
01107             $SessionStatsWert[$slider2] = round($MessbareSessions);
01108             $slider2 ++;
01109             $SessionStatsName[$slider2] = $lng->txt("stats_session_involved_usr"); //"beteiligte User";
01110             $SessionStatsWert[$slider2] = round($UserAnz);
01111             $slider2 ++;
01112             $SessionStatsName[$slider2] = $lng->txt("stats_session_evaluable_usr"); //"Auswertbare User";
01113             $SessionStatsWert[$slider2] = round($UserMessbarAnz);
01114             $slider2 ++;
01115             $SessionStatsName[$slider2] = $lng->txt("stats_session_evaluable_access"); //"Auswertbare Sessionzugriffe (Zeit)";
01116             $SessionStatsWert[$slider2] = round($MessbareSessionZugriffe);
01117             $slider2 ++;
01118             $SessionStatsName[$slider2] = $lng->txt("stats_session_average_page_access"); //"durchschn. Seitenzugriffe je Session";
01119             $SessionStatsWert[$slider2] = round($SessionDurschnittsZeit, 4);
01120             $slider2 ++;
01121             $SessionStatsName[$slider2] = $lng->txt("stats_session_total_duration"); //"SessionsGesamtdauer";
01122             $SessionStatsWert[$slider2] =  ilLMStatistics::s_to_h($SessionGesamtDauerAll)." (".$SessionGesamtDauerAll.$lng->txt("stats_sec").")";
01123             $slider2 ++;
01124             $SessionStatsName[$slider2] = $lng->txt("stats_session_average_length"); //"durchschn. Sessionlaenge";
01125             $SessionStatsWert[$slider2] =  ilLMStatistics::s_to_m($SessionDurchschnittsDauer);
01126             $slider2 ++;
01127 
01128             $slider2 += $hop;
01129 
01130             $SessionStatsName[$slider2] = "<b>".$lng->txt("stats_session_longest")."</b>"; //"<b>Laengste Session</b>";
01131             $SessionStatsWert[$slider2] = "";
01132 
01133             include_once("Services/Tracking/classes/class.ilObjUserTracking.php");
01134 
01135             $anonymous = !ilObjUserTracking::_enabledUserRelatedData();
01136 
01137 
01138             for ($i = 0; $i < $RankAnzahl; $i ++) {
01139                 $SessionStatsName[$i +1 + $slider2] = ($i +1).". ".$lng->txt("stats_user")." ". ($anonymous?$i+1:ilObjUser::_lookupLogin($SessionUserID[$SessionGesamtDauerMaxID[$i]])); //.$SessionGesamtDauerMaxID[$i]." von User "
01140                 $SessionStatsWert[$i +1 + $slider2] =  ilLMStatistics::s_to_h($SessionGesamtDauerMax[$i])." (".$SessionGesamtDauerMax[$i].$lng->txt("stats_sec").")"; //"s)";
01141             }
01142             $slider2 += $RankAnzahl + $hop;
01143 
01144             $SessionStatsName[$slider2] = "<b>".$lng->txt("stats_session_longest_total_duration_usr")."</b>"; //"<b>Laengste Gesamtdauer pro User</b>";
01145             $SessionStatsWert[$slider2] = "";
01146             for ($i = 0; $i < $RankAnzahl; $i ++) {
01147                 $SessionStatsName[$i +1 + $slider2] = ($i +1).". ".$lng->txt("stats_user")." ".($anonymous?$i+1:ilObjUser::_lookupLogin($UserGesamtSessionsDauerMaxID[$i]));
01148                 $SessionStatsWert[$i +1 + $slider2] =  ilLMStatistics::s_to_h($UserGesamtSessionsDauerMax[$i])." (".$UserGesamtSessionsDauerMax[$i].$lng->txt("stats_sec").")"; //."s)";
01149             }
01150             $slider2 += $RankAnzahl + $hop;
01151 
01152             $SessionStatsName[$slider2] = "<b>".$lng->txt("stats_session_most").":"."</b>"; //"<b>Meiste Sessions:</b>";
01153             $SessionStatsWert[$slider2] = "";
01154             for ($i = 0; $i < $RankAnzahl; $i ++) {
01155                 $SessionStatsName[$i +1 + $slider2] = ($i +1).". ".$lng->txt("stats_user")." ".($anonymous?$i+1:ilObjUser::_lookupLogin($UserSessionAnzMaxID[$i])); //".  User "
01156                 $SessionStatsWert[$i +1 + $slider2] = round($UserSessionAnzMax[$i])." ".$lng->txt("stats_sessions"); //" Sessions";
01157             }
01158             $slider2 += $RankAnzahl + $hop;
01159 
01160             //KAPITELSTATS
01161 
01162             $hop = 0;
01163 
01164             $slider3 ++;
01165             $KapitelStatsName[$slider3] = $lng->txt("stats_chapter_number"); //"Anzahl Kapitel";
01166             $KapitelStatsWert[$slider3] = round($Kapitelanz);
01167             $slider3 ++;
01168             $KapitelStatsName[$slider3] = $lng->txt("stats_depth")." 0"; //"Tiefe 2";
01169             $KapitelStatsWert[$slider3] = round($KapitelTiefe2Anzahl);
01170             $slider3 ++;
01171             $KapitelStatsName[$slider3] = $lng->txt("stats_depth")." 1"; //"Tiefe 3";
01172             $KapitelStatsWert[$slider3] = round($KapitelTiefe3Anzahl);
01173             $slider3 ++;
01174             $KapitelStatsName[$slider3] = $lng->txt("stats_depth")." 2"; //"Tiefe 4";
01175             $KapitelStatsWert[$slider3] = round($KapitelTiefe4Anzahl);
01176             $slider3 ++;
01177             $KapitelStatsName[$slider3] = $lng->txt("stats_depth")." 3+"; //"Tiefe 5+";
01178             $KapitelStatsWert[$slider3] = round($KapitelTiefe5Anzahl);
01179             $slider3 ++;
01180 
01181             $slider3 += $hop;
01182 
01183             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_longest_total_dwell_time_depth")." 0:"."</b>"; //"<b>LaengsteGesamtVerweildauer Tiefe 2:</b>";
01184             $KapitelStatsWert[$slider3] = "";
01185             for ($i = 0; $i < min($KapitelTiefe2Anzahl,$RankAnzahl); $i ++) {
01186                 $KapitelStatsName[$i + 1 + $slider3] = ($i +1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID2[$i]], 0, $TNA));
01187                 $KapitelStatsWert[$i + 1 + $slider3] =  ilLMStatistics::s_to_h($KapitelGesamtVerweilMax2[$i]);
01188 
01189             }
01190             $slider3 += $i + $hop + 1;
01191             //$slider3 += $RankAnzahl + $hop;
01192 
01193             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_most_access_depth")." 0:"."</b>"; //"<b>Meisten Zugriffe Tiefe 2</b>";
01194             $KapitelStatsWert[$slider3] = "";
01195             for ($i = 0; $i <  min($KapitelTiefe2Anzahl, $RankAnzahl); $i ++) {
01196                 $KapitelStatsName[$i +1 + $slider3] = ($i +1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID2[$i]], 0, $TNA));
01197                 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax2[$i])." ".$lng->txt("stats_accesses"); //." Zugriffe";
01198             }
01199             $slider3 += $i + $hop + 1;
01200             //$slider3 += $RankAnzahl + $hop;
01201 
01202             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_longest_total_dwell_time_depth")." 1:"."</b>"; //"<b>LaengsteGesamtVerweildauer Tiefe 3:</b>";
01203             $KapitelStatsWert[$slider3] = "";
01204             for ($i = 0; $i <  min($KapitelTiefe3Anzahl, $RankAnzahl); $i ++) {
01205                 $KapitelStatsName[$i +1 + $slider3] = ($i +1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID3[$i]], 0, $TNA));
01206                 $KapitelStatsWert[$i +1 + $slider3] =  ilLMStatistics::s_to_h($KapitelGesamtVerweilMax3[$i]);
01207             }
01208             //$slider3 += $RankAnzahl + $hop;
01209             $slider3 += $i + $hop + 1;
01210 
01211             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_most_access_depth")." 1:"."</b>"; //"<b>Meisten Zugriffe Tiefe 3</b>";
01212             $KapitelStatsWert[$slider3] = "";
01213             for ($i = 0; $i <   min($KapitelTiefe3Anzahl, $RankAnzahl); $i ++) {
01214                 $KapitelStatsName[$i +1 + $slider3] = ($i +1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID3[$i]], 0, $TNA));
01215                 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax3[$i])." ".$lng->txt("stats_accesses"); //." Zugriffe";
01216             }
01217             $slider3 += $i + $hop + 1;
01218             //$slider3 += $RankAnzahl + $hop;
01219 
01220             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_longest_total_dwell_time_depth")." 2:"."</b>"; //"<b>LaengsteGesamtVerweildauer Tiefe 4:</b>";
01221             $KapitelStatsWert[$slider3] = "";
01222             for ($i = 0; $i <   min($KapitelTiefe4Anzahl, $RankAnzahl); $i ++) {
01223                 $KapitelStatsName[$i +1 + $slider3] = ($i + 1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID4[$i]], 0, $TNA));
01224                 $KapitelStatsWert[$i +1 + $slider3] =  ilLMStatistics::s_to_h($KapitelGesamtVerweilMax4[$i]);
01225 
01226             }
01227             $slider3 += $i + $hop + 1;
01228             //$slider3 += $RankAnzahl + $hop;
01229 
01230             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_most_access_depth")." 2:"."</b>"; //"<b>Meisten Zugriffe Tiefe 4</b>";
01231             $KapitelStatsWert[$slider3] = "";
01232             for ($i = 0; $i <    min($KapitelTiefe4Anzahl, $RankAnzahl); $i ++) {
01233                 $KapitelStatsName[$i +1 + $slider3] = ($i +1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID4[$i]], 0, $TNA));
01234                 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax4[$i])." ".$lng->txt("stats_accesses"); //." Zugriffe";
01235 
01236             }
01237             $slider3 += $i + $hop + 1;
01238             //$slider3 += $RankAnzahl + $hop;
01239 
01240             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_longest_total_dwell_time_depth")." 3+:"."</b>"; //"<b>LaengsteGesamtVerweildauer Tiefe 5+:</b>";
01241             $KapitelStatsWert[$slider3] = "";
01242             for ($i = 0; $i <     min($KapitelTiefe5Anzahl, $RankAnzahl); $i ++) {
01243                 $KapitelStatsName[$i +1 + $slider3] = ($i +1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMaxID5[$i]], 0, $TNA));
01244                 $KapitelStatsWert[$i +1 + $slider3] =  ilLMStatistics::s_to_h($KapitelGesamtVerweilMax5[$i]);
01245             }
01246             $slider3 += $i + $hop + 1;
01247             //$slider3 += $RankAnzahl + $hop;
01248 
01249 
01250             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_most_access_depth")." 3+:"."</b>"; //"<b>Meisten Zugriffe Tiefe 5+</b>";
01251             $KapitelStatsWert[$slider3] = "";
01252             for ($i = 0; $i < min($KapitelTiefe5Anzahl, $RankAnzahl); $i ++) {
01253                 $KapitelStatsName[$i +1 + $slider3] = ($i +1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMaxID5[$i]], 0, $TNA));
01254                 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMax5[$i])." ".$lng->txt("stats_accesses"); //." Zugriffe";
01255             }
01256             //$slider3 += $RankAnzahl + $hop;
01257             $slider3 += $i + $hop + 1;
01258 
01259             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_stubbiest_total_dwell_time").":"."</b>"; //"<b>kuerzeste GesamtVerweildauer:</b>";
01260             $KapitelStatsWert[$slider3] = "";
01261             for ($i = 0; $i < $RankAnzahl; $i ++) {
01262                 $KapitelStatsName[$i +1 + $slider3] = ($i +1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelGesamtVerweilMinID[$i]], 0, $TNA));
01263                 $KapitelStatsWert[$i +1 + $slider3] =  ilLMStatistics::s_to_h($KapitelGesamtVerweilMin[$i]);
01264             }
01265             $slider3 += $RankAnzahl + $hop;
01266 
01267             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_fewest_access").":"."</b>"; //"<b>wenigste Zugriffe:</b>";
01268             $KapitelStatsWert[$slider3] = "";
01269             for ($i = 0; $i < $RankAnzahl; $i ++) {
01270                 $KapitelStatsName[$i +1 + $slider3] = ($i +1).". ".str_replace($d1, $d2, substr($KapitelName[$KapitelZugriffMinID[$i]], 0, $TNA));
01271                 $KapitelStatsWert[$i +1 + $slider3] = round($KapitelZugriffMin[$i])." ".$lng->txt("stats_accesses"); //." Zugriffe";
01272             }
01273             $slider3 += $RankAnzahl + $hop;
01274 
01275             $slider3save = $slider3;
01276 
01277             //Abdeckungsgrade Tiefe2
01278             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_depth_coverage")." 0:"."</b>"; //"<b>Abdeckungsgrade Tiefe 2:</b>";
01279             $KapitelStatsWertA1[$slider3] = $lng->txt("stats_accesses").">0";
01280             $KapitelStatsWertA2[$slider3] = ">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor2);
01281             $KapitelStatsWertA3[$slider3] = ">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor3);
01282             $KapitelStatsWertA4[$slider3] = ">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor4);
01283             $KapitelStatsWertA5[$slider3] = ">".floor($KapitelDurchZugriffe2 * $KapitelAbdeckungsKennzahlFaktor5);
01284 
01285             $u = 0;
01286             for ($i = 1; $i <= $Kapitelanz; $i ++) {
01287                 if ($seitenTiefe[$KapitelID[$i]] == 2) {
01288                     if ($KapitelSeitenSumme[$i] > 0) {
01289                         $u ++;
01290                         $KapitelStatsName[$u +1 + $slider3] = $u.". ".str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA))." (".$KapitelSeitenSumme[$i]." ".$lng->txt("stats_pages").")";
01291                         $KapitelStatsWertA1[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten1[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten1[$i]).")";
01292                         $KapitelStatsWertA2[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten2[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten2[$i]).")";
01293                         $KapitelStatsWertA3[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten3[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten3[$i]).")";
01294                         $KapitelStatsWertA4[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten4[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten4[$i]).")";
01295                         $KapitelStatsWertA5[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten5[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten5[$i]).")";
01296                     }
01297                 }
01298             }
01299             $slider3 += $u + $hop +2;
01300 
01301             //Abdeckungsgrade Tiefe3
01302             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_depth_coverage")." 1:"."</b>"; //"<b>Abdeckungsgrade Tiefe 3:</b>";
01303             $KapitelStatsWertA1[$slider3] = $lng->txt("stats_accesses").">0";
01304             $KapitelStatsWertA2[$slider3] = ">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor2);
01305             $KapitelStatsWertA3[$slider3] = ">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor3);
01306             $KapitelStatsWertA4[$slider3] = ">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor4);
01307             $KapitelStatsWertA5[$slider3] = ">".floor($KapitelDurchZugriffe3 * $KapitelAbdeckungsKennzahlFaktor5);
01308             $u = 0;
01309             for ($i = 1; $i <= $Kapitelanz; $i ++) {
01310                 if ($seitenTiefe[$KapitelID[$i]] == 3) {
01311                     if ($KapitelSeitenSumme[$i] > 0) {
01312                         $u ++;
01313                         $KapitelStatsName[$u +1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA))." (".$KapitelSeitenSumme[$i]." ".$lng->txt("stats_pages").")";
01314                         $KapitelStatsWertA1[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten1[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten1[$i]).")";
01315                         $KapitelStatsWertA2[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten2[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten2[$i]).")";
01316                         $KapitelStatsWertA3[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten3[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten3[$i]).")";
01317                         $KapitelStatsWertA4[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten4[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten4[$i]).")";
01318                         $KapitelStatsWertA5[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten5[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten5[$i]).")";
01319                     }
01320                 }
01321             }
01322             $slider3 += $u + $hop +2;
01323 
01324             //Abdeckungsgrade Tiefe4
01325             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_depth_coverage")." 2:"."</b>"; //"<b>Abdeckungsgrade Tiefe 4:</b>";
01326             $KapitelStatsWertA1[$slider3] = $lng->txt("stats_accesses").">0";
01327             $KapitelStatsWertA2[$slider3] = ">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor2);
01328             $KapitelStatsWertA3[$slider3] = ">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor3);
01329             $KapitelStatsWertA4[$slider3] = ">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor4);
01330             $KapitelStatsWertA5[$slider3] = ">".floor($KapitelDurchZugriffe4 * $KapitelAbdeckungsKennzahlFaktor5);
01331             $u = 0;
01332             for ($i = 1; $i <= $Kapitelanz; $i ++) {
01333                 if ($seitenTiefe[$KapitelID[$i]] == 4) {
01334                     if ($KapitelSeitenSumme[$i] > 0) {
01335                         $u ++;
01336                         $KapitelStatsName[$u +1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA))." (".$KapitelSeitenSumme[$i]." ".$lng->txt("stats_pages").")";
01337                         $KapitelStatsWertA1[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten1[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten1[$i]).")";
01338                         $KapitelStatsWertA2[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten2[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten2[$i]).")";
01339                         $KapitelStatsWertA3[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten3[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten3[$i]).")";
01340                         $KapitelStatsWertA4[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten4[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten4[$i]).")";
01341                         $KapitelStatsWertA5[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten5[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten5[$i]).")";
01342                     }
01343                 }
01344             }
01345             $slider3 += $u + $hop +2;
01346 
01347             //Abdeckungsgrade Tiefe5
01348             $KapitelStatsName[$slider3] = "<b>".$lng->txt("stats_chapter_depth_coverage")." 3+:"."</b>"; //"<b>Abdeckungsgrade Tiefe 5+:</b>";
01349             $KapitelStatsWertA1[$slider3] = $lng->txt("stats_accesses").">0";
01350             $KapitelStatsWertA2[$slider3] = ">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor2);
01351             $KapitelStatsWertA3[$slider3] = ">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor3);
01352             $KapitelStatsWertA4[$slider3] = ">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor4);
01353             $KapitelStatsWertA5[$slider3] = ">".floor($KapitelDurchZugriffe5 * $KapitelAbdeckungsKennzahlFaktor5);
01354             $u = 0;
01355             for ($i = 1; $i <= $Kapitelanz; $i ++) {
01356                 if ($seitenTiefe[$KapitelID[$i]] == 5) {
01357                     if ($KapitelSeitenSumme[$i] > 0) {
01358                         $u ++;
01359                         $KapitelStatsName[$u +1 + $slider3] = str_replace($d1, $d2, substr($KapitelName[$i], 0, $TNA))." (".$KapitelSeitenSumme[$i]." ".$lng->txt("stats_pages").")"; //." Seiten)";//$KapitelZugriffe[$i];
01360                         $KapitelStatsWertA1[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten1[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten1[$i]).")";
01361                         $KapitelStatsWertA2[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten2[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten2[$i]).")";
01362                         $KapitelStatsWertA3[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten3[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten3[$i]).")";
01363                         $KapitelStatsWertA4[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten4[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten4[$i]).")";
01364                         $KapitelStatsWertA5[$u +1 + $slider3] =  ilLMStatistics::proz(floor($KapitelAbgedeckteSeiten5[$i] * 100 / $KapitelSeitenSumme[$i]))."%(". ilLMStatistics::proz($KapitelAbgedeckteSeiten5[$i]).")";
01365                     }
01366                 }
01367             }
01368             $slider3 += $u + $hop +2;
01369 
01370             //AUSGABE BEOBACHTUNGSMODELL
01371 
01372             if ($_POST["stat"] == 'u') {
01373                 //Daten f�r das Applet zusammenstellen
01374 
01375                 $delim1 = " ";
01376 
01377                 for ($i = 1; $i <= $Seitenanz; $i ++) {
01378                     $KapitelZuSeite2 = $KapitelZuSeite2. (-1 + $rKapitelID[$vatizumkind[$SeitenID[$i]]]).$delim1;
01379                 }
01380                 for ($i = 1; $i <= $Seitenanz; $i ++) {
01381                     for ($j = 1; $j <= $Seitenanz; $j ++) {
01382                         $SessionVonNach2 = $SessionVonNach2. (0 + $SessionVonNach[$i][$j]).$delim1;
01383                     }
01384                 }
01385                 for ($i = 1; $i <= $Kapitelanz; $i ++) {
01386                     for ($j = 1; $j <= $Kapitelanz; $j ++) {
01387                         $KapitelVonNach2 = $KapitelVonNach2. (0 + $KapitelVonNach[$i][$j]).$delim1;
01388                     }
01389                 }
01390                 for ($i = 1; $i <= $Kapitelanz; $i ++) {
01391                     $OberkapitelZuKapitel2 = $OberkapitelZuKapitel2. (-1 + $rKapitelID[$vatizumkind[$KapitelID[$i]]]).$delim1;
01392                 }
01393 
01394                 $delim2 = "  sName ";
01395 
01396                 for ($i = 1; $i <= $Seitenanz; $i ++) {
01397                     $Seitenname2 = $Seitenname2.$SeitenName[$i].$delim2;
01398                 }
01399 
01400                 $delim3 = " kName ";
01401 
01402                 for ($i = 1; $i <= $Kapitelanz; $i ++) {
01403                     $Kapitelname2 = $Kapitelname2.$KapitelName[$i].$delim3;
01404                 }
01405                 //Ende der Variablen
01406             }
01407             //ENDE von AUSGABE BEOBACHTUNGSMODELL
01408 
01409             else {
01410                 //SCHREIBE die SEITEN,SESSION oder KAPITELSTATS in Tabelle
01411 
01412                 include_once "./Services/Table/classes/class.ilTableGUI.php";
01413                 //                              $tbl = new ilTableGUI();
01414                 $tpl->addBlockfile("ADM_CONTENT", "adm_content", MODULE_PATH."/templates/default/tpl.lm_statistics_result.html");
01415                 $tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
01416                 $tpl->addBlockfile("TRACK_TABLE", "track_table", "tpl.table.html");
01417                 $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html");
01418 
01419                 if ($_POST["stat"] == 'd') {
01420                     $title_new = array ("time", "", "", "", "", "");
01421                 } else {
01422                     $title_new = array ("time", "count");
01423                 }
01424 
01425                 $tbl = new ilTableGUI();
01426                 $tbl->setTitle($lng->txt("obj_trac"), 0);
01427                 foreach ($title_new as $val) {
01428                     $header_names[] = $lng->txt($val);
01429                 }
01430                 $tbl->disable("sort");
01431                 $tbl->setHeaderNames($header_names);
01432                 if ($_POST["stat"] == 'h') { //SeitenSTATS
01433                     $num = $slider +1;
01434                     //$tbl->setMaxCount($num);
01435                 } else
01436                 if ($_POST["stat"] == 'd') { //KapitelSTATS
01437                     $num = $slider3save + $slider3 + 1;
01438                     //$tbl->setMaxCount($num);
01439                 } else
01440                 if ($_POST["stat"] == 'o') { //SessionSTATS
01441                     $num = $slider2 +1;
01442                     //$tbl->setMaxCount($num);
01443                 } else { //BeobModell
01444                     $num = 24;
01445                     //$tbl->setMaxCount($num);
01446                 }
01447                 $tbl->setStyle("table", "std");
01448                 $tbl->render();
01449 
01450                 if ($_POST["stat"] == 'h') { //SeitenSTATS
01451                     for ($i = 0; $i < $num; $i ++) { //Soviele Zeilen ausgeben
01452                         $data[0] = $SeitenStatsName[$i]; //String in 1. Spalte
01453                         $data[1] = $SeitenStatsWert[$i]; // Werte der 2. Spalte
01454                         $css_row = $i % 2 == 0 ? "tblrow1" : "tblrow2"; //Tabelle erstellen
01455                         foreach ($data as $key => $val) { //Werte eintragen
01456                             $tpl->setCurrentBlock("text");
01457                             $tpl->setVariable("TEXT_CONTENT", $val); //Werte der Zelle setzen
01458                             $tpl->parseCurrentBlock();
01459                             $tpl->setCurrentBlock("table_cell"); //<td class="std" valign="top"> </td>
01460                             $tpl->parseCurrentBlock();
01461                         }
01462                         $tpl->setCurrentBlock("tbl_content"); //<tr class="{CSS_ROW}"></tr>
01463                         $tpl->setVariable("CSS_ROW", $css_row);
01464                         $tpl->parseCurrentBlock();
01465                     }
01466                     $tpl->parseCurrentBlock();
01467                 } else
01468                 if ($_POST["stat"] == 'd') { //KapitelSTATS
01469                     for ($i = 1; $i < $slider3save; $i ++) { //Soviele Zeilen ausgeben
01470                         $data[0] = $KapitelStatsName[$i]; //String in 1. Spalte
01471                         $data[1] = $KapitelStatsWert[$i]; // Werte der 2. Spalte
01472                         $data[2] = "";
01473                         $data[3] = "";
01474                         $data[4] = "";
01475                         $data[5] = "";
01476                         $css_row = $i % 2 == 0 ? "tblrow1" : "tblrow2"; //Tabelle erstellen
01477                         foreach ($data as $key => $val) { //Werte eintragen
01478                             $tpl->setCurrentBlock("text");
01479                             $tpl->setVariable("TEXT_CONTENT", $val);
01480                             $tpl->parseCurrentBlock();
01481                             $tpl->setCurrentBlock("table_cell");
01482                             $tpl->parseCurrentBlock();
01483                         }
01484                         $tpl->setCurrentBlock("tbl_content");
01485                         $tpl->setVariable("CSS_ROW", $css_row);
01486                         $tpl->parseCurrentBlock();
01487                     }
01488                     //Abdeckungsgrade ausgeben
01489                     for ($i = $slider3save; $i < $slider3; $i ++) { //Soviele Zeilen ausgeben
01490                         $data[0] = $KapitelStatsName[$i]; //String in 1. Spalte
01491                         $data[1] = $KapitelStatsWertA1[$i]; // Werte der 2. Spalte
01492                         $data[2] = $KapitelStatsWertA2[$i];
01493                         $data[3] = $KapitelStatsWertA3[$i];
01494                         $data[4] = $KapitelStatsWertA4[$i];
01495                         $data[5] = $KapitelStatsWertA5[$i];
01496                         $css_row = $i % 2 == 0 ? "tblrow1" : "tblrow2"; //Tabelle erstellen
01497                         foreach ($data as $key => $val) { //Werte eintragen
01498                             $tpl->setCurrentBlock("text");
01499                             $tpl->setVariable("TEXT_CONTENT", $val);
01500                             $tpl->parseCurrentBlock();
01501                             $tpl->setCurrentBlock("table_cell");
01502                             $tpl->parseCurrentBlock();
01503                         }
01504                         $tpl->setCurrentBlock("tbl_content");
01505                         $tpl->setVariable("CSS_ROW", $css_row);
01506                         $tpl->parseCurrentBlock();
01507                     }
01508                     $tpl->parseCurrentBlock();
01509                 } else
01510                 if ($_POST["stat"] == 'o') { //SessionSTATS
01511                     for ($i = 0; $i < $num; $i ++) { //Soviele Zeilen ausgeben
01512                         $data[0] = $SessionStatsName[$i]; //String in 1. Spalte
01513                         $data[1] = $SessionStatsWert[$i]; // Werte der 2. Spalte
01514                         $css_row = $i % 2 == 0 ? "tblrow1" : "tblrow2"; //Tabelle erstellen
01515                         foreach ($data as $key => $val) { //Werte eintragen
01516                             $tpl->setCurrentBlock("text");
01517                             $tpl->setVariable("TEXT_CONTENT", $val);
01518                             $tpl->parseCurrentBlock();
01519                             $tpl->setCurrentBlock("table_cell");
01520                             $tpl->parseCurrentBlock();
01521                         }
01522                         $tpl->setCurrentBlock("tbl_content");
01523                         $tpl->setVariable("CSS_ROW", $css_row);
01524                         $tpl->parseCurrentBlock();
01525                     }
01526                     $tpl->parseCurrentBlock();
01527                 }
01528                 $tpl->setCurrentBlock("adm_content");
01529                 $tpl->setVariable("TXT_TIME_PERIOD", $lng->txt("time_segment"));
01530                 switch ($_POST["stat"]) {
01531                     case "h" :
01532                         $tpl->setVariable("TXT_STATISTIC", $lng->txt("stats_pages_statisics"));
01533                         $tpl->setVariable("TXT_TRACKED_HELP", $lng->txt("help"));
01534                         $tpl->setVariable("VAL_TRACKED_HELP_LINK", "<a href='".MODULE_URL."/docs/pagestats_help.html' target='_blank'>"."Link"."</a>");
01535                         break;
01536                     case "u" :
01537                         $tpl->setVariable("TXT_STATISTIC", $lng->txt("stats_navigation"));
01538                         break;
01539                     case "d" :
01540                         $tpl->setVariable("TXT_STATISTIC", $lng->txt("stats_chapter_statisics"));
01541                         $tpl->setVariable("TXT_TRACKED_HELP", $lng->txt("help"));
01542                         $tpl->setVariable("VAL_TRACKED_HELP_LINK", "<a href='".MODULE_URL."/docs/chapterstats_help.html' target='_blank'>"."Link"."</a>");
01543                         break;
01544                     case "o" :
01545                         $tpl->setVariable("TXT_STATISTIC", $lng->txt("stats_sessions_statisics"));
01546                         $tpl->setVariable("TXT_TRACKED_HELP", $lng->txt("help"));
01547                         $tpl->setVariable("VAL_TRACKED_HELP_LINK", "<a href='".MODULE_URL."/docs/sessionstats_help.html' target='_blank'>"."Link"."</a>");
01548                         break;
01549                 }
01550                 $tpl->setVariable("VAL_DATEF", date("Y-m-d", mktime(0, 0, 0, $monthf, $dayf, $yearf)));
01551                 $tpl->setVariable("TXT_TO", $lng->txt("to"));
01552                 $tpl->setVariable("VAL_DATET", date("Y-m-d", mktime(0, 0, 0, $montht, $dayt, $yeart)));
01553                 $tpl->setVariable("TXT_USER_LANGUAGE", $lng->txt("user_language"));
01554                 if ($_POST["language"] == "0") {
01555                     $tpl->setVariable("VAL_LANGUAGE", $lng->txt("any_language"));
01556                 } else {
01557                     $tpl->setVariable("VAL_LANGUAGE", $lng->txt("lang_".$_POST["language"]));
01558                 }
01559                 $rLehrmodulID = $_SESSION["il_track_rlm_id"];
01560                 $LehrmodulName = $_SESSION["il_track_lm_name"];
01561                 $tpl->setVariable("TXT_TRACKED_OBJECTS", $lng->txt("tracked_objects"));
01562                 $tpl->setVariable("VAL_TRACKED_OBJECTS", $LehrmodulName[$rLehrmodulID[$_POST["lmID"]]]);
01563                 $tpl->setVariable("LEGENDE", $lng->txt("stats_legend"));
01564                 $tpl->setVariable("VAL_LEGENDE_MZ", $lng->txt("stats_measurable_hits"));
01565                 $tpl->setVariable("VAL_LEGENDE_Z", $lng->txt("stats_hits"));
01566                 $tpl->setVariable("LEGENDE_MZ", "mz");
01567                 $tpl->setVariable("LEGENDE_Z", "z");
01568                 $tpl->parseCurrentBlock();
01569             }
01570             //ENDE von AUSGABE
01571 
01572             $this->Seitenanz = $Seitenanz;
01573             $this->KapitelZuSeite2 = $KapitelZuSeite2;
01574             $this->SessionVonNach2 = $SessionVonNach2;
01575             $this->Kapitelanz = $Kapitelanz;
01576             $this->KapitelVonNach2 = $KapitelVonNach2;
01577             $this->OberkapitelZuKapitel2 = $OberkapitelZuKapitel2;
01578             $this->Seitenname2 = $Seitenname2;
01579             $this->Kapitelname2 = $Kapitelname2;
01580 
01581         } //Ende if
01582 
01583     } //Ende OUTPUTfunktion
01584 
01585     function outputApplet() {
01586         global $tpl, $lng, $ilias, $db;
01587         $this->calcStats (0);
01588 
01589         $tpl->setVariable("Sprache", "<param name='Sprache' value= '".$ilias->account->prefs["language"]."'>");
01590         $tpl->setVariable("Seitenanz2", "<param name='Seitenanz2' value= '".$this->Seitenanz."'>");
01591         $tpl->setVariable("KapitelZuSeite2", "<param name='KapitelZuSeite2' value= '".$this->KapitelZuSeite2."'>");
01592         $tpl->setVariable("SessionVonNach2", "<param name='SessionVonNach2' value= '".$this->SessionVonNach2."'>");
01593         $tpl->setVariable("Kapitelanz2", "<param name='Kapitelanz2' value= '".$this->Kapitelanz."'>");
01594         $tpl->setVariable("KapitelVonNach2", "<param name='KapitelVonNach2' value= '".$this->KapitelVonNach2."'>");
01595         $tpl->setVariable("OberkapitelZuKapitel2", "<param name='OberkapitelZuKapitel2' value= '".$this->OberkapitelZuKapitel2."'>");
01596         $tpl->setVariable("Seitenname2", "<param name='Seitenname2' value= '".$this->Seitenname2."'>");
01597         $tpl->setVariable("Kapitelname2", "<param name='Kapitelname2' value= '".$this->Kapitelname2."'>");
01598 
01599         include_once "./Services/Table/classes/class.ilTableGUI.php";
01600         $tpl->addBlockFile("ADM_CONTENT", "adm_content", MODULE_PATH."/templates/default/tpl.lm_statistics_result_applet.html");
01601         $tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
01602         $tpl->setVariable("TXT_TRACKED_OBJECTS2", "Beobachtungsmodell");
01603         $tpl->setVariable("CODEBASE", MODULE_URL."/lib");
01604         $tpl->setCurrentBlock("adm_content");
01605         $tpl->parseCurrentBlock();
01606     }
01607 
01608     //#####BERECHNUNGEN#####
01609 
01610     //FUNKTIONEN
01611 
01617     function varianzSV($arr, $mittelwert) {
01618 
01619         if (!count($arr))
01620         return 0;
01621 
01622         $summe = 0;
01623 
01624         for ($i = 0; $i < count($arr); $i ++) {
01625             $summe += ($arr[$i] - $mittelwert) * ($arr[$i] - $mittelwert);
01626         }
01627         return $summe / (count($arr));
01628     }
01629 
01630     function s_to_h($sek) {
01631         $stund = floor($sek / 3600);
01632         $min = floor(($sek - $stund * 3600) / 60);
01633         $restsek = ($sek - $stund * 3600 - $min * 60);
01634         return $stund."h,".$min."m,".$restsek."s";
01635     }
01636 
01637     //Funktion zum umrechnen von Sekunden in Minuten
01638 
01639     function s_to_m($sek) {
01640         $min = floor($sek / 60);
01641         $restsek = ($sek - $min * 60);
01642         return $min."m,".round($restsek)."s";
01643     }
01644 
01645     function  proz($str) {
01646         return $str;
01647         /*
01648         * if(strlen($str)==0){
01649         *       $str2="&#160;"."&#160;"."&#160;".$str;
01650         *       return  $str2;
01651         * }
01652         * elseif(strlen($str)==1){
01653         *       $str2="&#160;"."&#160;".$str;
01654         *       return  $str2;
01655         * }
01656         * elseif(strlen($str)==2){
01657         *       $str2="&#160;".$str;
01658         *       return  $str2;
01659         * }
01660         * elseif(strlen($str)==3){
01661         *       $str2=$str;
01662         *       return $str2;
01663         * }
01664         */
01665     }
01666 
01667 }
01668 define(MODULE_PATH, ILIAS_ABSOLUTE_PATH."/Services/Tracking");
01669 define(MODULE_URL, ILIAS_HTTP_PATH."/Services/Tracking");
01670 ?>

Generated on Fri Dec 13 2013 17:57:01 for ILIAS Release_3_9_x_branch .rev 46835 by  doxygen 1.7.1