Using CourseManager::create_course when creating a course see #4068

skala
Julio Montoya 14 years ago
parent 2f4b71be99
commit 2cbf972897
  1. 33
      main/admin/course_export.php
  2. 26
      main/admin/course_import.php
  3. 2
      main/auth/courses.php
  4. 4
      main/inc/lib/course.lib.php

@ -11,7 +11,6 @@ $language_file = array ('admin', 'registration','create_course', 'document');
$cidReset = true;
require_once '../inc/global.inc.php';
require_once api_get_path(LIBRARY_PATH).'course.lib.php';
$this_section = SECTION_PLATFORM_ADMIN;
api_protect_admin_script();
@ -27,8 +26,7 @@ $archiveURL = api_get_path(WEB_CODE_PATH).'course_info/download.php?archive=';
$course_list = CourseManager::get_courses_list();
if($_POST['formSent'])
{
if ($_POST['formSent']) {
$formSent =$_POST['formSent'];
$select_type=intval($_POST['select_type']);
$file_type = 'csv';
@ -81,9 +79,9 @@ if (!empty($msg)) {
<form method="post" action="<?php echo api_get_self(); ?>" style="margin:0px;">
<input type="hidden" name="formSent" value="1">
<div class="row"><div class="form_header"><?php echo $tool_name; ?></div></div>
<br />
<input type="hidden" name="formSent" value="1">
<div class="row"><div class="form_header"><?php echo $tool_name; ?></div></div>
<br />
<?php if (!empty($course_list)) { ?>
<div>
<input id="all-courses" class="checkbox" type="radio" value="1" name="select_type" <?php if(!$formSent || ($formSent && $select_type == 1)) echo 'checked="checked"'; ?> onclick="javascript: if(this.checked){document.getElementById('div-course-list').style.display='none';}"/>
@ -97,15 +95,17 @@ if (!empty($msg)) {
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td valign="top"><?php echo get_lang('WhichCoursesToExport'); ?> :</td>
<td><select name="course_code[]" multiple="multiple" size="10">
<?php
foreach($course_list as $course) {
?>
<option value="<?php echo $course['code']; ?>" <?php if(is_array($selected_courses) && in_array($course['code'],$selected_courses)) echo 'selected="selected"'; ?>><?php echo $course['code'].'-'.$course['title']; ?></option>
<?php
}
?>
</select></td>
<td>
<select name="course_code[]" multiple="multiple" size="10">
<?php
foreach($course_list as $course) {
?>
<option value="<?php echo $course['code']; ?>" <?php if(is_array($selected_courses) && in_array($course['code'],$selected_courses)) echo 'selected="selected"'; ?>><?php echo $course['title'].' ('.$course['code'].') ' ?></option>
<?php
}
?>
</select>
</td>
</tr>
</table>
</div>
@ -115,8 +115,5 @@ foreach($course_list as $course) {
</div>
<?php } else { echo get_lang('ThereAreNotCreatedCourses'); }?>
</form>
<?php
Display :: display_footer();
?>

@ -85,15 +85,13 @@ function validate_data($courses) {
* @param array List of courses
*/
function save_data($courses) {
global $_configuration, $firstExpirationDelay;
global $purification_option_for_usernames;
$user_table = Database::get_main_table(TABLE_MAIN_USER);
$msg = '';
foreach ($courses as $index => $course) {
$course_language = api_get_valid_language($course['Language']);
$keys = define_course_keys($course['Code'], '', $_configuration['db_prefix']);
$titular = $uidCreator = $username = '';
// Get username from name (firstname lastname).
@ -121,18 +119,13 @@ function save_data($courses) {
$uidCreator = 1;
}
$visual_code = $keys['currentCourseCode'];
$code = $keys['currentCourseId'];
$db_name = $keys['currentCourseDbName'];
$directory = $keys['currentCourseRepository'];
$expiration_date = time() + $firstExpirationDelay;
prepare_course_repository($directory, $code);
update_Db_course($db_name);
fill_course_repository($directory);
fill_Db_course($db_name, $directory, $course_language, array());
register_course($code, $visual_code, $directory, $db_name, $titular, $course['CourseCategory'], $course['Title'], $course_language, $uidCreator, $expiration_date);
$msg .= '<a href="'.api_get_path(WEB_COURSE_PATH).$directory.'/">'.$code.'</a> '.get_lang('Created').'<br />';
$course_info = CourseManager::create_course($course['Title'], $course['Code'], false,
$titular, $course['CourseCategory'], $course_language, $uidCreator);
if (!empty($course_info)) {
$msg .= '<a href="'.api_get_path(WEB_COURSE_PATH).$course_info['directory'].'/">'.$course_info['title'].'</a> '.get_lang('Created').'<br />';
}
}
if (!empty($msg)) {
Display::display_normal_message($msg, false);
}
@ -159,10 +152,8 @@ api_protect_admin_script();
require_once api_get_path(LIBRARY_PATH).'fileManage.lib.php';
require_once api_get_path(LIBRARY_PATH).'import.lib.php';
require_once api_get_path(CONFIGURATION_PATH).'add_course.conf.php';
require_once api_get_path(LIBRARY_PATH).'add_course.lib.inc.php';
$defined_auth_sources[] = PLATFORM_AUTH_SOURCE;
if (is_array($extAuthSource)) {
$defined_auth_sources = array_merge($defined_auth_sources, array_keys($extAuthSource));
}
@ -238,5 +229,4 @@ BIO0015;Biology;BIO;username;english
</blockquote>
<?php
Display :: display_footer();

@ -75,8 +75,6 @@ if (api_is_platform_admin() || api_is_course_admin() || api_is_allowed_to_create
$user_can_view_page = true;
}
// filter actions
$actions = array('sortmycourses', 'createcoursecategory', 'subscribe', 'deletecoursecategory', 'unsubscribe', 'display_courses','display_random_courses');
$action = 'display_random_courses';

@ -3333,8 +3333,7 @@ class CourseManager {
}
/**
* Creates a course very fast (the function doesn't need a lot of parameters)
* Coded originally found in create_course/add_course.php
* Creates a course
* @param string course title
* @param bool add example content or not
* @param mixed false if the course was not created, array with the course info
@ -3344,7 +3343,6 @@ class CourseManager {
$department_name = '', $department_url = '', $disk_quota = '',
$subscribe = '', $unsubscribe = '', $visibility = '', $expiration_date = '', $teacher_list = array()
) {
require_once api_get_path(LIBRARY_PATH).'add_course.lib.inc.php';
global $_configuration;
if (empty($title)) {

Loading…
Cancel
Save