MigrationMoodle: Don't migrate course sections with scorms - refs BT#15992

pull/3127/head
Angel Fernando Quiroz Campos 6 years ago
parent f53afa19ad
commit 4e58b73b66
  1. 52
      plugin/migrationmoodle/src/Extractor/CourseSectionsExtractor.php
  2. 10
      plugin/migrationmoodle/src/Task/CourseSectionsTask.php

@ -0,0 +1,52 @@
<?php
namespace Chamilo\PluginBundle\MigrationMoodle\Extractor;
use Doctrine\DBAL\DBALException;
use Doctrine\DBAL\FetchMode;
/**
* Class CourseSectionsExtractor.
*
* @package Chamilo\PluginBundle\MigrationMoodle\Extractor
*/
class CourseSectionsExtractor extends CourseExtractor
{
public function filter(array $sourceData)
{
if (parent::filter($sourceData)) {
return true;
}
$plugin = \MigrationMoodlePlugin::create();
try {
$connection = $plugin->getConnection();
} catch (DBALException $exception) {
throw new \Exception('Unable to get connection', 0, $exception);
}
$sql = "SELECT COUNT(sco.id)
FROM mdl_scorm sco
INNER JOIN mdl_scorm_scoes i on sco.id = i.scorm
INNER JOIN mdl_course_modules cm ON (sco.course = cm.course AND cm.instance = sco.id)
INNER JOIN mdl_modules m ON cm.module = m.id
INNER JOIN mdl_course_sections cs ON (cm.course = cs.course AND cm.section = cs.id )
WHERE m.name = 'scorm'
AND i.parent = '/'
AND cs.id = ".$sourceData['id'];
try {
$statement = $connection->executeQuery($sql);
} catch (DBALException $exception) {
throw new \Exception("Unable to execute query \"$sql\"", 0, $exception);
}
$row = $statement->fetch(FetchMode::NUMERIC);
$connection->close();
return $row[0] > 0;
}
}

@ -3,7 +3,7 @@
namespace Chamilo\PluginBundle\MigrationMoodle\Task;
use Chamilo\PluginBundle\MigrationMoodle\Extractor\CourseExtractor;
use Chamilo\PluginBundle\MigrationMoodle\Extractor\CourseSectionsExtractor;
use Chamilo\PluginBundle\MigrationMoodle\Loader\CourseSectionsLoader;
use Chamilo\PluginBundle\MigrationMoodle\Transformer\BaseTransformer;
use Chamilo\PluginBundle\MigrationMoodle\Transformer\Property\LoadedCourseCodeLookup;
@ -23,8 +23,11 @@ class CourseSectionsTask extends BaseTask
public function getExtractConfiguration()
{
return [
'class' => CourseExtractor::class,
'query' => "SELECT id, course, summary FROM mdl_course_sections WHERE section > 0 AND (name != '' OR name IS NOT NULL)",
'class' => CourseSectionsExtractor::class,
'query' => "SELECT id, course, name, summary
FROM mdl_course_sections
WHERE section > 0 AND (name != '' OR name IS NOT NULL)
ORDER BY course, section",
];
}
@ -40,6 +43,7 @@ class CourseSectionsTask extends BaseTask
'class' => LoadedCourseCodeLookup::class,
'properties' => ['course'],
],
'name' => 'name',
'description' => 'summary',
],
];

Loading…
Cancel
Save