From 332bce1e33bb866d4ffa434414e1d3d1079cdba0 Mon Sep 17 00:00:00 2001 From: Ivan Tcholakov Date: Sat, 16 Oct 2010 21:47:34 +0300 Subject: [PATCH] Feature #539 - The new field 'exemplary_content' now is supported by the "Course requests/validation" feature too. --- main/admin/course_request_edit.php | 8 ++++++-- main/create_course/add_course.php | 3 ++- main/inc/lib/course_request.lib.php | 22 +++++++++++++--------- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/main/admin/course_request_edit.php b/main/admin/course_request_edit.php index 7fbb165fdf..9705ab5068 100644 --- a/main/admin/course_request_edit.php +++ b/main/admin/course_request_edit.php @@ -98,6 +98,9 @@ if ($course_validation_feature) { $form->addElement('select_language', 'course_language', get_lang('Ln')); $form->applyFilter('select_language', 'html_filter'); + // Exemplary content checkbox. + $form->addElement('checkbox', 'exemplary_content', get_lang('FillWithExemplaryContent')); + // Submit buttons. $submit_buttons[] = FormValidator::createElement('style_submit_button', 'save_button', get_lang('Save'), array('class' => 'save')); if ($course_request_info['status'] != COURSE_REQUEST_ACCEPTED) { @@ -136,6 +139,7 @@ if ($course_validation_feature) { $values['target_audience'] = $course_request_info['target_audience']; $values['status'] = $course_request_info['status']; $values['info'] = $course_request_info['info']; + $values['exemplary_content'] = $course_request_info['exemplary_content']; $form->setDefaults($values); // Validate the form and perform the ordered actions. @@ -172,7 +176,8 @@ if ($course_validation_feature) { $course_request_values['course_language'], $course_request_values['objetives'], $course_request_values['target_audience'], - $course_request_values['user_id'] + $course_request_values['user_id'], + $course_request_values['exemplary_content'] ); if ($update_ok) { @@ -212,7 +217,6 @@ if ($course_validation_feature) { $is_error_message = true; } - $message = implode(' ', $message); $back_url = get_caller_name($caller); diff --git a/main/create_course/add_course.php b/main/create_course/add_course.php index be8ac4eb41..d79cbf05b8 100755 --- a/main/create_course/add_course.php +++ b/main/create_course/add_course.php @@ -125,6 +125,7 @@ if ($course_validation_feature) { $form->addElement('select_language', 'course_language', get_lang('Ln')); $form->applyFilter('select_language', 'html_filter'); +// Exemplary content checkbox. $form->addElement('checkbox', 'exemplary_content', get_lang('FillWithExemplaryContent')); if ($course_validation_feature) { @@ -264,7 +265,7 @@ if ($form->validate()) { // Create a request for a new course. - $request_id = CourseRequestManager::create_course_request($wanted_code, $title, $description, $category_code, $course_language, $objetives, $target_audience, api_get_user_id()); + $request_id = CourseRequestManager::create_course_request($wanted_code, $title, $description, $category_code, $course_language, $objetives, $target_audience, api_get_user_id(), $exemplary_content); if ($request_id) { diff --git a/main/inc/lib/course_request.lib.php b/main/inc/lib/course_request.lib.php index 96ff754461..b638433f05 100644 --- a/main/inc/lib/course_request.lib.php +++ b/main/inc/lib/course_request.lib.php @@ -50,7 +50,7 @@ class CourseRequestManager { * @param int/string $user_id * @return int/bool The database id of the newly created course request or FALSE on failure. */ - public static function create_course_request($wanted_code, $title, $description, $category_code, $course_language, $objetives, $target_audience, $user_id) { + public static function create_course_request($wanted_code, $title, $description, $category_code, $course_language, $objetives, $target_audience, $user_id, $exemplary_content) { $wanted_code = trim(Database::escape_string($wanted_code)); $title = Database::escape_string($title); @@ -60,6 +60,7 @@ class CourseRequestManager { $objetives = Database::escape_string($objetives); $target_audience = Database::escape_string($target_audience); $user_id = (int)$user_id; + $exemplary_content = (bool)$exemplary_content ? 1 : 0; if ($wanted_code == '') { return false; @@ -96,16 +97,16 @@ class CourseRequestManager { code, user_id, directory, db_name, course_language, title, description, category_code, tutor_name, visual_code, request_date, - objetives, target_audience, status, info) + objetives, target_audience, status, info, exemplary_content) VALUES ( "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", - "%s", "%s", "%s", "%s");', Database::get_main_table(TABLE_MAIN_COURSE_REQUEST), + "%s", "%s", "%s", "%s", "%s");', Database::get_main_table(TABLE_MAIN_COURSE_REQUEST), $code, $user_id, $directory, $db_name, $course_language, $title, $description, $category_code, $tutor_name, $visual_code, $request_date, - $objetives, $target_audience, $status, $info); + $objetives, $target_audience, $status, $info, $exemplary_content); $result_sql = Database::query($sql); if (!$result_sql) { @@ -132,6 +133,7 @@ class CourseRequestManager { $email_body .= get_lang('Objectives', null, $email_language).': '.$objetives."\n"; $email_body .= get_lang('TargetAudience', null, $email_language).': '.$target_audience."\n"; $email_body .= get_lang('Ln', null, $email_language).': '.$course_language."\n"; + $email_body .= get_lang('FillWithExemplaryContent', null, $email_language).': '.($exemplary_content ? get_lang('Yes', null, $email_language) : get_lang('No', null, $email_language))."\n"; // Sending an e-mail to the platform administrator. @@ -183,7 +185,7 @@ class CourseRequestManager { * @param int/string $user_id * @return bool Returns TRUE on success or FALSE on failure. */ - public static function update_course_request($id, $wanted_code, $title, $description, $category_code, $course_language, $objetives, $target_audience, $user_id) { + public static function update_course_request($id, $wanted_code, $title, $description, $category_code, $course_language, $objetives, $target_audience, $user_id, $exemplary_content) { $id = (int)$id; $wanted_code = trim(Database::escape_string($wanted_code)); @@ -194,6 +196,7 @@ class CourseRequestManager { $objetives = Database::escape_string($objetives); $target_audience = Database::escape_string($target_audience); $user_id = (int)$user_id; + $exemplary_content = (bool)$exemplary_content ? 1 : 0; if ($wanted_code == '') { return false; @@ -253,12 +256,12 @@ class CourseRequestManager { code = "%s", user_id = "%s", directory = "%s", db_name = "%s", course_language = "%s", title = "%s", description = "%s", category_code = "%s", tutor_name = "%s", visual_code = "%s", request_date = "%s", - objetives = "%s", target_audience = "%s", status = "%s", info = "%s" + objetives = "%s", target_audience = "%s", status = "%s", info = "%s", exemplary_content = "%s" WHERE id = '.$id, Database::get_main_table(TABLE_MAIN_COURSE_REQUEST), $code, $user_id, $directory, $db_name, $course_language, $title, $description, $category_code, $tutor_name, $visual_code, $request_date, - $objetives, $target_audience, $status, $info); + $objetives, $target_audience, $status, $info, $exemplary_content); $result_sql = Database::query($sql); return $result_sql !== false; @@ -350,6 +353,7 @@ class CourseRequestManager { $title = $course_request_info['title']; $category_code = $course_request_info['category_code']; $course_language = $course_request_info['course_language']; + $exemplary_content = intval($course_request_info['exemplary_content']) > 0; $user_id = (int)$course_request_info['user_id']; if ($user_id <= 0) { @@ -374,8 +378,8 @@ class CourseRequestManager { $expiration_date = time() + $firstExpirationDelay; prepare_course_repository($directory, $code); update_Db_course($db_name); - $pictures_array = fill_course_repository($directory); - fill_Db_course($db_name, $directory, $course_language, $pictures_array); + $pictures_array = fill_course_repository($directory, $exemplary_content); + fill_Db_course($db_name, $directory, $course_language, $pictures_array, $exemplary_content); register_course($code, $visual_code, $directory, $db_name, $tutor_name, $category_code, $title, $course_language, $user_id, $expiration_date); // Mark the request as accepted.