skala
Julio Montoya 14 years ago
commit 3ea3ea5d9b
  1. 4
      main/admin/cli.php
  2. 42
      main/blog/blog.php
  3. 105
      main/inc/lib/blog.lib.php
  4. 5
      main/inc/lib/database.constants.inc.php
  5. 42
      main/install/db_main.sql
  6. 21
      main/install/db_stats.sql
  7. 20
      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. 2
      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>"; 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; break;
case "clear_stapi_confirm": 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_TRACK_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_STACK));
echo "Done"; echo "Done";
break; break;
default: default:

@ -303,43 +303,10 @@ Blog :: display_minimonthcalendar($month, $year, $blog_id);
</td> </td>
</tr> </tr>
</table> </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>
-->
</td> </td>
<td valign="top" class="blog_right"> <td valign="top" class="blog_right">
<?php <?php
if ($error) if ($error)
Display :: display_error_message($message); Display :: display_error_message($message);
@ -376,16 +343,13 @@ if (isset ($_GET['task_id']) && is_numeric($_GET['task_id'])) {
switch ($current_page) { switch ($current_page) {
case 'new_post' : 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 // we show the form if
// 1. no post data // 1. no post data
// 2. there is post data and the required field is empty // 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 there is post data there is certainly an error in the form
if ($_POST) if ($_POST) {
{
Display::display_error_message(get_lang('FormHasErrorsPleaseComplete')); Display::display_error_message(get_lang('FormHasErrorsPleaseComplete'));
} }
Blog :: display_form_new_post($blog_id); Blog :: display_form_new_post($blog_id);

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

@ -309,9 +309,8 @@ define('TABLE_USERGROUP_REL_SESSION', 'usergroup_rel_session');
define('TABLE_NOTIFICATION', 'notification'); define('TABLE_NOTIFICATION', 'notification');
//Storage api tables //Storage api tables
define('TABLE_MAIN_STORED_VALUES', 'stored_values'); define('TABLE_TRACK_STORED_VALUES', 'track_stored_values');
define('TABLE_MAIN_STORED_VALUES_STACK', 'stored_values_stack'); define('TABLE_TRACK_STORED_VALUES_STACK', 'track_stored_values_stack');
//Event tables //Event tables
define('TABLE_MAIN_EVENT_EMAIL_TEMPLATE','event_email_template'); 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), ('enable_iframe_inclusion', NULL, 'radio', 'Editor', 'false', 'EnableIframeInclusionTitle', 'EnableIframeInclusionComment', NULL, NULL, 1),
('show_hot_courses', NULL, 'radio', 'Platform', 'true', 'ShowHotCoursesTitle', 'ShowHotCoursesComment', 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), ('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; UNLOCK TABLES;
/*!40000 ALTER TABLE settings_current ENABLE KEYS */; /*!40000 ALTER TABLE settings_current ENABLE KEYS */;
@ -2348,25 +2348,22 @@ CREATE TABLE IF NOT EXISTS reservation_category (
PRIMARY KEY ( id ) PRIMARY KEY ( id )
); );
-- --------------------------------------------------------
-- --
-- Table structure for table reservation category_rights -- Table structure for table reservation category_rights
-- --
DROP TABLE IF EXISTS reservation_category_rights; DROP TABLE IF EXISTS reservation_category_rights;
CREATE TABLE IF NOT EXISTS reservation_category_rights ( CREATE TABLE IF NOT EXISTS reservation_category_rights (
id int unsigned NOT NULL auto_increment,
category_id int NOT NULL default 0, category_id int NOT NULL default 0,
class_id int NOT NULL default 0, class_id int NOT NULL default 0,
m_items tinyint NOT NULL default 0 m_items tinyint NOT NULL default 0,
PRIMARY KEY ( id )
); );
-- --------------------------------------------------------
-- --
-- Table structure for table item reservation -- Table structure for table item reservation
-- --
DROP TABLE IF EXISTS reservation_item; DROP TABLE IF EXISTS reservation_item;
CREATE TABLE IF NOT EXISTS reservation_item ( CREATE TABLE IF NOT EXISTS reservation_item (
id int unsigned NOT NULL auto_increment, id int unsigned NOT NULL auto_increment,
@ -2906,7 +2903,7 @@ CREATE TABLE event_sent (
user_from int(11) NOT NULL, user_from int(11) NOT NULL,
user_to int(11) DEFAULT NULL, user_to int(11) DEFAULT NULL,
event_type_name varchar(100) 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); 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, id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL, user_id int(11) NOT NULL,
event_type_name varchar(255) 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); 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 -- Course ranking
DROP TABLE IF EXISTS track_course_ranking; DROP TABLE IF EXISTS track_course_ranking;

@ -131,6 +131,7 @@ ALTER TABLE track_e_exercices ADD COLUMN questions_to_check TEXT NOT NULL DEFAU
DROP TABLE IF EXISTS track_e_attempt; DROP TABLE IF EXISTS track_e_attempt;
CREATE TABLE track_e_attempt ( CREATE TABLE track_e_attempt (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
exe_id int default NULL, exe_id int default NULL,
user_id int NOT NULL default 0, user_id int NOT NULL default 0,
question_id int NOT NULL default 0, question_id int NOT NULL default 0,
@ -150,6 +151,7 @@ ALTER TABLE track_e_attempt ADD INDEX (session_id);
DROP TABLE IF EXISTS track_e_attempt_recording; DROP TABLE IF EXISTS track_e_attempt_recording;
CREATE TABLE track_e_attempt_recording ( CREATE TABLE track_e_attempt_recording (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
exe_id int unsigned NOT NULL, exe_id int unsigned NOT NULL,
question_id int unsigned NOT NULL, question_id int unsigned NOT NULL,
marks int NOT NULL, marks int NOT NULL,
@ -164,6 +166,7 @@ ALTER TABLE track_e_attempt_recording ADD INDEX (session_id);
DROP TABLE IF EXISTS track_e_hotpotatoes; DROP TABLE IF EXISTS track_e_hotpotatoes;
CREATE TABLE track_e_hotpotatoes ( CREATE TABLE track_e_hotpotatoes (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
exe_name VARCHAR( 255 ) NOT NULL , exe_name VARCHAR( 255 ) NOT NULL ,
exe_user_id int unsigned DEFAULT NULL , exe_user_id int unsigned DEFAULT NULL ,
exe_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL , exe_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL ,
@ -293,19 +296,21 @@ ALTER TABLE track_e_uploads ADD INDEX (upload_session_id);
-- --
-- Table structure for LP custom storage API -- Table structure for LP custom storage API
-- --
DROP TABLE IF EXISTS stored_values; DROP TABLE IF EXISTS track_stored_values;
CREATE TABLE stored_values ( CREATE TABLE IF NOT EXISTS track_stored_values (
id int unsigned not null AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL, user_id INT NOT NULL,
sco_id INT NOT NULL, sco_id INT NOT NULL,
course_id CHAR(40) NOT NULL, course_id CHAR(40) NOT NULL,
sv_key CHAR(64) NOT NULL, sv_key CHAR(64) NOT NULL,
sv_value TEXT NOT NULL sv_value TEXT NOT NULL
); );
ALTER TABLE stored_values ADD KEY (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 stored_values ADD UNIQUE (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; DROP TABLE IF EXISTS track_stored_value_stack;
CREATE TABLE stored_values_stack ( CREATE TABLE IF NOT EXISTS track_stored_values_stack (
id int unsigned not null AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL, user_id INT NOT NULL,
sco_id INT NOT NULL, sco_id INT NOT NULL,
stack_order INT NOT NULL, stack_order INT NOT NULL,
@ -313,5 +318,5 @@ CREATE TABLE stored_values_stack (
sv_key CHAR(64) NOT NULL, sv_key CHAR(64) NOT NULL,
sv_value TEXT 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 track_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 UNIQUE (user_id, sco_id, course_id, sv_key, stack_order);

@ -265,6 +265,7 @@ ALTER TABLE usergroup_rel_session ADD COLUMN id INTEGER NOT NULL AUTO_INCREMEN
ALTER TABLE usergroup_rel_course 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 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 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 -- 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"; DELETE FROM settings_options WHERE variable = "user_order_by";
-- Do not move this query -- 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 -- xxSTATSxx
ALTER TABLE track_e_exercices ADD COLUMN questions_to_check TEXT NOT NULL DEFAULT ''; 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 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 ); 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 stored_values ADD KEY (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 stored_values ADD UNIQUE (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 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); 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 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);
ALTER TABLE track_e_attempt ADD COLUMN filename VARCHAR(255) DEFAULT NULL; 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_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 -- xxUSERxx
-- xxCOURSExx -- xxCOURSExx

@ -154,8 +154,8 @@ if (defined('SYSTEM_INSTALLATION')) {
"report_keys", //@todo add the "track_" prefix see #3967 "report_keys", //@todo add the "track_" prefix see #3967
"report_values", "report_values",
"report_keys", "report_keys",
"stored_values", "track_stored_values",
"stored_values_stack", "track_stored_values_stack",
); );
if ($dbNameForm != $dbStatsForm) { if ($dbNameForm != $dbStatsForm) {

@ -72,7 +72,7 @@ function storage_can_set($sv_user) {
function storage_get($sv_user, $sv_course, $sv_sco, $sv_key) { function storage_get($sv_user, $sv_course, $sv_sco, $sv_key) {
$sql = "select sv_value $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' where user_id= '$sv_user'
and sco_id = '$sv_sco' and sco_id = '$sv_sco'
and course_id = '$sv_course' 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 // get leaders
$sql_leaders = "select u.user_id, firstname, lastname, email, username, sv_value as value $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 ".Database::get_main_table(TABLE_MAIN_USER)." u
where u.user_id=sv.user_id where u.user_id=sv.user_id
and sco_id = '$sv_sco' 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' and sv_key = '$sv_key'
order by sv_value ".($sv_asc ? "ASC": "DESC")." limit $sv_length"; 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 // $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) // where sv.user_id in (select u2.user_id from ($sql_leaders) u2)
// and sco_id = '$sv_sco' // and sco_id = '$sv_sco'
// and course_id = '$sv_course'"; // 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) { function storage_get_position($sv_user, $sv_course, $sv_sco, $sv_key, $sv_asc, $sv_length) {
$sql = "select count(list.user_id) as position $sql = "select count(list.user_id) as position
from ".Database::get_main_table(TABLE_MAIN_STORED_VALUES)." search, from ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)." search,
".Database::get_main_table(TABLE_MAIN_STORED_VALUES)." list ".Database::get_main_table(TABLE_TRACK_STORED_VALUES)." list
where search.user_id= '$sv_user' where search.user_id= '$sv_user'
and search.sco_id = '$sv_sco' and search.sco_id = '$sv_sco'
and search.course_id = '$sv_course' 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) { function storage_set($sv_user, $sv_course, $sv_sco, $sv_key, $sv_value) {
$sv_value = Database::escape_string($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) (user_id, sco_id, course_id, sv_key, sv_value)
values values
('$sv_user','$sv_sco','$sv_course','$sv_key','$sv_value')"; ('$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) { function storage_getall($sv_user, $sv_course, $sv_sco) {
$sql = "select sv_key, sv_value $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' where user_id= '$sv_user'
and sco_id = '$sv_sco' and sco_id = '$sv_sco'
and course_id = '$sv_course'"; 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); $sv_value = Database::escape_string($sv_value);
Database::query("start transaction"); Database::query("start transaction");
$sqlorder = "select ifnull((select max(stack_order) $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' where user_id= '$sv_user'
and sco_id='$sv_sco' and sco_id='$sv_sco'
and course_id='$sv_course' 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); $resorder = Database::query($sqlorder);
$row = Database::fetch_assoc($resorder); $row = Database::fetch_assoc($resorder);
$stack_order = (1 + $row['stack_order']); $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) (user_id, sco_id, course_id, sv_key, stack_order, sv_value)
values values
('$sv_user', '$sv_sco', '$sv_course', '$sv_key', '$stack_order', '$sv_value')"; ('$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) { function storage_stack_pop($sv_user, $sv_course, $sv_sco, $sv_key) {
Database::query("start transaction"); Database::query("start transaction");
$sqlselect = "select sv_value, stack_order $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' where user_id= '$sv_user'
and sco_id='$sv_sco' and sco_id='$sv_sco'
and course_id='$sv_course' 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); $rowselect = Database::fetch_assoc($resselect);
$stack_order = $rowselect['stack_order']; $stack_order = $rowselect['stack_order'];
$sqldelete = "delete $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' where user_id= '$sv_user'
and sco_id='$sv_sco' and sco_id='$sv_sco'
and course_id='$sv_course' 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) { function storage_stack_length($sv_user, $sv_course, $sv_sco, $sv_key) {
$sql = "select count(*) as length $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' where user_id= '$sv_user'
and sco_id='$sv_sco' and sco_id='$sv_sco'
and course_id='$sv_course' 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) { function storage_stack_clear($sv_user, $sv_course, $sv_sco, $sv_key) {
$sql = "delete $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' where user_id= '$sv_user'
and sco_id='$sv_sco' and sco_id='$sv_sco'
and course_id='$sv_course' 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) { function storage_stack_getall($sv_user, $sv_course, $sv_sco, $sv_key) {
$sql = "select stack_order as stack_order, sv_value as value $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' where user_id= '$sv_user'
and sco_id='$sv_sco' and sco_id='$sv_sco'
and course_id='$sv_course' 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) // Which database are we using (depending on the $content parameter)
if($content=='user')
{ if ($content=='user') {
$table=Database::get_course_table(TABLE_PERMISSION_USER); $table=Database::get_course_table(TABLE_PERMISSION_USER);
$id_field = user_id; $id_field = user_id;
} }
@ -101,8 +101,7 @@ function store_one_permission($content, $action, $id, $tool,$permission) {
if($action=='grant') { 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)."')"; $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); $result=Database::query($sql);
if($result) if($result) {
{
$result_message=get_lang('PermissionGranted'); $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) $tool_name = get_lang('Roles'); // title of the page (should come from the language file)
Display::display_header($tool_name); Display::display_header($tool_name);
// ===================================================
// ACTIONS // ACTIONS
// ===================================================
// storing all the permission for a given role when the checkbox approach is used // storing all the permission for a given role when the checkbox approach is used
if ($_POST['StoreRolePermissions']) if ($_POST['StoreRolePermissions'])

@ -45,7 +45,7 @@ function reports_template_CourseArticulate_getSQL() {
$query = 'select '.$sqlField.' as "'.$v['title'].'" '; $query = 'select '.$sqlField.' as "'.$v['title'].'" ';
// $query = 'select sec_to_time(sv.sv_value) as "'.$v.'" '; // $query = 'select sec_to_time(sv.sv_value) as "'.$v.'" ';
$query .= 'from '.Database::get_main_table(TABLE_MAIN_USER).' u '; $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 .= 'on sv.user_id = u.user_id and sv_key = "'.$k.'" ';
$query .= ' where u.user_id in ('.reports_getVisibilitySQL().') '; $query .= ' where u.user_id in ('.reports_getVisibilitySQL().') ';
$query .= ' group by u.user_id '; $query .= ' group by u.user_id ';

@ -40,7 +40,7 @@ function reports_template_Generic_getSQL() {
foreach ($sv as $k => $v) { foreach ($sv as $k => $v) {
$query = 'select sec_to_time(sv.sv_value) as "'.$v.'" '; $query = 'select sec_to_time(sv.sv_value) as "'.$v.'" ';
$query .= 'from '.Database::get_main_table(TABLE_MAIN_USER).' u '; $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 .= 'on sv.user_id = u.user_id and sv_key = "'.$k.'" ';
$query .= ' where u.user_id in ('.reports_getVisibilitySQL().') '; $query .= ' where u.user_id in ('.reports_getVisibilitySQL().') ';
$query .= ' order by u.user_id '; $query .= ' order by u.user_id ';

Loading…
Cancel
Save