From a2496162382807ea4bb909a8e6654cbe835df43c Mon Sep 17 00:00:00 2001 From: Cristian Fasanando Date: Tue, 26 Jan 2010 11:53:27 -0500 Subject: [PATCH] added post-it inside introduction section about a course, and show progress icon into courses list for a user - partial CT#578 --- main/inc/introductionSection.inc.php | 26 +++++++++++++++--- user_portal.php | 41 ++++++++++++++++++++++++---- 2 files changed, 57 insertions(+), 10 deletions(-) diff --git a/main/inc/introductionSection.inc.php b/main/inc/introductionSection.inc.php index ebbe3a6bf3..a59d1782af 100755 --- a/main/inc/introductionSection.inc.php +++ b/main/inc/introductionSection.inc.php @@ -24,7 +24,8 @@ ============================================================================== */ -include_once(api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php'); +require_once api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php'; +require_once api_get_path(LIBRARY_PATH).'course_description.lib.php'; /* ----------------------------------------------------------- @@ -161,12 +162,29 @@ if ($intro_dispForm) { echo ''; } +$course_description = new CourseDescription(); +$course_description->set_session_id(api_get_session_id()); +$thematic_description = $course_description->get_data_by_description_type(8); + +$thematic_description_html = ''; +if (!empty($thematic_description)) { + $thematic_description_html = '
+
'.Display::return_icon('postit_top.jpg').'
+
+

'.get_lang('ThematicAdvance').' '.$course_description->get_progress_porcent(false,8).'

+ '.$thematic_description['description_title'].' +

'.$thematic_description['description_content'].'

+
+
'.Display::return_icon('postit_bottom.jpg').'
+
'; +} + if ($intro_dispDefault) { //$intro_content = make_clickable($intro_content); // make url in text clickable $intro_content = text_filter($intro_content); // parse [tex] codes - if (!empty($intro_content)) { - echo "
$intro_content
"; - } + if (!empty($intro_content) || !empty($thematic_description_html)) { + echo "$thematic_description_html
$intro_content
"; + } } if ($intro_dispCommand) { diff --git a/user_portal.php b/user_portal.php index fbc56fb7e3..685b35f7a9 100644 --- a/user_portal.php +++ b/user_portal.php @@ -315,11 +315,12 @@ function display_especial_courses ($user_id) { } if (($course['status'] == 5 && !api_is_coach()) || empty($course['status'])) { $status_icon=Display::return_icon('course.gif', get_lang('Course')).' '.Display::return_icon('students.gif', get_lang('Status').': '.get_lang('Student'),array('style'=>'width:11px; height:11px')); - } + } + $progress_thematic_icon = get_thematic_progress_icon($course['db_name']); echo "\t\n"; echo "\t\t\n"; $course_title = ''.$course['title'].''; - echo "
".$status_icon."
".$course_title."
"; + echo "
".$status_icon."
".$course_title."  $progress_thematic_icon
"; if (api_get_setting('display_coursecode_in_courselist') == 'true') { echo $course['visual_code']; } @@ -426,11 +427,12 @@ function display_courses_in_category($user_category_id) { } if (($course['status'] == 5 && !api_is_coach()) || empty($course['status'])) { $status_icon=Display::return_icon('course.gif', get_lang('Course')).' '.Display::return_icon('students.gif', get_lang('Status').': '.get_lang('Student'),array('style'=>'width:11px; height:11px')); - } + } + $progress_thematic_icon = get_thematic_progress_icon($course['db_name']); echo "\t\n"; echo "\t\t\n"; $course_title = ''.$course['title'].''; - echo "
".$status_icon."
".$course_title."
"; + echo "
".$status_icon."
".$course_title."  $progress_thematic_icon
"; if (api_get_setting('display_coursecode_in_courselist') == 'true') { echo $course['visual_code']; } @@ -452,6 +454,31 @@ function display_courses_in_category($user_category_id) { ----------------------------------------------------------- */ +/** + * get icon showing thematic progress for a course + * @param string Course database name + * @param int Session id (optional) + * @return string img html + */ + function get_thematic_progress_icon($course_dbname,$session_id = 0) { + $tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION,$course_dbname); + $session_id = intval($session_id); + $sql = "SELECT progress FROM $tbl_course_description WHERE description_type = 8 AND session_id = '$session_id' "; + $rs = Database::query($sql, __FILE__, __LINE__); + $img = ''; + $title = '0%'; + $image = 'level_0.png'; + if (Database::num_rows($rs) > 0) { + $row = Database::fetch_array($rs); + $progress = $row['progress']; + $image = 'level_'.$progress.'.png'; + $title = $row['progress'].'%'; + } + $img = Display::return_icon($image,get_lang('ThematicAdvance'),array('style'=>'vertical-align:middle')).' '.$title; + return $img; + } + + /** * Warning: this function defines a global. * @todo use the correct get_path function @@ -687,6 +714,8 @@ function get_logged_user_course_html($course, $session_id = 0, $class='courses') } else { $result .= $course_display_title." "." ".get_lang('CourseClosed').""; } + $progress_thematic_icon = get_thematic_progress_icon($course_database,$session_id); + $result .= '  '.$progress_thematic_icon.''; // show the course_code and teacher if chosen to display this if (api_get_setting('display_coursecode_in_courselist') == 'true' || api_get_setting('display_teacher_in_courselist') == 'true') { $result .= '
'; @@ -1175,8 +1204,8 @@ if ( is_array($courses_tree) ) { // sessions and courses that are not in a session category if (!isset($_GET['history'])) { // check if it's not history trainnign session list - echo display_especial_courses(api_get_user_id()); - echo display_courses(api_get_user_id()); + display_especial_courses(api_get_user_id()); + display_courses(api_get_user_id()); } //independent sessions foreach ($category['sessions'] as $session) {