Example #1
0
 function copy()
 {
     $main_path = api_get_path(SYS_CODE_PATH);
     require_once $main_path . 'coursecopy/classes/CourseBuilder.class.php';
     require_once $main_path . 'coursecopy/classes/CourseArchiver.class.php';
     require_once $main_path . 'coursecopy/classes/CourseRestorer.class.php';
     require_once $main_path . 'coursecopy/classes/CourseSelectForm.class.php';
     //Course builder
     $cb = new CourseBuilder();
     //Setting tools that will be copied
     $cb->set_tools_to_build(array('learnpaths'));
     //Setting elements that will be copied
     $cb->set_tools_specific_id_list(array('learnpaths' => array($this->lp_id)));
     $course = $cb->build();
     //Course restorer
     $course_restorer = new CourseRestorer($course);
     $course_restorer->set_add_text_in_items(true);
     $course_restorer->set_tool_copy_settings(array('learnpaths' => array('reset_dates' => true)));
     $course_restorer->restore(api_get_course_id(), api_get_session_id(), false, false);
 }
            $recycle_type = 'select_items';
        }
    }
    $cr = new CourseRecycler($course);
    $cr->recycle($recycle_type);
    Display::display_confirmation_message(get_lang('RecycleFinished'));
} elseif (Security::check_token('post') && (isset($_POST['recycle_option']) && $_POST['recycle_option'] == 'select_items')) {
    // Clear token
    Security::clear_token();
    $cb = new CourseBuilder();
    $course = $cb->build();
    // Add token to Course select form
    $hiddenFields['sec_token'] = Security::get_token();
    CourseSelectForm::display_form($course, $hiddenFields);
} else {
    $cb = new CourseBuilder();
    $course = $cb->build();
    if (!$course->has_resources()) {
        echo get_lang('NoResourcesToRecycle');
    } else {
        Display::display_warning_message(get_lang('RecycleWarning'), false);
        $form = new FormValidator('recycle_course', 'post', api_get_self() . '?' . api_get_cidreq());
        $form->addElement('header', get_lang('SelectOptionForBackup'));
        $form->addElement('radio', 'recycle_option', null, get_lang('FullRecycle'), 'full_backup');
        $form->addElement('radio', 'recycle_option', null, get_lang('LetMeSelectItems'), 'select_items');
        $form->addButtonSave(get_lang('RecycleCourse'));
        $form->setDefaults(array('recycle_option' => 'select_items'));
        // Add Security token
        $token = Security::get_token();
        $form->addElement('hidden', 'sec_token');
        $form->setConstants(array('sec_token' => $token));
Example #3
0
 /**
  *
  * @param    string    source course code
  * @param     int        source session id
  * @param    string    destination course code
  * @param     int        destination session id
  * @return  bool
  */
 public static function copy_course($source_course_code, $source_session_id, $destination_course_code, $destination_session_id, $params = array())
 {
     require_once api_get_path(SYS_CODE_PATH) . 'coursecopy/classes/CourseBuilder.class.php';
     require_once api_get_path(SYS_CODE_PATH) . 'coursecopy/classes/CourseRestorer.class.php';
     require_once api_get_path(SYS_CODE_PATH) . 'coursecopy/classes/CourseSelectForm.class.php';
     $course_info = api_get_course_info($source_course_code);
     if (!empty($course_info)) {
         $cb = new CourseBuilder('', $course_info);
         $course = $cb->build($source_session_id, $source_course_code, true);
         $course_restorer = new CourseRestorer($course);
         $course_restorer->skip_content = $params;
         $course_restorer->restore($destination_course_code, $destination_session_id, true, true);
         return true;
     }
     return false;
 }
 {
	window.location="../course_info/download.php?archive=<?php 
    echo $name;
    ?>
&session=true";
 }
</script> //-->
<?php 
}
if ($export && $name) {
    Display::display_confirmation_message(get_lang('BackupCreated'));
    echo '<br /><a class="btn btn-default" href="' . api_get_path(WEB_CODE_PATH) . 'course_info/download.php?archive=' . urlencode($name) . '&session=true">' . get_lang('Download') . '</a>';
} else {
    // Display forms especial export
    if (isset($_POST['backup_option']) && $_POST['backup_option'] == 'select_items') {
        $cb = new CourseBuilder();
        $course = $cb->build_session_course();
        if ($course === false) {
            Display::display_error_message(get_lang('ErrorMsgSpecialExport'));
            form_special_export();
        } else {
            Display::display_normal_message(get_lang('ToExportSpecialSelect'));
            CourseSelectForm::display_form_session_export($course);
        }
    } else {
        form_special_export();
    }
}
/* FOOTER */
Display::display_footer();
function form_special_export()
    if (isset($_POST['SessionCoursesListOrigin'])) {
        $arr_course_origin = $_POST['SessionCoursesListOrigin'];
    }
    if (isset($_POST['SessionCoursesListDestination'])) {
        $arr_course_destination = $_POST['SessionCoursesListDestination'];
    }
    if (isset($_POST['sessions_list_destination'])) {
        $destination_session = $_POST['sessions_list_destination'];
    }
    if (isset($_POST['sessions_list_origin'])) {
        $origin_session = $_POST['sessions_list_origin'];
    }
    if (is_array($arr_course_origin) && count($arr_course_origin) > 0 && !empty($destination_session)) {
        Display::display_normal_message(get_lang('ToExportLearnpathWithQuizYouHaveToSelectQuiz'));
        $course_origin = api_get_course_info($arr_course_origin[0]);
        $cb = new CourseBuilder('', $course_origin);
        $course = $cb->build($origin_session, $arr_course_origin[0], $with_base_content);
        //$hiddenFields['same_file_name_option'] = $_POST['same_file_name_option'];
        $hiddenFields['destination_course'] = $arr_course_destination[0];
        $hiddenFields['origin_course'] = $arr_course_origin[0];
        $hiddenFields['destination_session'] = $destination_session;
        $hiddenFields['origin_session'] = $origin_session;
        // Add token to Course select form
        $hiddenFields['sec_token'] = Security::get_token();
        CourseSelectForm::display_form($course, $hiddenFields, true);
        echo '<div style="float:right"><a href="javascript:window.history.go(-1);">' . Display::return_icon('back.png', get_lang('Back') . ' ' . get_lang('To') . ' ' . get_lang('PlatformAdmin'), array('style' => 'vertical-align:middle')) . get_lang('Back') . '</a></div>';
    } else {
        Display::display_error_message(get_lang('You must select a course from original session and select a destination session'));
        display_form();
    }
} else {
} elseif (isset($_POST['copy_option']) && $_POST['copy_option'] == 'select_items') {
    // Else, if a CourseSelectForm is requested, show it
    if (api_get_setting('document.show_glossary_in_documents') != 'none') {
        Display::display_normal_message(get_lang('ToExportDocumentsWithGlossaryYouHaveToSelectGlossary'));
    }
    $arrCourseDestination = array();
    $destinationSession = '';
    if (isset($_POST['SessionCoursesListDestination'])) {
        $arrCourseDestination = $_POST['SessionCoursesListDestination'];
    }
    if (isset($_POST['sessions_list_destination'])) {
        $destinationSession = $_POST['sessions_list_destination'];
    }
    if (!empty($destinationSession)) {
        Display::display_normal_message(get_lang('ToExportLearnpathWithQuizYouHaveToSelectQuiz'));
        $cb = new CourseBuilder('', $courseInfo);
        $course = $cb->build($sessionId, $courseCode);
        $hiddenFields['destination_course'] = $arrCourseDestination[0];
        $hiddenFields['destination_session'] = $destinationSession;
        $hiddenFields['origin_course'] = api_get_course_id();
        $hiddenFields['origin_session'] = api_get_session_id();
        CourseSelectForm::display_form($course, $hiddenFields, true);
        echo '<div style="float:right"><a href="javascript:window.history.go(-1);">' . Display::return_icon('back.png', get_lang('Back') . ' ' . get_lang('To') . ' ' . get_lang('PlatformAdmin'), array('style' => 'vertical-align:middle')) . get_lang('Back') . '</a></div>';
    } else {
        Display::display_error_message(get_lang('You must select a course from original session and select a destination session'));
        displayForm();
    }
} else {
    displayForm();
}
Display::display_footer();