diff --git a/lib/db/migrate2utf8.xml b/lib/db/migrate2utf8.xml
index 7efc35a2e1f..5971f21f58d 100755
--- a/lib/db/migrate2utf8.xml
+++ b/lib/db/migrate2utf8.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/lib/db/mysql.php b/lib/db/mysql.php
index eae85f8967f..fa3e6f1771d 100644
--- a/lib/db/mysql.php
+++ b/lib/db/mysql.php
@@ -2186,6 +2186,20 @@ function main_upgrade($oldversion=0) {
execute_sql("ALTER TABLE {$CFG->prefix}course_sections CHANGE sequence sequence text NULL AFTER section");
}
+ // table to keep track of course page access times, used in online participants block, and participants list
+ if ($oldversion < 2006091200) {
+ execute_sql("CREATE TABLE {$CFG->prefix}user_lastaccess (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `userid` int(10) unsigned NOT NULL default '0',
+ `courseid` int(10) unsigned NOT NULL default '0',
+ `timeaccess` int(10) unsigned NOT NULL default '0',
+ KEY `userid` (`userid`),
+ KEY `courseid` (`courseid`),
+ UNIQUE KEY `userid-courseid` (`userid`, `courseid`),
+ PRIMARY KEY (`id`)
+ )TYPE=MYISAM COMMENT ='time user last accessed any page in a course';", true);
+ }
+
return $result;
}
diff --git a/lib/db/mysql.sql b/lib/db/mysql.sql
index a82e0adcb5d..2fe88c27935 100644
--- a/lib/db/mysql.sql
+++ b/lib/db/mysql.sql
@@ -1001,6 +1001,17 @@ CREATE TABLE prefix_role_names (
PRIMARY KEY (`id`)
) TYPE=MYISAM COMMENT ='role names in native strings';
+CREATE TABLE prefix_user_lastaccess (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `userid` int(10) unsigned NOT NULL default '0',
+ `courseid` int(10) unsigned NOT NULL default '0',
+ `timeaccess` int(10) unsigned NOT NULL default '0',
+ KEY `userid` (`userid`),
+ KEY `courseid` (`courseid`),
+ UNIQUE KEY `userid-courseid` (`userid`, `courseid`),
+ PRIMARY KEY (`id`)
+) TYPE=MYISAM COMMENT ='time user last accessed any page in a course';
+
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('user', 'view', 'user', 'CONCAT(firstname," ",lastname)');
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'user report', 'user', 'CONCAT(firstname," ",lastname)');
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'view', 'course', 'fullname');
diff --git a/lib/db/postgres7.php b/lib/db/postgres7.php
index 7b5111a240a..44ef464074a 100644
--- a/lib/db/postgres7.php
+++ b/lib/db/postgres7.php
@@ -1786,6 +1786,20 @@ function main_upgrade($oldversion=0) {
execute_sql("ALTER TABLE {$CFG->prefix}course_sections ALTER COLUMN sequence DROP DEFAULT");
}
+ // table to keep track of course page access times, used in online participants block, and participants list
+ if ($oldversion < 2006091200) {
+ execute_sql("CREATE TABLE {$CFG->prefix}user_lastaccess (
+ id SERIAL PRIMARY KEY,
+ userid integer NOT NULL default 0,
+ courseid integer NOT NULL default 0,
+ timeaccess integer NOT NULL default 0
+ );", true);
+
+ execute_sql("CREATE INDEX {$CFG->prefix}user_lastaccess_userid_idx ON {$CFG->prefix}user_lastaccess (userid);", true);
+ execute_sql("CREATE INDEX {$CFG->prefix}user_lastaccess_courseid_idx ON {$CFG->prefix}user_lastaccess (courseid);", true);
+ execute_sql("CREATE UNIQUE INDEX {$CFG->prefix}user_lastaccess_useridcourseid_idx ON {$CFG->prefix}user_lastaccess (userid, courseid);", true);
+
+ }
return $result;
}
diff --git a/lib/db/postgres7.sql b/lib/db/postgres7.sql
index 65f752fb8de..e1071f90c9a 100644
--- a/lib/db/postgres7.sql
+++ b/lib/db/postgres7.sql
@@ -764,6 +764,17 @@ CREATE INDEX prefix_role_names_roleid_idx ON prefix_role_names (roleid);
CREATE INDEX prefix_role_names_contextid_idx ON prefix_role_names (contextid);
CREATE UNIQUE INDEX prefix_role_names_roleidcontextid_idx ON prefix_role_names (roleid, contextid);
+CREATE TABLE prefix_user_lastaccess (
+ id SERIAL PRIMARY KEY,
+ userid integer NOT NULL default 0,
+ courseid integer NOT NULL default 0,
+ timeaccess integer NOT NULL default 0
+);
+
+CREATE INDEX prefix_user_lastaccess_userid_idx ON prefix_user_lastaccess (userid);
+CREATE INDEX prefix_user_lastaccess_courseid_idx ON prefix_user_lastaccess (courseid);
+CREATE UNIQUE INDEX prefix_user_lastaccess_useridcourseid_idx ON prefix_user_lastaccess (userid, courseid);
+
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('user', 'view', 'user', 'firstname||\' \'||lastname');
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'user report', 'user', 'firstname||\' \'||lastname');
INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('course', 'view', 'course', 'fullname');