skala
cvargas 16 years ago
parent af61e24258
commit f01534de2d
  1. 11
      main/exercice/exercice_submit.php
  2. 26
      main/inc/lib/course.lib.php
  3. 175
      user_portal.php

@ -269,6 +269,8 @@ if ($exercise_row['expired_time'] != 0) {
</script>";
}
//var_dump($plugin_expired_time);
if ($_configuration['live_exercise_tracking'] == true && $exerciseType == 2 && $exerciseFeedbackType != 1) {
$query = 'SELECT * FROM ' . $stat_table . $condition;
$result_select = Database::query($query, __FILE__, __LINE__);
@ -1002,7 +1004,7 @@ if (api_is_course_admin() && $origin != 'learnpath') {
}
//Timer control
if ($exercise_row['expired_time'] != 0) {
echo '<div align="right" id="wrapper-clock"><div id="square" class="rounded"><div id="text-content" align="center" class="count_down"></div></div></div>';
echo '<div align="right" id="wrapper-clock"><div id="square" class="rounded"><div id="text-content" align="center" class="count_down"></div></div></div>';
}
$exerciseTitle = api_parse_tex($exerciseTitle);
echo "<h3>" . $exerciseTitle . "</h3>";
@ -1218,14 +1220,13 @@ if ($_configuration['live_exercise_tracking'] == true && $exerciseFeedbackType !
}
if ($exerciseType == 2) {
$sql = "INSERT INTO $stat_table($sql_fields exe_exo_id,exe_user_id,exe_cours_id,status,session_id,data_tracking,start_date,orig_lp_id,orig_lp_item_id)
VALUES($sql_fields_values '$exerciseId','" . api_get_user_id() . "','" . $_course['id'] . "','incomplete','" . api_get_session_id() . "','" . implode(',', $questionList) . "','" . date('Y-m-d H:i:s') . "',$safe_lp_id,$safe_lp_item_id)";
$sql = "INSERT INTO $stat_table($sql_fields exe_exo_id,exe_user_id,exe_cours_id,status,session_id,data_tracking,start_date,orig_lp_id,orig_lp_item_id,exe_duration)
VALUES($sql_fields_values '$exerciseId','" . api_get_user_id() . "','" . $_course['id'] . "','incomplete','" . api_get_session_id() . "','" . implode(',', $questionList) . "','" . date('Y-m-d H:i:s') . "',$safe_lp_id,$safe_lp_item_id,)";
Database::query($sql, __FILE__, __LINE__);
} else {
$sql = "INSERT INTO $stat_table ($sql_fields exe_exo_id,exe_user_id,exe_cours_id,status,session_id,start_date,orig_lp_id,orig_lp_item_id)
VALUES($sql_fields_values '$exerciseId','" . api_get_user_id() . "','" . $_course['id'] . "','incomplete','" . api_get_session_id() . "','" . date('Y-m-d H:i:s') . "',$safe_lp_id,$safe_lp_item_id)";
Database::query($sql, __FILE__, __LINE__);
Database::query($sql, __FILE__, __LINE__);
}
}

