"../user/user.php", "name"=> get_lang('Users')); $nameTools = get_lang('ToolName'); $htmlHeadXtra[] = " "; $TABLECOURSUSER = Database::get_main_table(TABLE_MAIN_COURSE_USER); $TABLECOURSE_GROUPSUSER = Database::get_course_table(TABLE_GROUP_USER); $TABLEUSER = Database::get_main_table(TABLE_MAIN_USER); $TABLETRACK_ACCESS = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ACCESS); Display::display_header($nameTools, "Tracking"); include(api_get_path(LIBRARY_PATH)."statsUtils.lib.inc.php"); // the variables for the days and the months // Defining the shorts for the days $DaysShort = array (get_lang("SundayShort"), get_lang("MondayShort"), get_lang("TuesdayShort"), get_lang("WednesdayShort"), get_lang("ThursdayShort"), get_lang("FridayShort"), get_lang("SaturdayShort")); // Defining the days of the week to allow translation of the days $DaysLong = array (get_lang("SundayLong"), get_lang("MondayLong"), get_lang("TuesdayLong"), get_lang("WednesdayLong"), get_lang("ThursdayLong"), get_lang("FridayLong"), get_lang("SaturdayLong")); // Defining the months of the year to allow translation of the months $MonthsLong = array (get_lang("JanuaryLong"), get_lang("FebruaryLong"), get_lang("MarchLong"), get_lang("AprilLong"), get_lang("MayLong"), get_lang("JuneLong"), get_lang("JulyLong"), get_lang("AugustLong"), get_lang("SeptemberLong"), get_lang("OctoberLong"), get_lang("NovemberLong"), get_lang("DecemberLong")); // Defining the months of the year to allow translation of the months $MonthsShort = array (get_lang("JanuaryShort"), get_lang("FebruaryShort"), get_lang("MarchShort"), get_lang("AprilShort"), get_lang("MayShort"), get_lang("JuneShort"), get_lang("JulyShort"), get_lang("AugustShort"), get_lang("SeptemberShort"), get_lang("OctoberShort"), get_lang("NovemberShort"), get_lang("DecemberShort")); $is_allowedToTrack = $is_groupTutor; // allowed to track only user of one group $is_allowedToTrackEverybodyInCourse = $is_courseAdmin; // allowed to track all student in course ?>

"; /******* MENU ********/ echo " "; /******* END OF MENU ********/ switch($period) { case "month" : $sql = "SELECT `access_date` FROM $TABLETRACK_ACCESS WHERE `access_user_id` = '$uInfo' AND `access_cours_code` = '".$_cid."' AND MONTH(`access_date`) = MONTH( FROM_UNIXTIME('$reqdate') ) AND YEAR(`access_date`) = YEAR(FROM_UNIXTIME('$reqdate')) GROUP BY DAYOFMONTH(`access_date`) ORDER BY `access_date` ASC"; $displayedDate = $MonthsLong[date("n", $reqdate)-1].date(" Y", $reqdate); break; case "week" : $sql = "SELECT `access_date` FROM $TABLETRACK_ACCESS WHERE `access_user_id` = '$uInfo' AND `access_cours_code` = '".$_cid."' AND WEEK(`access_date`) = WEEK( FROM_UNIXTIME('$reqdate') ) AND YEAR(`access_date`) = YEAR(FROM_UNIXTIME('$reqdate')) GROUP BY DAYOFMONTH(`access_date`) ORDER BY `access_date` ASC"; $weeklowreqdate = ($reqdate-(86400*date("w" , $reqdate))); $weekhighreqdate = ($reqdate+(86400*(6-date("w" , $reqdate)) )); $displayedDate = get_lang('From')." ".date("d " , $weeklowreqdate).$MonthsLong[date("n", $weeklowreqdate)-1].date(" Y" , $weeklowreqdate) ." ".get_lang('To')." ".date("d " , $weekhighreqdate ).$MonthsLong[date("n", $weekhighreqdate)-1].date(" Y" , $weekhighreqdate); break; } echo ""; } else { echo get_lang('ErrorUserNotInGroup'); } } // not allowed else { if(!$_configuration['tracking_enabled']) { echo get_lang('TrackingDisabled'); } else { api_not_allowed(); } } ?>
"; echo $informationsAbout." :
"; echo "
    \n" ."
  • ".get_lang('FirstName')." : ".$res[0]."
  • \n" ."
  • ".get_lang('LastName')." : ".$res[1]."
  • \n" ."
  • ".get_lang('Email')." : ".$res2."
  • \n" ."
"; echo "
[".get_lang('Back')."] "; echo "    ||    [".get_lang('PeriodWeek')."] [".get_lang('PeriodMonth')."]    ||    "; switch($period) { case "week" : // previous and next date must be evaluated $previousReqDate = $reqdate - 7*86400; $nextReqDate = $reqdate + 7*86400; echo " [".get_lang('PreviousWeek')."] [".get_lang('NextWeek')."] "; break; default : $period = "month"; case "month" : // previous and next date must be evaluated // 30 days should be a good approximation $previousReqDate = mktime(1,1,1,date("m",$reqdate)-1,1,date("Y",$reqdate)); $nextReqDate = mktime(1,1,1,date("m",$reqdate)+1,1,date("Y",$reqdate)); echo " [".get_lang('PreviousMonth')."] [".get_lang('NextMonth')."] "; break; } echo "
"; $results = getManyResults1Col($sql); /*** display of the displayed period ***/ echo ""; echo ""; if (is_array($results)) { for ($j = 0 ; $j < sizeof($results); $j++) { $timestamp = strtotime($results[$j]); //$beautifulDate = $langDay_of_weekNames['long'][date("w" , $timestamp)].date(" d " , $timestamp); //$beautifulHour = date("H : i" , $timestamp); $beautifulDateTime = format_locale_date($dateTimeFormatLong,$timestamp); echo ""; echo ""; echo""; // $limit is used to select only results between $results[$j] (current login) and next one if( $j == ( sizeof($results) - 1 ) ) $limit = date("Y-m-d H:i:s",$nextReqDate); else $limit = $results[$j+1]; // select all access to tool between displayed date and next displayed date or now() if // displayed date is the last login date $sql = "SELECT `access_tool`, count(`access_tool`) FROM $TABLETRACK_ACCESS WHERE `access_user_id` = '$uInfo' AND `access_tool` IS NOT NULL AND `access_date` > '".$results[$j]."' AND `access_date` < '".$limit."' AND `access_cours_code` = '".$_cid."' GROUP BY `access_tool` ORDER BY `access_tool` ASC"; $results2 = getManyResults2Col($sql); if (is_array($results2)) { echo "\n"; } $previousDate = $value; } } else { echo ""; echo ""; echo ""; } echo "
".$displayedDate."
".$beautifulDateTime."
\n"; echo "\n"; for($k = 0 ; $k < count($results2) ; $k++) { echo "\n"; echo "\n"; echo "\n"; echo ""; } echo "
".get_lang($results2[$k][0])."".$results2[$k][1]." ".get_lang('Visits')."
\n"; echo "
".get_lang('NoResult')."
"; echo "