Rename table column from login_ip to user_ip - refs #7268

1.10.x
Angel Fernando Quiroz Campos 11 years ago
parent a2c4d3d3b9
commit d2d1206f6f
  1. 2
      main/inc/lib/events.lib.inc.php
  2. 8
      main/inc/lib/online.inc.php
  3. 8
      main/inc/lib/sessionmanager.lib.php
  4. 2
      main/inc/lib/tracking.lib.php
  5. 4
      main/install/db_stats.sql
  6. 3
      main/install/migrate-db-1.9.0-1.10.0-pre.sql
  7. 2
      tests/datafiller/fill_whoisonline.php

@ -82,7 +82,7 @@ function event_login()
$userId = api_get_user_id();
$reallyNow = api_get_utc_datetime();
$sql = "INSERT INTO ".$TABLETRACK_LOGIN." (login_user_id, login_ip, login_date, logout_date) VALUES
$sql = "INSERT INTO ".$TABLETRACK_LOGIN." (login_user_id, user_ip, login_date, logout_date) VALUES
('".$userId."',
'".Database::escape_string(api_get_real_ip())."',
'".$reallyNow."',

@ -24,9 +24,9 @@ function LoginCheck($uid) {
$uid = (int) $uid;
$online_table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ONLINE);
if (!empty($uid)) {
$login_ip = '';
$user_ip = '';
if (!empty($_SERVER['REMOTE_ADDR'])) {
$login_ip = Database::escape_string($_SERVER['REMOTE_ADDR']);
$user_ip = Database::escape_string($_SERVER['REMOTE_ADDR']);
}
$login_date = api_get_utc_datetime();
@ -38,9 +38,9 @@ function LoginCheck($uid) {
// if the $_course array exists this means we are in a course and we have to store this in the who's online table also
// to have the x users in this course feature working
if (is_array($_course) && count($_course)>0 && !empty($_course['id'])) {
$query = "REPLACE INTO ".$online_table ." (login_id,login_user_id,login_date,login_ip, course, session_id, access_url_id) VALUES ($uid,$uid,'$login_date','$login_ip', '".$_course['id']."' , '$session_id' , '$access_url_id' )";
$query = "REPLACE INTO ".$online_table ." (login_id,login_user_id,login_date,user_ip, course, session_id, access_url_id) VALUES ($uid,$uid,'$login_date','$user_ip', '".$_course['id']."' , '$session_id' , '$access_url_id' )";
} else {
$query = "REPLACE INTO ".$online_table ." (login_id,login_user_id,login_date,login_ip, session_id, access_url_id) VALUES ($uid,$uid,'$login_date','$login_ip', '$session_id', '$access_url_id')";
$query = "REPLACE INTO ".$online_table ." (login_id,login_user_id,login_date,user_ip, session_id, access_url_id) VALUES ($uid,$uid,'$login_date','$user_ip', '$session_id', '$access_url_id')";
}
@Database::query($query);
}

@ -1268,17 +1268,17 @@ class SessionManager
foreach ($return as $key => $info) {
//Search for ip, we do less querys if we iterate the final array
$sql = sprintf("SELECT login_ip FROM $track_e_login WHERE login_user_id = %d AND login_date < '%s' ORDER BY login_date DESC LIMIT 1", $info['user_id'], $info['logindate']); //TODO add select by user too
$sql = sprintf("SELECT user_ip FROM $track_e_login WHERE login_user_id = %d AND login_date < '%s' ORDER BY login_date DESC LIMIT 1", $info['user_id'], $info['logindate']); //TODO add select by user too
$result = Database::query($sql);
$ip = Database::fetch_assoc($result);
//if no ip founded, we search the closest higher ip
if (empty($ip['login_ip'])) {
$sql = sprintf("SELECT login_ip FROM $track_e_login WHERE login_user_id = %d AND login_date > '%s' ORDER BY login_date ASC LIMIT 1", $info['user_id'], $info['logindate']); //TODO add select by user too
if (empty($ip['user_ip'])) {
$sql = sprintf("SELECT user_ip FROM $track_e_login WHERE login_user_id = %d AND login_date > '%s' ORDER BY login_date ASC LIMIT 1", $info['user_id'], $info['logindate']); //TODO add select by user too
$result = Database::query($sql);
$ip = Database::fetch_assoc($result);
}
#add ip to final array
$return[$key]['ip'] = $ip['login_ip'];
$return[$key]['ip'] = $ip['user_ip'];
}
return $return;
}

@ -6486,7 +6486,7 @@ class TrackingUserLog
return false;
}
$table_login = Database :: get_main_table(TABLE_STATISTIC_TRACK_E_LOGIN);
$sql_ip = "SELECT login_date, login_ip FROM $table_login WHERE login_user_id = $user_id AND login_date < '$event_date' ORDER BY login_date DESC LIMIT 1";
$sql_ip = "SELECT login_date, user_ip FROM $table_login WHERE login_user_id = $user_id AND login_date < '$event_date' ORDER BY login_date DESC LIMIT 1";
$ip = '';
$res_ip = Database::query($sql_ip);
if ($res_ip !== false && Database::num_rows($res_ip)>0) {

@ -195,7 +195,7 @@ CREATE TABLE track_e_login (
login_id int NOT NULL auto_increment,
login_user_id int unsigned NOT NULL default 0,
login_date datetime NOT NULL default '0000-00-00 00:00:00',
login_ip varchar(39) NOT NULL default '',
user_ip varchar(39) NOT NULL default '',
logout_date datetime NULL default NULL,
PRIMARY KEY (login_id),
KEY login_user_id (login_user_id)
@ -206,7 +206,7 @@ CREATE TABLE track_e_online (
login_id int NOT NULL auto_increment,
login_user_id int unsigned NOT NULL default 0,
login_date datetime NOT NULL default '0000-00-00 00:00:00',
login_ip varchar(39) NOT NULL default '',
user_ip varchar(39) NOT NULL default '',
course varchar(40) default NULL,
session_id INT NOT NULL DEFAULT 0,
access_url_id INT NOT NULL DEFAULT 1,

@ -36,6 +36,9 @@ ALTER TABLE skill ADD COLUMN criteria text DEFAULT '';
ALTER TABLE gradebook_category ADD COLUMN generate_certificates TINYINT NOT NULL DEFAULT 0;
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 '';
-- Do not move this query
UPDATE settings_current SET selected_value = '1.10.0.8' WHERE variable = 'chamilo_database_version';

@ -25,7 +25,7 @@ function fill_whoisonline() {
//filling the table
for ($i=1;$i <=$max;$i++) {
$date = api_get_utc_datetime();
$sql = "INSERT INTO $table_e_online (login_id, login_user_id, login_date, login_ip, course, session_id, access_url_id)
$sql = "INSERT INTO $table_e_online (login_id, login_user_id, login_date, user_ip, course, session_id, access_url_id)
VALUES ('$i', '$i', '$date', '127.0.0.1', '', '0','1')";
$rs = Database::query($sql);
}

Loading…
Cancel
Save