Add and register ip in new fields - refs #7268

1.10.x
Angel Fernando Quiroz Campos 11 years ago
parent d2d1206f6f
commit 39c6576934
  1. 27
      main/exercice/exercise.class.php
  2. 15
      main/inc/lib/events.lib.inc.php
  3. 3
      main/install/db_stats.sql
  4. 4
      main/install/migrate-db-1.9.0-1.10.0-pre.sql

@ -1763,6 +1763,8 @@ class Exercise
$safe_lp_item_id = intval($safe_lp_item_id); $safe_lp_item_id = intval($safe_lp_item_id);
$safe_lp_item_view_id = intval($safe_lp_item_view_id); $safe_lp_item_view_id = intval($safe_lp_item_view_id);
$trackValues = array();
if (empty($safe_lp_id)) { if (empty($safe_lp_id)) {
$safe_lp_id = 0; $safe_lp_id = 0;
} }
@ -1773,19 +1775,24 @@ class Exercise
$clock_expired_time = 0; $clock_expired_time = 0;
} }
if ($this->expired_time != 0) { if ($this->expired_time != 0) {
$sql_fields = "expired_time_control, "; $trackValues['expired_time_control'] = $clock_expired_time;
$sql_fields_values = "'"."$clock_expired_time"."',";
} else {
$sql_fields = "";
$sql_fields_values = "";
} }
$questionList = array_map('intval', $questionList); $questionList = array_map('intval', $questionList);
$weight = Database::escape_string($weight); $trackValues['exe_exo_id'] = $this->id;
$sql = "INSERT INTO $track_exercises ($sql_fields exe_exo_id, exe_user_id, exe_cours_id, status,session_id, data_tracking, start_date, orig_lp_id, orig_lp_item_id, orig_lp_item_view_id, exe_weighting) $trackValues['exe_user_id'] = api_get_user_id();
VALUES($sql_fields_values '".$this->id."','" . api_get_user_id() . "','" . api_get_course_id() . "','incomplete','" . api_get_session_id() . "','" . implode(',', $questionList) . "', '" . api_get_utc_datetime() . "', '$safe_lp_id', '$safe_lp_item_id', '$safe_lp_item_view_id', '$weight')"; $trackValues['exe_cours_id'] = api_get_course_id();
Database::query($sql); $trackValues['status'] = 'incomplete';
$id = Database::insert_id(); $trackValues['session_id'] = api_get_session_id();
$trackValues['data_tracking'] = implode(',', $questionList);
$trackValues['start_date'] = api_get_utc_datetime();
$trackValues['orig_lp_id'] = $safe_lp_id;
$trackValues['orig_lp_item_id'] = $safe_lp_item_id;
$trackValues['orig_lp_item_view_id'] = $safe_lp_item_view_id;
$trackValues['exe_weighting'] = Database::escape_string($weight);
$trackValues['user_ip'] = Database::escape_string(api_get_real_ip());
$id = Database::insert($track_exercises, $trackValues);
return $id; return $id;
} }

@ -354,7 +354,8 @@ function update_event_exercice(
exe_date = '".$end_date."', exe_date = '".$end_date."',
status = '".$status."', status = '".$status."',
questions_to_check = '".$remind_list."', questions_to_check = '".$remind_list."',
data_tracking = '".implode(',', $question_list)."' data_tracking = '".implode(',', $question_list)."',
user_ip = '" . Database::escape_string(api_get_real_ip()) . "'
WHERE exe_id = '".Database::escape_string($exeid)."'"; WHERE exe_id = '".Database::escape_string($exeid)."'";
$res = Database::query($sql); $res = Database::query($sql);
@ -415,10 +416,14 @@ function create_event_exercice($exo_id)
} else { } else {
$expired_date = '0000-00-00 00:00:00'; $expired_date = '0000-00-00 00:00:00';
} }
$sql = "INSERT INTO $tbl_track_exe ( exe_user_id, exe_cours_id, expired_time_control, exe_exo_id, session_id) $id = Database::insert($tbl_track_exe, array(
VALUES ( $uid, '".api_get_course_id()."' ,'$expired_date','$exo_id','".api_get_session_id()."')"; 'exe_user_id' => $uid,
Database::query($sql); 'exe_cours_id' => api_get_course_id(),
$id= Database::insert_id(); 'expired_time_control' => $expired_date,
'exe_exo_id' => $exo_id,
'session_id' => api_get_session_id(),
'user_ip' => Database::escape_string(api_get_real_ip())
));
return $id; return $id;
} }

@ -57,6 +57,7 @@ CREATE TABLE track_e_access (
access_cours_code varchar(40) NOT NULL default '', access_cours_code varchar(40) NOT NULL default '',
access_tool varchar(30) default NULL, access_tool varchar(30) default NULL,
access_session_id int NOT NULL default 0, access_session_id int NOT NULL default 0,
user_ip varchar(39) NOT NULL default '',
PRIMARY KEY (access_id), PRIMARY KEY (access_id),
KEY access_user_id (access_user_id), KEY access_user_id (access_user_id),
KEY access_cours_code (access_cours_code) KEY access_cours_code (access_cours_code)
@ -111,6 +112,7 @@ CREATE TABLE track_e_exercices (
exe_exo_id mediumint unsigned NOT NULL default 0, exe_exo_id mediumint unsigned NOT NULL default 0,
exe_result float(6,2) NOT NULL default 0, exe_result float(6,2) NOT NULL default 0,
exe_weighting float(6,2) NOT NULL default 0, exe_weighting float(6,2) NOT NULL default 0,
user_ip varchar(39) NOT NULL default '',
PRIMARY KEY (exe_id), PRIMARY KEY (exe_id),
KEY exe_user_id (exe_user_id), KEY exe_user_id (exe_user_id),
KEY exe_cours_id (exe_cours_id) KEY exe_cours_id (exe_cours_id)
@ -245,6 +247,7 @@ CREATE TABLE track_e_course_access (
logout_course_date datetime default NULL, logout_course_date datetime default NULL,
counter int NOT NULL, counter int NOT NULL,
session_id int NOT NULL default 0, session_id int NOT NULL default 0,
user_ip varchar(39) NOT NULL default '',
PRIMARY KEY (course_access_id) PRIMARY KEY (course_access_id)
); );

@ -39,6 +39,10 @@ ALTER TABLE gradebook_category ADD COLUMN generate_certificates TINYINT NOT NULL
ALTER TABLE track_e_login CHANGE COLUMN user_ip user_ip varchar(39) NOT NULL DEFAULT ''; ALTER TABLE track_e_login CHANGE COLUMN user_ip user_ip varchar(39) NOT NULL DEFAULT '';
ALTER TABLE track_e_online CHANGE COLUMN user_ip user_ip varchar(39) NOT NULL DEFAULT ''; ALTER TABLE track_e_online CHANGE COLUMN user_ip user_ip varchar(39) NOT NULL DEFAULT '';
ALTER TABLE track_e_exercices ADD COLUMN user_ip varchar(39) NOT NULL default '';
ALTER TABLE track_e_access ADD COLUMN user_ip varchar(39) NOT NULL default '';
ALTER TABLE track_e_course_access ADD COLUMN user_ip varchar(39) NOT NULL default '';
-- Do not move this query -- Do not move this query
UPDATE settings_current SET selected_value = '1.10.0.8' WHERE variable = 'chamilo_database_version'; UPDATE settings_current SET selected_value = '1.10.0.8' WHERE variable = 'chamilo_database_version';

Loading…
Cancel
Save