diff --git a/plugin/migrationmoodle/admin.php b/plugin/migrationmoodle/admin.php index de9e2ce08f..2565a53091 100644 --- a/plugin/migrationmoodle/admin.php +++ b/plugin/migrationmoodle/admin.php @@ -1,14 +1,15 @@ get('active')) { + exit; +} + +$taskNames = [ + 'course_categories', + 'courses', + /**/'course_introductions', + /**//**/'files_for_course_introductions', + /**/'course_sections', + /**//**/'files_for_course_sections', + /**//**/'course_modules_lesson', + /**//**//**/'lesson_pages', + /**//**//**//**/'lesson_pages_document', + /**//**//**//**//**/'files_for_lesson_pages', + /**//**//**//**/'lesson_pages_quiz', + /**//**//**//**//**/'lesson_pages_quiz_question', + /**//**//**//**//**//**/'lesson_answers_true_false', + /**//**//**//**//**//**/'lesson_answers_multiple_choice', + /**//**//**//**//**//**/'lesson_answers_multiple_answer', + /**//**//**//**//**//**/'lesson_answers_matching', + /**//**//**//**//**//**/'lesson_answers_essay', + /**//**//**//**//**//**/'lesson_answers_short_answer', + /**//**//**//**//**/'files_for_lesson_answers', + /**//**/'course_modules_quiz', + /**//**//**/'quizzes', + /**//**//**//**/'files_for_quizzes', + /**//**//**//**/'question_categories', + /**//**//**//**/'questions', + /**//**//**//**//**/'question_multi_choice_single', + /**//**//**//**//**/'question_multi_choice_multiple', + /**//**//**//**//**/'questions_true_false', + /**//**//**//**//**/'question_short_answer', + /**//**//**//**//**/'question_gapselect', + /**//**//**/'quizzes_scores', + /**//**/'course_modules_url', + /**//**//**/'urls', + /**//**/'sort_section_modules', + /**/'course_modules_scorm', + /**//**/'scorm_scoes', + /**//**//**/'files_for_scorm_scoes', + 'users', + /**/'user_sessions', + /**//**/'users_learn_paths', + /**//**//**/'users_learn_paths_lesson_timer', + /**//**//**/'users_learn_paths_lesson_branch', + /**//**//**/'users_learn_paths_lesson_attempts', + /**//**//**/'users_learn_paths_quizzes', + /**//**//**//**/'users_quizzes_attempts', + /**//**//**//**//**/'user_question_attempts_shortanswer', + /**//**//**//**//**/'user_question_attempts_gapselect', + /**//**//**//**//**/'user_question_attempts_truefalse', + /**//**/'users_scorms_view', + /**//**//**/'users_scorms_progress', +]; + +foreach ($taskNames as $i => $taskName) { + $taskClass = api_underscore_to_camel_case($taskName).'Task'; + + $taskClass = 'Chamilo\\PluginBundle\\MigrationMoodle\\Task\\'.$taskClass; + + echo ($i + 1).": Executing $taskClass.".PHP_EOL; + + /** @var BaseTask $task */ + $task = new $taskClass(); + $task->execute(); + + echo "$taskClass end.".PHP_EOL; +} diff --git a/plugin/migrationmoodle/src/Task/BaseTask.php b/plugin/migrationmoodle/src/Task/BaseTask.php index 0284dfef9d..08d2d8c4c7 100644 --- a/plugin/migrationmoodle/src/Task/BaseTask.php +++ b/plugin/migrationmoodle/src/Task/BaseTask.php @@ -73,6 +73,8 @@ abstract class BaseTask public function execute() { + $outputBuffering = isset($GLOBALS['outputBuffering']) ? $GLOBALS['outputBuffering'] : true; + $taskId = \Database::insert( 'plugin_migrationmoodle_task', ['name' => $this->getTaskName()] @@ -95,13 +97,15 @@ abstract class BaseTask $i++; - if ($i % 10 === 0) { + if ($i % 10 === 0 && $outputBuffering) { flush(); ob_flush(); } } - ob_end_flush(); + if ($outputBuffering) { + ob_end_flush(); + } } /**