|
@@ -1,25 +1,25 @@
|
|
<?php
|
|
<?php
|
|
-require_once __DIR__.'/../inc/global.inc.php';
|
|
|
|
-require_once api_get_path(LIBRARY_PATH).'database.lib.php';
|
|
|
|
/**
|
|
/**
|
|
* Automatic fix online time procedure. If a COURSEMANAGER has been idle for $timeLimit
|
|
* Automatic fix online time procedure. If a COURSEMANAGER has been idle for $timeLimit
|
|
* or more then the procedure adds $extraTime to his logout_course_date.
|
|
* or more then the procedure adds $extraTime to his logout_course_date.
|
|
* @package chamilo.cron
|
|
* @package chamilo.cron
|
|
* @author Imanol Losada <imanol.losada@beeznest.com>
|
|
* @author Imanol Losada <imanol.losada@beeznest.com>
|
|
*/
|
|
*/
|
|
|
|
+require_once __DIR__ . '/../inc/global.inc.php';
|
|
|
|
+require_once api_get_path(LIBRARY_PATH) . 'database.lib.php';
|
|
|
|
|
|
/**
|
|
/**
|
|
* Get ids of COURSEMANAGERs that are inside a course right now
|
|
* Get ids of COURSEMANAGERs that are inside a course right now
|
|
* @return array COURSEMANAGER's ids
|
|
* @return array COURSEMANAGER's ids
|
|
*/
|
|
*/
|
|
-function getTeachersInCourseIds() {
|
|
|
|
|
|
+function getTeachersInCourseIds()
|
|
|
|
+{
|
|
$table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ONLINE);
|
|
$table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ONLINE);
|
|
- $joinStatement = ' JOIN '.Database::get_main_table(TABLE_MAIN_USER).' ON login_user_id = user_id';
|
|
|
|
|
|
+ $joinStatement = ' JOIN ' . Database::get_main_table(TABLE_MAIN_USER) . ' ON login_user_id = user_id';
|
|
return Database::select(
|
|
return Database::select(
|
|
- 'login_user_id',
|
|
|
|
- $table.$joinStatement,
|
|
|
|
|
|
+ 'login_user_id', $table . $joinStatement,
|
|
array(
|
|
array(
|
|
- 'where'=> array(
|
|
|
|
|
|
+ 'where' => array(
|
|
'course <> ? AND status = ?' => array(
|
|
'course <> ? AND status = ?' => array(
|
|
'NULL',
|
|
'NULL',
|
|
COURSEMANAGER
|
|
COURSEMANAGER
|
|
@@ -35,7 +35,8 @@ function getTeachersInCourseIds() {
|
|
* @param array COURSEMANAGER's ids
|
|
* @param array COURSEMANAGER's ids
|
|
* @return void
|
|
* @return void
|
|
*/
|
|
*/
|
|
-function updateTeachersInCourseIdleForTimeLimit($teachersInCourseIds) {
|
|
|
|
|
|
+function updateTeachersInCourseIdleForTimeLimit($teachersInCourseIds)
|
|
|
|
+{
|
|
$timeLimit = '- 30 minute';
|
|
$timeLimit = '- 30 minute';
|
|
$extraTime = '+ 5 minute';
|
|
$extraTime = '+ 5 minute';
|
|
$utcResult = Database::fetch_array(
|
|
$utcResult = Database::fetch_array(
|
|
@@ -44,13 +45,14 @@ function updateTeachersInCourseIdleForTimeLimit($teachersInCourseIds) {
|
|
$dataBaseCurrentHour = array_shift($utcResult);
|
|
$dataBaseCurrentHour = array_shift($utcResult);
|
|
$maximumIdleTimeInCourse = date(
|
|
$maximumIdleTimeInCourse = date(
|
|
'Y-m-d H:i:s',
|
|
'Y-m-d H:i:s',
|
|
- strtotime($dataBaseCurrentHour.' '.$timeLimit)
|
|
|
|
|
|
+ strtotime($dataBaseCurrentHour . ' ' . $timeLimit)
|
|
);
|
|
);
|
|
$table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS);
|
|
$table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS);
|
|
foreach ($teachersInCourseIds as $key => $value) {
|
|
foreach ($teachersInCourseIds as $key => $value) {
|
|
$value = array_shift($value);
|
|
$value = array_shift($value);
|
|
$logResult = Database::select(
|
|
$logResult = Database::select(
|
|
- 'course_access_id,logout_course_date', $table,
|
|
|
|
|
|
+ 'course_access_id,logout_course_date',
|
|
|
|
+ $table,
|
|
array(
|
|
array(
|
|
'where' => array(
|
|
'where' => array(
|
|
'user_id = ?' => array(
|
|
'user_id = ?' => array(
|
|
@@ -67,7 +69,7 @@ function updateTeachersInCourseIdleForTimeLimit($teachersInCourseIds) {
|
|
array(
|
|
array(
|
|
'logout_course_date' => date(
|
|
'logout_course_date' => date(
|
|
'Y-m-d H:i:s',
|
|
'Y-m-d H:i:s',
|
|
- strtotime($currentTeacherData['logout_course_date'].' '.$extraTime)
|
|
|
|
|
|
+ strtotime($currentTeacherData['logout_course_date'] . ' ' . $extraTime)
|
|
)
|
|
)
|
|
),
|
|
),
|
|
array(
|
|
array(
|