skala
Julio Montoya 14 years ago
commit 3ea3ea5d9b
  1. 4
      main/admin/cli.php
  2. 46
      main/blog/blog.php
  3. 107
      main/inc/lib/blog.lib.php
  4. 5
      main/inc/lib/database.constants.inc.php
  5. 48
      main/install/db_main.sql
  6. 95
      main/install/db_stats.sql
  7. 28
      main/install/migrate-db-1.8.8-1.9.0-pre.sql
  8. 4
      main/install/update-db-1.8.8-1.9.0.inc.php
  9. 28
      main/newscorm/storageapi.php
  10. 7
      main/permissions/permissions_functions.inc.php
  11. 3
      main/permissions/roles.php
  12. 10
      main/reports/templates/courseArticulate.reports.php
  13. 2
      main/reports/templates/generic.reports.php

@ -32,8 +32,8 @@ switch ($_GET["cmd"]) {
echo "Are you sure you are willing to erease all storage api data (no backup)? <a href='cli.php?cmd=clear_stapi_confirm' >Yes</a>";
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:

@ -302,44 +302,11 @@ Blog :: display_minimonthcalendar($month, $year, $blog_id);
<?php Blog::get_personal_task_list(); ?>
</td>
</tr>
</table>
<!--
<br />
<table width="100%">
<tr>
<td class="blog_menu_title"><?php echo get_lang('FavoriteBlogs') ?></td>
</tr>
<tr>
<td class="blog_menu">
<ul>
<li>Favorite 1</li>
<li>Favorite 2</li>
<li>Favorite 3</li>
</ul>
</td>
</tr>
</table>
<br />
<table width="100%">
<tr>
<td class="blog_menu_title"><?php echo get_lang('TopTen') ?></td>
</tr>
<tr>
<td class="blog_menu">
<ul>
<li>Blog 1</li>
<li>Blog 2</li>
<li>Blog 3</li>
</ul>
</td>
</tr>
</table>
-->
</table>
</td>
<td valign="top" class="blog_right">
<?php
if ($error)
Display :: display_error_message($message);
@ -376,16 +343,13 @@ if (isset ($_GET['task_id']) && is_numeric($_GET['task_id'])) {
switch ($current_page) {
case 'new_post' :
if (api_is_allowed('BLOG_'.$blog_id, 'article_add', $user_task ? $task_id : 0))
{
if (api_is_allowed('BLOG_'.$blog_id, 'article_add', $user_task ? $task_id : 0)) {
// we show the form if
// 1. no post data
// 2. there is post data and the required field is empty
if (!$_POST OR (!empty($_POST) AND empty($_POST['post_title'])))
{
if (!$_POST OR (!empty($_POST) AND empty($_POST['post_title']))) {
// if there is post data there is certainly an error in the form
if ($_POST)
{
if ($_POST) {
Display::display_error_message(get_lang('FormHasErrorsPleaseComplete'));
}
Blog :: display_form_new_post($blog_id);
@ -425,7 +389,7 @@ switch ($current_page) {
{
Display::display_error_message(get_lang('FormHasErrorsPleaseComplete'));
}
Blog :: display_form_edit_post($blog_id, Database::escape_string((int)$_GET['post_id']));
Blog :: display_form_edit_post($blog_id, Database::escape_string((int)$_GET['post_id']));
}
else
{

@ -1219,7 +1219,7 @@ class Blog {
echo '<div class="control-group">
<label class="control-label">
' . get_lang('AddAnAttachment') . '
</div>
</label>
<div class="controls">
<input type="file" name="user_upload"/>
</div>
@ -1236,9 +1236,7 @@ class Blog {
</div>';
// submit
echo '<div class="control-group">
<label class="control-label">
</label>
echo '<div class="control-group">
<div class="controls">
<input type="hidden" name="action" value="" />
<input type="hidden" name="new_post_submit" value="true" />
@ -1298,15 +1296,14 @@ class Blog {
$oFCKeditor->ToolbarSet = 'Project';
}
$oFCKeditor->Value = isset($_POST['post_full_text'])?stripslashes($_POST['post_full_text']):$blog_post_text;
echo '<div class="formw">';
echo '<div class="controls">';
echo $oFCKeditor->Create();
echo '</div>';
// submit
echo ' <div class="row">
<div class="label">
</div>
<div class="formw">
echo ' <div class="control-group">
<div class="controls">
<input type="hidden" name="action" value="" />
<input type="hidden" name="edit_post_submit" value="true" />
<input type="hidden" name="post_id" value="' . (int)$_GET['post_id'] . '" />
@ -1475,31 +1472,31 @@ class Blog {
echo '<legend>'.get_lang('AddTask').'</legend>';
// task title
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
<span class="form_required">*</span>' . get_lang('Title') . '
</div>
<div class="formw">
</label>
<div class="controls">
<input name="task_name" type="text" size="70" />
</div>
</div>';
// task comment
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
' . get_lang('Description') . '
</div>
<div class="formw">
</label>
<div class="controls">
<textarea name="task_description" cols="45"></textarea>
</div>
</div>';
// task management
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
' . get_lang('TaskManager') . '
</div>
<div class="formw">';
</label>
<div class="controls">';
echo "\t\t\t" . '<table class="data_table" cellspacing="0" style="border-collapse:collapse; width:446px;">';
echo "\t\t\t\t" . '<tr>' . "\n";
echo "\t\t\t\t\t" . '<th colspan="2" style="width:223px;">' . get_lang('ArticleManager') . '</th>' . "\n";
@ -1521,11 +1518,11 @@ class Blog {
// task color
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
' . get_lang('Color') . '
</div>
<div class="formw">';
</label>
<div class="controls">';
echo ' <select name="task_color" id="color" style="width: 150px; background-color: #eeeeee" onchange="document.getElementById(\'color\').style.backgroundColor=\'#\'+document.getElementById(\'color\').value" onkeypress="document.getElementById(\'color\').style.backgroundColor=\'#\'+document.getElementById(\'color\').value">';
foreach ($colors as $color)
{
@ -1537,10 +1534,8 @@ class Blog {
</div>';
// submit
echo ' <div class="row">
<div class="label">
</div>
<div class="formw">
echo ' <div class="control-group">
<div class="controls">
<input type="hidden" name="action" value="" />
<input type="hidden" name="new_task_submit" value="true" />
<button class="save" type="submit" name="Submit">' . get_lang('Save') . '</button>
@ -1703,31 +1698,31 @@ class Blog {
echo '<legend>'.get_lang('AssignTask').'</legend>';
// user
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
<span class="form_required">*</span>' . get_lang('SelectUser') . '
</div>
<div class="formw">
</label>
<div class="controls">
'.$select_user_list.'
</div>
</div>';
// task
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
<span class="form_required">*</span>' . get_lang('SelectTask') . '
</div>
<div class="formw">
</label>
<div class="controls">
'.$select_task_list.'
</div>
</div>';
// date
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
<span class="form_required">*</span>' . get_lang('SelectTargetDate') . '
</div>
<div class="formw">';
</label>
<div class="controls">';
echo ' <select name="task_day">';
for($i=1; $i<=31; $i++)
{
@ -1769,10 +1764,10 @@ class Blog {
</div>';
// submit
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
</div>
<div class="formw">
<div class="controls">
<input type="hidden" name="action" value="" />
<input type="hidden" name="assign_task_submit" value="true" />
<button class="save" type="submit" name="Submit">' . get_lang('Ok') . '</button>
@ -2360,36 +2355,34 @@ class Blog {
$oFCKeditor->ToolbarSet = 'ProjectComment';
}
$oFCKeditor->Value = isset($_POST['comment_text'])?stripslashes($_POST['comment_text']):'';
echo '<div class="formw">';
echo '<div class="controls">';
echo $oFCKeditor->Create() ;
echo '
</div>';
// attachment
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
' . get_lang('AddAnAttachment') . '
</div>
<div class="formw">
</label>
<div class="controls">
<input type="file" name="user_upload"/>
</div>
</div>';
// attachment comment
echo ' <div class="row">
<div class="label">
echo ' <div class="control-group">
<label class="control-label">
' . get_lang('FileComment') . '
</div>
<div class="formw">
</label>
<div class="controls">
<textarea name="post_file_comment" cols="34" /></textarea>
</div>
</div>';
// attachment comment
echo ' <div class="row">
<div class="label">
</div>
<div class="formw">
echo ' <div class="control-group">
<div class="controls">
<input type="hidden" name="action" value="" />
<input type="hidden" name="comment_parent_id" id="comment_parent_id" value="0" />';
if(isset($_GET['task_id']))

@ -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');

@ -870,7 +870,7 @@ VALUES
('enable_iframe_inclusion', NULL, 'radio', 'Editor', 'false', 'EnableIframeInclusionTitle', 'EnableIframeInclusionComment', NULL, NULL, 1),
('show_hot_courses', NULL, 'radio', 'Platform', 'true', 'ShowHotCoursesTitle', 'ShowHotCoursesComment', NULL, NULL, 1),
('enable_webcam_clip',NULL,'radio','Tools','false','EnableWebCamClipTitle','EnableWebCamClipComment',NULL,NULL, 0),
('chamilo_database_version', NULL, 'textfield',NULL, '1.9.0.18219','DatabaseVersion','', NULL, NULL, 0);
('chamilo_database_version', NULL, 'textfield',NULL, '1.9.0.18283','DatabaseVersion','', NULL, NULL, 0);
UNLOCK TABLES;
/*!40000 ALTER TABLE settings_current ENABLE KEYS */;
@ -2348,25 +2348,22 @@ CREATE TABLE IF NOT EXISTS reservation_category (
PRIMARY KEY ( id )
);
-- --------------------------------------------------------
--
-- Table structure for table reservation category_rights
--
DROP TABLE IF EXISTS reservation_category_rights;
CREATE TABLE IF NOT EXISTS reservation_category_rights (
category_id int NOT NULL default 0,
class_id int NOT NULL default 0,
m_items tinyint NOT NULL default 0
CREATE TABLE IF NOT EXISTS reservation_category_rights (
id int unsigned NOT NULL auto_increment,
category_id int NOT NULL default 0,
class_id int NOT NULL default 0,
m_items tinyint NOT NULL default 0,
PRIMARY KEY ( id )
);
-- --------------------------------------------------------
--
-- Table structure for table item reservation
--
DROP TABLE IF EXISTS reservation_item;
CREATE TABLE IF NOT EXISTS reservation_item (
id int unsigned NOT NULL auto_increment,
@ -2906,7 +2903,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 +2912,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;

@ -131,17 +131,18 @@ ALTER TABLE track_e_exercices ADD COLUMN questions_to_check TEXT NOT NULL DEFAU
DROP TABLE IF EXISTS track_e_attempt;
CREATE TABLE track_e_attempt (
exe_id int default NULL,
user_id int NOT NULL default 0,
question_id int NOT NULL default 0,
answer text NOT NULL,
teacher_comment text NOT NULL,
marks float(6,2) NOT NULL default 0,
course_code varchar(40) NOT NULL default '',
position int default 0,
tms datetime NOT NULL default '0000-00-00 00:00:00',
session_id INT NOT NULL DEFAULT 0,
filename VARCHAR(255) DEFAULT NULL
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
exe_id int default NULL,
user_id int NOT NULL default 0,
question_id int NOT NULL default 0,
answer text NOT NULL,
teacher_comment text NOT NULL,
marks float(6,2) NOT NULL default 0,
course_code varchar(40) NOT NULL default '',
position int default 0,
tms datetime NOT NULL default '0000-00-00 00:00:00',
session_id INT NOT NULL DEFAULT 0,
filename VARCHAR(255) DEFAULT NULL
);
ALTER TABLE track_e_attempt ADD INDEX (exe_id);
ALTER TABLE track_e_attempt ADD INDEX (user_id);
@ -150,13 +151,14 @@ ALTER TABLE track_e_attempt ADD INDEX (session_id);
DROP TABLE IF EXISTS track_e_attempt_recording;
CREATE TABLE track_e_attempt_recording (
exe_id int unsigned NOT NULL,
question_id int unsigned NOT NULL,
marks int NOT NULL,
insert_date datetime NOT NULL default '0000-00-00 00:00:00',
author int unsigned NOT NULL,
teacher_comment text NOT NULL,
session_id INT NOT NULL DEFAULT 0
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
exe_id int unsigned NOT NULL,
question_id int unsigned NOT NULL,
marks int NOT NULL,
insert_date datetime NOT NULL default '0000-00-00 00:00:00',
author int unsigned NOT NULL,
teacher_comment text NOT NULL,
session_id INT NOT NULL DEFAULT 0
);
ALTER TABLE track_e_attempt_recording ADD INDEX (exe_id);
ALTER TABLE track_e_attempt_recording ADD INDEX (question_id);
@ -164,14 +166,15 @@ ALTER TABLE track_e_attempt_recording ADD INDEX (session_id);
DROP TABLE IF EXISTS track_e_hotpotatoes;
CREATE TABLE track_e_hotpotatoes (
exe_name VARCHAR( 255 ) NOT NULL ,
exe_user_id int unsigned DEFAULT NULL ,
exe_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL ,
exe_cours_id varchar(40) NOT NULL ,
exe_result smallint default 0 NOT NULL ,
exe_weighting smallint default 0 NOT NULL,
KEY exe_user_id (exe_user_id),
KEY exe_cours_id (exe_cours_id)
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
exe_name VARCHAR( 255 ) NOT NULL ,
exe_user_id int unsigned DEFAULT NULL ,
exe_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL ,
exe_cours_id varchar(40) NOT NULL ,
exe_result smallint default 0 NOT NULL ,
exe_weighting smallint default 0 NOT NULL,
KEY exe_user_id (exe_user_id),
KEY exe_cours_id (exe_cours_id)
);
DROP TABLE IF EXISTS track_e_links;
@ -293,25 +296,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);
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);

@ -261,10 +261,11 @@ INSERT INTO settings_options (variable, value, display_text) values ('platform_u
DROP TABLE IF EXISTS access_url_rel_session;
ALTER TABLE usergroup_rel_session ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE usergroup_rel_course ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE usergroup_rel_user ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE admin ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE usergroup_rel_session ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE usergroup_rel_course ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE usergroup_rel_user ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE admin ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE reservation_category_rights ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
-- Remove settings entry that doesnt exist anymore
@ -273,21 +274,26 @@ DELETE FROM settings_current WHERE variable = "user_order_by";
DELETE FROM settings_options WHERE variable = "user_order_by";
-- Do not move this query
UPDATE settings_current SET selected_value = '1.9.0.18219' WHERE variable = 'chamilo_database_version';
UPDATE settings_current SET selected_value = '1.9.0.18283' WHERE variable = 'chamilo_database_version';
-- 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;
ALTER TABLE track_e_attempt_recording ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE track_e_attempt ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
ALTER TABLE track_e_hotpotatoes ADD COLUMN id INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);
-- xxUSERxx
-- xxCOURSExx

@ -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) {

@ -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'

@ -81,8 +81,8 @@ function store_one_permission($content, $action, $id, $tool,$permission) {
//}
// Which database are we using (depending on the $content parameter)
if($content=='user')
{
if ($content=='user') {
$table=Database::get_course_table(TABLE_PERMISSION_USER);
$id_field = user_id;
}
@ -101,8 +101,7 @@ function store_one_permission($content, $action, $id, $tool,$permission) {
if($action=='grant') {
$sql="INSERT INTO $table (c_id, $id_field,tool,action) VALUES ($course_id, '".Database::escape_string($id)."','".Database::escape_string($tool)."','".Database::escape_string($permission)."')";
$result=Database::query($sql);
if($result)
{
if($result) {
$result_message=get_lang('PermissionGranted');
}
}

@ -12,9 +12,8 @@ require_once 'all_permissions.inc.php';
$tool_name = get_lang('Roles'); // title of the page (should come from the language file)
Display::display_header($tool_name);
// ===================================================
// ACTIONS
// ===================================================
// storing all the permission for a given role when the checkbox approach is used
if ($_POST['StoreRolePermissions'])

@ -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 ';

@ -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 ';

Loading…
Cancel
Save