* @package dokeos.backup */ class CourseSelectForm { /** * Display the form * @param array $hidden_fiels Hidden fields to add to the form. */ function display_form($course, $hidden_fields = null) { $resource_titles[RESOURCE_EVENT] = get_lang('Events'); $resource_titles[RESOURCE_ANNOUNCEMENT] = get_lang('Announcements'); $resource_titles[RESOURCE_DOCUMENT] = get_lang('Documents'); $resource_titles[RESOURCE_LINK] = get_lang('Links'); $resource_titles[RESOURCE_COURSEDESCRIPTION] = get_lang('CourseDescription'); $resource_titles[RESOURCE_FORUM] = get_lang('Forums'); $resource_titles[RESOURCE_QUIZ] = get_lang('Tests'); $resource_titles[RESOURCE_LEARNPATH] = get_lang('Learnpaths'); $resource_titles[RESOURCE_SCORM] = 'SCORM'; $resource_titles[RESOURCE_TOOL_INTRO] = get_lang('ToolIntro'); $resource_titles[RESOURCE_SURVEY] = get_lang('Survey'); ?> '; echo get_lang('SelectResources'); echo '
'; echo ''; echo ''; echo ''; echo ''; } /** * Get the posted course * @return course The course-object with all resources selected by the user * in the form given by display_form(...) */ function get_posted_course() { $course = unserialize(base64_decode($_POST['course'])); foreach ($course->resources as $type => $resources) { switch ($type) { case RESOURCE_LINKCATEGORY : case RESOURCE_FORUMCATEGORY : case RESOURCE_FORUMPOST : case RESOURCE_FORUMTOPIC : case RESOURCE_QUIZQUESTION : case RESOURCE_SURVEYQUESTION: case RESOURCE_DOCUMENT: // Mark folders to import which are not selected by the user to import, // but in which a document was selected. $documents = $_POST['resource'][RESOURCE_DOCUMENT]; foreach($resources as $id => $obj) { if( $obj->file_type == 'folder' && ! isset($_POST['resource'][RESOURCE_DOCUMENT][$id])) { foreach($documents as $id_to_check => $post_value) { $obj_to_check = $resources[$id_to_check]; $shared_path_part = substr($obj_to_check->path,0,strlen($obj->path)); if($id_to_check != $id && $obj->path == $shared_path_part) { $_POST['resource'][RESOURCE_DOCUMENT][$id] = 1; break; } } } } default : foreach ($resources as $id => $obj) { $resource_is_used_elsewhere = $course->is_linked_resource($obj); // check if document is in a quiz (audio/video) if( $type == RESOURCE_DOCUMENT && $course->has_resources(RESOURCE_QUIZ)) { foreach($course->resources[RESOURCE_QUIZ] as $qid => $quiz) { if($quiz->media == $id) { $resource_is_used_elsewhere = true; } } } if (!isset ($_POST['resource'][$type][$id]) && !$resource_is_used_elsewhere) { unset ($course->resources[$type][$id]); } } } } return $course; } } ?>