diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 62cd1c0600..ca3ec71b0d 100644 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -3788,53 +3788,7 @@ class CourseManager { $res = Database::query($sql); $row = Database::fetch_row($res); return $row[0]; - } - - /* - * This code was originaly in local.inc.php - */ - public static function get_course_info_with_category($course_code) { - global $_configuration; - $course_table = Database::get_main_table(TABLE_MAIN_COURSE); - $course_cat_table = Database::get_main_table(TABLE_MAIN_CATEGORY); - $course_code = Database::escape_string($course_code); - - $sql = "SELECT course.*, course_category.code faCode, course_category.name faName FROM $course_table - LEFT JOIN $course_cat_table - ON course.category_code = course_category.code - WHERE course.code = '$course_code'"; - $result = Database::query($sql); - - $_course = array(); - if (Database::num_rows($result) > 0) { - $course_data = Database::fetch_array($result); - //@TODO real_cid should be cid, for working with numeric course id - $_course['real_id'] = $course_data['id']; - $_course['id'] = $course_data['code']; //auto-assigned integer - $_course['code'] = $course_data['code']; - $_course['name'] = $course_data['title']; - $_course['title'] = $course_data['title']; - $_course['official_code'] = $course_data['visual_code']; // use in echo - $_course['sysCode'] = $course_data['code']; // use as key in db - $_course['path'] = $course_data['directory']; // use as key in path - $_course['dbName'] = $course_data['db_name']; // use as key in db list - $_course['db_name'] = $course_data['db_name']; // not needed in Chamilo 1.9 - $_course['dbNameGlu'] = $_configuration['table_prefix'] . $course_data['db_name'] . $_configuration['db_glue']; // use in all queries //not needed in Chamilo 1.9 - $_course['titular'] = $course_data['tutor_name'];// this should be deprecated and use the table course_rel_user - $_course['language'] = $course_data['course_language']; - $_course['extLink']['url' ] = $course_data['department_url']; - $_course['extLink']['name'] = $course_data['department_name']; - $_course['categoryCode'] = $course_data['faCode']; - $_course['categoryName'] = $course_data['faName']; - $_course['visibility'] = $course_data['visibility']; - $_course['subscribe_allowed'] = $course_data['subscribe']; - $_course['unsubscribe'] = $course_data['unsubscribe']; - $_course['activate_legal'] = $course_data['activate_legal']; - $_course['legal'] = $course_data['legal' ]; - $_course['show_score'] = $course_data['show_score']; //used in the work tool - } - return $_course; - } + } /** * Return a link to go to the course, validating the visibility of the diff --git a/main/inc/lib/document.lib.php b/main/inc/lib/document.lib.php index c562cdcaf9..e9b7919864 100755 --- a/main/inc/lib/document.lib.php +++ b/main/inc/lib/document.lib.php @@ -23,20 +23,13 @@ class DocumentManager { */ public static function get_course_quota() { $course_info = api_get_course_info(); + + $course_quota = null; if (empty($course_info)) { return DEFAULT_DOCUMENT_QUOTA; + } else { + $course_quota = $course_info['disk_quota']; } - $course_code = Database::escape_string($course_info['code']); - $course_table = Database::get_main_table(TABLE_MAIN_COURSE); - - $sql_query = "SELECT disk_quota FROM $course_table WHERE code = '$course_code'"; - $sql_result = Database::query($sql_query); - $course_quota = null; - if (Database::num_rows($sql_result)) { - $result = Database::fetch_array($sql_result); - $course_quota = $result['disk_quota']; - } - if (is_null($course_quota) || empty($course_quota)) { // Course table entry for quota was null, then use default value $course_quota = DEFAULT_DOCUMENT_QUOTA; diff --git a/main/inc/lib/main_api.lib.php b/main/inc/lib/main_api.lib.php index 0dc53c4ab4..e83dc314b1 100644 --- a/main/inc/lib/main_api.lib.php +++ b/main/inc/lib/main_api.lib.php @@ -1244,49 +1244,9 @@ function api_get_course_info($course_code = null) { WHERE course.code = '$course_code'"; $result = Database::query($sql); $_course = array(); - if (Database::num_rows($result) > 0) { - global $_configuration; + if (Database::num_rows($result) > 0) { $course_data = Database::fetch_array($result); - $_course['id' ] = $course_data['code' ]; - $_course['code' ] = $course_data['code' ]; - $_course['name' ] = $course_data['title' ]; - $_course['title' ] = $course_data['title' ]; - $_course['official_code'] = $course_data['visual_code' ]; // Use in echo statements. - $_course['sysCode' ] = $course_data['code' ]; // Use as key in db. - $_course['path' ] = $course_data['directory' ]; // Use as key in path. - $_course['directory' ] = $course_data['directory' ]; - - //@todo should be deprecated - $_course['dbName' ] = $course_data['db_name' ]; // Use as key in db list. - $_course['db_name' ] = $course_data['db_name']; // - $_course['dbNameGlu' ] = $_configuration['table_prefix'] . $course_data['db_name'] . $_configuration['db_glue']; // Use in all queries. - - $_course['titular' ] = $course_data['tutor_name' ]; - $_course['language' ] = $course_data['course_language']; - $_course['extLink' ]['url' ] = $course_data['department_url' ]; - $_course['extLink' ]['name'] = $course_data['department_name']; - $_course['categoryCode' ] = $course_data['faCode' ]; - $_course['categoryName' ] = $course_data['faName' ]; - $_course['visibility' ] = $course_data['visibility' ]; - $_course['subscribe_allowed'] = $course_data['subscribe' ]; - $_course['unsubscribe'] = $course_data['unsubscribe' ]; - - $_course['department_name'] = $course_data['department_name']; - $_course['department_url'] = $course_data['department_url' ]; - $_course['legal'] = $course_data['legal' ]; - $_course['show_score'] = $course_data['show_score']; //used in the work tool - - // The real_id is an integer. It is mandatory for future implementations. - $_course['real_id' ] = $course_data['id' ]; - $_course['activate_legal'] = isset($course_data['activate_legal']) ? $course_data['activate_legal'] : false; - - //I know this is bad, but this reflects that it was a bad decistion to not add a flag in the DB if an image exists - if (file_exists(api_get_path(SYS_COURSE_PATH).$course_data['directory'].'/course-pic85x85.png')) { - $url_image = api_get_path(WEB_COURSE_PATH).$course_data['directory'].'/course-pic85x85.png'; - } else { - $url_image = api_get_path(WEB_IMG_PATH).'without_picture.png'; - } - $_course['course_image'] = $url_image; + $_course = api_format_course_array($course_data); } return $_course; } @@ -1295,7 +1255,6 @@ function api_get_course_info($course_code = null) { return $_course; } - /** * Returns the current course info array. @@ -1314,51 +1273,9 @@ function api_get_course_info_by_id($id = null) { WHERE course.id = $id"; $result = Database::query($sql); $_course = array(); - if (Database::num_rows($result) > 0) { - global $_configuration; + if (Database::num_rows($result) > 0) { $course_data = Database::fetch_array($result); - - $_course['id' ] = $course_data['code' ]; - // Added - $_course['code' ] = $course_data['code' ]; - $_course['name' ] = $course_data['title' ]; - $_course['title' ] = $course_data['title' ]; - $_course['official_code'] = $course_data['visual_code' ]; // Use in echo statements. - $_course['sysCode' ] = $course_data['code' ]; // Use as key in db. - $_course['path' ] = $course_data['directory' ]; // Use as key in path. - $_course['directory' ] = $course_data['directory' ]; - - //@todo should be deprecated - $_course['dbName' ] = $course_data['db_name' ]; // Use as key in db list. - $_course['db_name' ] = $course_data['db_name' ]; - $_course['dbNameGlu' ] = $_configuration['table_prefix'] . $course_data['db_name'] . $_configuration['db_glue']; // Use in all queries. - - $_course['titular' ] = $course_data['tutor_name' ]; - $_course['language' ] = $course_data['course_language']; - $_course['extLink' ]['url' ] = $course_data['department_url' ]; - $_course['extLink' ]['name'] = $course_data['department_name']; - - $_course['categoryCode' ] = $course_data['faCode' ]; - $_course['categoryName' ] = $course_data['faName' ]; - - $_course['visibility' ] = $course_data['visibility' ]; - $_course['subscribe_allowed'] = $course_data['subscribe' ]; - $_course['unsubscribe'] = $course_data['unsubscribe' ]; - - $_course['real_id' ] = $course_data['id' ]; - $_course['title' ] = $course_data['title' ]; - $_course['course_language'] = $course_data['course_language']; - $_course['activate_legal'] = $course_data['activate_legal']; - $_course['legal'] = $course_data['legal' ]; - $_course['show_score'] = $course_data['show_score']; //used in the work tool - - if (file_exists(api_get_path(SYS_COURSE_PATH).$course_data['directory'].'/course-pic85x85.png')) { - $url_image = api_get_path(WEB_COURSE_PATH).$course_data['directory'].'/course-pic85x85.png'; - } else { - $url_image = api_get_path(WEB_IMG_PATH).'without_picture.png'; - } - $_course['course_image'] = $url_image; - + $_course = api_format_course_array($course_data); } return $_course; } @@ -1368,6 +1285,64 @@ function api_get_course_info_by_id($id = null) { return $_course; } +function api_format_course_array($course_data) { + global $_configuration; + + if (empty($course_data)) { + return array(); + } + + $_course = array(); + + $_course['id' ] = $course_data['code' ]; + $_course['real_id' ] = $course_data['id' ]; + + // Added + $_course['code' ] = $course_data['code' ]; + $_course['name' ] = $course_data['title' ]; + $_course['title' ] = $course_data['title' ]; + $_course['official_code'] = $course_data['visual_code' ]; // Use in echo statements. + $_course['sysCode' ] = $course_data['code' ]; // Use as key in db. + $_course['path' ] = $course_data['directory' ]; // Use as key in path. + $_course['directory' ] = $course_data['directory' ]; + + //@todo should be deprecated + $_course['dbName' ] = $course_data['db_name' ]; // Use as key in db list. + $_course['db_name' ] = $course_data['db_name' ]; + $_course['dbNameGlu' ] = $_configuration['table_prefix'] . $course_data['db_name'] . $_configuration['db_glue']; // Use in all queries. + + $_course['titular' ] = $course_data['tutor_name' ]; + $_course['language' ] = $course_data['course_language']; + $_course['extLink' ]['url' ] = $course_data['department_url' ]; + $_course['extLink' ]['name'] = $course_data['department_name']; + + $_course['categoryCode' ] = $course_data['faCode' ]; + $_course['categoryName' ] = $course_data['faName' ]; + + $_course['visibility' ] = $course_data['visibility' ]; + $_course['subscribe_allowed'] = $course_data['subscribe' ]; + $_course['unsubscribe'] = $course_data['unsubscribe' ]; + + $_course['course_language'] = $course_data['course_language']; + $_course['activate_legal'] = isset($course_data['activate_legal']) ? $course_data['activate_legal'] : false;; + $_course['legal'] = $course_data['legal' ]; + $_course['show_score'] = $course_data['show_score']; //used in the work tool + $_course['department_name'] = $course_data['department_name']; + $_course['department_url'] = $course_data['department_url' ]; + + $_course['disk_quota'] = $course_data['disk_quota']; + + if (file_exists(api_get_path(SYS_COURSE_PATH).$course_data['directory'].'/course-pic85x85.png')) { + $url_image = api_get_path(WEB_COURSE_PATH).$course_data['directory'].'/course-pic85x85.png'; + } else { + $url_image = api_get_path(WEB_IMG_PATH).'without_picture.png'; + } + $_course['course_image'] = $url_image; + + return $_course; + +} + /* SESSION MANAGEMENT */ diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index e0de1d9619..178e23404f 100644 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -1575,7 +1575,7 @@ class SessionManager { * @param $session_id * @return unknown_type */ - public function get_user_status_in_session($user_id, $course_code, $session_id) { + public static function get_user_status_in_session($user_id, $course_code, $session_id) { $tbl_session_rel_course_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $tbl_user = Database::get_main_table(TABLE_MAIN_USER); $sql = "SELECT session_rcru.status diff --git a/main/inc/local.inc.php b/main/inc/local.inc.php index ab9220567c..c26ad48252 100644 --- a/main/inc/local.inc.php +++ b/main/inc/local.inc.php @@ -661,7 +661,7 @@ if (isset($uidReset) && $uidReset) { // session data refresh requested if (isset($cidReset) && $cidReset) { // Course session data refresh requested or empty data if ($cidReq) { - $_course = CourseManager::get_course_info_with_category($cidReq); + $_course = api_get_course_info($cidReq); if (!empty($_course)) { @@ -729,7 +729,7 @@ if (isset($cidReset) && $cidReset) { if (empty($_SESSION['_course']) && !empty($_SESSION['_cid'])) { //Just in case $_course is empty we try to load if the c_id still exists - $_course = CourseManager::get_course_info_with_category($_SESSION['_cid']); + $_course = api_get_course_info($_SESSION['_cid']); if (!empty($_course)) { $_real_cid = $_course['real_id']; $_cid = $_course['code'];