@ -1896,6 +1896,32 @@ class CourseManager {
0, 'session_category');
}
/**
* Get the course id of an course by the database name
* @param string The database name
* @return string The course id
*/
public static function get_course_extra_field_list($code) {
$tbl_course_field = Database::get_main_table(TABLE_MAIN_COURSE_FIELD);
$tbl_course_field_value = Database::get_main_table(TABLE_MAIN_COURSE_FIELD_VALUES);
$sql_field = "SELECT id, field_type, field_variable, field_display_text, field_default_value
FROM $tbl_course_field WHERE field_visible = '1' ";
$res_field = api_sql_query($sql_field,__FILE__,__LINE__);
$extra_fields = array();
while($rowcf = Database::fetch_array($res_field)) {
$extra_field_id = $rowcf['id'];
$sql_field_value = "SELECT field_value FROM $tbl_course_field_value WHERE course_code = '$code' AND field_id = '$extra_field_id' ";
$res_field_value = api_sql_query($sql_field_value, __FILE__, __LINE__);
if(Database::num_rows($res_field_value) > 0 ) {
$r_field_value = Database::fetch_row($res_field_value);
$rowcf['extra_field_value'] = $r_field_value[0];
}
$extra_fields[] = $rowcf;
}
return $extra_fields;
}
/**
* Get the database name of a course by the code
* @param string The course code

@ -129,8 +129,12 @@ if (api_get_setting('go_to_course_after_login') == 'true') {
$nosession = false;
if (api_get_setting('use_session_mode') == 'true' && !$nosession) {
$display_actives = !isset($_GET['inactives']);
if(api_get_setting('use_session_mode')=='true' && !$nosession) {
if (isset($_GET['inactives'])){
$display_actives = false;
} else {
$display_actives = true;
}
}
$nameTools = get_lang('MyCourses');
@ -395,7 +399,7 @@ function display_digest($toolsList, $digest, $orderKey, $courses) {
* @todo move code for what's new icons to a separate function to clear things up
* @todo add a parameter user_id so that it is possible to show the courselist of other users (=generalisation). This will prevent having to write a new function for this.
*/
function get_logged_user_course_html($course, $session_id = 0, $class='courses') {
function get_logged_user_course_html($course, $session_id = 0, $class='courses', $special = false) {
global $charset;
global $nosession;
@ -431,7 +435,7 @@ function get_logged_user_course_html($course, $session_id = 0, $class='courses')
$course_tool_table = Database :: get_course_table(TABLE_TOOL_LIST, $course_database);
$tool_edit_table = Database :: get_course_table(TABLE_ITEM_PROPERTY, $course_database);
$course_group_user_table = Database :: get_course_table(TOOL_USER, $course_database);
$user_id = api_get_user_id();
$course_system_code = $my_course['k'];
$course_visual_code = $my_course['c'];
@ -443,23 +447,23 @@ function get_logged_user_course_html($course, $session_id = 0, $class='courses')
$course_access_settings = CourseManager :: get_access_settings($course_system_code);
$course_id = isset($course_info['course_id'])?$course_info['course_id']:null;
$course_visibility = $course_access_settings['visibility'];
$user_in_course_status = CourseManager :: get_user_in_course_status(api_get_user_id(), $course_system_code);
//function logic - act on the data
$is_virtual_course = CourseManager :: is_virtual_course_from_system_code($my_course['k']);
if ($is_virtual_course) {
if ($is_virtual_course) {
// If the current user is also subscribed in the real course to which this
// virtual course is linked, we don't need to display the virtual course entry in
// the course list - it is combined with the real course entry.
$target_course_code = CourseManager :: get_target_of_linked_course($course_system_code);
$target_course_code = CourseManager :: get_target_of_linked_course($course_system_code);
$is_subscribed_in_target_course = CourseManager :: is_user_subscribed_in_course(api_get_user_id(), $target_course_code);
if ($is_subscribed_in_target_course) {
if ($is_subscribed_in_target_course) {
return; //do not display this course entry
}
}
$has_virtual_courses = CourseManager :: has_virtual_courses_from_code($course_system_code, api_get_user_id());
if ($has_virtual_courses) {
if ($has_virtual_courses) {
$return_result = CourseManager :: determine_course_title_from_course_info(api_get_user_id(), $course_info);
$course_display_title = $return_result['title'];
$course_display_code = $return_result['code'];
@ -512,8 +516,6 @@ function get_logged_user_course_html($course, $session_id = 0, $class='courses')
$result .= ' &ndash; ';
}
if (api_get_setting('display_teacher_in_courselist') == 'true') {
if (api_get_setting('use_session_mode')=='true' && !$nosession) {
$coachs_course = api_get_coachs_from_course($my_course['id_session'],$course['code']);
$course_coachs = array();
@ -522,27 +524,21 @@ function get_logged_user_course_html($course, $session_id = 0, $class='courses')
$course_coachs[] = api_get_person_name($coach_course['firstname'], $coach_course['lastname']);
}
}
if ($s_course_status == 1 || ($s_course_status == 5 && empty($my_course['id_session']))) {
$result .= $course_teacher;
}
}
if (($s_course_status == 5 && !empty($my_course['id_session'])) || ($is_coach && $s_course_status != 1)) {
$result .= get_lang('Coachs').': '.implode(', ',$course_coachs);
}
} else {
$result .= $course_teacher;
}
if(!empty($course_teacher_email)) {
$result .= ' ('.$course_teacher_email.')';
}
}
$result .= ($special == true)? ' '.Display::return_icon('klipper.png', get_lang('CourseAutoRegister')) : '';
$current_course_settings = CourseManager :: get_access_settings($my_course['k']);
// display the what's new icons
$result .= show_notification($my_course);
@ -561,7 +557,7 @@ function get_logged_user_course_html($course, $session_id = 0, $class='courses')
}
$result .= '</li>';
$result .= '<ul>';
reset ($digest[$thisCourseSysCode][$key2]);
reset($digest[$thisCourseSysCode][$key2]);
while (list ($key3, $dataFromCourse) = each($digest[$thisCourseSysCode][$key2])) {
$result .= '<li>';
if ($orderKey[2] == 'keyTools') {
@ -831,7 +827,6 @@ if ($maxCourse > 0) {
$toolsList['valvas']['path'] = api_get_path(WEB_CODE_PATH)."announcements/announcements.php?cidReq=";
}
echo ' <div class="maincontent" id="maincontent">'; // start of content for logged in users
// Plugins for the my courses main area
api_plugin('mycourses_main');
@ -873,7 +868,12 @@ if (!empty ($_GET['include']) && preg_match('/^[a-zA-Z0-9_-]*\.html$/',$_GET['in
}
}
$list = '';
$list = '';
// this is the main function to get the course list
$personal_course_list = UserManager::get_personal_session_course_list($_user['user_id']);
//var_dump($personal_course_list);
//die();
//$personal_course_list = array();
foreach ($personal_course_list as $my_course) {
$thisCourseDbName = $my_course['db'];
$thisCourseSysCode = $my_course['k'];
@ -978,11 +978,124 @@ if (isset($_GET['history']) && intval($_GET['history']) == 1) {
}
}
if ( is_array($courses_tree) ) {
foreach ($courses_tree as $key => $category) {
if ( is_array($courses_tree) ) {
foreach ($courses_tree as $key => $category) {
echo ' <div class="maincontent" id="maincontent">'; // start of content for logged in users
$special_course_list = UserManager::get_special_course_list();
if(count($special_course_list)>0) {
echo '<div id="course_default">';
foreach ($special_course_list as $my_course) {
//$list[] = get_logged_user_course_html($my_course, 0, null, true);
}
if ( is_array($list) ) {
//Courses whithout sessions
$old_user_category = 0;
foreach($list as $key=>$value) {
if ( empty($value[2]) ) { //if out of any session
$userdefined_categories = get_user_course_categories();
echo '<ul class="courseslist">';
if ($old_user_category<>$value[0]) {
if ($key<>0 OR $value[0]<>0) {// there are courses in the previous category
echo "\n</ul>";
}
echo "\n\n\t<ul class=\"user_course_category\"><li>".$userdefined_categories[$value[0]]."</li></ul>\n";
if ($key<>0 OR $value[0]<>0){ // there are courses in the previous category
echo "<ul class=\"courseslist\">";
}
$old_user_category=$value[0];
}
echo $value[1];
echo "</ul>\n";
}
}
}
echo '</div>';
}
if ($key == 0) {
// sessions and courses that are not in a session category
@ -1054,6 +1167,18 @@ if ( is_array($courses_tree) ) {
}
}
/*
if ( is_array($list) ) {
//Courses whithout sessions

Loading…
Cancel
Save