diff --git a/app/Migrations/Schema/V110/Version110.php b/app/Migrations/Schema/V110/Version110.php deleted file mode 100644 index 4b16563620..0000000000 --- a/app/Migrations/Schema/V110/Version110.php +++ /dev/null @@ -1,612 +0,0 @@ -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) - { - } -} diff --git a/app/Migrations/Schema/V110/Version20150423093100.php b/app/Migrations/Schema/V110/Version20150423093100.php deleted file mode 100644 index 75dfd3e8d3..0000000000 --- a/app/Migrations/Schema/V110/Version20150423093100.php +++ /dev/null @@ -1,181 +0,0 @@ -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) - { - } -} diff --git a/app/Migrations/Schema/V110/Version20150504182600.php b/app/Migrations/Schema/V110/Version20150504182600.php deleted file mode 100644 index 08e48bb68b..0000000000 --- a/app/Migrations/Schema/V110/Version20150504182600.php +++ /dev/null @@ -1,77 +0,0 @@ -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') - "); - } -} diff --git a/app/Migrations/Schema/V110/Version20150505132304.php b/app/Migrations/Schema/V110/Version20150505132304.php deleted file mode 100644 index 287576f628..0000000000 --- a/app/Migrations/Schema/V110/Version20150505132304.php +++ /dev/null @@ -1,64 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150505142900.php b/app/Migrations/Schema/V110/Version20150505142900.php deleted file mode 100644 index 45762b49ca..0000000000 --- a/app/Migrations/Schema/V110/Version20150505142900.php +++ /dev/null @@ -1,77 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150507152600.php b/app/Migrations/Schema/V110/Version20150507152600.php deleted file mode 100644 index a28b46290d..0000000000 --- a/app/Migrations/Schema/V110/Version20150507152600.php +++ /dev/null @@ -1,242 +0,0 @@ -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') - "); - } -} diff --git a/app/Migrations/Schema/V110/Version20150511133949.php b/app/Migrations/Schema/V110/Version20150511133949.php deleted file mode 100644 index 222888187a..0000000000 --- a/app/Migrations/Schema/V110/Version20150511133949.php +++ /dev/null @@ -1,43 +0,0 @@ -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" '); - } -} diff --git a/app/Migrations/Schema/V110/Version20150519153200.php b/app/Migrations/Schema/V110/Version20150519153200.php deleted file mode 100644 index 5429a89152..0000000000 --- a/app/Migrations/Schema/V110/Version20150519153200.php +++ /dev/null @@ -1,29 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150521113600.php b/app/Migrations/Schema/V110/Version20150521113600.php deleted file mode 100644 index 4ea3e0c2d9..0000000000 --- a/app/Migrations/Schema/V110/Version20150521113600.php +++ /dev/null @@ -1,31 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150522112023.php b/app/Migrations/Schema/V110/Version20150522112023.php deleted file mode 100644 index 7325186fb1..0000000000 --- a/app/Migrations/Schema/V110/Version20150522112023.php +++ /dev/null @@ -1,49 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150522222222.php b/app/Migrations/Schema/V110/Version20150522222222.php deleted file mode 100644 index 1f5c3cb36a..0000000000 --- a/app/Migrations/Schema/V110/Version20150522222222.php +++ /dev/null @@ -1,821 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150527101600.php b/app/Migrations/Schema/V110/Version20150527101600.php deleted file mode 100644 index 7b2735b07f..0000000000 --- a/app/Migrations/Schema/V110/Version20150527101600.php +++ /dev/null @@ -1,55 +0,0 @@ - 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'"); - } -} diff --git a/app/Migrations/Schema/V110/Version20150527114220.php b/app/Migrations/Schema/V110/Version20150527114220.php deleted file mode 100644 index c09e262b02..0000000000 --- a/app/Migrations/Schema/V110/Version20150527114220.php +++ /dev/null @@ -1,33 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150527120703.php b/app/Migrations/Schema/V110/Version20150527120703.php deleted file mode 100644 index 5cb05d3d04..0000000000 --- a/app/Migrations/Schema/V110/Version20150527120703.php +++ /dev/null @@ -1,31 +0,0 @@ - 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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150528103216.php b/app/Migrations/Schema/V110/Version20150528103216.php deleted file mode 100644 index 0b96035fb2..0000000000 --- a/app/Migrations/Schema/V110/Version20150528103216.php +++ /dev/null @@ -1,76 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150529164400.php b/app/Migrations/Schema/V110/Version20150529164400.php deleted file mode 100644 index 12e9a5cd4a..0000000000 --- a/app/Migrations/Schema/V110/Version20150529164400.php +++ /dev/null @@ -1,67 +0,0 @@ -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'); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150603142550.php b/app/Migrations/Schema/V110/Version20150603142550.php deleted file mode 100644 index 81ac671cc1..0000000000 --- a/app/Migrations/Schema/V110/Version20150603142550.php +++ /dev/null @@ -1,70 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150603151200.php b/app/Migrations/Schema/V110/Version20150603151200.php deleted file mode 100644 index 66eb5c6799..0000000000 --- a/app/Migrations/Schema/V110/Version20150603151200.php +++ /dev/null @@ -1,32 +0,0 @@ -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'); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150603181728.php b/app/Migrations/Schema/V110/Version20150603181728.php deleted file mode 100644 index b0d5e839df..0000000000 --- a/app/Migrations/Schema/V110/Version20150603181728.php +++ /dev/null @@ -1,101 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150604145047.php b/app/Migrations/Schema/V110/Version20150604145047.php deleted file mode 100644 index 985170c882..0000000000 --- a/app/Migrations/Schema/V110/Version20150604145047.php +++ /dev/null @@ -1,29 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150608104600.php b/app/Migrations/Schema/V110/Version20150608104600.php deleted file mode 100644 index f25e7ee883..0000000000 --- a/app/Migrations/Schema/V110/Version20150608104600.php +++ /dev/null @@ -1,70 +0,0 @@ -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'); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150609113500.php b/app/Migrations/Schema/V110/Version20150609113500.php deleted file mode 100644 index d87d7ab1a5..0000000000 --- a/app/Migrations/Schema/V110/Version20150609113500.php +++ /dev/null @@ -1,35 +0,0 @@ -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"); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150610143426.php b/app/Migrations/Schema/V110/Version20150610143426.php deleted file mode 100644 index 619eb0fcc3..0000000000 --- a/app/Migrations/Schema/V110/Version20150610143426.php +++ /dev/null @@ -1,29 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150615171900.php b/app/Migrations/Schema/V110/Version20150615171900.php deleted file mode 100644 index 626f286990..0000000000 --- a/app/Migrations/Schema/V110/Version20150615171900.php +++ /dev/null @@ -1,34 +0,0 @@ - - */ -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'); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150616093200.php b/app/Migrations/Schema/V110/Version20150616093200.php deleted file mode 100644 index 9a5690fcd1..0000000000 --- a/app/Migrations/Schema/V110/Version20150616093200.php +++ /dev/null @@ -1,35 +0,0 @@ -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"); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150624164100.php b/app/Migrations/Schema/V110/Version20150624164100.php deleted file mode 100644 index 81838ed80b..0000000000 --- a/app/Migrations/Schema/V110/Version20150624164100.php +++ /dev/null @@ -1,35 +0,0 @@ -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"); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150625155000.php b/app/Migrations/Schema/V110/Version20150625155000.php deleted file mode 100644 index 2a1a328099..0000000000 --- a/app/Migrations/Schema/V110/Version20150625155000.php +++ /dev/null @@ -1,35 +0,0 @@ -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"); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150706135000.php b/app/Migrations/Schema/V110/Version20150706135000.php deleted file mode 100644 index 856baf5acb..0000000000 --- a/app/Migrations/Schema/V110/Version20150706135000.php +++ /dev/null @@ -1,36 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150709083710.php b/app/Migrations/Schema/V110/Version20150709083710.php deleted file mode 100644 index 583664e99f..0000000000 --- a/app/Migrations/Schema/V110/Version20150709083710.php +++ /dev/null @@ -1,29 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150713132630.php b/app/Migrations/Schema/V110/Version20150713132630.php deleted file mode 100644 index d9618ef65b..0000000000 --- a/app/Migrations/Schema/V110/Version20150713132630.php +++ /dev/null @@ -1,35 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150803163400.php b/app/Migrations/Schema/V110/Version20150803163400.php deleted file mode 100644 index c8fd3b0895..0000000000 --- a/app/Migrations/Schema/V110/Version20150803163400.php +++ /dev/null @@ -1,111 +0,0 @@ -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(); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150803171220.php b/app/Migrations/Schema/V110/Version20150803171220.php deleted file mode 100644 index 3ad80cca8e..0000000000 --- a/app/Migrations/Schema/V110/Version20150803171220.php +++ /dev/null @@ -1,37 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150805161000.php b/app/Migrations/Schema/V110/Version20150805161000.php deleted file mode 100644 index 1870f719a8..0000000000 --- a/app/Migrations/Schema/V110/Version20150805161000.php +++ /dev/null @@ -1,40 +0,0 @@ -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'); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150810132615.php b/app/Migrations/Schema/V110/Version20150810132615.php deleted file mode 100644 index 589ccdc6c5..0000000000 --- a/app/Migrations/Schema/V110/Version20150810132615.php +++ /dev/null @@ -1,29 +0,0 @@ -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'); - } -} diff --git a/app/Migrations/Schema/V110/Version20150812230500.php b/app/Migrations/Schema/V110/Version20150812230500.php deleted file mode 100644 index d9cfd0cbaf..0000000000 --- a/app/Migrations/Schema/V110/Version20150812230500.php +++ /dev/null @@ -1,75 +0,0 @@ -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(); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150813143000.php b/app/Migrations/Schema/V110/Version20150813143000.php deleted file mode 100644 index f80730171e..0000000000 --- a/app/Migrations/Schema/V110/Version20150813143000.php +++ /dev/null @@ -1,166 +0,0 @@ -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(); - } -} diff --git a/app/Migrations/Schema/V110/Version20150813200000.php b/app/Migrations/Schema/V110/Version20150813200000.php deleted file mode 100644 index ac2cf47ab6..0000000000 --- a/app/Migrations/Schema/V110/Version20150813200000.php +++ /dev/null @@ -1,71 +0,0 @@ -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'] - ] - ); - } -} diff --git a/app/Migrations/Schema/V110/Version20150819095300.php b/app/Migrations/Schema/V110/Version20150819095300.php deleted file mode 100644 index 349782966b..0000000000 --- a/app/Migrations/Schema/V110/Version20150819095300.php +++ /dev/null @@ -1,45 +0,0 @@ -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'); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150821150000.php b/app/Migrations/Schema/V110/Version20150821150000.php deleted file mode 100644 index c5a0c5ba0d..0000000000 --- a/app/Migrations/Schema/V110/Version20150821150000.php +++ /dev/null @@ -1,178 +0,0 @@ -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'] - ] - ); - } - -} diff --git a/app/Migrations/Schema/V110/Version20150825141100.php b/app/Migrations/Schema/V110/Version20150825141100.php deleted file mode 100644 index 242a183c2e..0000000000 --- a/app/Migrations/Schema/V110/Version20150825141100.php +++ /dev/null @@ -1,67 +0,0 @@ -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(); - } -} diff --git a/app/Migrations/Schema/V110/Version20151101082200.php b/app/Migrations/Schema/V110/Version20151101082200.php deleted file mode 100644 index a140f6a97b..0000000000 --- a/app/Migrations/Schema/V110/Version20151101082200.php +++ /dev/null @@ -1,41 +0,0 @@ -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) - { - } -} diff --git a/app/Migrations/Schema/V110/Version20151101082300.php b/app/Migrations/Schema/V110/Version20151101082300.php deleted file mode 100644 index 476ad1edc4..0000000000 --- a/app/Migrations/Schema/V110/Version20151101082300.php +++ /dev/null @@ -1,312 +0,0 @@ -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) - { - } -} diff --git a/app/Migrations/Schema/V110/Version20151119082400.php b/app/Migrations/Schema/V110/Version20151119082400.php deleted file mode 100644 index 34ef8a280b..0000000000 --- a/app/Migrations/Schema/V110/Version20151119082400.php +++ /dev/null @@ -1,34 +0,0 @@ -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) - { - } -} diff --git a/app/Migrations/Schema/V110/Version20151214164000.php b/app/Migrations/Schema/V110/Version20151214164000.php deleted file mode 100644 index 2da7d565e1..0000000000 --- a/app/Migrations/Schema/V110/Version20151214164000.php +++ /dev/null @@ -1,32 +0,0 @@ -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) - { - } -} diff --git a/app/Migrations/Schema/V110/Version20151214170800.php b/app/Migrations/Schema/V110/Version20151214170800.php deleted file mode 100644 index 4ec3e2effc..0000000000 --- a/app/Migrations/Schema/V110/Version20151214170800.php +++ /dev/null @@ -1,129 +0,0 @@ -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) - { - } -} diff --git a/app/Migrations/Schema/V110/Version20151221150100.php b/app/Migrations/Schema/V110/Version20151221150100.php deleted file mode 100644 index db9aeb051e..0000000000 --- a/app/Migrations/Schema/V110/Version20151221150100.php +++ /dev/null @@ -1,52 +0,0 @@ -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) - { - } -} diff --git a/app/Migrations/Schema/V110/Version20160707131900.php b/app/Migrations/Schema/V110/Version20160707131900.php deleted file mode 100644 index 436dd0ff06..0000000000 --- a/app/Migrations/Schema/V110/Version20160707131900.php +++ /dev/null @@ -1,29 +0,0 @@ -addSql(" - ALTER TABLE c_quiz_answer ADD INDEX idx_cqa_q (question_id)"); - } - - /** - * @param Schema $schema - */ - public function down(Schema $schema) - { - } -}