MigrationMoodle: Add task for files in course intro - refs BT#15992

pull/3127/head
Angel Fernando Quiroz Campos 6 years ago
parent 013a7031ba
commit ae1de5efe6
  1. 3
      plugin/migrationmoodle/admin.php
  2. 1
      plugin/migrationmoodle/lang/english.php
  3. 6
      plugin/migrationmoodle/src/Task/CourseIntroductionsTask.php
  4. 41
      plugin/migrationmoodle/src/Task/FilesForCourseIntroductionsTask.php

@ -79,6 +79,9 @@ $menu = [
'scorm_scoes' => [ 'scorm_scoes' => [
'files_for_scorm_scoes', 'files_for_scorm_scoes',
], ],
'course_introductions' => [
'files_for_course_introductions',
],
]; ];
Display::display_header($plugin->get_title()); Display::display_header($plugin->get_title());

@ -42,3 +42,4 @@ $strings['ScormScoesTask'] = 'Scorms items';
$strings['FilesForScormScoesTask'] = 'Files for Scorm items'; $strings['FilesForScormScoesTask'] = 'Files for Scorm items';
$strings['EfcUserSessionsTask'] = 'Course Sessions for efc* users'; $strings['EfcUserSessionsTask'] = 'Course Sessions for efc* users';
$strings['CourseIntroductionsTask'] = 'Course introductions'; $strings['CourseIntroductionsTask'] = 'Course introductions';
$strings['FilesForCourseIntroductionsTask'] = 'Files for course introductions';

@ -7,6 +7,7 @@ use Chamilo\PluginBundle\MigrationMoodle\Extractor\CourseExtractor;
use Chamilo\PluginBundle\MigrationMoodle\Loader\CourseIntroductionLoader; use Chamilo\PluginBundle\MigrationMoodle\Loader\CourseIntroductionLoader;
use Chamilo\PluginBundle\MigrationMoodle\Transformer\BaseTransformer; use Chamilo\PluginBundle\MigrationMoodle\Transformer\BaseTransformer;
use Chamilo\PluginBundle\MigrationMoodle\Transformer\Property\LoadedCourseLookup; use Chamilo\PluginBundle\MigrationMoodle\Transformer\Property\LoadedCourseLookup;
use Chamilo\PluginBundle\MigrationMoodle\Transformer\Property\ReplaceFilePaths;
/** /**
* Class CourseIntroductionsTask. * Class CourseIntroductionsTask.
@ -43,7 +44,10 @@ class CourseIntroductionsTask extends BaseTask
'properties' => ['course'], 'properties' => ['course'],
], ],
'name' => 'name', 'name' => 'name',
'description' => 'summary', 'description' => [
'class' => ReplaceFilePaths::class,
'properties' => ['summary', 'course'],
],
], ],
]; ];
} }

@ -0,0 +1,41 @@
<?php
/* For licensing terms, see /license.txt */
namespace Chamilo\PluginBundle\MigrationMoodle\Task;
use Chamilo\PluginBundle\MigrationMoodle\Extractor\CourseExtractor;
/**
* Class FilesForCourseIntroductionsTask.
*
* @package Chamilo\PluginBundle\MigrationMoodle\Task
*/
class FilesForCourseIntroductionsTask extends CourseFilesTask
{
/**
* @inheritDoc
*/
public function getExtractConfiguration()
{
return [
'class' => CourseExtractor::class,
'query' => "SELECT
f.id,
f.contenthash,
f.filepath,
f.filename,
f.filesize,
f.mimetype,
c.id course
FROM mdl_files f
INNER JOIN mdl_context ctx ON f.contextid = ctx.id
INNER JOIN mdl_course c ON ctx.instanceid = c.id
INNER JOIN mdl_course_sections cs ON (cs.course = c.id AND cs.id = f.itemid)
WHERE f.component = 'course'
AND f.filearea = 'section'
AND ctx.contextlevel = 50
AND f.filename NOT IN ('.', '..')
AND cs.section = 0 AND (cs.summary != '' AND cs.summary IS NOT NULL)"
];
}
}
Loading…
Cancel
Save