get('active')) {
api_not_allowed(true);
}
$menu = [
'_' => [
//'users',
'efc_users',
'course_categories',
//'courses',
'efc_courses',
'role_assignments',
],
'efc_courses' => [
'course_sections',
'course_modules_scorm',
],
'course_sections' => [
'course_modules_lesson',
'course_modules_quiz',
'c_quiz',
],
'course_modules_lesson' => [
'lesson_pages',
],
'lesson_pages' => [
'lesson_pages_document',
'lesson_pages_quiz',
],
'lesson_pages_document' => [
'files_for_lesson_pages',
],
'lesson_pages_quiz' => [
'lesson_pages_quiz_question',
'files_for_lesson_answers',
],
'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',
],
'course_modules_quiz' => [
'quizzes',
],
'quizzes' => [
'files_for_quizzes',
'question_categories',
],
'question_categories' => [
'questions',
],
'questions' => [
'question_multi_choice_single',
'question_multi_choice_multiple',
'questions_true_false',
],
];
Display::display_header($plugin->get_title());
echo '
';
echo '
';
echo displayMenu();
echo '
';
echo '
';
if (!empty($action) && isAllowedAction($action, $menu)) {
$taskName = api_underscore_to_camel_case($action).'Task';
echo Display::page_subheader(
$plugin->get_lang($taskName)
);
$taskName = 'Chamilo\\PluginBundle\\MigrationMoodle\\Task\\'.$taskName;
/** @var BaseTask $task */
$task = new $taskName();
echo '
';
$task->execute();
echo '
';
}
echo '
';
echo '
';
Display::display_footer();
/**
* @param string $parent
*
* @return string
*/
function displayMenu($parent = '_') {
$plugin = MigrationMoodlePlugin::create();
$menu = $GLOBALS['menu'];
$items = $menu[$parent];
$baseUrl = api_get_self()."?action=";
$html = '';
foreach ($items as $item) {
$title = api_underscore_to_camel_case($item);
$html .= '- ';
$html .= Display::url(
$plugin->get_lang($title.'Task'),
$baseUrl.$item
);
if (isset($menu[$item])) {
$html .= displayMenu($item);
}
$html .= '
';
}
$html .= '
';
return $html;
}
/**
* @param string $action
* @param array $menu
*
* @return bool
*/
function isAllowedAction($action, array $menu) {
foreach ($menu as $items) {
if (in_array($action, $items)) {
return true;
}
}
return false;
}