diff --git a/main/admin/cli.php b/main/admin/cli.php index 4c27aeab48..c683c7aed3 100644 --- a/main/admin/cli.php +++ b/main/admin/cli.php @@ -32,8 +32,8 @@ switch ($_GET["cmd"]) { echo "Are you sure you are willing to erease all storage api data (no backup)? Yes"; break; case "clear_stapi_confirm": - Database::query("delete from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES)); - Database::query("delete from ".Database::get_main_table(TABLE_MAIN_STORED_STACK)); + Database::query("delete from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)); + Database::query("delete from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES_STACK)); echo "Done"; break; default: diff --git a/main/inc/lib/database.constants.inc.php b/main/inc/lib/database.constants.inc.php index 53a249ce8f..cc333f0b84 100644 --- a/main/inc/lib/database.constants.inc.php +++ b/main/inc/lib/database.constants.inc.php @@ -309,9 +309,8 @@ define('TABLE_USERGROUP_REL_SESSION', 'usergroup_rel_session'); define('TABLE_NOTIFICATION', 'notification'); //Storage api tables -define('TABLE_MAIN_STORED_VALUES', 'stored_values'); -define('TABLE_MAIN_STORED_VALUES_STACK', 'stored_values_stack'); - +define('TABLE_TRACK_STORED_VALUES', 'track_stored_values'); +define('TABLE_TRACK_STORED_VALUES_STACK', 'track_stored_values_stack'); //Event tables define('TABLE_MAIN_EVENT_EMAIL_TEMPLATE','event_email_template'); diff --git a/main/install/db_main.sql b/main/install/db_main.sql index c3c9f5f34e..cb52dcf18d 100644 --- a/main/install/db_main.sql +++ b/main/install/db_main.sql @@ -2906,7 +2906,7 @@ CREATE TABLE event_sent ( user_from int(11) NOT NULL, user_to int(11) DEFAULT NULL, event_type_name varchar(100) DEFAULT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (id) ); ALTER TABLE event_sent ADD INDEX event_name_index (event_type_name); @@ -2915,37 +2915,10 @@ CREATE TABLE user_rel_event_type ( id int(11) NOT NULL AUTO_INCREMENT, user_id int(11) NOT NULL, event_type_name varchar(255) NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (id) ); ALTER TABLE user_rel_event_type ADD INDEX event_name_index (event_type_name); --- --- Table structure for LP custom storage API --- -DROP TABLE IF EXISTS stored_value; -CREATE TABLE IF NOT EXISTS stored_values ( - user_id INT NOT NULL, - sco_id INT NOT NULL, - course_id CHAR(40) NOT NULL, - sv_key CHAR(64) NOT NULL, - sv_value TEXT NOT NULL -); -ALTER TABLE stored_values ADD KEY (user_id, sco_id, course_id, sv_key); -ALTER TABLE stored_values ADD UNIQUE (user_id, sco_id, course_id, sv_key); - -DROP TABLE IF EXISTS stored_value_stack; -CREATE TABLE IF NOT EXISTS stored_values_stack ( - user_id INT NOT NULL, - sco_id INT NOT NULL, - stack_order INT NOT NULL, - course_id CHAR(40) NOT NULL, - sv_key CHAR(64) NOT NULL, - sv_value TEXT NOT NULL -); -ALTER TABLE stored_values_stack ADD KEY (user_id, sco_id, course_id, sv_key, stack_order); -ALTER TABLE stored_values_stack ADD UNIQUE (user_id, sco_id, course_id, sv_key, stack_order); - - -- Course ranking DROP TABLE IF EXISTS track_course_ranking; diff --git a/main/install/db_stats.sql b/main/install/db_stats.sql index 7a768b131f..fd278357cc 100644 --- a/main/install/db_stats.sql +++ b/main/install/db_stats.sql @@ -293,25 +293,27 @@ ALTER TABLE track_e_uploads ADD INDEX (upload_session_id); -- -- Table structure for LP custom storage API -- -DROP TABLE IF EXISTS stored_values; -CREATE TABLE stored_values ( - user_id INT NOT NULL, - sco_id INT NOT NULL, - course_id CHAR(40) NOT NULL, - sv_key CHAR(64) NOT NULL, - sv_value TEXT NOT NULL +DROP TABLE IF EXISTS track_stored_values; +CREATE TABLE IF NOT EXISTS track_stored_values ( + id int unsigned not null AUTO_INCREMENT PRIMARY KEY, + user_id INT NOT NULL, + sco_id INT NOT NULL, + course_id CHAR(40) NOT NULL, + sv_key CHAR(64) NOT NULL, + sv_value TEXT NOT NULL ); -ALTER TABLE stored_values ADD KEY (user_id, sco_id, course_id, sv_key); -ALTER TABLE stored_values ADD UNIQUE (user_id, sco_id, course_id, sv_key); +ALTER TABLE track_stored_values ADD KEY (user_id, sco_id, course_id, sv_key); +ALTER TABLE track_stored_values ADD UNIQUE (user_id, sco_id, course_id, sv_key); -DROP TABLE IF EXISTS stored_values_stack; -CREATE TABLE stored_values_stack ( - user_id INT NOT NULL, - sco_id INT NOT NULL, - stack_order INT NOT NULL, - course_id CHAR(40) NOT NULL, - sv_key CHAR(64) NOT NULL, - sv_value TEXT NOT NULL +DROP TABLE IF EXISTS track_stored_value_stack; +CREATE TABLE IF NOT EXISTS track_stored_values_stack ( + id int unsigned not null AUTO_INCREMENT PRIMARY KEY, + user_id INT NOT NULL, + sco_id INT NOT NULL, + stack_order INT NOT NULL, + course_id CHAR(40) NOT NULL, + sv_key CHAR(64) NOT NULL, + sv_value TEXT NOT NULL ); -ALTER TABLE stored_values_stack ADD KEY (user_id, sco_id, course_id, sv_key, stack_order); -ALTER TABLE stored_values_stack ADD UNIQUE (user_id, sco_id, course_id, sv_key, stack_order); \ No newline at end of file +ALTER TABLE track_stored_values_stack ADD KEY (user_id, sco_id, course_id, sv_key, stack_order); +ALTER TABLE track_stored_values_stack ADD UNIQUE (user_id, sco_id, course_id, sv_key, stack_order); \ No newline at end of file diff --git a/main/install/migrate-db-1.8.8-1.9.0-pre.sql b/main/install/migrate-db-1.8.8-1.9.0-pre.sql index e2c095cd58..a5b413e16d 100755 --- a/main/install/migrate-db-1.8.8-1.9.0-pre.sql +++ b/main/install/migrate-db-1.8.8-1.9.0-pre.sql @@ -278,12 +278,13 @@ UPDATE settings_current SET selected_value = '1.9.0.18219' WHERE variable = 'cha -- xxSTATSxx ALTER TABLE track_e_exercices ADD COLUMN questions_to_check TEXT NOT NULL DEFAULT ''; --CREATE TABLE track_filtered_terms (id int, user_id int, course_id int, session_id int, tool_id char(12), filtered_term varchar(255), created_at datetime); -CREATE TABLE stored_values (user_id INT NOT NULL, sco_id INT NOT NULL, course_id CHAR(40) NOT NULL, sv_key CHAR(64) NOT NULL, sv_value TEXT NOT NULL ); -ALTER TABLE stored_values ADD KEY (user_id, sco_id, course_id, sv_key); -ALTER TABLE stored_values ADD UNIQUE (user_id, sco_id, course_id, sv_key); -CREATE TABLE stored_values_stack (user_id INT NOT NULL, sco_id INT NOT NULL, stack_order INT NOT NULL, course_id CHAR(40) NOT NULL, sv_key CHAR(64) NOT NULL, sv_value TEXT NOT NULL ); -ALTER TABLE stored_values_stack ADD KEY (user_id, sco_id, course_id, sv_key, stack_order); -ALTER TABLE stored_values_stack ADD UNIQUE (user_id, sco_id, course_id, sv_key, stack_order); +CREATE TABLE track_stored_values (id int unsigned not null AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, sco_id INT NOT NULL, course_id CHAR(40) NOT NULL, sv_key CHAR(64) NOT NULL, sv_value TEXT NOT NULL); +ALTER TABLE track_stored_values ADD KEY (user_id, sco_id, course_id, sv_key); +ALTER TABLE track_stored_values ADD UNIQUE (user_id, sco_id, course_id, sv_key); + +CREATE TABLE track_stored_values_stack (id int unsigned not null AUTO_INCREMENT PRIMARY KEY,user_id INT NOT NULL, sco_id INT NOT NULL, stack_order INT NOT NULL, course_id CHAR(40) NOT NULL, sv_key CHAR(64) NOT NULL, sv_value TEXT NOT NULL); +ALTER TABLE track_stored_values_stack ADD KEY (user_id, sco_id, course_id, sv_key, stack_order); +ALTER TABLE track_stored_values_stack ADD UNIQUE (user_id, sco_id, course_id, sv_key, stack_order); ALTER TABLE track_e_attempt ADD COLUMN filename VARCHAR(255) DEFAULT NULL; ALTER TABLE track_e_default ADD COLUMN c_id INTEGER DEFAULT NULL; diff --git a/main/install/update-db-1.8.8-1.9.0.inc.php b/main/install/update-db-1.8.8-1.9.0.inc.php index 0e1633a6a9..3b14d511c9 100755 --- a/main/install/update-db-1.8.8-1.9.0.inc.php +++ b/main/install/update-db-1.8.8-1.9.0.inc.php @@ -154,8 +154,8 @@ if (defined('SYSTEM_INSTALLATION')) { "report_keys", //@todo add the "track_" prefix see #3967 "report_values", "report_keys", - "stored_values", - "stored_values_stack", + "track_stored_values", + "track_stored_values_stack", ); if ($dbNameForm != $dbStatsForm) { diff --git a/main/newscorm/storageapi.php b/main/newscorm/storageapi.php index 7ae98dab54..0c53bb654f 100644 --- a/main/newscorm/storageapi.php +++ b/main/newscorm/storageapi.php @@ -72,7 +72,7 @@ function storage_can_set($sv_user) { function storage_get($sv_user, $sv_course, $sv_sco, $sv_key) { $sql = "select sv_value - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES)." + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)." where user_id= '$sv_user' and sco_id = '$sv_sco' and course_id = '$sv_course' @@ -96,7 +96,7 @@ function storage_get_leaders($sv_user, $sv_course, $sv_sco, $sv_key, $sv_asc, $s // get leaders $sql_leaders = "select u.user_id, firstname, lastname, email, username, sv_value as value - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES)." sv, + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)." sv, ".Database::get_main_table(TABLE_MAIN_USER)." u where u.user_id=sv.user_id and sco_id = '$sv_sco' @@ -104,7 +104,7 @@ function storage_get_leaders($sv_user, $sv_course, $sv_sco, $sv_key, $sv_asc, $s and sv_key = '$sv_key' order by sv_value ".($sv_asc ? "ASC": "DESC")." limit $sv_length"; // $sql_data = "select sv.user_id as user_id, sv_key as variable, sv_value as value -// from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES)." sv +// from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)." sv // where sv.user_id in (select u2.user_id from ($sql_leaders) u2) // and sco_id = '$sv_sco' // and course_id = '$sv_course'"; @@ -128,8 +128,8 @@ function storage_get_leaders($sv_user, $sv_course, $sv_sco, $sv_key, $sv_asc, $s function storage_get_position($sv_user, $sv_course, $sv_sco, $sv_key, $sv_asc, $sv_length) { $sql = "select count(list.user_id) as position - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES)." search, - ".Database::get_main_table(TABLE_MAIN_STORED_VALUES)." list + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)." search, + ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)." list where search.user_id= '$sv_user' and search.sco_id = '$sv_sco' and search.course_id = '$sv_course' @@ -151,7 +151,7 @@ function storage_get_position($sv_user, $sv_course, $sv_sco, $sv_key, $sv_asc, $ function storage_set($sv_user, $sv_course, $sv_sco, $sv_key, $sv_value) { $sv_value = Database::escape_string($sv_value); - $sql = "replace into ".Database::get_main_table(TABLE_MAIN_STORED_VALUES)." + $sql = "replace into ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)." (user_id, sco_id, course_id, sv_key, sv_value) values ('$sv_user','$sv_sco','$sv_course','$sv_key','$sv_value')"; @@ -161,7 +161,7 @@ function storage_set($sv_user, $sv_course, $sv_sco, $sv_key, $sv_value) { function storage_getall($sv_user, $sv_course, $sv_sco) { $sql = "select sv_key, sv_value - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES)." + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)." where user_id= '$sv_user' and sco_id = '$sv_sco' and course_id = '$sv_course'"; @@ -180,7 +180,7 @@ function storage_stack_push($sv_user, $sv_course, $sv_sco, $sv_key, $sv_value) { $sv_value = Database::escape_string($sv_value); Database::query("start transaction"); $sqlorder = "select ifnull((select max(stack_order) - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES_STACK)." + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES_STACK)." where user_id= '$sv_user' and sco_id='$sv_sco' and course_id='$sv_course' @@ -189,7 +189,7 @@ function storage_stack_push($sv_user, $sv_course, $sv_sco, $sv_key, $sv_value) { $resorder = Database::query($sqlorder); $row = Database::fetch_assoc($resorder); $stack_order = (1 + $row['stack_order']); - $sqlinsert = "insert into ".Database::get_main_table(TABLE_MAIN_STORED_VALUES_STACK)." + $sqlinsert = "insert into ".Database::get_main_table(TABLE_TRACK_STORED_VALUES_STACK)." (user_id, sco_id, course_id, sv_key, stack_order, sv_value) values ('$sv_user', '$sv_sco', '$sv_course', '$sv_key', '$stack_order', '$sv_value')"; @@ -207,7 +207,7 @@ function storage_stack_push($sv_user, $sv_course, $sv_sco, $sv_key, $sv_value) { function storage_stack_pop($sv_user, $sv_course, $sv_sco, $sv_key) { Database::query("start transaction"); $sqlselect = "select sv_value, stack_order - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES_STACK)." + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES_STACK)." where user_id= '$sv_user' and sco_id='$sv_sco' and course_id='$sv_course' @@ -218,7 +218,7 @@ function storage_stack_pop($sv_user, $sv_course, $sv_sco, $sv_key) { $rowselect = Database::fetch_assoc($resselect); $stack_order = $rowselect['stack_order']; $sqldelete = "delete - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES_STACK)." + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES_STACK)." where user_id= '$sv_user' and sco_id='$sv_sco' and course_id='$sv_course' @@ -242,7 +242,7 @@ function storage_stack_pop($sv_user, $sv_course, $sv_sco, $sv_key) { function storage_stack_length($sv_user, $sv_course, $sv_sco, $sv_key) { $sql = "select count(*) as length - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES_STACK)." + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES_STACK)." where user_id= '$sv_user' and sco_id='$sv_sco' and course_id='$sv_course' @@ -254,7 +254,7 @@ function storage_stack_length($sv_user, $sv_course, $sv_sco, $sv_key) { function storage_stack_clear($sv_user, $sv_course, $sv_sco, $sv_key) { $sql = "delete - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES_STACK)." + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES_STACK)." where user_id= '$sv_user' and sco_id='$sv_sco' and course_id='$sv_course' @@ -265,7 +265,7 @@ function storage_stack_clear($sv_user, $sv_course, $sv_sco, $sv_key) { function storage_stack_getall($sv_user, $sv_course, $sv_sco, $sv_key) { $sql = "select stack_order as stack_order, sv_value as value - from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES_STACK)." + from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES_STACK)." where user_id= '$sv_user' and sco_id='$sv_sco' and course_id='$sv_course' diff --git a/main/reports/templates/courseArticulate.reports.php b/main/reports/templates/courseArticulate.reports.php index e37b6faba8..47c7a6231b 100644 --- a/main/reports/templates/courseArticulate.reports.php +++ b/main/reports/templates/courseArticulate.reports.php @@ -39,13 +39,13 @@ function reports_template_CourseArticulate_getSQL() { // Stored Value $sv = array(); foreach ($sv as $k => $v) { - if (!isset($v['sql'])) - $v['sql'] = 'FIELD'; - $sqlField = str_replace('FIELD', 'sv.sv_value', $v['sql']); - $query = 'select '.$sqlField.' as "'.$v['title'].'" '; + if (!isset($v['sql'])) + $v['sql'] = 'FIELD'; + $sqlField = str_replace('FIELD', 'sv.sv_value', $v['sql']); + $query = 'select '.$sqlField.' as "'.$v['title'].'" '; // $query = 'select sec_to_time(sv.sv_value) as "'.$v.'" '; $query .= 'from '.Database::get_main_table(TABLE_MAIN_USER).' u '; - $query .= ' left outer join '.Database::get_main_database().'.stored_values sv '; + $query .= ' left outer join '.Database::get_main_table(TABLE_TRACK_STORED_VALUES).' sv '; $query .= 'on sv.user_id = u.user_id and sv_key = "'.$k.'" '; $query .= ' where u.user_id in ('.reports_getVisibilitySQL().') '; $query .= ' group by u.user_id '; diff --git a/main/reports/templates/generic.reports.php b/main/reports/templates/generic.reports.php index ece965920b..4cd1cb42bc 100644 --- a/main/reports/templates/generic.reports.php +++ b/main/reports/templates/generic.reports.php @@ -40,7 +40,7 @@ function reports_template_Generic_getSQL() { foreach ($sv as $k => $v) { $query = 'select sec_to_time(sv.sv_value) as "'.$v.'" '; $query .= 'from '.Database::get_main_table(TABLE_MAIN_USER).' u '; - $query .= ' left outer join '.Database::get_main_database().'.stored_values sv '; + $query .= ' left outer join '.Database::get_main_table(TABLE_TRACK_STORED_VALUES).' sv '; $query .= 'on sv.user_id = u.user_id and sv_key = "'.$k.'" '; $query .= ' where u.user_id in ('.reports_getVisibilitySQL().') '; $query .= ' order by u.user_id ';