|
|
|
@ -3,14 +3,14 @@ |
|
|
|
|
|
|
|
|
|
namespace Chamilo\CoreBundle\Migrations\Schema\v1; |
|
|
|
|
|
|
|
|
|
use Doctrine\DBAL\Migrations\AbstractMigration, |
|
|
|
|
use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo, |
|
|
|
|
Doctrine\DBAL\Schema\Schema; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Class Core |
|
|
|
|
* @package Chamilo\CoreBundle\Migrations\Schema\v1 |
|
|
|
|
*/ |
|
|
|
|
class Version110 extends AbstractMigration |
|
|
|
|
class Version110 extends AbstractMigrationChamilo |
|
|
|
|
{ |
|
|
|
|
/** |
|
|
|
|
* @param Schema $schema |
|
|
|
@ -306,7 +306,6 @@ class Version110 extends AbstractMigration |
|
|
|
|
$this->addSql("ALTER TABLE c_quiz_question_rel_category DROP PRIMARY KEY"); |
|
|
|
|
$this->addSql("ALTER TABLE c_quiz_question_rel_category ADD COLUMN iid int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$this->addSql("ALTER TABLE session_rel_user MODIFY COLUMN id_session int unsigned DEFAULT NULL"); |
|
|
|
|
$this->addSql("ALTER TABLE session_rel_user MODIFY COLUMN id_user int unsigned DEFAULT NULL"); |
|
|
|
|
|
|
|
|
@ -324,7 +323,6 @@ class Version110 extends AbstractMigration |
|
|
|
|
$table = $schema->getTable('c_item_property'); |
|
|
|
|
$table->renameColumn('id_session', 'session_id'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$this->addSql("ALTER TABLE session_rel_user DROP PRIMARY KEY"); |
|
|
|
|
$this->addSql("ALTER TABLE session_rel_user ADD COLUMN id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT"); |
|
|
|
|
|
|
|
|
@ -441,6 +439,12 @@ class Version110 extends AbstractMigration |
|
|
|
|
$this->addSql("DELETE FROM settings_options WHERE variable = 'show_glossary_in_extra_tools'"); |
|
|
|
|
|
|
|
|
|
$schema->renameTable('track_e_exercices', 'track_e_exercises'); |
|
|
|
|
|
|
|
|
|
$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("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'"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function postUp(Schema $schema) |
|
|
|
@ -462,6 +466,158 @@ class Version110 extends AbstractMigration |
|
|
|
|
$this->addSql("DROP TABLE track_c_providers"); |
|
|
|
|
$this->addSql("DROP TABLE track_c_referers"); |
|
|
|
|
|
|
|
|
|
// Fix ids |
|
|
|
|
/* |
|
|
|
|
// Fix c_lp_item |
|
|
|
|
$connection = $this->connection; |
|
|
|
|
|
|
|
|
|
$sql = "SELECT * FROM c_lp_item"; |
|
|
|
|
$result = $connection->fetchAll($sql); |
|
|
|
|
foreach ($result as $item) { |
|
|
|
|
$courseId = $item['c_id']; |
|
|
|
|
$iid = $item['iid']; |
|
|
|
|
$ref = $item['ref']; |
|
|
|
|
$sql = null; |
|
|
|
|
|
|
|
|
|
switch ($item['item_type']) { |
|
|
|
|
case TOOL_LINK: |
|
|
|
|
$sql = "SELECT * c_link WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_STUDENTPUBLICATION: |
|
|
|
|
$sql = "SELECT * c_student_publication WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_QUIZ: |
|
|
|
|
$sql = "SELECT * c_quiz WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_DOCUMENT: |
|
|
|
|
$sql = "SELECT * c_document WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_FORUM: |
|
|
|
|
$sql = "SELECT * c_forum_forum WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case 'thread': |
|
|
|
|
$sql = "SELECT * c_forum_thread WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!empty($sql)) { |
|
|
|
|
$sql = "UPDATE c_lp_item SET ref = $newId WHERE iid = $iid"; |
|
|
|
|
$connection->executeQuery($sql); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Fix c_item_property |
|
|
|
|
|
|
|
|
|
$sql = "SELECT * FROM c_item_property"; |
|
|
|
|
$result = $connection->fetchAll($sql); |
|
|
|
|
foreach ($result as $item) { |
|
|
|
|
$courseId = $item['c_id']; |
|
|
|
|
$sessionId = intval($item['session_id']); |
|
|
|
|
$iid = $item['iid']; |
|
|
|
|
$ref = $item['ref']; |
|
|
|
|
$sql = null; |
|
|
|
|
|
|
|
|
|
switch ($item['tool']) { |
|
|
|
|
case TOOL_LINK: |
|
|
|
|
$sql = "SELECT * c_link WHERE c_id = $courseId AND id = $ref "; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_STUDENTPUBLICATION: |
|
|
|
|
$sql = "SELECT * c_student_publication WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_QUIZ: |
|
|
|
|
$sql = "SELECT * c_quiz WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_DOCUMENT: |
|
|
|
|
$sql = "SELECT * c_document WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_FORUM: |
|
|
|
|
$sql = "SELECT * c_forum_forum WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case 'thread': |
|
|
|
|
$sql = "SELECT * c_forum_thread WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!empty($sql)) { |
|
|
|
|
$sql = "UPDATE c_item_property SET ref = $newId WHERE iid = $iid"; |
|
|
|
|
$connection->executeQuery($sql); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Fix gradebook_link |
|
|
|
|
$sql = "SELECT * FROM gradebook_link"; |
|
|
|
|
$result = $connection->fetchAll($sql); |
|
|
|
|
foreach ($result as $item) { |
|
|
|
|
$courseId = $item['c_id']; |
|
|
|
|
$ref = $item['ref_id']; |
|
|
|
|
$sql = null; |
|
|
|
|
|
|
|
|
|
switch ($item['tool']) { |
|
|
|
|
case TOOL_LINK: |
|
|
|
|
$sql = "SELECT * c_link WHERE c_id = $courseId AND id = $ref "; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_STUDENTPUBLICATION: |
|
|
|
|
$sql = "SELECT * c_student_publication WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_QUIZ: |
|
|
|
|
$sql = "SELECT * c_quiz WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_DOCUMENT: |
|
|
|
|
$sql = "SELECT * c_document WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case TOOL_FORUM: |
|
|
|
|
$sql = "SELECT * c_forum_forum WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
case 'thread': |
|
|
|
|
$sql = "SELECT * c_forum_thread WHERE c_id = $courseId AND id = $ref"; |
|
|
|
|
$data = $connection->fetchArray($sql); |
|
|
|
|
$newId = $data['iid']; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!empty($sql)) { |
|
|
|
|
$sql = "UPDATE c_item_property SET ref_id = $newId WHERE iid = $iid"; |
|
|
|
|
$connection->executeQuery($sql); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
//$this->addSql('ALTER TABLE user DROP COLUMN user_id'); |
|
|
|
|
|
|
|
|
|
//$this->addSql("UPDATE settings_current SET selected_value = '1.10.0.35' WHERE variable = 'chamilo_database_version'"); |
|
|
|
|