parent
3260461db0
commit
994f4736d8
@ -1,612 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
use \Doctrine\DBAL\Types\Type; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version110 |
|
||||||
* |
|
||||||
* Migrate file to updated to Chamilo 1.10 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V110 |
|
||||||
*/ |
|
||||||
class Version110 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function preUp(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("ALTER TABLE session_rel_course ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_course_rel_user ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_user ENGINE=InnoDB"); |
|
||||||
$this->addSql("UPDATE session SET session.id_coach = 1 WHERE id_coach NOT IN ( SELECT user_id FROM user)"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
* |
|
||||||
* @throws \Doctrine\DBAL\Schema\SchemaException |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
// Use $schema->createTable |
|
||||||
$this->addSql('set sql_mode=""'); |
|
||||||
|
|
||||||
$this->addSql("CREATE TABLE IF NOT EXISTS course_field_options (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, field_id INT NOT NULL, option_value TEXT, option_display_text VARCHAR(64), option_order INT, tms DATETIME)"); |
|
||||||
$this->addSql("CREATE TABLE IF NOT EXISTS session_field_options (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, field_id INT NOT NULL, option_value TEXT, option_display_text VARCHAR(64), option_order INT, tms DATETIME)"); |
|
||||||
$this->addSql("CREATE TABLE IF NOT EXISTS hook_observer( id int UNSIGNED NOT NULL AUTO_INCREMENT, class_name varchar(255) UNIQUE, path varchar(255) NOT NULL, plugin_name varchar(255) NULL, PRIMARY KEY PK_hook_management_hook_observer(id))"); |
|
||||||
$this->addSql("CREATE TABLE IF NOT EXISTS hook_event( id int UNSIGNED NOT NULL AUTO_INCREMENT, class_name varchar(255) UNIQUE, description varchar(255), PRIMARY KEY PK_hook_management_hook_event(id))"); |
|
||||||
$this->addSql("CREATE TABLE IF NOT EXISTS hook_call( id int UNSIGNED NOT NULL AUTO_INCREMENT, hook_event_id int UNSIGNED NOT NULL, hook_observer_id int UNSIGNED NOT NULL, type tinyint NOT NULL, hook_order int UNSIGNED NOT NULL, enabled tinyint NOT NULL, PRIMARY KEY PK_hook_management_hook_call(id))"); |
|
||||||
$this->addSql("CREATE TABLE IF NOT EXISTS c_student_publication_rel_document (iid INT NOT NULL PRIMARY KEY, id INT NULL, work_id INT NOT NULL, document_id INT NOT NULL, c_id INT NOT NULL)"); |
|
||||||
$this->addSql("CREATE TABLE IF NOT EXISTS c_student_publication_rel_user (iid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, id INT NULL, work_id INT NOT NULL, user_id INT NOT NULL, c_id INT NOT NULL)"); |
|
||||||
$this->addSql("CREATE TABLE IF NOT EXISTS c_student_publication_comment (iid INT NOT NULL PRIMARY KEY, id INT NULL, work_id INT NOT NULL, c_id INT NOT NULL, comment text, file VARCHAR(255), user_id int NOT NULL, sent_at datetime NOT NULL)"); |
|
||||||
$this->addSql("CREATE TABLE IF NOT EXISTS c_attendance_calendar_rel_group (iid int NOT NULL auto_increment PRIMARY KEY, id INT, c_id INT NOT NULL, group_id INT NOT NULL, calendar_id INT NOT NULL)"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE session MODIFY COLUMN date_start date default NULL, MODIFY COLUMN date_end date default NULL"); |
|
||||||
$this->addSql("ALTER TABLE skill_rel_user MODIFY COLUMN acquired_skill_at datetime default NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_access MODIFY COLUMN access_date datetime DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_lastaccess MODIFY COLUMN access_date datetime DEFAULT NULL"); |
|
||||||
|
|
||||||
$table = $schema->getTable('skill_rel_user'); |
|
||||||
|
|
||||||
if (!$table->hasColumn('course_id')) { |
|
||||||
$this->addSql("ALTER TABLE skill_rel_user ADD COLUMN course_id INT NOT NULL DEFAULT 0 AFTER id"); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$table->hasColumn('session_id')) { |
|
||||||
$this->addSql("ALTER TABLE skill_rel_user ADD COLUMN session_id INT NOT NULL DEFAULT 0 AFTER course_id"); |
|
||||||
} |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE skill_rel_user ADD INDEX idx_select_cs (course_id, session_id)"); |
|
||||||
|
|
||||||
// Delete info of session_rel_user if session does not exists; |
|
||||||
$this->addSql("DELETE FROM session_rel_user WHERE id_session NOT IN (SELECT id FROM session)"); |
|
||||||
|
|
||||||
// Delete info of usergroup_rel_user if usergroup does not exists; |
|
||||||
$this->addSql("DELETE FROM usergroup_rel_user WHERE usergroup_id NOT IN (SELECT id FROM usergroup)"); |
|
||||||
|
|
||||||
$session = $schema->getTable('session'); |
|
||||||
$session->getColumn('id')->setType(Type::getType(Type::INTEGER))->setUnsigned(false); |
|
||||||
if (!$session->hasColumn('description')) { |
|
||||||
$session->addColumn( |
|
||||||
'description', |
|
||||||
'text' |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$session->hasColumn('show_description')) { |
|
||||||
$session->addColumn( |
|
||||||
'show_description', |
|
||||||
'smallint', |
|
||||||
array('default' => 0, 'unsigned' => true) |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
$sessionTable = $schema->getTable('session'); |
|
||||||
if (!$sessionTable->hasColumn('duration')) { |
|
||||||
$this->addSql("ALTER TABLE session ADD COLUMN duration int"); |
|
||||||
} |
|
||||||
|
|
||||||
$sessionRelUser = $schema->getTable('session_rel_user'); |
|
||||||
if (!$sessionRelUser->hasColumn('duration')) { |
|
||||||
$this->addSql("ALTER TABLE session_rel_user ADD COLUMN duration int"); |
|
||||||
} |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE skill ADD COLUMN criteria text"); |
|
||||||
$this->addSql("ALTER TABLE gradebook_category ADD COLUMN generate_certificates TINYINT NOT NULL DEFAULT 0"); |
|
||||||
$this->addSql("ALTER TABLE track_e_access ADD COLUMN c_id int NOT NULL"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE track_e_lastaccess ADD COLUMN c_id int NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_exercices ADD COLUMN c_id int NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_downloads ADD COLUMN c_id int NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_hotpotatoes ADD COLUMN c_id int NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_links ADD COLUMN c_id int NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_course_access ADD COLUMN c_id int NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_online ADD COLUMN c_id int NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_attempt ADD COLUMN c_id int NOT NULL"); |
|
||||||
$table = $schema->getTable('track_e_default'); |
|
||||||
if (!$table->hasColumn('session_id')) { |
|
||||||
$this->addSql("ALTER TABLE track_e_default ADD COLUMN session_id int NOT NULL"); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$table->hasColumn('c_id')) { |
|
||||||
$this->addSql("ALTER TABLE track_e_default ADD COLUMN c_id int NOT NULL"); |
|
||||||
} |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE track_e_access ADD COLUMN user_ip varchar(39) NOT NULL default ''"); |
|
||||||
$this->addSql("ALTER TABLE track_e_exercices ADD COLUMN user_ip varchar(39) NOT NULL default ''"); |
|
||||||
$this->addSql("ALTER TABLE track_e_course_access ADD COLUMN user_ip varchar(39) NOT NULL default ''"); |
|
||||||
$this->addSql("ALTER TABLE track_e_online CHANGE COLUMN login_ip user_ip varchar(39) NOT NULL DEFAULT ''"); |
|
||||||
$this->addSql("ALTER TABLE track_e_login CHANGE COLUMN login_ip user_ip varchar(39) NOT NULL DEFAULT ''"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE user MODIFY COLUMN user_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE user DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE user MODIFY COLUMN user_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE user ADD COLUMN id INT DEFAULT NULL"); |
|
||||||
$this->addSql("UPDATE user SET id = user_id"); |
|
||||||
$this->addSql("ALTER TABLE user MODIFY COLUMN id INT NOT NULL PRIMARY KEY AUTO_INCREMENT AFTER user_id"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE user MODIFY COLUMN chatcall_date datetime default NULL"); |
|
||||||
$this->addSql("ALTER TABLE user MODIFY COLUMN chatcall_text varchar(50) default NULL"); |
|
||||||
$this->addSql("ALTER TABLE user MODIFY COLUMN chatcall_user_id int unsigned default 0"); |
|
||||||
$this->addSql("ALTER TABLE user MODIFY COLUMN expiration_date datetime default NULL"); |
|
||||||
$this->addSql("ALTER TABLE user MODIFY COLUMN registration_date datetime NOT NULL"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE course ADD COLUMN add_teachers_to_sessions_courses tinyint NOT NULL default 0"); |
|
||||||
$this->addSql("ALTER TABLE course DROP COLUMN target_course_code"); |
|
||||||
$this->addSql("ALTER TABLE session MODIFY COLUMN name char(100) NOT NULL DEFAULT ''"); |
|
||||||
$this->addSql("ALTER TABLE course_rel_user ADD COLUMN c_id int default NULL"); |
|
||||||
$this->addSql("ALTER TABLE course_field_values ADD COLUMN c_id int default NULL"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE session_rel_course_rel_user ADD COLUMN c_id int default NULL"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_course_rel_user CHANGE id_session session_id int"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_course_rel_user CHANGE id_user user_id int"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE access_url_rel_course ADD COLUMN c_id int"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE session_rel_course ADD COLUMN position int NOT NULL default 0"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_course ADD COLUMN category varchar(255) default ''"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_course ADD COLUMN c_id int unsigned"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_course CHANGE id_session session_id int"); |
|
||||||
$this->addSql('DELETE FROM session_rel_course WHERE session_id NOT IN (SELECT id FROM session)'); |
|
||||||
|
|
||||||
$this->addSql("DELETE course_rel_user WHERE course_code NOT IN (SELECT code FROM course)"); |
|
||||||
$this->addSql("UPDATE course_rel_user SET c_id = (SELECT id FROM course WHERE code = course_code)"); |
|
||||||
|
|
||||||
// Add iid |
|
||||||
$tables = [ |
|
||||||
'c_announcement', |
|
||||||
'c_announcement_attachment', |
|
||||||
'c_attendance', |
|
||||||
'c_attendance_calendar', |
|
||||||
//'c_attendance_calendar_rel_group', |
|
||||||
'c_attendance_result', |
|
||||||
//'c_attendance_sheet', |
|
||||||
'c_attendance_sheet_log', |
|
||||||
//'c_blog', |
|
||||||
'c_blog_attachment', |
|
||||||
//'c_blog_comment', |
|
||||||
//'c_blog_post', |
|
||||||
//'c_blog_rating', |
|
||||||
//'c_blog_rel_user', |
|
||||||
//'c_blog_task', |
|
||||||
//'c_blog_task_rel_user', |
|
||||||
'c_calendar_event', |
|
||||||
'c_calendar_event_attachment', |
|
||||||
//'c_calendar_event_repeat', |
|
||||||
//'c_calendar_event_repeat_not', |
|
||||||
'c_chat_connected', |
|
||||||
'c_course_description', |
|
||||||
'c_course_setting', |
|
||||||
'c_document', |
|
||||||
//'c_dropbox_category', |
|
||||||
//'c_dropbox_feedback', |
|
||||||
'c_dropbox_file', |
|
||||||
//'c_dropbox_person', |
|
||||||
//'c_dropbox_post', |
|
||||||
'c_forum_attachment', |
|
||||||
//'c_forum_category', |
|
||||||
//'c_forum_forum', |
|
||||||
'c_forum_mailcue', |
|
||||||
'c_forum_notification', |
|
||||||
//'c_forum_post', |
|
||||||
//'c_forum_thread', |
|
||||||
'c_forum_thread_qualify', |
|
||||||
'c_forum_thread_qualify_log', |
|
||||||
//'c_glossary', |
|
||||||
'c_group_category', |
|
||||||
'c_group_info', |
|
||||||
'c_group_rel_tutor', |
|
||||||
'c_group_rel_user', |
|
||||||
'c_item_property', |
|
||||||
'c_link', |
|
||||||
'c_link_category', |
|
||||||
'c_lp', |
|
||||||
'c_lp_item', |
|
||||||
'c_lp_item_view', |
|
||||||
'c_lp_iv_interaction', |
|
||||||
'c_lp_iv_objective', |
|
||||||
'c_lp_view', |
|
||||||
//'c_notebook', |
|
||||||
//'c_online_connected', |
|
||||||
'c_online_link', |
|
||||||
'c_permission_group', |
|
||||||
'c_permission_task', |
|
||||||
'c_permission_user', |
|
||||||
'c_quiz', |
|
||||||
//'c_quiz_answer', |
|
||||||
'c_quiz_question', |
|
||||||
'c_quiz_question_category', |
|
||||||
'c_quiz_question_option', |
|
||||||
//'c_quiz_question_rel_category', |
|
||||||
//'c_quiz_rel_question', |
|
||||||
'c_resource', |
|
||||||
//'c_role', |
|
||||||
'c_role_group', |
|
||||||
'c_role_permissions', |
|
||||||
//'c_role_user', |
|
||||||
'c_student_publication', |
|
||||||
'c_student_publication_assignment', |
|
||||||
//'c_student_publication_comment', |
|
||||||
//'c_student_publication_rel_document', |
|
||||||
//'c_student_publication_rel_user', |
|
||||||
//'c_survey', |
|
||||||
//'c_survey_answer', |
|
||||||
'c_survey_group', |
|
||||||
//'c_survey_invitation', |
|
||||||
//'c_survey_question', |
|
||||||
//'c_survey_question_option', |
|
||||||
'c_thematic', |
|
||||||
'c_thematic_advance', |
|
||||||
'c_thematic_plan', |
|
||||||
'c_tool', |
|
||||||
//'c_tool_intro', |
|
||||||
'c_userinfo_content', |
|
||||||
'c_userinfo_def', |
|
||||||
'c_wiki', |
|
||||||
//'c_wiki_conf', |
|
||||||
'c_wiki_discuss', |
|
||||||
'c_wiki_mailcue' |
|
||||||
]; |
|
||||||
|
|
||||||
foreach ($tables as $table) { |
|
||||||
if ($schema->hasTable($table)) { |
|
||||||
$this->addSql("ALTER TABLE $table MODIFY COLUMN id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE $table MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE $table DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE $table MODIFY COLUMN id INT NULL"); |
|
||||||
$this->addSql("ALTER TABLE $table ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
if ($schema->hasTable('c_attendance_calendar_rel_group')) { |
|
||||||
$this->addSql("ALTER TABLE c_attendance_calendar_rel_group MODIFY COLUMN id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_attendance_calendar_rel_group DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_attendance_calendar_rel_group MODIFY COLUMN id INT NULL DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_attendance_calendar_rel_group ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
} |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_attendance_sheet MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_attendance_sheet DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_attendance_sheet ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_blog MODIFY COLUMN blog_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_blog MODIFY COLUMN blog_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_blog_comment MODIFY COLUMN comment_id int NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_comment MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_comment DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_comment MODIFY COLUMN comment_id int DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_comment ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_blog_post MODIFY COLUMN post_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_post MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_post DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_post MODIFY COLUMN post_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_post ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_blog_rating MODIFY COLUMN rating_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_rating MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_rating DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_rating MODIFY COLUMN rating_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_rating ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_blog_rel_user DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_rel_user MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_rel_user MODIFY COLUMN blog_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_rel_user MODIFY COLUMN user_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_rel_user ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_blog_task MODIFY COLUMN task_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_task MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_task DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_task MODIFY COLUMN task_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_task ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_blog_task_rel_user DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_task_rel_user MODIFY COLUMN blog_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_task_rel_user MODIFY COLUMN user_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_task_rel_user MODIFY COLUMN task_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_blog_task_rel_user ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_calendar_event_repeat DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_calendar_event_repeat MODIFY COLUMN cal_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_calendar_event_repeat MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_calendar_event_repeat ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_calendar_event_repeat_not DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_calendar_event_repeat_not MODIFY COLUMN cal_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_calendar_event_repeat_not MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_calendar_event_repeat_not ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_dropbox_category MODIFY COLUMN cat_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_category DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_category MODIFY COLUMN cat_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_category MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_category ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_dropbox_feedback MODIFY COLUMN feedback_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_feedback DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_feedback MODIFY COLUMN feedback_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_feedback MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_feedback ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_dropbox_person DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_person MODIFY COLUMN file_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_person MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_person ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_dropbox_post DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_post MODIFY COLUMN file_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_post MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_dropbox_post ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_forum_category MODIFY COLUMN cat_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_category DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_category MODIFY COLUMN cat_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_category MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_category ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_forum_forum MODIFY COLUMN forum_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_forum DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_forum MODIFY COLUMN forum_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_forum MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_forum ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_forum_post MODIFY COLUMN post_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_post DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_post MODIFY COLUMN post_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_post MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_post ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_forum_thread MODIFY COLUMN thread_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_thread DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_thread MODIFY COLUMN forum_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_thread MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_thread MODIFY COLUMN thread_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_forum_thread ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_forum_thread ADD COLUMN thread_peer_qualify tinyint default 0"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_glossary MODIFY COLUMN glossary_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_glossary MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_glossary DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_glossary MODIFY COLUMN glossary_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_glossary ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_notebook MODIFY COLUMN notebook_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_notebook MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_notebook DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_notebook MODIFY COLUMN notebook_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_notebook ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_online_connected MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_online_connected DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_online_connected ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
// For some reason c_tool_intro.id is a varchar in 1.9.x |
|
||||||
$this->addSql("ALTER TABLE c_tool_intro MODIFY COLUMN id VARCHAR(50) NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_tool_intro MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_tool_intro MODIFY COLUMN session_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_tool_intro DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_tool_intro MODIFY COLUMN session_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_tool_intro ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_quiz_answer MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_answer MODIFY COLUMN id_auto int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_answer DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_answer MODIFY COLUMN id_auto int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_answer ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_quiz_question_rel_category MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_question_rel_category MODIFY COLUMN question_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_question_rel_category DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_question_rel_category MODIFY COLUMN question_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_question_rel_category ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE session_rel_user MODIFY COLUMN id_session int"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_user MODIFY COLUMN id_user int"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_user MODIFY COLUMN relation_type int unsigned DEFAULT 0"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_user DROP PRIMARY KEY"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE session_rel_user CHANGE id_session session_id int"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_user CHANGE id_user user_id int"); |
|
||||||
$this->addSql("DELETE FROM session_rel_user WHERE user_id NOT IN (SELECT user_id FROM user)"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_user ADD COLUMN id int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_item_property CHANGE id_session session_id int"); |
|
||||||
$this->addSql("ALTER TABLE course_rel_user CHANGE tutor_id is_tutor int"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_quiz_rel_question MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_rel_question DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_rel_question MODIFY COLUMN question_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_rel_question MODIFY COLUMN exercice_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_rel_question ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_role MODIFY COLUMN role_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_role MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_role DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_role MODIFY COLUMN role_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_role ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_role_user DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_role_user MODIFY COLUMN role_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_role_user MODIFY COLUMN user_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_role_user MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_role_user ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_survey MODIFY COLUMN survey_id int NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_survey MODIFY COLUMN survey_id int NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_survey_answer MODIFY COLUMN answer_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_answer MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_answer DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_answer MODIFY COLUMN answer_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_answer ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_survey_invitation MODIFY COLUMN survey_invitation_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_invitation MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_invitation DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_invitation MODIFY COLUMN survey_invitation_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_invitation ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_survey_question MODIFY COLUMN question_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_question MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_question DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_question MODIFY COLUMN question_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_question ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_survey_question_option MODIFY COLUMN question_option_id int unsigned NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_question_option MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_question_option DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_question_option MODIFY COLUMN question_option_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_question_option ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_wiki_conf DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE c_wiki_conf MODIFY COLUMN page_id int unsigned DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_wiki_conf MODIFY COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_wiki_conf ADD COLUMN iid int NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
|
|
||||||
// Course |
|
||||||
$this->addSql("ALTER TABLE c_survey ADD COLUMN visible_results INT UNSIGNED DEFAULT 0"); |
|
||||||
$this->addSql("ALTER TABLE c_survey_invitation ADD COLUMN group_id INT NOT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_lp_item ADD COLUMN prerequisite_min_score float"); |
|
||||||
$this->addSql("ALTER TABLE c_lp_item ADD COLUMN prerequisite_max_score float"); |
|
||||||
$this->addSql("ALTER TABLE c_group_info ADD COLUMN status tinyint DEFAULT 1"); |
|
||||||
$this->addSql("ALTER TABLE c_student_publication ADD COLUMN document_id int DEFAULT 0"); |
|
||||||
$this->addSql("ALTER TABLE c_lp_item MODIFY COLUMN description VARCHAR(511) DEFAULT ''"); |
|
||||||
$this->addSql("ALTER TABLE course_category MODIFY COLUMN auth_course_child VARCHAR(40) DEFAULT 'TRUE' "); |
|
||||||
$this->addSql("ALTER TABLE course_category MODIFY COLUMN auth_cat_child VARCHAR(40) DEFAULT 'TRUE'"); |
|
||||||
$this->addSql("ALTER TABLE c_quiz_answer MODIFY COLUMN hotspot_type varchar(40) default NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_tool MODIFY COLUMN target varchar(20) NOT NULL default '_self' "); |
|
||||||
$this->addSql("ALTER TABLE c_link MODIFY COLUMN on_homepage char(10) NOT NULL default '0' "); |
|
||||||
$this->addSql("ALTER TABLE c_blog_rating MODIFY COLUMN rating_type char(40) NOT NULL default 'post' "); |
|
||||||
$this->addSql("ALTER TABLE c_survey MODIFY COLUMN anonymous char(10) NOT NULL default '0'"); |
|
||||||
$this->addSql("ALTER TABLE c_course_setting MODIFY COLUMN value varchar(255) default ''"); |
|
||||||
|
|
||||||
$this->addSql("UPDATE course_field SET field_type = 13 WHERE field_variable = 'special_course'"); |
|
||||||
$this->addSql("UPDATE user SET registration_date = NULL WHERE registration_date = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE user SET expiration_date = NULL WHERE expiration_date = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE track_e_default SET default_date = NULL WHERE default_date = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE track_e_lastaccess SET access_date = NULL WHERE access_date = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE track_e_downloads SET down_date = NULL WHERE down_date = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE track_e_access SET access_date = NULL WHERE access_date = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE track_e_access SET c_id = (SELECT id FROM course WHERE code = access_cours_code)"); |
|
||||||
$this->addSql("UPDATE track_e_default SET c_id = (SELECT id FROM course WHERE code = default_cours_code)"); |
|
||||||
$this->addSql("UPDATE track_e_lastaccess SET c_id = (SELECT id FROM course WHERE code = access_cours_code)"); |
|
||||||
$this->addSql("UPDATE track_e_exercices SET c_id = (SELECT id FROM course WHERE code = exe_cours_id)"); |
|
||||||
$this->addSql("UPDATE track_e_downloads SET c_id = (SELECT id FROM course WHERE code = down_cours_id)"); |
|
||||||
$this->addSql("UPDATE track_e_hotpotatoes SET c_id = (SELECT id FROM course WHERE code = exe_cours_id)"); |
|
||||||
$this->addSql("UPDATE track_e_links SET c_id = (SELECT id FROM course WHERE code = links_cours_id)"); |
|
||||||
$this->addSql("UPDATE track_e_course_access SET c_id = (SELECT id FROM course WHERE code = course_code)"); |
|
||||||
$this->addSql("UPDATE track_e_online SET c_id = (SELECT id FROM course WHERE code = course)"); |
|
||||||
$this->addSql("UPDATE track_e_attempt SET c_id = (SELECT id FROM course WHERE code = course_code)"); |
|
||||||
$this->addSql("UPDATE course_field_values SET c_id = (SELECT id FROM course WHERE code = course_code)"); |
|
||||||
$this->addSql("UPDATE session_rel_course_rel_user SET c_id = (SELECT id FROM course WHERE code = course_code)"); |
|
||||||
$this->addSql('DELETE FROM session_rel_course WHERE course_code NOT IN (SELECT code FROM course)'); |
|
||||||
$this->addSql("UPDATE session_rel_course SET c_id = (SELECT id FROM course WHERE code = course_code)"); |
|
||||||
|
|
||||||
$this->addSql("DELETE access_url_rel_course WHERE course_code NOT IN (SELECT code FROM course)"); |
|
||||||
$this->addSql("UPDATE access_url_rel_course SET c_id = (SELECT id FROM course WHERE code = course_code)"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE settings_current DROP INDEX unique_setting"); |
|
||||||
$this->addSql("ALTER TABLE settings_options DROP INDEX unique_setting_option"); |
|
||||||
|
|
||||||
$this->addSql("DELETE FROM settings_current WHERE variable = 'wcag_anysurfer_public_pages'"); |
|
||||||
|
|
||||||
$this->addSql("DELETE FROM settings_current WHERE variable = 'wcag_anysurfer_public_pages'"); |
|
||||||
$this->addSql("DELETE FROM settings_options WHERE variable = 'wcag_anysurfer_public_pages'"); |
|
||||||
$this->addSql("DELETE FROM settings_current WHERE variable = 'advanced_filemanager'"); |
|
||||||
$this->addSql("DELETE FROM settings_options WHERE variable = 'advanced_filemanager'"); |
|
||||||
|
|
||||||
$this->addSql("INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('institution_address', NULL, 'textfield', 'Platform', '', 'InstitutionAddressTitle', 'InstitutionAddressComment', NULL, NULL, 1)"); |
|
||||||
$this->addSql("INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('prevent_session_admins_to_manage_all_users', NULL, 'radio', 'Session', 'false', 'PreventSessionAdminsToManageAllUsersTitle', 'PreventSessionAdminsToManageAllUsersComment', NULL, NULL, 1)"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('prevent_session_admins_to_manage_all_users', 'true', 'Yes'), ('prevent_session_admins_to_manage_all_users', 'false', 'No')"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('show_glossary_in_extra_tools', 'none', 'None')"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('show_glossary_in_extra_tools', 'exercise', 'Exercise')"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('show_glossary_in_extra_tools', 'lp', 'Learning path')"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('show_glossary_in_extra_tools', 'exercise_and_lp', 'ExerciseAndLearningPath')"); |
|
||||||
$this->addSql("INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('documents_default_visibility_defined_in_course', NULL,'radio','Tools','false','DocumentsDefaultVisibilityDefinedInCourseTitle','DocumentsDefaultVisibilityDefinedInCourseComment',NULL, NULL, 1)"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('documents_default_visibility_defined_in_course', 'true', 'Yes')"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('documents_default_visibility_defined_in_course', 'false', 'No')"); |
|
||||||
$this->addSql("INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('enabled_mathjax', NULL, 'radio', 'Editor', 'false', 'EnableMathJaxTitle', 'EnableMathJaxComment', NULL, NULL, 0)"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('enabled_mathjax', 'true', 'Yes')"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('enabled_mathjax', 'false', 'No')"); |
|
||||||
|
|
||||||
$this->addSql("INSERT INTO language (original_name, english_name, isocode, dokeos_folder, available) VALUES ('Føroyskt', 'faroese', 'fo', 'faroese', 0), ('Tagalog', 'tagalog', 'tl', 'tagalog',1), ('Tibetan', 'tibetan', 'bo', 'tibetan', 0), ('isiXhosa', 'xhosa', 'xh', 'xhosa', 0)"); |
|
||||||
$this->addSql("DELETE FROM settings_options WHERE variable = 'show_glossary_in_extra_tools'"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_student_publication MODIFY COLUMN date_of_qualification DATETIME NULL DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_student_publication MODIFY COLUMN sent_date DATETIME NULL DEFAULT NULL"); |
|
||||||
$this->addSql("UPDATE c_student_publication SET date_of_qualification = NULL WHERE date_of_qualification = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE c_student_publication SET sent_date = NULL WHERE sent_date = '0000-00-00 00:00:00'"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE c_student_publication_assignment MODIFY COLUMN expires_on DATETIME NULL DEFAULT NULL"); |
|
||||||
$this->addSql("ALTER TABLE c_student_publication_assignment MODIFY COLUMN ends_on DATETIME NULL DEFAULT NULL"); |
|
||||||
$this->addSql("UPDATE c_student_publication_assignment SET expires_on = NULL WHERE expires_on = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE c_student_publication_assignment SET ends_on = NULL WHERE ends_on = '0000-00-00 00:00:00'"); |
|
||||||
|
|
||||||
$this->addSql("UPDATE settings_current SET type = 'checkbox' WHERE variable = 'registration' AND category = 'User'"); |
|
||||||
|
|
||||||
$this->addSql("UPDATE settings_current SET selected_value = 'UTF-8' WHERE variable = 'platform_charset'"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE course_rel_user DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE course_rel_user ADD COLUMN id INT NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
$this->addSql("ALTER TABLE course_rel_user MODIFY COLUMN user_id INT NULL"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE user MODIFY COLUMN user_id INT NULL"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE access_url_rel_course DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE access_url_rel_course ADD COLUMN id INT NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
||||||
$this->addSql("ALTER TABLE access_url_rel_course DROP COLUMN course_code"); |
|
||||||
$this->addSql("ALTER TABLE access_url_rel_course ADD INDEX idx_select_c (c_id)"); |
|
||||||
$this->addSql("ALTER TABLE access_url_rel_course ADD INDEX idx_select_u (access_url_id)"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE access_url ADD COLUMN url_type TINYINT(1) NULL"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE course_rel_user ADD INDEX idx_select_c (c_id)"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE track_e_uploads ADD COLUMN c_id INT NOT NULL"); |
|
||||||
$this->addSql("UPDATE track_e_uploads SET c_id = (SELECT id FROM course WHERE code = upload_cours_id)"); |
|
||||||
|
|
||||||
//postUp |
|
||||||
$this->addSql("ALTER TABLE track_e_access DROP COLUMN access_cours_code"); |
|
||||||
$this->addSql("ALTER TABLE track_e_default DROP COLUMN default_cours_code"); |
|
||||||
$this->addSql("ALTER TABLE track_e_lastaccess DROP COLUMN access_cours_code"); |
|
||||||
$this->addSql("ALTER TABLE track_e_exercices DROP COLUMN exe_cours_id"); |
|
||||||
$this->addSql("ALTER TABLE track_e_downloads DROP COLUMN down_cours_id"); |
|
||||||
$this->addSql("ALTER TABLE track_e_hotpotatoes DROP COLUMN exe_cours_id"); |
|
||||||
$this->addSql("ALTER TABLE track_e_links DROP COLUMN links_cours_id"); |
|
||||||
$this->addSql("ALTER TABLE track_e_course_access DROP COLUMN course_code"); |
|
||||||
$this->addSql("ALTER TABLE track_e_online DROP COLUMN course"); |
|
||||||
$this->addSql("ALTER TABLE track_e_attempt DROP COLUMN course_code"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE course_rel_user DROP COLUMN group_id"); |
|
||||||
$this->addSql("ALTER TABLE course_rel_user DROP COLUMN role"); |
|
||||||
|
|
||||||
$this->addSql("DROP TABLE track_c_countries"); |
|
||||||
$this->addSql("DROP TABLE track_c_browsers"); |
|
||||||
$this->addSql("DROP TABLE track_c_os"); |
|
||||||
$this->addSql("DROP TABLE track_c_providers"); |
|
||||||
$this->addSql("DROP TABLE track_c_referers"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* We don't allow downgrades yet |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
@ -1,181 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
use Doctrine\DBAL\Types\Type; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150423093100 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V110 |
|
||||||
*/ |
|
||||||
class Version20150423093100 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
* |
|
||||||
* @throws \Doctrine\DBAL\Schema\SchemaException |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
// Sequence changes |
|
||||||
if (!$schema->hasTable('sequence_rule')) { |
|
||||||
$sequenceRule = $schema->createTable('sequence_rule'); |
|
||||||
$sequenceRule->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceRule->addColumn('text', Type::TEXT); |
|
||||||
$sequenceRule->setPrimaryKey(['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_condition')) { |
|
||||||
$sequenceCondition = $schema->createTable('sequence_condition'); |
|
||||||
$sequenceCondition->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceCondition->addColumn('description', Type::TEXT); |
|
||||||
$sequenceCondition->addColumn('mat_op', Type::INTEGER); |
|
||||||
$sequenceCondition->addColumn('param', Type::FLOAT); |
|
||||||
$sequenceCondition->addColumn('act_true', Type::INTEGER); |
|
||||||
$sequenceCondition->addColumn('act_false', Type::INTEGER); |
|
||||||
$sequenceCondition->setPrimaryKey(['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_rule_condition')) { |
|
||||||
$sequenceRuleCondition = $schema->createTable('sequence_rule_condition'); |
|
||||||
$sequenceRuleCondition->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceRuleCondition->addColumn('sequence_rule_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceRuleCondition->addColumn('sequence_condition_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceRuleCondition->setPrimaryKey(['id']); |
|
||||||
$sequenceRuleCondition->addIndex(['sequence_rule_id']); |
|
||||||
$sequenceRuleCondition->addIndex(['sequence_condition_id']); |
|
||||||
$sequenceRuleCondition->addForeignKeyConstraint('sequence_condition', ['sequence_condition_id'], ['id']); |
|
||||||
$sequenceRuleCondition->addForeignKeyConstraint('sequence_rule', ['sequence_rule_id'], ['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_method')) { |
|
||||||
$sequenceMethod = $schema->createTable('sequence_method'); |
|
||||||
$sequenceMethod->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceMethod->addColumn('description', Type::TEXT); |
|
||||||
$sequenceMethod->addColumn('formula', Type::TEXT); |
|
||||||
$sequenceMethod->addColumn('assign', Type::INTEGER); |
|
||||||
$sequenceMethod->addColumn('met_type', Type::INTEGER); |
|
||||||
$sequenceMethod->addColumn('act_false', Type::INTEGER); |
|
||||||
$sequenceMethod->setPrimaryKey(['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_rule_method')) { |
|
||||||
$sequenceRuleMethod = $schema->createTable('sequence_rule_method'); |
|
||||||
$sequenceRuleMethod->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceRuleMethod->addColumn('sequence_rule_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceRuleMethod->addColumn('sequence_method_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceRuleMethod->addColumn('method_order', Type::INTEGER); |
|
||||||
$sequenceRuleMethod->setPrimaryKey(['id']); |
|
||||||
$sequenceRuleMethod->addIndex(['sequence_rule_id']); |
|
||||||
$sequenceRuleMethod->addIndex(['sequence_method_id']); |
|
||||||
$sequenceRuleMethod->addForeignKeyConstraint('sequence_method', ['sequence_method_id'], ['id']); |
|
||||||
$sequenceRuleMethod->addForeignKeyConstraint('sequence_rule', ['sequence_rule_id'], ['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_variable')) { |
|
||||||
$sequenceVariable = $schema->createTable('sequence_variable'); |
|
||||||
$sequenceVariable->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceVariable->addColumn('name', Type::STRING)->setLength(255)->setNotnull(false); |
|
||||||
$sequenceVariable->addColumn('description', Type::TEXT)->setNotnull(false); |
|
||||||
$sequenceVariable->addColumn('default_val', Type::STRING)->setLength(255)->setNotnull(false); |
|
||||||
$sequenceVariable->setPrimaryKey(['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_formula')) { |
|
||||||
$sequenceFormula = $schema->createTable('sequence_formula'); |
|
||||||
$sequenceFormula->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceFormula->addColumn('sequence_method_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceFormula->addColumn('sequence_variable_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceFormula->setPrimaryKey(['id']); |
|
||||||
$sequenceFormula->addIndex(['sequence_method_id']); |
|
||||||
$sequenceFormula->addIndex(['sequence_variable_id']); |
|
||||||
$sequenceFormula->addForeignKeyConstraint('sequence_variable', ['sequence_variable_id'], ['id']); |
|
||||||
$sequenceFormula->addForeignKeyConstraint('sequence_method', ['sequence_method_id'], ['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_valid')) { |
|
||||||
$sequenceValid = $schema->createTable('sequence_valid'); |
|
||||||
$sequenceValid->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceValid->addColumn('sequence_variable_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceValid->addColumn('sequence_condition_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceValid->setPrimaryKey(['id']); |
|
||||||
$sequenceValid->addIndex(['sequence_variable_id']); |
|
||||||
$sequenceValid->addIndex(['sequence_condition_id']); |
|
||||||
$sequenceValid->addForeignKeyConstraint('sequence_condition', ['sequence_condition_id'], ['id']); |
|
||||||
$sequenceValid->addForeignKeyConstraint('sequence_variable', ['sequence_variable_id'], ['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_type_entity')) { |
|
||||||
$sequenceTypeEntity = $schema->createTable('sequence_type_entity'); |
|
||||||
$sequenceTypeEntity->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceTypeEntity->addColumn('name', Type::STRING)->setLength(255); |
|
||||||
$sequenceTypeEntity->addColumn('description', Type::TEXT); |
|
||||||
$sequenceTypeEntity->addColumn('ent_table', Type::STRING)->setLength(255); |
|
||||||
$sequenceTypeEntity->setPrimaryKey(['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_row_entity')) { |
|
||||||
$sequenceRowEntity = $schema->createTable('sequence_row_entity'); |
|
||||||
$sequenceRowEntity->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceRowEntity->addColumn('sequence_type_entity_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceRowEntity->addColumn('c_id', Type::INTEGER); |
|
||||||
$sequenceRowEntity->addColumn('session_id', Type::INTEGER); |
|
||||||
$sequenceRowEntity->addColumn('row_id', Type::INTEGER); |
|
||||||
$sequenceRowEntity->addColumn('name', Type::STRING)->setLength(255); |
|
||||||
$sequenceRowEntity->setPrimaryKey(['id']); |
|
||||||
$sequenceRowEntity->addIndex(['sequence_type_entity_id']); |
|
||||||
$sequenceRowEntity->addForeignKeyConstraint('sequence_type_entity', ['sequence_type_entity_id'], ['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence')) { |
|
||||||
$sequence = $schema->createTable('sequence'); |
|
||||||
$sequence->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequence->addColumn('name', Type::STRING)->setLength(255); |
|
||||||
$sequence->addColumn('graph', Type::TEXT)->setNotnull(false); |
|
||||||
$sequence->addColumn('created_at', Type::DATETIME); |
|
||||||
$sequence->addColumn('updated_at', Type::DATETIME); |
|
||||||
$sequence->setPrimaryKey(['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_value')) { |
|
||||||
$sequenceValue = $schema->createTable('sequence_value'); |
|
||||||
$sequenceValue->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceValue->addColumn('sequence_row_entity_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceValue->addColumn('user_id', Type::INTEGER); |
|
||||||
$sequenceValue->addColumn('advance', Type::FLOAT); |
|
||||||
$sequenceValue->addColumn('complete_items', Type::INTEGER); |
|
||||||
$sequenceValue->addColumn('total_items', Type::INTEGER); |
|
||||||
$sequenceValue->addColumn('success', Type::BOOLEAN); |
|
||||||
$sequenceValue->addColumn('success_date', Type::DATETIME)->setNotnull(false); |
|
||||||
$sequenceValue->addColumn('available', Type::BOOLEAN); |
|
||||||
$sequenceValue->addColumn('available_start_date', Type::DATETIME)->setNotnull(false); |
|
||||||
$sequenceValue->addColumn('available_end_date', Type::DATETIME)->setNotnull(false); |
|
||||||
$sequenceValue->setPrimaryKey(['id']); |
|
||||||
$sequenceValue->addIndex(['sequence_row_entity_id']); |
|
||||||
$sequenceValue->addForeignKeyConstraint('sequence_row_entity', ['sequence_row_entity_id'], ['id']); |
|
||||||
} |
|
||||||
|
|
||||||
if (!$schema->hasTable('sequence_resource')) { |
|
||||||
$sequenceResource = $schema->createTable('sequence_resource'); |
|
||||||
$sequenceResource->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sequenceResource->addColumn('sequence_id', Type::INTEGER)->setNotnull(false); |
|
||||||
$sequenceResource->addColumn('type', Type::INTEGER); |
|
||||||
$sequenceResource->addColumn('resource_id', Type::INTEGER); |
|
||||||
$sequenceResource->setPrimaryKey(['id']); |
|
||||||
$sequenceResource->addIndex(['sequence_id']); |
|
||||||
$sequenceResource->addForeignKeyConstraint('sequence', ['sequence_id'], ['id']); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* We don't allow downgrades yet |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
@ -1,77 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150504182600 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V110 |
|
||||||
*/ |
|
||||||
class Version20150504182600 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
* |
|
||||||
* @throws \Doctrine\DBAL\Schema\SchemaException |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
// Set parent language to Spanish for all close-by languages. Same for Italian, |
|
||||||
// French, Portuguese and Chinese |
|
||||||
$connection = $this->connection; |
|
||||||
$sql = "SELECT id, english_name |
|
||||||
FROM language |
|
||||||
WHERE english_name IN ('spanish', 'italian', 'portuguese', 'simpl_chinese', 'french')"; |
|
||||||
$result = $connection->executeQuery($sql); |
|
||||||
$dataList = $result->fetchAll(); |
|
||||||
$languages = array(); |
|
||||||
|
|
||||||
if (!empty($dataList)) { |
|
||||||
foreach ($dataList as $data) { |
|
||||||
$languages[$data['english_name']] = $data['id']; |
|
||||||
} |
|
||||||
} |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = " . $languages['spanish'] . " WHERE english_name = 'quechua_cusco' |
|
||||||
"); |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = " . $languages['spanish'] . " WHERE english_name = 'galician' |
|
||||||
"); |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = " . $languages['spanish'] . " WHERE english_name = 'esperanto' |
|
||||||
"); |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = " . $languages['spanish'] . " WHERE english_name = 'catalan' |
|
||||||
"); |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = " . $languages['spanish'] . " WHERE english_name = 'asturian' |
|
||||||
"); |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = " . $languages['spanish'] . " WHERE english_name = 'friulian' |
|
||||||
"); |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = " . $languages['french'] . " WHERE english_name = 'occitan' |
|
||||||
"); |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = " . $languages['portuguese'] . " WHERE english_name = 'brazilian' |
|
||||||
"); |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = " . $languages['simpl_chinese'] . " WHERE english_name = 'trad_chinese' |
|
||||||
"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* We don't allow downgrades yet |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql(" |
|
||||||
UPDATE language SET parent_id = 0 WHERE english_name IN ('trad_chinese', 'brazilian', 'occitan', 'friulian', 'asturian', 'catalan', 'esperanto', 'galician', 'quechua_cusco') |
|
||||||
"); |
|
||||||
} |
|
||||||
} |
|
@ -1,64 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Extra fields changes |
|
||||||
*/ |
|
||||||
class Version20150505132304 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
// Force table creation in order to do updates/insert later. |
|
||||||
$this->connection->executeQuery('CREATE TABLE IF NOT EXISTS extra_field (id INT AUTO_INCREMENT NOT NULL, extra_field_type INT NOT NULL, field_type INT NOT NULL, variable VARCHAR(64) NOT NULL, display_text VARCHAR(255) DEFAULT NULL, default_value LONGTEXT, field_order INT DEFAULT NULL, visible TINYINT(1) DEFAULT NULL, changeable TINYINT(1) DEFAULT NULL, filter TINYINT(1) DEFAULT NULL, created_at DATETIME NOT NULL, PRIMARY KEY(id))'); |
|
||||||
$this->connection->executeQuery('CREATE TABLE IF NOT EXISTS extra_field_values (id INT AUTO_INCREMENT NOT NULL, value VARCHAR(255) DEFAULT NULL, field_id INT NOT NULL, item_id INT NOT NULL, comment LONGTEXT, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id))'); |
|
||||||
$this->connection->executeQuery('CREATE TABLE IF NOT EXISTS extra_field_options (id INT AUTO_INCREMENT NOT NULL, field_id INT DEFAULT NULL, option_value LONGTEXT, display_text VARCHAR(64) DEFAULT NULL, option_order INT DEFAULT NULL, priority VARCHAR(255) DEFAULT NULL, priority_message VARCHAR(255) DEFAULT NULL, INDEX IDX_A572E3AE443707B0 (field_id), PRIMARY KEY(id))'); |
|
||||||
|
|
||||||
if (!$schema->hasTable('extra_field_options')) { |
|
||||||
$this->connection->executeQuery( |
|
||||||
'ALTER TABLE extra_field_options ADD CONSTRAINT FK_A572E3AE443707B0 FOREIGN KEY (field_id) REFERENCES extra_field (id)' |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
$this->addSql('CREATE TABLE IF NOT EXISTS extra_field_option_rel_field_option (id INT AUTO_INCREMENT NOT NULL, field_id INT DEFAULT NULL, field_option_id INT DEFAULT NULL, related_field_option_id INT DEFAULT NULL, role_id INT DEFAULT NULL, UNIQUE INDEX idx (field_id, role_id, field_option_id, related_field_option_id), PRIMARY KEY(id))'); |
|
||||||
|
|
||||||
/* |
|
||||||
$this->addSql('DROP TABLE course_field'); |
|
||||||
$this->addSql('DROP TABLE course_field_options'); |
|
||||||
$this->addSql('DROP TABLE course_field_values'); |
|
||||||
$this->addSql('DROP TABLE session_field'); |
|
||||||
$this->addSql('DROP TABLE session_field_options'); |
|
||||||
$this->addSql('DROP TABLE session_field_values'); |
|
||||||
$this->addSql('DROP TABLE user_field'); |
|
||||||
$this->addSql('DROP TABLE user_field_options'); |
|
||||||
$this->addSql('DROP TABLE user_field_values'); |
|
||||||
*/ |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function postUp(Schema $schema) |
|
||||||
{ |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE extra_field_options DROP FOREIGN KEY FK_A572E3AE443707B0'); |
|
||||||
$this->addSql('DROP TABLE extra_field_option_rel_field_option'); |
|
||||||
$this->addSql('DROP TABLE extra_field_options'); |
|
||||||
$this->addSql('DROP TABLE extra_field'); |
|
||||||
$this->addSql('DROP TABLE extra_field_values'); |
|
||||||
} |
|
||||||
} |
|
@ -1,77 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
use Doctrine\DBAL\Types\Type; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150505142900 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V110 |
|
||||||
*/ |
|
||||||
class Version20150505142900 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
* |
|
||||||
* @throws \Doctrine\DBAL\Schema\SchemaException |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
// Create table for video chat |
|
||||||
if (!$schema->hasTable('chat_video')) { |
|
||||||
$chatVideoTable = $schema->createTable('chat_video'); |
|
||||||
$chatVideoTable->addColumn( |
|
||||||
'id', |
|
||||||
Type::INTEGER, |
|
||||||
['autoincrement' => true, 'notnull' => true] |
|
||||||
); |
|
||||||
$chatVideoTable->addColumn( |
|
||||||
'from_user', |
|
||||||
Type::INTEGER, |
|
||||||
['notnull' => true] |
|
||||||
); |
|
||||||
$chatVideoTable->addColumn( |
|
||||||
'to_user', |
|
||||||
Type::INTEGER, |
|
||||||
['notnull' => true] |
|
||||||
); |
|
||||||
$chatVideoTable->addColumn( |
|
||||||
'room_name', |
|
||||||
Type::STRING, |
|
||||||
['length' => 255, 'notnull' => true] |
|
||||||
); |
|
||||||
$chatVideoTable->addColumn( |
|
||||||
'datetime', |
|
||||||
Type::DATETIME, |
|
||||||
['notnull' => true] |
|
||||||
); |
|
||||||
$chatVideoTable->setPrimaryKey(['id']); |
|
||||||
$chatVideoTable->addIndex( |
|
||||||
['from_user'], |
|
||||||
'idx_chat_video_from_user' |
|
||||||
); |
|
||||||
$chatVideoTable->addIndex(['to_user'], 'idx_chat_video_to_user'); |
|
||||||
$chatVideoTable->addIndex( |
|
||||||
['from_user', 'to_user'], |
|
||||||
'idx_chat_video_users' |
|
||||||
); |
|
||||||
$chatVideoTable->addIndex( |
|
||||||
['room_name'], |
|
||||||
'idx_chat_video_room_name' |
|
||||||
); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* We don't allow downgrades yet |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$schema->dropTable('chat_video'); |
|
||||||
} |
|
||||||
} |
|
@ -1,242 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150507152600 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V110 |
|
||||||
*/ |
|
||||||
class Version20150507152600 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
* |
|
||||||
* @throws \Doctrine\DBAL\Schema\SchemaException |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
// Move some settings from configuration.php to the database |
|
||||||
// Current settings categories are: |
|
||||||
// Platform, Course, Session, Languages, User, Tools, Editor, Security, |
|
||||||
// Tuning, Gradebook, Timezones, Tracking, Search, stylesheets (lowercase), |
|
||||||
// LDAP, CAS, Shibboleth, Facebook |
|
||||||
|
|
||||||
// Setting $_configuration['hide_home_top_when_connected'] = true; |
|
||||||
$value = $this->getConfigurationValue('hide_home_top_when_connected'); |
|
||||||
|
|
||||||
$this->addSettingCurrent( |
|
||||||
'hide_home_top_when_connected', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value ? 'true' : 'false'), |
|
||||||
'HideHomeTopContentWhenLoggedInText', |
|
||||||
'HideHomeTopContentWhenLoggedInComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'], |
|
||||||
] |
|
||||||
); |
|
||||||
|
|
||||||
// Hide the global announcements for non-connected users |
|
||||||
//$_configuration['hide_global_announcements_when_not_connected'] = true; |
|
||||||
$value = $this->getConfigurationValue('hide_global_announcements_when_not_connected'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'hide_global_announcements_when_not_connected', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value?'true':'false'), |
|
||||||
'HideGlobalAnnouncementsWhenNotLoggedInText', |
|
||||||
'HideGlobalAnnouncementsWhenNotLoggedInComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'], |
|
||||||
] |
|
||||||
); |
|
||||||
|
|
||||||
// Use this course as template for all new courses (define course real ID as value) |
|
||||||
//$_configuration['course_creation_use_template'] = 14; |
|
||||||
$value = $this->getConfigurationValue('course_creation_use_template'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'course_creation_use_template', |
|
||||||
'', |
|
||||||
'textfield', |
|
||||||
'Course', |
|
||||||
($value?$value:''), |
|
||||||
'CourseCreationUsesTemplateText', |
|
||||||
'CourseCreationUsesTemplateComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'], |
|
||||||
] |
|
||||||
); |
|
||||||
|
|
||||||
// Add password strength checker |
|
||||||
//$_configuration['allow_strength_pass_checker'] = true; |
|
||||||
$value = $this->getConfigurationValue('allow_strength_pass_checker'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'allow_strength_pass_checker', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Security', |
|
||||||
($value?'true':'false'), |
|
||||||
'EnablePasswordStrengthCheckerText', |
|
||||||
'EnablePasswordStrengthCheckerComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'], |
|
||||||
] |
|
||||||
); |
|
||||||
|
|
||||||
// Enable captcha |
|
||||||
// $_configuration['allow_captcha'] = true; |
|
||||||
$value = $this->getConfigurationValue('allow_captcha'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'allow_captcha', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Security', |
|
||||||
($value?'true':'false'), |
|
||||||
'EnableCaptchaText', |
|
||||||
'EnableCaptchaComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
// Prevent account from logging in for a certain amount of time |
|
||||||
// if captcha is wrong for the specified number of times |
|
||||||
//$_configuration['captcha_number_mistakes_to_block_account'] = 5; |
|
||||||
$value = $this->getConfigurationValue('captcha_number_mistakes_to_block_account'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'captcha_number_mistakes_to_block_account', |
|
||||||
'', |
|
||||||
'textfield', |
|
||||||
'Security', |
|
||||||
($value?$value:5), |
|
||||||
'CaptchaNumberOfMistakesBeforeBlockingAccountText', |
|
||||||
'CaptchaNumberOfMistakesBeforeBlockingAccountComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false |
|
||||||
); |
|
||||||
// Prevent account from logging in for the specified number of minutes |
|
||||||
//$_configuration['captcha_time_to_block'] = 5;//minutes |
|
||||||
$value = $this->getConfigurationValue('captcha_time_to_block'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'captcha_time_to_block', |
|
||||||
'', |
|
||||||
'textfield', |
|
||||||
'Security', |
|
||||||
($value?$value:5), |
|
||||||
'CaptchaTimeAccountIsLockedText', |
|
||||||
'CaptchaTimeAccountIsLockedComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false |
|
||||||
); |
|
||||||
|
|
||||||
// Allow DRH role to access all content and users from the sessions he follows |
|
||||||
//$_configuration['drh_can_access_all_session_content'] = true; |
|
||||||
$value = $this->getConfigurationValue('drh_can_access_all_session_content'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'drh_can_access_all_session_content', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Session', |
|
||||||
($value?'true':'false'), |
|
||||||
'DRHAccessToAllSessionContentText', |
|
||||||
'DRHAccessToAllSessionContentComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Display group's forum in general forum tool |
|
||||||
//$_configuration['display_groups_forum_in_general_tool'] = true; |
|
||||||
$value = $this->getConfigurationValue('display_groups_forum_in_general_tool'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'display_groups_forum_in_general_tool', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value?'true':'false'), |
|
||||||
'ShowGroupForaInGeneralToolText', |
|
||||||
'ShowGroupForaInGeneralToolComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Allow course tutors in sessions to add existing students to their session |
|
||||||
//$_configuration['allow_tutors_to_assign_students_to_session'] = 'false'; |
|
||||||
$value = $this->getConfigurationValue('allow_tutors_to_assign_students_to_session'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'allow_tutors_to_assign_students_to_session', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Session', |
|
||||||
($value?'true':'false'), |
|
||||||
'TutorsCanAssignStudentsToSessionsText', |
|
||||||
'TutorsCanAssignStudentsToSessionsComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* We don't allow downgrades yet |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql(" |
|
||||||
DELETE FROM settings_options WHERE variable IN ('hide_home_top_when_connected', 'hide_global_announcements_when_not_connected', 'course_creation_use_template', 'allow_strength_pass_checker', 'allow_captcha', 'captcha_number_mistakes_to_block_account', 'captcha_time_to_block', 'drh_can_access_all_session_content', 'display_groups_forum_in_general_tool', 'allow_tutors_to_assign_students_to_session') |
|
||||||
"); |
|
||||||
$this->addSql(" |
|
||||||
DELETE FROM settings_current WHERE variable IN ('hide_home_top_when_connected', 'hide_global_announcements_when_not_connected', 'course_creation_use_template', 'allow_strength_pass_checker', 'allow_captcha', 'captcha_number_mistakes_to_block_account', 'captcha_time_to_block', 'drh_can_access_all_session_content', 'display_groups_forum_in_general_tool', 'allow_tutors_to_assign_students_to_session') |
|
||||||
"); |
|
||||||
} |
|
||||||
} |
|
@ -1,43 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Username changes |
|
||||||
*/ |
|
||||||
class Version20150511133949 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE user ADD salt VARCHAR(255) NOT NULL'); |
|
||||||
$this->addSql('ALTER TABLE user ADD username_canonical VARCHAR(100) NOT NULL'); |
|
||||||
//$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D64992FC23A8 ON user (username_canonical)'); |
|
||||||
$this->addSql('ALTER TABLE user CHANGE password password VARCHAR(255) NOT NULL'); |
|
||||||
|
|
||||||
$this->addSql("INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('allow_teachers_to_create_sessions', NULL,'radio','Session','false','AllowTeachersToCreateSessionsTitle','AllowTeachersToCreateSessionsComment', NULL, NULL, 0)"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('allow_teachers_to_create_sessions', 'true', 'Yes')"); |
|
||||||
$this->addSql("INSERT INTO settings_options (variable, value, display_text) VALUES ('allow_teachers_to_create_sessions', 'false', 'No')"); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE user DROP salt'); |
|
||||||
$this->addSql('DROP INDEX UNIQ_8D93D64992FC23A8 ON user'); |
|
||||||
$this->addSql('ALTER TABLE user DROP username_canonical'); |
|
||||||
$this->addSql('ALTER TABLE user CHANGE password password VARCHAR(50) NOT NULL COLLATE utf8_unicode_ci'); |
|
||||||
|
|
||||||
$this->addSql('DELETE FROM settings_current WHERE variable = "allow_teachers_to_create_sessions" '); |
|
||||||
$this->addSql('DELETE FROM settings_options WHERE variable = "allow_teachers_to_create_sessions" '); |
|
||||||
} |
|
||||||
} |
|
@ -1,29 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Username changes |
|
||||||
*/ |
|
||||||
class Version20150519153200 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE session_rel_user ADD COLUMN registered_at DATETIME NOT NULL'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE session_rel_user DROP COLUMN registered_at'); |
|
||||||
} |
|
||||||
} |
|
@ -1,31 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Username changes |
|
||||||
*/ |
|
||||||
class Version20150521113600 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_forum_thread MODIFY thread_replies int UNSIGNED NOT NULL DEFAULT 0'); |
|
||||||
$this->addSql('ALTER TABLE c_forum_thread MODIFY thread_views int UNSIGNED NOT NULL DEFAULT 0'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_forum_thread MODIFY thread_replies int NULL'); |
|
||||||
$this->addSql('ALTER TABLE c_forum_thread MODIFY thread_views int NULL'); |
|
||||||
} |
|
||||||
} |
|
@ -1,49 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Usergroup changes |
|
||||||
*/ |
|
||||||
class Version20150522112023 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
// Set 0 if there's no group category. |
|
||||||
$this->addSql('UPDATE c_group_info SET category_id = 0 WHERE category_id = 2'); |
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE usergroup ADD group_type INT NOT NULL, ADD created_at DATETIME NOT NULL, ADD updated_at DATETIME NOT NULL'); |
|
||||||
$this->addSql('ALTER TABLE usergroup ADD picture VARCHAR(255) DEFAULT NULL, ADD url VARCHAR(255) DEFAULT NULL, ADD visibility VARCHAR(255) NOT NULL, ADD allow_members_leave_group INT NOT NULL, CHANGE description description LONGTEXT'); |
|
||||||
$this->addSql('CREATE TABLE usergroup_rel_usergroup (id INT AUTO_INCREMENT NOT NULL, group_id INT NOT NULL, subgroup_id INT NOT NULL, relation_type INT NOT NULL, PRIMARY KEY(id))'); |
|
||||||
$this->addSql('ALTER TABLE usergroup_rel_user ADD relation_type INT'); |
|
||||||
|
|
||||||
if (!$schema->hasTable('access_url_rel_usergroup')) { |
|
||||||
$this->addSql( |
|
||||||
'CREATE TABLE access_url_rel_usergroup (id INT AUTO_INCREMENT NOT NULL, access_url_id INT NOT NULL, usergroup_id INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB' |
|
||||||
); |
|
||||||
$sql = 'SELECT * FROM usergroup'; |
|
||||||
$result = $this->connection->query($sql); |
|
||||||
$results = $result->fetchAll(); |
|
||||||
foreach ($results as $result) { |
|
||||||
$groupId = $result['id']; |
|
||||||
$sql = "INSERT INTO access_url_rel_usergroup (access_url_id, usergroup_id) VALUES ('1', '$groupId')"; |
|
||||||
$this->addSql($sql); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('DROP TABLE access_url_rel_usergroup'); |
|
||||||
} |
|
||||||
} |
|
@ -1,821 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150522222222 |
|
||||||
* @package Application\Migrations\Schema\V11010 |
|
||||||
*/ |
|
||||||
class Version20150522222222 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
// The first ALTER queries here requires a check because the field might already exist |
|
||||||
$connection = $this->connection; |
|
||||||
$fieldExists = false; |
|
||||||
$sql = "SELECT * |
|
||||||
FROM user |
|
||||||
LIMIT 1"; |
|
||||||
$result = $connection->executeQuery($sql); |
|
||||||
$dataList = $result->fetchAll(); |
|
||||||
if (!empty($dataList)) { |
|
||||||
foreach ($dataList as $data) { |
|
||||||
if (isset($data['last_login'])) { |
|
||||||
$fieldExists = true; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
if (!$fieldExists) { |
|
||||||
$this->addSql('ALTER TABLE user ADD COLUMN last_login datetime DEFAULT NULL'); |
|
||||||
} |
|
||||||
// calendar events comments |
|
||||||
$fieldExists = false; |
|
||||||
$sql = "SELECT * |
|
||||||
FROM c_calendar_event |
|
||||||
LIMIT 1"; |
|
||||||
$result = $connection->executeQuery($sql); |
|
||||||
$dataList = $result->fetchAll(); |
|
||||||
if (!empty($dataList)) { |
|
||||||
foreach ($dataList as $data) { |
|
||||||
if (isset($data['comment'])) { |
|
||||||
$fieldExists = true; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
if (!$fieldExists) { |
|
||||||
$this->addSql("ALTER TABLE c_calendar_event ADD COLUMN comment TEXT"); |
|
||||||
} |
|
||||||
|
|
||||||
// Move some settings from configuration.php to the database |
|
||||||
// Current settings categories are: |
|
||||||
// Platform, Course, Session, Languages, User, Tools, Editor, Security, |
|
||||||
// Tuning, Gradebook, Timezones, Tracking, Search, stylesheets (lowercase), |
|
||||||
// LDAP, CAS, Shibboleth, Facebook |
|
||||||
|
|
||||||
// Allow select the return link in the LP view |
|
||||||
$value = $this->getConfigurationValue('allow_lp_return_link'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'allow_lp_return_link', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Course', |
|
||||||
($value?$value:'true'), |
|
||||||
'AllowLearningPathReturnLinkTitle', |
|
||||||
'AllowLearningPathReturnLinkComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// If true the export link is blocked. |
|
||||||
$value = $this->getConfigurationValue('hide_scorm_export_link'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'hide_scorm_export_link', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Course', |
|
||||||
($value?$value:'false'), |
|
||||||
'HideScormExportLinkTitle', |
|
||||||
'HideScormExportLinkComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// If true the copy link is blocked. |
|
||||||
//$_configuration['hide_scorm_copy_link'] = false; |
|
||||||
$value = $this->getConfigurationValue('hide_scorm_copy_link'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'hide_scorm_copy_link', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Course', |
|
||||||
($value?$value:'false'), |
|
||||||
'HideScormCopyLinkTitle', |
|
||||||
'HideScormCopyLinkComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// If true the pdf export link is blocked. |
|
||||||
//$_configuration['hide_scorm_pdf_link'] = false; |
|
||||||
$value = $this->getConfigurationValue('hide_scorm_pdf_link'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'hide_scorm_pdf_link', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Course', |
|
||||||
($value?$value:'false'), |
|
||||||
'HideScormPdfLinkTitle', |
|
||||||
'HideScormPdfLinkComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Default session days before coach access |
|
||||||
//$_configuration['session_days_before_coach_access'] = 0; |
|
||||||
$value = $this->getConfigurationValue('session_days_before_coach_access'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'session_days_before_coach_access', |
|
||||||
'', |
|
||||||
'textfield', |
|
||||||
'Session', |
|
||||||
($value?$value:'0'), |
|
||||||
'SessionDaysBeforeCoachAccessTitle', |
|
||||||
'SessionDaysBeforeCoachAccessComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false |
|
||||||
); |
|
||||||
|
|
||||||
|
|
||||||
// Default session days after coach access |
|
||||||
//$_configuration['session_days_after_coach_access'] = 0; |
|
||||||
$value = $this->getConfigurationValue('session_days_after_coach_access'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'session_days_after_coach_access', |
|
||||||
'', |
|
||||||
'textfield', |
|
||||||
'Session', |
|
||||||
($value?$value:'0'), |
|
||||||
'SessionDaysAfterCoachAccessTitle', |
|
||||||
'SessionDaysAfterCoachAccessComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false |
|
||||||
); |
|
||||||
|
|
||||||
// PDF Logo header in app/Resources/public/css/themes/xxx/images/pdf_logo_header.png |
|
||||||
//$_configuration['pdf_logo_header'] = false; |
|
||||||
$value = $this->getConfigurationValue('pdf_logo_header'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'pdf_logo_header', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Course', |
|
||||||
($value?$value:'false'), |
|
||||||
'PdfLogoHeaderTitle', |
|
||||||
'PdfLogoHeaderComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Order inscription user list by official_code |
|
||||||
//$_configuration['order_user_list_by_official_code'] = false; |
|
||||||
$value = $this->getConfigurationValue('order_user_list_by_official_code'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'order_user_list_by_official_code', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value?$value:'false'), |
|
||||||
'OrderUserListByOfficialCodeTitle', |
|
||||||
'OrderUserListByOfficialCodeComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Default course setting "email_alert_manager_on_new_quiz" |
|
||||||
//$_configuration['email_alert_manager_on_new_quiz'] = 1; |
|
||||||
$value = $this->getConfigurationValue('email_alert_manager_on_new_quiz'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'email_alert_manager_on_new_quiz', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Course', |
|
||||||
($value?$value:'true'), |
|
||||||
'AlertManagerOnNewQuizTitle', |
|
||||||
'AlertManagerOnNewQuizComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Show official code in exercise report list. |
|
||||||
//$_configuration['show_official_code_exercise_result_list'] = false; |
|
||||||
$value = $this->getConfigurationValue('show_official_code_exercise_result_list'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'show_official_code_exercise_result_list', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value?$value:'false'), |
|
||||||
'ShowOfficialCodeInExerciseResultListTitle', |
|
||||||
'ShowOfficialCodeInExerciseResultListComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
|
|
||||||
// Hide private courses from course catalog |
|
||||||
//$_configuration['course_catalog_hide_private'] = false; |
|
||||||
$value = $this->getConfigurationValue('course_catalog_hide_private'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'course_catalog_hide_private', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value?$value:'false'), |
|
||||||
'HidePrivateCoursesFromCourseCatalogTitle', |
|
||||||
'HidePrivateCoursesFromCourseCatalogComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Display sessions catalog |
|
||||||
// 0 = show only courses; 1 = show only sessions; 2 = show courses and sessions |
|
||||||
//$_configuration['catalog_show_courses_sessions'] = 0; |
|
||||||
$value = $this->getConfigurationValue('catalog_show_courses_sessions'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'catalog_show_courses_sessions', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value?$value:'0'), |
|
||||||
'CoursesCatalogueShowSessionsTitle', |
|
||||||
'CoursesCatalogueShowSessionsComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => '0', 'text' => 'CatalogueShowOnlyCourses'], 1 => ['value' => '1', 'text' => 'CatalogueShowOnlySessions'], 2 => ['value' => '2', 'text' => 'CatalogueShowCoursesAndSessions']] |
|
||||||
); |
|
||||||
|
|
||||||
// Auto detect language custom pages. |
|
||||||
// $_configuration['auto_detect_language_custom_pages'] = true; |
|
||||||
$value = $this->getConfigurationValue('auto_detect_language_custom_pages'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'auto_detect_language_custom_pages', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value?$value:'true'), |
|
||||||
'AutoDetectLanguageCustomPagesTitle', |
|
||||||
'AutoDetectLanguageCustomPagesComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Show reduce LP report |
|
||||||
//$_configuration['lp_show_reduced_report'] = false; |
|
||||||
$value = $this->getConfigurationValue('lp_show_reduced_report'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'lp_show_reduced_report', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value?$value:'false'), |
|
||||||
'LearningPathShowReducedReportTitle', |
|
||||||
'LearningPathShowReducedReportComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
//Allow session-to-session copy |
|
||||||
//$_configuration['allow_session_course_copy_for_teachers'] = true; |
|
||||||
$value = $this->getConfigurationValue('allow_session_course_copy_for_teachers'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'allow_session_course_copy_for_teachers', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Session', |
|
||||||
($value?$value:'false'), |
|
||||||
'AllowSessionCourseCopyForTeachersTitle', |
|
||||||
'AllowSessionCourseCopyForTeachersComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Hide the logout button |
|
||||||
//$_configuration['hide_logout_button'] = true; |
|
||||||
$value = $this->getConfigurationValue('hide_logout_button'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'hide_logout_button', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Security', |
|
||||||
($value?$value:'false'), |
|
||||||
'HideLogoutButtonTitle', |
|
||||||
'HideLogoutButtonComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Prevent redirecting admin to admin page |
|
||||||
//$_configuration['redirect_admin_to_courses_list'] = true; |
|
||||||
$value = $this->getConfigurationValue('redirect_admin_to_courses_list'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'redirect_admin_to_courses_list', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value?$value:'false'), |
|
||||||
'RedirectAdminToCoursesListTitle', |
|
||||||
'RedirectAdminToCoursesListComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Shows the custom course icon instead of the classic green board icon |
|
||||||
//$_configuration['course_images_in_courses_list'] = false; |
|
||||||
$value = $this->getConfigurationValue('course_images_in_courses_list'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'course_images_in_courses_list', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Course', |
|
||||||
($value?$value:'false'), |
|
||||||
'CourseImagesInCoursesListTitle', |
|
||||||
'CourseImagesInCoursesListComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Which student publication will be taken when connected to the gradebook: first|last |
|
||||||
//$_configuration['student_publication_to_take_in_gradebook'] = 'first'; |
|
||||||
$value = $this->getConfigurationValue('student_publication_to_take_in_gradebook'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'student_publication_to_take_in_gradebook', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Gradebook', |
|
||||||
($value?$value:'first'), |
|
||||||
'StudentPublicationSelectionForGradebookTitle', |
|
||||||
'StudentPublicationSelectionForGradebookComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'first', 'text' => 'First'], 1 => ['value' => 'last', 'text' => 'Last']] |
|
||||||
); |
|
||||||
|
|
||||||
// Show a filter by official code |
|
||||||
//$_configuration['certificate_filter_by_official_code'] = false; |
|
||||||
$value = $this->getConfigurationValue('certificate_filter_by_official_code'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'certificate_filter_by_official_code', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Gradebook', |
|
||||||
($value?$value:'false'), |
|
||||||
'FilterCertificateByOfficialCodeTitle', |
|
||||||
'FilterCertificateByOfficialCodeComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Max quantity of fkceditor allowed in the exercise result page otherwise |
|
||||||
// Textareas are used. |
|
||||||
//$_configuration['exercise_max_ckeditors_in_page'] = 0; |
|
||||||
$value = $this->getConfigurationValue('exercise_max_ckeditors_in_page'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'exercise_max_ckeditors_in_page', |
|
||||||
'', |
|
||||||
'textfield', |
|
||||||
'Tools', |
|
||||||
($value?$value:'0'), |
|
||||||
'MaxCKeditorsOnExerciseResultsPageTitle', |
|
||||||
'MaxCKeditorsOnExerciseResultsPageComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
array() |
|
||||||
); |
|
||||||
|
|
||||||
// Default upload option |
|
||||||
//$_configuration['document_if_file_exists_option'] = 'rename'; // overwrite |
|
||||||
$value = $this->getConfigurationValue('document_if_file_exists_option'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'document_if_file_exists_option', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value?$value:'rename'), |
|
||||||
'DocumentDefaultOptionIfFileExistsTitle', |
|
||||||
'DocumentDefaultOptionIfFileExistsComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'rename', 'text' => 'Rename'], 1 => ['value' => 'overwrite', 'text' => 'Overwrite']] |
|
||||||
); |
|
||||||
// Enable add_gradebook_certificates.php cron task |
|
||||||
//$_configuration['add_gradebook_certificates_cron_task_enabled'] = true; |
|
||||||
$value = $this->getConfigurationValue('add_gradebook_certificates_cron_task_enabled'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'add_gradebook_certificates_cron_task_enabled', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value?$value:'false'), |
|
||||||
'GradebookCronTaskGenerationTitle', |
|
||||||
'GradebookCronTaskGenerationComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Which OpenBadges backpack send the badges |
|
||||||
//$_configuration['openbadges_backpack'] = 'https://backpack.openbadges.org/'; |
|
||||||
$value = $this->getConfigurationValue('openbadges_backpack'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'openbadges_backpack', |
|
||||||
'', |
|
||||||
'textfield', |
|
||||||
'Gradebook', |
|
||||||
($value?$value:'https://backpack.openbadges.org/'), |
|
||||||
'OpenBadgesBackpackUrlTitle', |
|
||||||
'OpenBadgesBackpackUrlComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[] |
|
||||||
); |
|
||||||
|
|
||||||
// Shows a warning message explaining that the site uses cookies |
|
||||||
//$_configuration['cookie_warning'] = false; |
|
||||||
$value = $this->getConfigurationValue('cookie_warning'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'cookie_warning', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value?$value:'false'), |
|
||||||
'CookieWarningTitle', |
|
||||||
'CookieWarningComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// If there are any tool available and the user is not registered hide the group |
|
||||||
//$_configuration['hide_course_group_if_no_tools_available'] = false; |
|
||||||
$value = $this->getConfigurationValue('hide_course_group_if_no_tools_available'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'hide_course_group_if_no_tools_available', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value?$value:'false'), |
|
||||||
'HideCourseGroupIfNoToolAvailableTitle', |
|
||||||
'HideCourseGroupIfNoToolAvailableComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Allow student to enroll into a session without an approval needing |
|
||||||
//$_configuration['catalog_allow_session_auto_subscription'] = false; |
|
||||||
$value = $this->getConfigurationValue('catalog_allow_session_auto_subscription'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'catalog_allow_session_auto_subscription', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Session', |
|
||||||
($value?$value:'false'), |
|
||||||
'CatalogueAllowSessionAutoSubscriptionTitle', |
|
||||||
'CatalogueAllowSessionAutoSubscriptionComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Decode UTF-8 from Web Services (option passed to SOAP) |
|
||||||
//$_configuration['registration.soap.php.decode_utf8'] = false; |
|
||||||
$value = $this->getConfigurationValue('registration.soap.php.decode_utf8'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'registration.soap.php.decode_utf8', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value?$value:'false'), |
|
||||||
'SoapRegistrationDecodeUtf8Title', |
|
||||||
'SoapRegistrationDecodeUtf8Comment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Show delete option in attendance |
|
||||||
//$_configuration['allow_delete_attendance'] = false; |
|
||||||
$value = $this->getConfigurationValue('allow_delete_attendance'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'allow_delete_attendance', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value?$value:'false'), |
|
||||||
'AttendanceDeletionEnableTitle', |
|
||||||
'AttendanceDeletionEnableComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Enable Gravatar profile image if no local image has been given |
|
||||||
//$_configuration['gravatar_enabled'] = true; |
|
||||||
$value = $this->getConfigurationValue('gravatar_enabled'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'gravatar_enabled', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value?$value:'false'), |
|
||||||
'GravatarPicturesTitle', |
|
||||||
'GravatarPicturesComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// If Gravatar is enabled, tells which type of picture we want (default is "mm"). |
|
||||||
// Options: mm | identicon | monsterid | wavatar |
|
||||||
//$_configuration['gravatar_type'] = 'mm'; |
|
||||||
$value = $this->getConfigurationValue('gravatar_type'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'gravatar_type', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
($value?$value:'mm'), |
|
||||||
'GravatarPicturesTypeTitle', |
|
||||||
'GravatarPicturesTypeComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'mm', 'text' => 'mystery-man'], |
|
||||||
1 => ['value' => 'identicon', 'text' => 'identicon'], |
|
||||||
2 => ['value' => 'monsterid', 'text' => 'monsterid'], |
|
||||||
3 => ['value' => 'wavatar', 'text' => 'wavatar'] |
|
||||||
] |
|
||||||
); |
|
||||||
|
|
||||||
// Limit for the Session Admin role. The administration page show only |
|
||||||
// User block -> Add user |
|
||||||
// Course Sessions block -> Training session list |
|
||||||
//$_configuration['limit_session_admin_role'] = false; |
|
||||||
$value = $this->getConfigurationValue('limit_session_admin_role'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'limit_session_admin_role', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Session', |
|
||||||
($value?$value:'false'), |
|
||||||
'SessionAdminPermissionsLimitTitle', |
|
||||||
'SessionAdminPermissionsLimitComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Show session description |
|
||||||
//$_configuration['show_session_description'] = false; |
|
||||||
$value = $this->getConfigurationValue('show_session_description'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'show_session_description', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Session', |
|
||||||
($value?$value:'false'), |
|
||||||
'ShowSessionDescriptionTitle', |
|
||||||
'ShowSessionDescriptionComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Hide only for students the link to export certificates to PDF |
|
||||||
//$_configuration['hide_certificate_export_link_students'] = false; |
|
||||||
$value = $this->getConfigurationValue('hide_certificate_export_link_students'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'hide_certificate_export_link_students', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Gradebook', |
|
||||||
($value?$value:'false'), |
|
||||||
'CertificateHideExportLinkStudentTitle', |
|
||||||
'CertificateHideExportLinkStudentComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Hide for all user roles the link to export certificates to PDF |
|
||||||
//$_configuration['hide_certificate_export_link'] = false; |
|
||||||
$value = $this->getConfigurationValue('hide_certificate_export_link'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'hide_certificate_export_link', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Gradebook', |
|
||||||
($value?$value:'false'), |
|
||||||
'CertificateHideExportLinkTitle', |
|
||||||
'CertificateHideExportLinkComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Hide session course coach in dropbox sent to user list |
|
||||||
//$_configuration['dropbox_hide_course_coach'] = false; |
|
||||||
$value = $this->getConfigurationValue('dropbox_hide_course_coach'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'dropbox_hide_course_coach', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value ? $value : 'false'), |
|
||||||
'DropboxHideCourseCoachTitle', |
|
||||||
'DropboxHideCourseCoachComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
$value = $this->getConfigurationValue('dropbox_hide_general_coach'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'dropbox_hide_general_coach', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
($value ? $value : 'false'), |
|
||||||
'DropboxHideGeneralCoachTitle', |
|
||||||
'DropboxHideGeneralCoachComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// If SSO is used, the redirection to the master server is forced. |
|
||||||
//$_configuration['force_sso_redirect'] = false; |
|
||||||
$value = $this->getConfigurationValue('force_sso_redirect'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'sso_force_redirect', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Security', |
|
||||||
($value?$value:'false'), |
|
||||||
'SSOForceRedirectTitle', |
|
||||||
'SSOForceRedirectComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
|
|
||||||
// Session course ordering in the the session view. |
|
||||||
// false = alphabetic order (default) |
|
||||||
// true = based in the session course list |
|
||||||
//$_configuration['session_course_ordering'] = false; |
|
||||||
$value = $this->getConfigurationValue('session_course_ordering'); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'session_course_ordering', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Session', |
|
||||||
($value?$value:'false'), |
|
||||||
'SessionCourseOrderingTitle', |
|
||||||
'SessionCourseOrderingComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']] |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("DELETE FROM settings_options WHERE variable IN ('session_course_ordering', 'sso_force_redirect', 'dropbox_hide_course_coach', 'hide_certificate_export_link', 'hide_certificate_export_link_students', 'show_session_description', 'limit_session_admin_role', 'gravatar_type', 'gravatar_enabled', 'allow_delete_attendance', 'registration.soap.php.decode_utf8', 'catalog_allow_session_auto_subscription', 'hide_course_group_if_no_tools_available', 'cookie_warning', 'openbadges_backpack', 'add_gradebook_certificates_cron_task_enabled', 'document_if_file_exists_option', 'exercise_max_ckeditors_in_page', 'certificate_filter_by_official_code', 'student_publication_to_take_in_gradebook', 'course_images_in_courses_list', 'redirect_admin_to_courses_list', 'hide_logout_button', 'allow_session_course_copy_for_teachers', 'lp_show_reduced_report', 'auto_detect_language_custom_pages', 'catalog_show_courses_sessions', 'course_catalog_hide_private', 'show_official_code_exercise_result_list', 'allow_lp_return_link', 'hide_scorm_export_link', 'hide_scorm_copy_link', 'hide_scorm_pdf_link', 'session_days_before_coach_access', 'session_days_after_coach_access', 'pdf_logo_header', 'order_user_list_by_official_code', 'email_alert_manager_on_new_quiz')"); |
|
||||||
$this->addSql("DELETE FROM settings_current WHERE variable IN ('session_course_ordering', 'sso_force_redirect', 'dropbox_hide_course_coach', 'hide_certificate_export_link', 'hide_certificate_export_link_students', 'show_session_description', 'limit_session_admin_role', 'gravatar_type', 'gravatar_enabled', 'allow_delete_attendance', 'registration.soap.php.decode_utf8', 'catalog_allow_session_auto_subscription', 'hide_course_group_if_no_tools_available', 'cookie_warning', 'openbadges_backpack', 'add_gradebook_certificates_cron_task_enabled', 'document_if_file_exists_option', 'exercise_max_ckeditors_in_page', 'certificate_filter_by_official_code', 'student_publication_to_take_in_gradebook', 'course_images_in_courses_list', 'redirect_admin_to_courses_list', 'hide_logout_button', 'allow_session_course_copy_for_teachers', 'lp_show_reduced_report', 'auto_detect_language_custom_pages', 'catalog_show_courses_sessions', 'course_catalog_hide_private', 'show_official_code_exercise_result_list', 'allow_lp_return_link', 'hide_scorm_export_link', 'hide_scorm_copy_link', 'hide_scorm_pdf_link', 'session_days_before_coach_access', 'session_days_after_coach_access', 'pdf_logo_header', 'order_user_list_by_official_code', 'email_alert_manager_on_new_quiz')"); |
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE user DROP COLUMN last_login'); |
|
||||||
} |
|
||||||
} |
|
@ -1,55 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150527120703 |
|
||||||
* LP autolunch -> autolaunch |
|
||||||
* @package Application\Migrations\Schema\V11010 |
|
||||||
*/ |
|
||||||
class Version20150527101600 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSettingCurrent( |
|
||||||
'gamification_mode', |
|
||||||
'', |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
0, |
|
||||||
'GamificationModeTitle', |
|
||||||
'GamificationModeComment', |
|
||||||
null, |
|
||||||
'', |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
[ |
|
||||||
'value' => 1, |
|
||||||
'text' => 'Yes' |
|
||||||
], |
|
||||||
[ |
|
||||||
'value' => 0, |
|
||||||
'text' => 'No' |
|
||||||
] |
|
||||||
] |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("DELETE FROM settings_options WHERE variable = 'gamification_mode'"); |
|
||||||
$this->addSql("DELETE FROM settings_current WHERE variable = 'gamification_mode'"); |
|
||||||
} |
|
||||||
} |
|
@ -1,33 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150527114220 |
|
||||||
* Lp category |
|
||||||
* @package Application\Migrations\Schema\V11010 |
|
||||||
*/ |
|
||||||
class Version20150527114220 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('CREATE TABLE c_lp_category (iid INT AUTO_INCREMENT NOT NULL, c_id INT NOT NULL, name VARCHAR(255) NOT NULL, position INT NOT NULL, PRIMARY KEY(iid)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
|
||||||
$this->addSql('ALTER TABLE c_lp ADD category_id INT NOT NULL DEFAULT 0'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('DROP TABLE c_lp_category'); |
|
||||||
$this->addSql('ALTER TABLE c_lp DROP category_id'); |
|
||||||
} |
|
||||||
} |
|
@ -1,31 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150527120703 |
|
||||||
* LP autolunch -> autolaunch |
|
||||||
* @package Application\Migrations\Schema\V11010 |
|
||||||
*/ |
|
||||||
class Version20150527120703 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_lp CHANGE COLUMN autolunch autolaunch INT NOT NULL DEFAULT 0'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_lp CHANGE COLUMN autolaunch autolunch INT NOT NULL'); |
|
||||||
} |
|
||||||
} |
|
@ -1,76 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Session date changes |
|
||||||
*/ |
|
||||||
class Version20150528103216 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE session ADD COLUMN access_start_date datetime'); |
|
||||||
$this->addSql('ALTER TABLE session ADD COLUMN access_end_date datetime'); |
|
||||||
$this->addSql('ALTER TABLE session ADD COLUMN coach_access_start_date datetime'); |
|
||||||
$this->addSql('ALTER TABLE session ADD COLUMN coach_access_end_date datetime'); |
|
||||||
$this->addSql('ALTER TABLE session ADD COLUMN display_start_date datetime'); |
|
||||||
$this->addSql('ALTER TABLE session ADD COLUMN display_end_date datetime'); |
|
||||||
|
|
||||||
|
|
||||||
$this->addSql('UPDATE session SET access_start_date = date_start'); |
|
||||||
$this->addSql("UPDATE session SET access_end_date = CONVERT(CONCAT(date_end, ' 23:59:59'), DATETIME)"); |
|
||||||
|
|
||||||
$this->addSql('UPDATE session SET coach_access_start_date = CONVERT(DATE_SUB(date_start, INTERVAL nb_days_access_before_beginning DAY), DATETIME) '); |
|
||||||
$this->addSql('UPDATE session SET coach_access_start_date = NULL WHERE nb_days_access_before_beginning = 0'); |
|
||||||
|
|
||||||
$this->addSql('UPDATE session SET coach_access_end_date = CONVERT(DATE_ADD(date_end, INTERVAL nb_days_access_after_end DAY), DATETIME) '); |
|
||||||
$this->addSql('UPDATE session SET coach_access_end_date = NULL WHERE nb_days_access_after_end = 0'); |
|
||||||
|
|
||||||
$this->addSql('UPDATE session SET display_start_date = access_start_date'); |
|
||||||
$this->addSql('UPDATE session SET display_end_date = access_end_date'); |
|
||||||
|
|
||||||
// Set dates to NULL |
|
||||||
|
|
||||||
$this->addSql('UPDATE session SET access_start_date = NULL WHERE access_start_date = "0000-00-00 00:00:00"'); |
|
||||||
$this->addSql('UPDATE session SET access_end_date = NULL WHERE access_end_date = "0000-00-00 00:00:00"'); |
|
||||||
|
|
||||||
$this->addSql('UPDATE session SET coach_access_start_date = NULL WHERE coach_access_start_date = "0000-00-00 00:00:00"'); |
|
||||||
$this->addSql('UPDATE session SET coach_access_end_date = NULL WHERE coach_access_end_date = "0000-00-00 00:00:00"'); |
|
||||||
|
|
||||||
$this->addSql('UPDATE session SET display_start_date = NULL WHERE display_start_date = "0000-00-00 00:00:00"'); |
|
||||||
$this->addSql('UPDATE session SET display_end_date = NULL WHERE display_end_date = "0000-00-00 00:00:00"'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE session CREATE date_start date NOT NULL'); |
|
||||||
$this->addSql('ALTER TABLE session CREATE date_end date NOT NULL'); |
|
||||||
$this->addSql('ALTER TABLE session CREATE nb_days_access_before_beginning TINYINT'); |
|
||||||
$this->addSql('ALTER TABLE session CREATE nb_days_access_after_end TINYINT'); |
|
||||||
|
|
||||||
$this->addSql('UPDATE session SET date_start = access_start_date'); |
|
||||||
$this->addSql('UPDATE session SET date_end = access_end_date'); |
|
||||||
|
|
||||||
$this->addSql('UPDATE session SET nb_days_access_before_beginning = DATEDIFF(access_start_date, coach_access_start_date) WHERE access_start_date != coach_access_start_date AND coach_access_start_date IS NOT NULL'); |
|
||||||
$this->addSql('UPDATE session SET nb_days_access_after_end = DATEDIFF(coach_access_end_date, coach_access_end_date) WHERE access_end_date != coach_access_end_date AND coach_access_end_date IS NOT NULL'); |
|
||||||
$this->addSql('UPDATE session SET nb_days_access_before_beginning = 0 WHERE access_start_date = coach_access_start_date OR coach_access_start_date IS NULL'); |
|
||||||
$this->addSql('UPDATE session SET nb_days_access_after_end = 0 WHERE access_end_date = coach_access_end_date OR coach_access_end_date IS NULL'); |
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE session DROP access_start_date'); |
|
||||||
$this->addSql('ALTER TABLE session DROP access_end_date'); |
|
||||||
$this->addSql('ALTER TABLE session DROP coach_access_start_date'); |
|
||||||
$this->addSql('ALTER TABLE session DROP coach_access_end_date'); |
|
||||||
$this->addSql('ALTER TABLE session DROP display_start_date'); |
|
||||||
$this->addSql('ALTER TABLE session DROP display_end_date'); |
|
||||||
} |
|
||||||
} |
|
@ -1,67 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
use Doctrine\DBAL\Types\Type as TableColumnType; |
|
||||||
|
|
||||||
/** |
|
||||||
* Session date changes |
|
||||||
*/ |
|
||||||
class Version20150529164400 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
if (!$schema->hasTable('gradebook_score_log')) { |
|
||||||
$gradebookScoreLog = $schema->createTable('gradebook_score_log'); |
|
||||||
$gradebookScoreLog->addColumn( |
|
||||||
'id', |
|
||||||
TableColumnType::INTEGER, |
|
||||||
['unsigned' => true, 'autoincrement' => true, 'notnull' => true] |
|
||||||
); |
|
||||||
$gradebookScoreLog->addColumn( |
|
||||||
'category_id', |
|
||||||
TableColumnType::INTEGER, |
|
||||||
['unsigned' => true, 'notnull' => true] |
|
||||||
); |
|
||||||
$gradebookScoreLog->addColumn( |
|
||||||
'user_id', |
|
||||||
TableColumnType::INTEGER, |
|
||||||
['unsigned' => true, 'notnull' => true] |
|
||||||
); |
|
||||||
$gradebookScoreLog->addColumn( |
|
||||||
'score', |
|
||||||
TableColumnType::FLOAT, |
|
||||||
['notnull' => true, 'scale' => 0, 'precision' => 10] |
|
||||||
); |
|
||||||
$gradebookScoreLog->addColumn( |
|
||||||
'registered_at', |
|
||||||
TableColumnType::DATETIME, |
|
||||||
['notnull' => true] |
|
||||||
); |
|
||||||
$gradebookScoreLog->setPrimaryKey(['id']); |
|
||||||
$gradebookScoreLog->addIndex( |
|
||||||
['user_id'], |
|
||||||
'idx_gradebook_score_log_user' |
|
||||||
); |
|
||||||
$gradebookScoreLog->addIndex( |
|
||||||
['user_id', 'category_id'], |
|
||||||
'idx_gradebook_score_log_user_category' |
|
||||||
); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$schema->dropTable('gradebook_score_log'); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,70 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Add branch |
|
||||||
*/ |
|
||||||
class Version20150603142550 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function preUp(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("ALTER TABLE c_calendar_event ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE c_thematic_advance ENGINE=InnoDB"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('CREATE TABLE room (id INT AUTO_INCREMENT NOT NULL, branch_id INT DEFAULT NULL, title VARCHAR(255) DEFAULT NULL, description LONGTEXT, geolocation VARCHAR(255) DEFAULT NULL, ip VARCHAR(39) DEFAULT NULL, ip_mask VARCHAR(6) DEFAULT NULL, INDEX IDX_729F519BDCD6CC49 (branch_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
|
||||||
$this->addSql('CREATE TABLE branch_transaction_status (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
|
||||||
$this->addSql('CREATE TABLE branch_transaction (id BIGINT AUTO_INCREMENT NOT NULL, status_id INT DEFAULT NULL, branch_id INT DEFAULT NULL, transaction_id BIGINT NOT NULL, action VARCHAR(20) DEFAULT NULL, item_id VARCHAR(255) DEFAULT NULL, origin VARCHAR(255) DEFAULT NULL, dest_id VARCHAR(255) DEFAULT NULL, external_info VARCHAR(255) DEFAULT NULL, time_insert DATETIME NOT NULL, time_update DATETIME NOT NULL, failed_attempts INT NOT NULL, INDEX IDX_FEFBA12B6BF700BD (status_id), INDEX IDX_FEFBA12BDCD6CC49 (branch_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
|
||||||
$this->addSql('CREATE TABLE branch_sync (id INT AUTO_INCREMENT NOT NULL, parent_id INT DEFAULT NULL, access_url_id INT NOT NULL, unique_id VARCHAR(50) NOT NULL, branch_name VARCHAR(250) NOT NULL, description LONGTEXT, branch_ip VARCHAR(40) DEFAULT NULL, latitude NUMERIC(10, 0) DEFAULT NULL, longitude NUMERIC(10, 0) DEFAULT NULL, dwn_speed INT DEFAULT NULL, up_speed INT DEFAULT NULL, delay INT DEFAULT NULL, admin_mail VARCHAR(250) DEFAULT NULL, admin_name VARCHAR(250) DEFAULT NULL, admin_phone VARCHAR(250) DEFAULT NULL, last_sync_trans_id BIGINT DEFAULT NULL, last_sync_trans_date DATETIME DEFAULT NULL, last_sync_type VARCHAR(20) DEFAULT NULL, ssl_pub_key VARCHAR(250) DEFAULT NULL, branch_type VARCHAR(250) DEFAULT NULL, lft INT DEFAULT NULL, rgt INT DEFAULT NULL, lvl INT DEFAULT NULL, root INT DEFAULT NULL, UNIQUE INDEX UNIQ_F62F45EDE3C68343 (unique_id), INDEX IDX_F62F45ED727ACA70 (parent_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
|
||||||
$this->addSql('ALTER TABLE room ADD CONSTRAINT FK_729F519BDCD6CC49 FOREIGN KEY (branch_id) REFERENCES branch_sync (id)'); |
|
||||||
$this->addSql('ALTER TABLE branch_transaction ADD CONSTRAINT FK_FEFBA12B6BF700BD FOREIGN KEY (status_id) REFERENCES branch_transaction_status (id)'); |
|
||||||
$this->addSql('ALTER TABLE branch_transaction ADD CONSTRAINT FK_FEFBA12BDCD6CC49 FOREIGN KEY (branch_id) REFERENCES branch_sync (id)'); |
|
||||||
$this->addSql('ALTER TABLE branch_sync ADD CONSTRAINT FK_F62F45ED727ACA70 FOREIGN KEY (parent_id) REFERENCES branch_sync (id) ON DELETE SET NULL'); |
|
||||||
$this->addSql('ALTER TABLE course ADD room_id INT DEFAULT NULL'); |
|
||||||
$this->addSql('ALTER TABLE course ADD CONSTRAINT FK_169E6FB954177093 FOREIGN KEY (room_id) REFERENCES room (id)'); |
|
||||||
$this->addSql('CREATE INDEX IDX_169E6FB954177093 ON course (room_id)'); |
|
||||||
$this->addSql('ALTER TABLE c_calendar_event ADD room_id INT DEFAULT NULL'); |
|
||||||
$this->addSql('ALTER TABLE c_calendar_event ADD CONSTRAINT FK_A062258154177093 FOREIGN KEY (room_id) REFERENCES room (id)'); |
|
||||||
$this->addSql('CREATE INDEX IDX_A062258154177093 ON c_calendar_event (room_id)'); |
|
||||||
$this->addSql('ALTER TABLE c_thematic_advance ADD room_id INT DEFAULT NULL'); |
|
||||||
$this->addSql('ALTER TABLE c_thematic_advance ADD CONSTRAINT FK_62798E9754177093 FOREIGN KEY (room_id) REFERENCES room (id)'); |
|
||||||
$this->addSql('CREATE INDEX IDX_62798E9754177093 ON c_thematic_advance (room_id)'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE course DROP FOREIGN KEY FK_169E6FB954177093'); |
|
||||||
$this->addSql('ALTER TABLE c_calendar_event DROP FOREIGN KEY FK_A062258154177093'); |
|
||||||
$this->addSql('ALTER TABLE c_thematic_advance DROP FOREIGN KEY FK_62798E9754177093'); |
|
||||||
$this->addSql('ALTER TABLE branch_transaction DROP FOREIGN KEY FK_FEFBA12B6BF700BD'); |
|
||||||
$this->addSql('ALTER TABLE room DROP FOREIGN KEY FK_729F519BDCD6CC49'); |
|
||||||
$this->addSql('ALTER TABLE branch_transaction DROP FOREIGN KEY FK_FEFBA12BDCD6CC49'); |
|
||||||
$this->addSql('ALTER TABLE branch_sync DROP FOREIGN KEY FK_F62F45ED727ACA70'); |
|
||||||
$this->addSql('DROP TABLE room'); |
|
||||||
$this->addSql('DROP TABLE branch_transaction_status'); |
|
||||||
$this->addSql('DROP TABLE branch_transaction'); |
|
||||||
$this->addSql('DROP TABLE branch_sync'); |
|
||||||
$this->addSql('DROP INDEX IDX_A062258154177093 ON c_calendar_event'); |
|
||||||
$this->addSql('ALTER TABLE c_calendar_event DROP room_id'); |
|
||||||
$this->addSql('DROP INDEX IDX_62798E9754177093 ON c_thematic_advance'); |
|
||||||
$this->addSql('ALTER TABLE c_thematic_advance DROP room_id'); |
|
||||||
$this->addSql('DROP INDEX IDX_169E6FB954177093 ON course'); |
|
||||||
$this->addSql('ALTER TABLE course DROP room_id'); |
|
||||||
} |
|
||||||
} |
|
@ -1,32 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Session date changes |
|
||||||
*/ |
|
||||||
class Version20150603151200 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_forum_forum ADD lp_id INTEGER UNSIGNED NOT NULL'); |
|
||||||
$this->addSql('ALTER TABLE c_forum_thread ADD lp_item_id INTEGER UNSIGNED NOT NULL'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_forum_forum DROP lp_id'); |
|
||||||
$this->addSql('ALTER TABLE c_forum_thread DROP lp_item_id'); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,101 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Lp changes |
|
||||||
*/ |
|
||||||
class Version20150603181728 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function preUp(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("ALTER TABLE course ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE c_group_info ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE session ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE user ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE c_item_property ENGINE=InnoDB"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$table = $schema->getTable('c_lp'); |
|
||||||
if (!$table->hasColumn('max_attempts')) { |
|
||||||
$this->addSql('ALTER TABLE c_lp ADD max_attempts INT NOT NULL'); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
if (!$table->hasColumn('subscribe_users')) { |
|
||||||
$this->addSql('ALTER TABLE c_lp ADD subscribe_users INT NOT NULL DEFAULT 0'); |
|
||||||
} |
|
||||||
|
|
||||||
$this->addSql(' |
|
||||||
ALTER TABLE c_item_property |
|
||||||
MODIFY c_id INT DEFAULT NULL, |
|
||||||
MODIFY lastedit_user_id INT NOT NULL, |
|
||||||
MODIFY to_group_id INT NULL, |
|
||||||
MODIFY insert_user_id INT DEFAULT NULL, |
|
||||||
MODIFY start_visible DATETIME DEFAULT NULL, |
|
||||||
MODIFY end_visible DATETIME DEFAULT NULL, |
|
||||||
MODIFY session_id INT DEFAULT NULL, |
|
||||||
MODIFY to_user_id INT NULL |
|
||||||
'); |
|
||||||
$this->addSql("UPDATE c_item_property SET session_id = NULL WHERE session_id NOT IN (SELECT id FROM session)"); |
|
||||||
$this->addSql("UPDATE c_item_property SET to_group_id = NULL WHERE to_group_id NOT IN (SELECT iid FROM c_group_info)"); |
|
||||||
$this->addSql("UPDATE c_item_property SET to_user_id = NULL WHERE to_user_id NOT IN (SELECT user_id FROM user)"); |
|
||||||
$this->addSql("UPDATE c_item_property SET start_visible = NULL WHERE start_visible = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE c_item_property SET end_visible = NULL WHERE end_visible = '0000-00-00 00:00:00'"); |
|
||||||
$this->addSql("UPDATE c_item_property SET to_user_id = NULL WHERE to_user_id NOT IN (SELECT id FROM user)"); |
|
||||||
$this->addSql("UPDATE c_item_property SET insert_user_id = NULL WHERE insert_user_id NOT IN (SELECT id FROM user)"); |
|
||||||
$this->addSql("UPDATE c_item_property SET session_id = NULL WHERE session_id NOT IN (SELECT id FROM session)"); |
|
||||||
|
|
||||||
// Remove inconsistencies about non-existing courses |
|
||||||
$this->addSql("DELETE FROM c_item_property WHERE c_id NOT IN (SELECT user_id FROM user)"); |
|
||||||
// Remove inconsistencies about non-existing users |
|
||||||
$this->addSql("DELETE FROM course_rel_user WHERE user_id NOT IN (SELECT user_id FROM user)"); |
|
||||||
|
|
||||||
$this->addSql("DELETE FROM c_item_property WHERE c_id NOT IN (SELECT id FROM course)"); |
|
||||||
$this->addSql("DELETE FROM c_item_property WHERE to_group_id NOT IN (SELECT id FROM c_group_info)"); |
|
||||||
|
|
||||||
$this->addSql('UPDATE c_item_property cip SET cip.to_group_id = (SELECT cgi.iid FROM c_group_info cgi WHERE cgi.c_id = cip.c_id AND cgi.id = cip.to_group_id)'); |
|
||||||
|
|
||||||
$this->addSql('ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C18191D79BD3 FOREIGN KEY (c_id) REFERENCES course(id)'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C181330D47E9 FOREIGN KEY (to_group_id) REFERENCES c_group_info (iid)'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C18129F6EE60 FOREIGN KEY (to_user_id) REFERENCES user (id)'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C1819C859CC3 FOREIGN KEY (insert_user_id) REFERENCES user (id)'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C181613FECDF FOREIGN KEY (session_id) REFERENCES session (id)'); |
|
||||||
$this->addSql('CREATE INDEX IDX_1D84C18191D79BD3 ON c_item_property (c_id)'); |
|
||||||
$this->addSql('CREATE INDEX IDX_1D84C181330D47E9 ON c_item_property (to_group_id)'); |
|
||||||
$this->addSql('CREATE INDEX IDX_1D84C18129F6EE60 ON c_item_property (to_user_id)'); |
|
||||||
$this->addSql('CREATE INDEX IDX_1D84C1819C859CC3 ON c_item_property (insert_user_id)'); |
|
||||||
$this->addSql('CREATE INDEX IDX_1D84C181613FECDF ON c_item_property (session_id)'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_lp DROP max_attempts, DROP subscribe_users'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property DROP FOREIGN KEY FK_1D84C18191D79BD3'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property DROP FOREIGN KEY FK_1D84C181330D47E9'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property DROP FOREIGN KEY FK_1D84C18129F6EE60'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property DROP FOREIGN KEY FK_1D84C1819C859CC3'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property DROP FOREIGN KEY FK_1D84C181613FECDF'); |
|
||||||
$this->addSql('DROP INDEX IDX_1D84C18191D79BD3 ON c_item_property'); |
|
||||||
$this->addSql('DROP INDEX IDX_1D84C181330D47E9 ON c_item_property'); |
|
||||||
$this->addSql('DROP INDEX IDX_1D84C18129F6EE60 ON c_item_property'); |
|
||||||
$this->addSql('DROP INDEX IDX_1D84C1819C859CC3 ON c_item_property'); |
|
||||||
$this->addSql('DROP INDEX IDX_1D84C181613FECDF ON c_item_property'); |
|
||||||
$this->addSql('ALTER TABLE c_item_property CHANGE c_id c_id INT NOT NULL, CHANGE insert_user_id insert_user_id INT NOT NULL, CHANGE session_id session_id INT NOT NULL, CHANGE start_visible start_visible DATETIME NOT NULL, CHANGE end_visible end_visible DATETIME NOT NULL'); |
|
||||||
} |
|
||||||
} |
|
@ -1,29 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* track_e_default changes |
|
||||||
*/ |
|
||||||
class Version20150604145047 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE track_e_default CHANGE default_event_type default_event_type VARCHAR(255) NOT NULL, CHANGE default_value_type default_value_type VARCHAR(255) NOT NULL'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE track_e_default CHANGE default_event_type default_event_type VARCHAR(20) NOT NULL COLLATE utf8_unicode_ci, CHANGE default_value_type default_value_type VARCHAR(20) NOT NULL COLLATE utf8_unicode_ci'); |
|
||||||
} |
|
||||||
} |
|
@ -1,70 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
use Doctrine\DBAL\Types\Type as TableColumnType; |
|
||||||
|
|
||||||
/** |
|
||||||
* Session date changes |
|
||||||
*/ |
|
||||||
class Version20150608104600 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
if (!$schema->hasTable('extra_field_rel_tag')) { |
|
||||||
$extraFieldRelTag = $schema->createTable('extra_field_rel_tag'); |
|
||||||
$extraFieldRelTag->addColumn( |
|
||||||
'id', |
|
||||||
TableColumnType::INTEGER, |
|
||||||
['unsigned' => true, 'autoincrement' => true, 'notnull' => true] |
|
||||||
); |
|
||||||
$extraFieldRelTag->addColumn( |
|
||||||
'field_id', |
|
||||||
TableColumnType::INTEGER, |
|
||||||
['unsigned' => true, 'notnull' => true] |
|
||||||
); |
|
||||||
$extraFieldRelTag->addColumn( |
|
||||||
'item_id', |
|
||||||
TableColumnType::INTEGER, |
|
||||||
['unsigned' => true, 'notnull' => true] |
|
||||||
); |
|
||||||
$extraFieldRelTag->addColumn( |
|
||||||
'tag_id', |
|
||||||
TableColumnType::INTEGER, |
|
||||||
['unsigned' => true, 'notnull' => true] |
|
||||||
); |
|
||||||
$extraFieldRelTag->setPrimaryKey(['id']); |
|
||||||
$extraFieldRelTag->addIndex( |
|
||||||
['field_id'], |
|
||||||
'idx_frt_field' |
|
||||||
); |
|
||||||
$extraFieldRelTag->addIndex( |
|
||||||
['item_id'], |
|
||||||
'idx_frt_item' |
|
||||||
); |
|
||||||
$extraFieldRelTag->addIndex( |
|
||||||
['tag_id'], |
|
||||||
'idx_frt_tag' |
|
||||||
); |
|
||||||
$extraFieldRelTag->addIndex( |
|
||||||
['field_id', 'item_id', 'tag_id'], |
|
||||||
'idx_frt_field_item_tag' |
|
||||||
); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$schema->dropTable('extra_field_rel_tag'); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,35 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Session date changes |
|
||||||
*/ |
|
||||||
class Version20150609113500 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("INSERT INTO extra_field |
|
||||||
(extra_field_type, field_type, variable, display_text, visible, changeable, created_at) |
|
||||||
VALUES (2, 10, 'tags', 'Tags', 1, 1, NOW())"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("DELETE FROM extra_field |
|
||||||
WHERE variable = 'tags' AND |
|
||||||
extra_field_type = 2 AND |
|
||||||
field_type = 10"); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,29 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Tool changes |
|
||||||
*/ |
|
||||||
class Version20150610143426 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_tool ADD description LONGTEXT, ADD custom_icon VARCHAR(255) DEFAULT NULL'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_tool DROP description, DROP custom_icon'); |
|
||||||
} |
|
||||||
} |
|
@ -1,34 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Version20150615171900 class |
|
||||||
* Change in CCourseDescription entity |
|
||||||
* |
|
||||||
* @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com> |
|
||||||
*/ |
|
||||||
class Version20150615171900 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_course_description CHANGE description_type description_type INTEGER NOT NULL DEFAULT 1'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_course_description CHANGE description_type description_type BOOLEAN NOT NULL'); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,35 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Session date changes |
|
||||||
*/ |
|
||||||
class Version20150616093200 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("INSERT INTO extra_field ( |
|
||||||
extra_field_type, field_type, variable, display_text, visible, changeable, created_at) |
|
||||||
VALUES (2, 19, 'video_url', 'VideoUrl', 1, 1, NOW())"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("DELETE FROM extra_field |
|
||||||
WHERE variable = 'video_url' AND |
|
||||||
extra_field_type = 2 AND |
|
||||||
field_type = 19"); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,35 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Session date changes |
|
||||||
*/ |
|
||||||
class Version20150624164100 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("INSERT INTO extra_field |
|
||||||
(extra_field_type, field_type, variable, display_text, visible, changeable, created_at) |
|
||||||
VALUES (3, 16, 'image', 'Image', 1, 1, NOW())"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("DELETE FROM extra_field |
|
||||||
WHERE variable = 'image' AND |
|
||||||
extra_field_type = 3 AND |
|
||||||
field_type = 16"); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,35 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Session date changes |
|
||||||
*/ |
|
||||||
class Version20150625155000 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("INSERT INTO extra_field |
|
||||||
(extra_field_type, field_type, variable, display_text, visible, changeable, created_at) |
|
||||||
VALUES (1, 1, 'captcha_blocked_until_date', 'Account locked until', 0, 0, NOW())"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("DELETE FROM extra_field |
|
||||||
WHERE variable = 'captcha_blocked_until_date' AND |
|
||||||
extra_field_type = 1 AND |
|
||||||
field_type = 1"); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,36 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* GradebookCategory changes |
|
||||||
*/ |
|
||||||
class Version20150706135000 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$gradebookCategory = $schema->getTable('gradebook_category'); |
|
||||||
|
|
||||||
$isRequirement = $gradebookCategory->addColumn( |
|
||||||
'is_requirement', |
|
||||||
\Doctrine\DBAL\Types\Type::BOOLEAN |
|
||||||
); |
|
||||||
$isRequirement->setNotnull(true)->setDefault(false); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$gradebookCategory = $schema->getTable('gradebook_category'); |
|
||||||
$gradebookCategory->dropColumn('is_requirement'); |
|
||||||
} |
|
||||||
} |
|
@ -1,29 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Agenda |
|
||||||
*/ |
|
||||||
class Version20150709083710 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_calendar_event ADD color VARCHAR(100) DEFAULT NULL'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_calendar_event DROP color'); |
|
||||||
} |
|
||||||
} |
|
@ -1,35 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150713132630 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V11010 |
|
||||||
*/ |
|
||||||
class Version20150713132630 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
if ($schema->hasTable('c_student_publication')) { |
|
||||||
$this->addSql('ALTER TABLE c_student_publication ADD url_correction VARCHAR(255) DEFAULT NULL'); |
|
||||||
$this->addSql('ALTER TABLE c_student_publication ADD title_correction VARCHAR(255) DEFAULT NULL'); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE c_student_publication DROP url_correction'); |
|
||||||
$this->addSql('ALTER TABLE c_student_publication DROP title_correction'); |
|
||||||
} |
|
||||||
} |
|
@ -1,111 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150803163400 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V110 |
|
||||||
*/ |
|
||||||
class Version20150803163400 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSettingCurrent( |
|
||||||
'cron_remind_course_expiration_activate', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Crons', |
|
||||||
'false', |
|
||||||
'CronRemindCourseExpirationActivateTitle', |
|
||||||
'CronRemindCourseExpirationActivateComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
|
|
||||||
$this->addSettingCurrent( |
|
||||||
'cron_remind_course_expiration_frequency', |
|
||||||
null, |
|
||||||
'textfield', |
|
||||||
'Crons', |
|
||||||
'2', |
|
||||||
'CronRemindCourseExpirationFrecuenqyTitle', |
|
||||||
'CronRemindCourseExpirationFrecuenqyComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
true, |
|
||||||
false |
|
||||||
); |
|
||||||
|
|
||||||
$this->addSettingCurrent( |
|
||||||
'cron_course_finished_activate', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Crons', |
|
||||||
'false', |
|
||||||
'CronCourseFinishedActivateTitle', |
|
||||||
'CronCourseFinishedActivateComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$entityManage = $this->getEntityManager(); |
|
||||||
|
|
||||||
$deleteOptions = $entityManage->createQueryBuilder(); |
|
||||||
|
|
||||||
$deleteOptions->delete('ChamiloCoreBundle:SettingsOptions', 'o') |
|
||||||
->andWhere( |
|
||||||
$deleteOptions->expr()->in( |
|
||||||
'o.variable', |
|
||||||
[ |
|
||||||
'cron_remind_course_expiration_activate', |
|
||||||
'cron_course_finished_activate' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteOptions->getQuery()->execute(); |
|
||||||
|
|
||||||
$deleteSettings = $entityManage->createQueryBuilder(); |
|
||||||
$deleteSettings->delete('ChamiloCoreBundle:SettingsCurrent', 's') |
|
||||||
->andWhere( |
|
||||||
$deleteSettings->expr()->in( |
|
||||||
's.variable', |
|
||||||
[ |
|
||||||
'cron_remind_course_expiration_activate', |
|
||||||
'cron_remind_course_expiration_frequency', |
|
||||||
'cron_course_finished_activate' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteSettings->getQuery()->execute(); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,37 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150803171220 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V110 |
|
||||||
*/ |
|
||||||
class Version20150803171220 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('UPDATE user SET username_canonical = username'); |
|
||||||
$this->addSql('ALTER TABLE user ADD confirmation_token VARCHAR(255) NULL'); |
|
||||||
$this->addSql('ALTER TABLE user ADD password_requested_at DATETIME DEFAULT NULL'); |
|
||||||
$this->addSql('RENAME TABLE track_e_exercices TO track_e_exercises'); |
|
||||||
// This drops the old table |
|
||||||
// $schema->renameTable('track_e_exercices', 'track_e_exercises'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE user DROP confirmation_token'); |
|
||||||
$this->addSql('ALTER TABLE user DROP password_requested_at'); |
|
||||||
} |
|
||||||
} |
|
@ -1,40 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150713132630 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V11010 |
|
||||||
*/ |
|
||||||
class Version20150805161000 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$sessionTable = $schema->getTable('session'); |
|
||||||
|
|
||||||
$sessionTable->addColumn( |
|
||||||
'send_subscription_notification', |
|
||||||
\Doctrine\DBAL\Types\Type::BOOLEAN, |
|
||||||
['default' => false] |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$sessionTable = $schema->getTable('session'); |
|
||||||
$sessionTable->dropColumn('send_subscription_notification'); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,29 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Calendar color |
|
||||||
*/ |
|
||||||
class Version20150810132615 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE personal_agenda ADD color VARCHAR(255) DEFAULT NULL'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql('ALTER TABLE personal_agenda DROP color'); |
|
||||||
} |
|
||||||
} |
|
@ -1,75 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150812230500 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V11010 |
|
||||||
*/ |
|
||||||
class Version20150812230500 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSettingCurrent( |
|
||||||
'allow_coach_feedback_exercises', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Session', |
|
||||||
'false', |
|
||||||
'AllowCoachFeedbackExercisesTitle', |
|
||||||
'AllowCoachFeedbackExercisesComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
['value' => 'true', 'text' => 'Yes'], |
|
||||||
['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$entityManage = $this->getEntityManager(); |
|
||||||
|
|
||||||
$deleteOptions = $entityManage->createQueryBuilder(); |
|
||||||
|
|
||||||
$deleteOptions->delete('ChamiloCoreBundle:SettingsOptions', 'o') |
|
||||||
->andWhere( |
|
||||||
$deleteOptions->expr()->in( |
|
||||||
'o.variable', |
|
||||||
[ |
|
||||||
'allow_coach_feedback_exercises' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteOptions->getQuery()->execute(); |
|
||||||
|
|
||||||
$deleteSettings = $entityManage->createQueryBuilder(); |
|
||||||
$deleteSettings->delete('ChamiloCoreBundle:SettingsCurrent', 's') |
|
||||||
->andWhere( |
|
||||||
$deleteSettings->expr()->in( |
|
||||||
's.variable', |
|
||||||
[ |
|
||||||
'allow_coach_feedback_exercises' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteSettings->getQuery()->execute(); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,166 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Calendar color |
|
||||||
*/ |
|
||||||
class Version20150813143000 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSettingCurrent( |
|
||||||
'prevent_multiple_simultaneous_login', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Security', |
|
||||||
'false', |
|
||||||
'PreventMultipleSimultaneousLoginTitle', |
|
||||||
'PreventMultipleSimultaneousLoginComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
false, |
|
||||||
true, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'gradebook_detailed_admin_view', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Gradebook', |
|
||||||
'false', |
|
||||||
'ShowAdditionalColumnsInStudentResultsPageTitle', |
|
||||||
'ShowAdditionalColumnsInStudentResultsPageComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'course_catalog_published', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Course', |
|
||||||
'false', |
|
||||||
'CourseCatalogIsPublicTitle', |
|
||||||
'CourseCatalogIsPublicComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
false, |
|
||||||
true, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'user_reset_password', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Security', |
|
||||||
'false', |
|
||||||
'ResetPasswordTokenTitle', |
|
||||||
'ResetPasswordTokenComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
false, |
|
||||||
true, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'user_reset_password_token_limit', |
|
||||||
null, |
|
||||||
'textfield', |
|
||||||
'Security', |
|
||||||
'3600', |
|
||||||
'ResetPasswordTokenLimitTitle', |
|
||||||
'ResetPasswordTokenLimitComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
false, |
|
||||||
true |
|
||||||
); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'my_courses_view_by_session', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Session', |
|
||||||
'false', |
|
||||||
'ViewMyCoursesListBySessionTitle', |
|
||||||
'ViewMyCoursesListBySessionComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$entityManage = $this->getEntityManager(); |
|
||||||
|
|
||||||
$deleteOptions = $entityManage->createQueryBuilder(); |
|
||||||
$deleteSettings = $entityManage->createQueryBuilder(); |
|
||||||
|
|
||||||
$deleteOptions->delete('ChamiloCoreBundle:SettingsOptions', 'o') |
|
||||||
->andWhere( |
|
||||||
$deleteOptions->expr()->in( |
|
||||||
'o.variable', |
|
||||||
[ |
|
||||||
'prevent_multiple_simultaneous_login', |
|
||||||
'gradebook_detailed_admin_view', |
|
||||||
'course_catalog_published', |
|
||||||
'user_reset_password', |
|
||||||
'user_reset_password_token_limit', |
|
||||||
'my_courses_view_by_session' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteOptions->getQuery()->execute(); |
|
||||||
|
|
||||||
$deleteSettings->delete('ChamiloCoreBundle:SettingsCurrent', 's') |
|
||||||
->andWhere( |
|
||||||
$deleteSettings->expr()->in( |
|
||||||
's.variable', |
|
||||||
[ |
|
||||||
'prevent_multiple_simultaneous_login', |
|
||||||
'gradebook_detailed_admin_view', |
|
||||||
'course_catalog_published', |
|
||||||
'user_reset_password', |
|
||||||
'my_courses_view_by_session' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteSettings->getQuery()->execute(); |
|
||||||
} |
|
||||||
} |
|
@ -1,71 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Calendar color |
|
||||||
*/ |
|
||||||
class Version20150813200000 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$entityManage = $this->getEntityManager(); |
|
||||||
|
|
||||||
$deleteOptions = $entityManage->createQueryBuilder(); |
|
||||||
$deleteSettings = $entityManage->createQueryBuilder(); |
|
||||||
|
|
||||||
$deleteOptions->delete('ChamiloCoreBundle:SettingsOptions', 'o') |
|
||||||
->andWhere( |
|
||||||
$deleteOptions->expr()->in( |
|
||||||
'o.variable', |
|
||||||
[ |
|
||||||
'math_mimetex' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteOptions->getQuery()->execute(); |
|
||||||
|
|
||||||
$deleteSettings->delete('ChamiloCoreBundle:SettingsCurrent', 's') |
|
||||||
->andWhere( |
|
||||||
$deleteSettings->expr()->in( |
|
||||||
's.variable', |
|
||||||
[ |
|
||||||
'math_mimetex' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteSettings->getQuery()->execute(); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSettingCurrent( |
|
||||||
'math_mimetex', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Editor', |
|
||||||
'false', |
|
||||||
'MathMimetexTitle', |
|
||||||
'MathMimetexComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
false, |
|
||||||
true, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
} |
|
||||||
} |
|
@ -1,45 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150819095300 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V11010 |
|
||||||
*/ |
|
||||||
class Version20150819095300 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$skillTable = $schema->getTable('skill'); |
|
||||||
|
|
||||||
$skillTable->addColumn( |
|
||||||
'status', |
|
||||||
\Doctrine\DBAL\Types\Type::INTEGER, |
|
||||||
['default' => 1] |
|
||||||
); |
|
||||||
$skillTable->addColumn( |
|
||||||
'updated_at', |
|
||||||
\Doctrine\DBAL\Types\Type::DATETIME |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$skillTable = $schema->getTable('skill'); |
|
||||||
$skillTable->dropColumn('status'); |
|
||||||
$skillTable->dropColumn('updated_at'); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,178 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Class Version20150821150000 |
|
||||||
* |
|
||||||
* @package Application\Migrations\Schema\V11010 |
|
||||||
*/ |
|
||||||
class Version20150821150000 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$entityManage = $this->getEntityManager(); |
|
||||||
|
|
||||||
$deleteOptions = $entityManage->createQueryBuilder(); |
|
||||||
$deleteSettings = $entityManage->createQueryBuilder(); |
|
||||||
|
|
||||||
$deleteOptions->delete('ChamiloCoreBundle:SettingsOptions', 'o') |
|
||||||
->andWhere( |
|
||||||
$deleteOptions->expr()->in( |
|
||||||
'o.variable', |
|
||||||
[ |
|
||||||
'display_mini_month_calendar' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteOptions->getQuery()->execute(); |
|
||||||
|
|
||||||
$deleteSettings->delete('ChamiloCoreBundle:SettingsCurrent', 's') |
|
||||||
->andWhere( |
|
||||||
$deleteSettings->expr()->in( |
|
||||||
's.variable', |
|
||||||
[ |
|
||||||
'display_mini_month_calendar' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteSettings->getQuery()->execute(); |
|
||||||
$deleteOptions->delete('ChamiloCoreBundle:SettingsOptions', 'o') |
|
||||||
->andWhere( |
|
||||||
$deleteOptions->expr()->in( |
|
||||||
'o.variable', |
|
||||||
[ |
|
||||||
'display_upcoming_events' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteOptions->getQuery()->execute(); |
|
||||||
|
|
||||||
$deleteSettings->delete('ChamiloCoreBundle:SettingsCurrent', 's') |
|
||||||
->andWhere( |
|
||||||
$deleteSettings->expr()->in( |
|
||||||
's.variable', |
|
||||||
[ |
|
||||||
'display_upcoming_events' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteSettings->getQuery()->execute(); |
|
||||||
$deleteSettings->delete('ChamiloCoreBundle:SettingsCurrent', 's') |
|
||||||
->andWhere( |
|
||||||
$deleteSettings->expr()->in( |
|
||||||
's.variable', |
|
||||||
[ |
|
||||||
'number_of_upcoming_events' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteSettings->getQuery()->execute(); |
|
||||||
|
|
||||||
$deleteOptions->delete('ChamiloCoreBundle:SettingsOptions', 'o') |
|
||||||
->andWhere( |
|
||||||
$deleteOptions->expr()->in( |
|
||||||
'o.variable', |
|
||||||
[ |
|
||||||
'allow_reservation' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteOptions->getQuery()->execute(); |
|
||||||
|
|
||||||
$deleteSettings->delete('ChamiloCoreBundle:SettingsCurrent', 's') |
|
||||||
->andWhere( |
|
||||||
$deleteSettings->expr()->in( |
|
||||||
's.variable', |
|
||||||
[ |
|
||||||
'allow_reservation' |
|
||||||
] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteSettings->getQuery()->execute(); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSettingCurrent( |
|
||||||
'display_mini_month_calendar', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
'true', |
|
||||||
'DisplayMiniMonthCalendarTitle', |
|
||||||
'DisplayMiniMonthCalendarComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
false, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'display_upcoming_events', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
'true', |
|
||||||
'DisplayUpcomingEventsTitle', |
|
||||||
'DisplayUpcomingEventsComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
false, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'number_of_upcoming_events', |
|
||||||
null, |
|
||||||
'textfield', |
|
||||||
'Tools', |
|
||||||
'1', |
|
||||||
'NumberOfUpcomingEventsTitle', |
|
||||||
'NumberOfUpcomingEventsComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
false, |
|
||||||
false |
|
||||||
); |
|
||||||
$this->addSettingCurrent( |
|
||||||
'allow_reservation', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Tools', |
|
||||||
'false', |
|
||||||
'AllowReservationTitle', |
|
||||||
'AllowReservationComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
true, |
|
||||||
false, |
|
||||||
[ |
|
||||||
0 => ['value' => 'true', 'text' => 'Yes'], |
|
||||||
1 => ['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,67 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Calendar color |
|
||||||
*/ |
|
||||||
class Version20150825141100 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSettingCurrent( |
|
||||||
'show_full_skill_name_on_skill_wheel', |
|
||||||
null, |
|
||||||
'radio', |
|
||||||
'Platform', |
|
||||||
'false', |
|
||||||
'ShowFullSkillNameOnSkillWheelTitle', |
|
||||||
'ShowFullSkillNameOnSkillWheelComment', |
|
||||||
null, |
|
||||||
null, |
|
||||||
1, |
|
||||||
false, |
|
||||||
true, |
|
||||||
[ |
|
||||||
['value' => 'true', 'text' => 'Yes'], |
|
||||||
['value' => 'false', 'text' => 'No'] |
|
||||||
] |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
$entityManage = $this->getEntityManager(); |
|
||||||
|
|
||||||
$deleteOptions = $entityManage->createQueryBuilder(); |
|
||||||
$deleteSettings = $entityManage->createQueryBuilder(); |
|
||||||
|
|
||||||
$deleteOptions->delete('ChamiloCoreBundle:SettingsOptions', 'o') |
|
||||||
->andWhere( |
|
||||||
$deleteOptions->expr()->in( |
|
||||||
'o.variable', |
|
||||||
['show_full_skill_name_on_skill_wheel'] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteOptions->getQuery()->execute(); |
|
||||||
|
|
||||||
$deleteSettings->delete('ChamiloCoreBundle:SettingsCurrent', 's') |
|
||||||
->andWhere( |
|
||||||
$deleteSettings->expr()->in( |
|
||||||
's.variable', |
|
||||||
['show_full_skill_name_on_skill_wheel'] |
|
||||||
) |
|
||||||
); |
|
||||||
$deleteSettings->getQuery()->execute(); |
|
||||||
} |
|
||||||
} |
|
@ -1,41 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Calendar color |
|
||||||
*/ |
|
||||||
class Version20151101082200 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("ALTER TABLE access_url ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE access_url_rel_course ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE course_rel_user ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE session_category ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE settings_current ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE settings_options ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE usergroup ENGINE=InnoDB"); |
|
||||||
$this->addSql("ALTER TABLE usergroup_rel_user ENGINE=InnoDB"); |
|
||||||
|
|
||||||
$this->addSql("ALTER TABLE session_rel_course DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE session_rel_course_rel_user DROP PRIMARY KEY"); |
|
||||||
$this->addSql("ALTER TABLE session MODIFY session_category_id INT NULL"); |
|
||||||
|
|
||||||
$this->addSql("UPDATE session SET session_category_id = NULL WHERE session_category_id NOT IN (SELECT id FROM session_category)"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
@ -1,312 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
use Doctrine\DBAL\Types\Type; |
|
||||||
|
|
||||||
/** |
|
||||||
* Calendar color |
|
||||||
*/ |
|
||||||
class Version20151101082300 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$accessUrl = $schema->getTable('access_url'); |
|
||||||
$accessUrl->getColumn('id')->setUnsigned(false); |
|
||||||
|
|
||||||
$this->connection->executeQuery('UPDATE access_url_rel_course SET access_url_id = NULL WHERE access_url_id NOT IN (SELECT id FROM access_url)'); |
|
||||||
|
|
||||||
$accessUrlRelCourse = $schema->getTable('access_url_rel_course'); |
|
||||||
$accessUrlRelCourse->getColumn('access_url_id')->setUnsigned(false); |
|
||||||
$accessUrlRelCourse->addForeignKeyConstraint('access_url', ['access_url_id'], ['id']); |
|
||||||
$accessUrlRelCourse->addForeignKeyConstraint('course', ['c_id'], ['id']); |
|
||||||
|
|
||||||
$schema->renameTable('class', 'class_item'); |
|
||||||
|
|
||||||
$classUser = $schema->getTable('class_user'); |
|
||||||
$classUser->getColumn('class_id')->setUnsigned(false); |
|
||||||
$classUser->getColumn('user_id')->setUnsigned(false); |
|
||||||
|
|
||||||
$course = $schema->getTable('course'); |
|
||||||
$course->getColumn('course_type_id')->setUnsigned(false); |
|
||||||
$course->addForeignKeyConstraint('room', ['room_id'], ['id']); |
|
||||||
|
|
||||||
$courseRelClass = $schema->getTable('course_rel_class'); |
|
||||||
$courseRelClass->getColumn('class_id')->setUnsigned(false)->setType(Type::getType(Type::INTEGER)); |
|
||||||
|
|
||||||
$courseRelUser = $schema->getTable('course_rel_user'); |
|
||||||
$courseRelUser->addForeignKeyConstraint('course', ['c_id'], ['id']); |
|
||||||
$courseRelUser->addForeignKeyConstraint('user', ['user_id'], ['id']); |
|
||||||
|
|
||||||
$courseType = $schema->getTable('course_type'); |
|
||||||
$courseType->getColumn('id')->setUnsigned(false); |
|
||||||
|
|
||||||
$schema->getTable('c_announcement')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_announcement_attachment')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_attendance')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_attendance_calendar')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cAttendanceCalendarRelGroup = $schema->getTable('c_attendance_calendar_rel_group'); |
|
||||||
$cAttendanceCalendarRelGroup->addIndex(['c_id']); |
|
||||||
$cAttendanceCalendarRelGroup->addIndex(['group_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_attendance_result')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cAttendanceSheet = $schema->getTable('c_attendance_sheet'); |
|
||||||
$cAttendanceSheet->addIndex(['c_id']); |
|
||||||
$cAttendanceSheet->addIndex(['user_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_attendance_sheet_log')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_blog')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_blog_attachment')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_blog_comment')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_blog_post')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_blog_rating')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cBlogRelUser = $schema->getTable('c_blog_rel_user'); |
|
||||||
$cBlogRelUser->getColumn('blog_id')->setUnsigned(false); |
|
||||||
$cBlogRelUser->getColumn('user_id')->setUnsigned(false); |
|
||||||
$cBlogRelUser->addIndex(['c_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_blog_task')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cBlogTaskRelUser = $schema->getTable('c_blog_task_rel_user'); |
|
||||||
$cBlogTaskRelUser->getColumn('blog_id')->setUnsigned(false); |
|
||||||
$cBlogTaskRelUser->getColumn('user_id')->setUnsigned(false); |
|
||||||
$cBlogTaskRelUser->getColumn('task_id')->setUnsigned(false); |
|
||||||
$cBlogTaskRelUser->addIndex(['c_id']); |
|
||||||
$cBlogTaskRelUser->addIndex(['user_id']); |
|
||||||
$cBlogTaskRelUser->addIndex(['task_id']); |
|
||||||
|
|
||||||
$cCalendarEvent = $schema->getTable('c_calendar_event'); |
|
||||||
$cCalendarEvent->addIndex(['c_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_calendar_event_attachment')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_calendar_event_repeat')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_calendar_event_repeat_not')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cChatConnected = $schema->getTable('c_chat_connected'); |
|
||||||
$cChatConnected->addIndex(['c_id']); |
|
||||||
$cChatConnected->addIndex(['user_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_course_setting')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_document')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_dropbox_category')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_dropbox_feedback')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_dropbox_file')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cDropboxPerson = $schema->getTable('c_dropbox_person'); |
|
||||||
$cDropboxPerson->addIndex(['c_id']); |
|
||||||
$cDropboxPerson->addIndex(['user_id']); |
|
||||||
|
|
||||||
$cDropboxPost = $schema->getTable('c_dropbox_post'); |
|
||||||
$cDropboxPost->addIndex(['c_id']); |
|
||||||
$cDropboxPost->addIndex(['dest_user_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_forum_attachment')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_forum_category')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_forum_forum')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cForumMailcue = $schema->getTable('c_forum_mailcue'); |
|
||||||
$cForumMailcue->addIndex(['c_id']); |
|
||||||
$cForumMailcue->addIndex(['thread_id']); |
|
||||||
$cForumMailcue->addIndex(['user_id']); |
|
||||||
$cForumMailcue->addIndex(['post_id']); |
|
||||||
|
|
||||||
$cForumNotification = $schema->getTable('c_forum_notification'); |
|
||||||
$cForumNotification->addIndex(['c_id']); |
|
||||||
$cForumNotification->addIndex(['thread_id']); |
|
||||||
$cForumNotification->addIndex(['post_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_forum_post')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_forum_thread')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_forum_thread_qualify')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_forum_thread_qualify_log')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_glossary')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_group_category')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_group_info')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_group_rel_tutor')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_group_rel_user')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_link')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_link_category')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_lp')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_lp_category')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_lp_item')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_lp_item_view')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_lp_iv_interaction')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_lp_iv_objective')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_lp_view')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_notebook')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_online_connected')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_online_link')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_permission_group')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_permission_task')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_permission_user')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_quiz')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_quiz_answer')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_quiz_question')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_quiz_question_category')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_quiz_question_option')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_quiz_question_rel_category')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cQuizRelQuestion = $schema->getTable('c_quiz_rel_question'); |
|
||||||
$cQuizRelQuestion->addIndex(['c_id']); |
|
||||||
$cQuizRelQuestion->addIndex(['question_id']); |
|
||||||
$cQuizRelQuestion->addIndex(['exercice_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_resource')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_role')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cRoleGroup = $schema->getTable('c_role_group'); |
|
||||||
$cRoleGroup->addIndex(['c_id']); |
|
||||||
$cRoleGroup->addIndex(['group_id']); |
|
||||||
|
|
||||||
$cRolePermissions = $schema->getTable('c_role_permissions'); |
|
||||||
$cRolePermissions->addIndex(['c_id']); |
|
||||||
$cRolePermissions->addIndex(['role_id']); |
|
||||||
|
|
||||||
$cRoleUser = $schema->getTable('c_role_user'); |
|
||||||
$cRoleUser->addIndex(['c_id']); |
|
||||||
$cRoleUser->addIndex(['user_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_student_publication')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_student_publication_assignment')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cStudentPublicationComment = $schema->getTable('c_student_publication_comment'); |
|
||||||
$cStudentPublicationComment->addIndex(['c_id']); |
|
||||||
$cStudentPublicationComment->addIndex(['user_id']); |
|
||||||
$cStudentPublicationComment->addIndex(['work_id']); |
|
||||||
|
|
||||||
$cStudentPublicationComment = $schema->getTable('c_student_publication_rel_document'); |
|
||||||
$cStudentPublicationComment->addIndex(['c_id']); |
|
||||||
$cStudentPublicationComment->addIndex(['work_id']); |
|
||||||
$cStudentPublicationComment->addIndex(['document_id']); |
|
||||||
|
|
||||||
$cStudentPublicationComment = $schema->getTable('c_student_publication_rel_user'); |
|
||||||
$cStudentPublicationComment->addIndex(['c_id']); |
|
||||||
$cStudentPublicationComment->addIndex(['work_id']); |
|
||||||
$cStudentPublicationComment->addIndex(['user_id']); |
|
||||||
|
|
||||||
$schema->getTable('c_survey')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_survey_answer')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_survey_group')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_survey_invitation')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_survey_question')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_survey_question_option')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_thematic')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_thematic_advance')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_thematic_plan')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_tool')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_tool_intro')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_userinfo_content')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_userinfo_def')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_wiki')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_wiki_conf')->addIndex(['c_id']); |
|
||||||
$schema->getTable('c_wiki_discuss')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$cWikiMailcue = $schema->getTable('c_wiki_mailcue'); |
|
||||||
$cWikiMailcue->addIndex(['c_id']); |
|
||||||
$cWikiMailcue->addIndex(['user_id']); |
|
||||||
|
|
||||||
$schema->getTable('extra_field_values')->addForeignKeyConstraint('extra_field', ['field_id'], ['id']); |
|
||||||
|
|
||||||
$session = $schema->getTable('session'); |
|
||||||
$session->getColumn('id_coach')->setUnsigned(false); |
|
||||||
$session->addIndex(['session_category_id']); |
|
||||||
$session->addIndex(['id_coach']); |
|
||||||
$session->addForeignKeyConstraint('session_category', ['session_category_id'], ['id']); |
|
||||||
$session->addForeignKeyConstraint('user', ['id_coach'], ['id']); |
|
||||||
|
|
||||||
$this->connection->executeQuery('UPDATE session_category SET access_url_id = 1 WHERE access_url_id NOT IN (SELECT id FROM access_url)'); |
|
||||||
|
|
||||||
$sessionCategory = $schema->getTable('session_category'); |
|
||||||
$sessionCategory->addIndex(['access_url_id']); |
|
||||||
$sessionCategory->addForeignKeyConstraint('access_url', ['access_url_id'], ['id']); |
|
||||||
|
|
||||||
$sessionRelCourse = $schema->getTable('session_rel_course'); |
|
||||||
$sessionRelCourse->dropColumn('course_code'); |
|
||||||
$sessionRelCourse->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sessionRelCourse->getColumn('c_id')->setUnsigned(false); |
|
||||||
$sessionRelCourse->setPrimaryKey(['id']); |
|
||||||
$sessionRelCourse->addIndex(['c_id']); |
|
||||||
$sessionRelCourse->addIndex(['session_id']); |
|
||||||
$sessionRelCourse->addForeignKeyConstraint('course', ['c_id'], ['id']); |
|
||||||
$sessionRelCourse->addForeignKeyConstraint('session', ['session_id'], ['id']); |
|
||||||
|
|
||||||
$this->connection->executeQuery('DELETE FROM session_rel_course_rel_user WHERE c_id NOT IN (SELECT id FROM course)'); |
|
||||||
$this->connection->executeQuery('DELETE FROM session_rel_course_rel_user WHERE session_id NOT IN (SELECT id FROM session)'); |
|
||||||
$this->connection->executeQuery('DELETE FROM session_rel_course_rel_user WHERE user_id NOT IN (SELECT id FROM user)'); |
|
||||||
|
|
||||||
$sessionRelCourseRelUser = $schema->getTable('session_rel_course_rel_user'); |
|
||||||
$sessionRelCourseRelUser->dropColumn('course_code'); |
|
||||||
$sessionRelCourseRelUser->addColumn('id', Type::INTEGER)->setAutoincrement(true); |
|
||||||
$sessionRelCourseRelUser->getColumn('c_id')->setUnsigned(false); |
|
||||||
$sessionRelCourseRelUser->setPrimaryKey(['id']); |
|
||||||
$sessionRelCourseRelUser->addIndex(['c_id']); |
|
||||||
$sessionRelCourseRelUser->addIndex(['session_id']); |
|
||||||
$sessionRelCourseRelUser->addForeignKeyConstraint('course', ['c_id'], ['id']); |
|
||||||
$sessionRelCourseRelUser->addForeignKeyConstraint('session', ['session_id'], ['id']); |
|
||||||
$sessionRelCourseRelUser->addForeignKeyConstraint('user', ['user_id'], ['id']); |
|
||||||
|
|
||||||
$this->connection->executeQuery('DELETE FROM session_rel_user WHERE user_id NOT IN (SELECT id FROM user)'); |
|
||||||
$this->connection->executeQuery('DELETE FROM session_rel_user WHERE session_id NOT IN (SELECT id FROM session)'); |
|
||||||
|
|
||||||
$sessionRelUser = $schema->getTable('session_rel_user'); |
|
||||||
$sessionRelUser->addColumn('moved_to', Type::INTEGER)->setNotnull(false); |
|
||||||
$sessionRelUser->addColumn('moved_status', Type::INTEGER)->setNotnull(false); |
|
||||||
$sessionRelUser->addColumn('moved_at', Type::DATETIME)->setNotnull(false); |
|
||||||
$sessionRelUser->addIndex(['session_id']); |
|
||||||
$sessionRelUser->addIndex(['user_id']); |
|
||||||
$sessionRelUser->addIndex(['user_id', 'moved_to']); |
|
||||||
$sessionRelUser->addForeignKeyConstraint('user', ['user_id'], ['id']); |
|
||||||
$sessionRelUser->addForeignKeyConstraint('session', ['session_id'], ['id']); |
|
||||||
|
|
||||||
$settingsCurrent = $schema->getTable('settings_current'); |
|
||||||
$settingsCurrent->addUniqueIndex(['variable', 'subkey', 'access_url']); |
|
||||||
|
|
||||||
$settingsCurrent = $schema->getTable('settings_options'); |
|
||||||
$settingsCurrent->dropIndex('id'); |
|
||||||
$settingsCurrent->addUniqueIndex(['variable', 'value']); |
|
||||||
|
|
||||||
$schema->getTable('track_e_access')->addIndex(['c_id']); |
|
||||||
$schema->getTable('track_e_attempt')->addIndex(['c_id']); |
|
||||||
$schema->getTable('track_e_course_access')->addIndex(['c_id']); |
|
||||||
|
|
||||||
$trackEDefault = $schema->getTable('track_e_default'); |
|
||||||
$trackEDefault->addIndex(['c_id']); |
|
||||||
$trackEDefault->addIndex(['session_id']); |
|
||||||
|
|
||||||
$schema->getTable('track_e_downloads')->addIndex(['c_id']); |
|
||||||
$schema->getTable('track_e_exercises')->addIndex(['c_id']); |
|
||||||
$schema->getTable('track_e_hotpotatoes')->addIndex(['c_id']); |
|
||||||
$schema->getTable('track_e_lastaccess')->addIndex(['c_id']); |
|
||||||
$schema->getTable('track_e_links')->addIndex(['c_id']); |
|
||||||
$schema->getTable('track_e_online')->addIndex(['c_id']); |
|
||||||
$schema->getTable('track_e_uploads')->addIndex(['c_id']); |
|
||||||
$schema->getTable('user')->addUniqueIndex(['username_canonical']); |
|
||||||
|
|
||||||
$this->connection->executeQuery('DELETE FROM usergroup_rel_user WHERE user_id NOT IN (SELECT id FROM user)'); |
|
||||||
$this->connection->executeQuery('DELETE FROM usergroup_rel_user WHERE usergroup_id NOT IN (SELECT id FROM usergroup)'); |
|
||||||
|
|
||||||
$usergroupRelUSer = $schema->getTable('usergroup_rel_user'); |
|
||||||
$usergroupRelUSer->addIndex(['user_id']); |
|
||||||
$usergroupRelUSer->addIndex(['usergroup_id']); |
|
||||||
$usergroupRelUSer->addForeignKeyConstraint('usergroup', ['usergroup_id'], ['id']); |
|
||||||
$usergroupRelUSer->addForeignKeyConstraint('user', ['user_id'], ['id']); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
@ -1,34 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
use Doctrine\DBAL\Types\Type; |
|
||||||
|
|
||||||
/** |
|
||||||
* Add new indexes |
|
||||||
*/ |
|
||||||
class Version20151119082400 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$user = $schema->getTable('user'); |
|
||||||
$user->addIndex(['user_id']); |
|
||||||
|
|
||||||
$userRelTag = $schema->getTable('user_rel_tag'); |
|
||||||
$userRelTag->addIndex(['user_id']); |
|
||||||
$userRelTag->addIndex(['tag_id']); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
@ -1,32 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Add indexes |
|
||||||
*/ |
|
||||||
class Version20151214164000 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$extraFieldValueTable = $schema->getTable('extra_field_values'); |
|
||||||
$extraFieldValueTable->addIndex(['field_id', 'item_id']); |
|
||||||
|
|
||||||
$extraFieldTable = $schema->getTable('extra_field'); |
|
||||||
$extraFieldTable->addIndex(['extra_field_type']); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
@ -1,129 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
use Doctrine\DBAL\Types\Type; |
|
||||||
|
|
||||||
/** |
|
||||||
* Fix track_e_hotspot table and migrate hotspot/values |
|
||||||
* In the wake of an issue with the hotspot code not being possible to update without moving from AS2 to AS3 (Flash), we |
|
||||||
* have decided to rewrite the hotspot tool in JS. |
|
||||||
* Little did we know that we would find out that the coordinates system in use by the Flash version of hotspot was in |
|
||||||
* fact a projection into a square form of 360x360, not depending on the original size of the image, and that a square |
|
||||||
* was defined by its center's coordinates and its width, with an initial not-null margin on the left and top borders. |
|
||||||
* The migration below fixes those parallax issues. |
|
||||||
*/ |
|
||||||
class Version20151214170800 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql("ALTER TABLE track_e_hotspot ADD c_id INT NULL"); |
|
||||||
$this->addSql("ALTER TABLE track_e_hotspot MODIFY COLUMN hotspot_coordinate LONGTEXT NOT NULL"); |
|
||||||
$this->addSql("UPDATE track_e_hotspot SET c_id = (SELECT id FROM course WHERE code = hotspot_course_code)"); |
|
||||||
|
|
||||||
$answers = $this->connection->fetchAll(" |
|
||||||
SELECT a.iid, a.c_id, a.question_id, a.hotspot_coordinates, a.hotspot_type, q.picture, c.directory |
|
||||||
FROM c_quiz_answer a |
|
||||||
INNER JOIN c_quiz_question q |
|
||||||
ON a.question_id = q.id |
|
||||||
INNER JOIN course c |
|
||||||
ON (a.c_id = c.id AND q.c_id = c.id) |
|
||||||
WHERE a.hotspot_type IN ('square', 'circle', 'poly', 'delineation', 'oar') |
|
||||||
"); |
|
||||||
|
|
||||||
foreach ($answers as $answer) { |
|
||||||
// Recover the real image size to recalculate coordinates |
|
||||||
$imagePath = api_get_path(SYS_PATH) . "courses/{$answer['directory']}/document/images/{$answer['picture']}"; |
|
||||||
$imageSize = getimagesize($imagePath); |
|
||||||
$widthRatio = $imageSize[0] / 360; |
|
||||||
$heightRatio = $imageSize[1] / 360; |
|
||||||
$oldCoords = $answer['hotspot_coordinates']; |
|
||||||
$oldPairedString = explode('|', $oldCoords); |
|
||||||
$newPairedString = []; |
|
||||||
|
|
||||||
switch ($answer['hotspot_type']) { |
|
||||||
case 'square': |
|
||||||
$oldCenter = explode(';', $oldPairedString[0]); |
|
||||||
|
|
||||||
$oldCenterX = intval($oldCenter[0]); |
|
||||||
$oldCenterY = intval($oldCenter[1]); |
|
||||||
$oldWidth = intval($oldPairedString[1]); |
|
||||||
$oldHeight = intval($oldPairedString[2]); |
|
||||||
|
|
||||||
$newX = floor(($oldCenterX - $oldWidth / 2) * $widthRatio) + ceil($widthRatio); |
|
||||||
$newY = floor(($oldCenterY - $oldHeight / 2) * $heightRatio) + ceil($heightRatio); |
|
||||||
$newWidth = ceil($oldWidth * $widthRatio) + ceil(1 * $heightRatio); |
|
||||||
$newHeight = ceil($oldHeight * $heightRatio) + floor(1 * $heightRatio); |
|
||||||
|
|
||||||
$newPairedString[] = implode(';', [$newX, $newY]); |
|
||||||
$newPairedString[] = $newWidth; |
|
||||||
$newPairedString[] = $newHeight; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'circle': |
|
||||||
$oldCenter = explode(';', $oldPairedString[0]); |
|
||||||
|
|
||||||
$oldCenterX = intval($oldCenter[0]); |
|
||||||
$oldCenterY = intval($oldCenter[1]); |
|
||||||
$oldRadiusX = intval($oldPairedString[1]) / 2; |
|
||||||
$oldRadiusY = intval($oldPairedString[2]) / 2; |
|
||||||
|
|
||||||
$newCenterX = floor($oldCenterX * $widthRatio) + ceil($widthRatio); |
|
||||||
$newCenterY = floor($oldCenterY * $heightRatio) + ceil($heightRatio); |
|
||||||
$newRadiusX = floor($oldRadiusX * $widthRatio); |
|
||||||
$newRadiusY = floor($oldRadiusY * $heightRatio); |
|
||||||
|
|
||||||
$newPairedString[] = implode(';', [$newCenterX, $newCenterY]); |
|
||||||
$newPairedString[] = $newRadiusX; |
|
||||||
$newPairedString[] = $newRadiusY; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'poly': |
|
||||||
//no break; |
|
||||||
case 'delineation': |
|
||||||
//no break |
|
||||||
case 'oar': |
|
||||||
$paired = []; |
|
||||||
|
|
||||||
foreach ($oldPairedString as $pairString) { |
|
||||||
$pair = explode(';', $pairString); |
|
||||||
$x = isset($pair[0]) ? intval($pair[0]) : 0; |
|
||||||
$y = isset($pair[1]) ? intval($pair[1]) : 0; |
|
||||||
|
|
||||||
$paired[] = [$x, $y]; |
|
||||||
} |
|
||||||
|
|
||||||
foreach ($paired as $pair) { |
|
||||||
$x = floor($pair[0] * $widthRatio) + ceil($widthRatio); |
|
||||||
$y = ceil($pair[1] * $heightRatio); |
|
||||||
|
|
||||||
$newPairedString[] = implode(';', [$x, $y]); |
|
||||||
} |
|
||||||
break; |
|
||||||
} |
|
||||||
|
|
||||||
$stmt = $this->connection->prepare(" |
|
||||||
UPDATE c_quiz_answer |
|
||||||
SET hotspot_coordinates = :coordinates |
|
||||||
WHERE iid = :iid AND c_id = :cid |
|
||||||
"); |
|
||||||
$stmt->bindValue('coordinates', implode('|', $newPairedString), Type::TEXT); |
|
||||||
$stmt->bindValue('iid', $answer['iid'], Type::INTEGER); |
|
||||||
$stmt->bindValue('cid', $answer['c_id'], Type::INTEGER); |
|
||||||
$stmt->execute(); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
@ -1,52 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Fix c_quiz_answer's correct field for id_auto |
|
||||||
*/ |
|
||||||
class Version20151221150100 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql(" |
|
||||||
UPDATE track_e_attempt a |
|
||||||
INNER JOIN c_quiz_answer qa |
|
||||||
ON a.question_id = qa.question_id |
|
||||||
INNER JOIN c_quiz_question q |
|
||||||
ON qa.question_id = q.id |
|
||||||
SET a.answer = qa.id_auto |
|
||||||
WHERE |
|
||||||
a.answer = qa.id AND |
|
||||||
q.c_id = a.c_id AND |
|
||||||
q.type IN (" . MATCHING . ", " . DRAGGABLE . ", " . MATCHING_DRAGGABLE . ") |
|
||||||
"); |
|
||||||
|
|
||||||
$this->addSql(" |
|
||||||
UPDATE c_quiz_answer a |
|
||||||
INNER JOIN c_quiz_answer b |
|
||||||
ON a.question_id = b.question_id |
|
||||||
INNER JOIN c_quiz_question q |
|
||||||
ON b.question_id = q.id |
|
||||||
SET a.correct = b.id_auto |
|
||||||
WHERE |
|
||||||
a.correct = b.id AND |
|
||||||
q.c_id = a.c_id AND |
|
||||||
q.type IN (" . MATCHING . ", " . DRAGGABLE . ", " . MATCHING_DRAGGABLE . ") |
|
||||||
"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
@ -1,29 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
|
|
||||||
namespace Application\Migrations\Schema\V110; |
|
||||||
|
|
||||||
use Application\Migrations\AbstractMigrationChamilo; |
|
||||||
use Doctrine\DBAL\Schema\Schema; |
|
||||||
|
|
||||||
/** |
|
||||||
* Fix c_quiz_answer's correct field for id_auto |
|
||||||
*/ |
|
||||||
class Version20160707131900 extends AbstractMigrationChamilo |
|
||||||
{ |
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function up(Schema $schema) |
|
||||||
{ |
|
||||||
$this->addSql(" |
|
||||||
ALTER TABLE c_quiz_answer ADD INDEX idx_cqa_q (question_id)"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @param Schema $schema |
|
||||||
*/ |
|
||||||
public function down(Schema $schema) |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue