Fix queries.

1.10.x
Julio Montoya 11 years ago
parent 8595de0479
commit 932c7bbb67
  1. 8
      main/admin/access_url_add_usergroup_to_url.php
  2. 4
      main/admin/add_courses_to_session.php
  3. 27
      main/admin/course_list.php
  4. 14
      main/admin/dashboard_add_courses_to_user.php
  5. 4
      main/admin/subscribe_user2course.php
  6. 3
      main/admin/user_export.php
  7. 3
      main/inc/lib/add_courses_to_session_functions.lib.php
  8. 1
      main/inc/lib/auth.lib.php
  9. 115
      main/inc/lib/course.lib.php
  10. 1
      main/inc/lib/database.constants.inc.php
  11. 50
      main/inc/lib/statistics.lib.php
  12. 16
      main/inc/lib/urlmanager.lib.php
  13. 2
      main/inc/lib/usermanager.lib.php
  14. 4
      main/inc/lib/userportal.lib.php

@ -24,10 +24,10 @@ $firstLetterUserGroup = null;
$courses = array(); $courses = array();
$url_list = array(); $url_list = array();
$tbl_access_url_rel_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $tbl_access_url_rel_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$tbl_access_url = Database :: get_main_table(TABLE_MAIN_ACCESS_URL); $tbl_access_url = Database:: get_main_table(TABLE_MAIN_ACCESS_URL);
$tbl_user = Database :: get_main_table(TABLE_MAIN_USER); $tbl_user = Database:: get_main_table(TABLE_MAIN_USER);
$tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE); $tbl_course = Database:: get_main_table(TABLE_MAIN_COURSE);
$tool_name = get_lang('AddUserGroupToURL'); $tool_name = get_lang('AddUserGroupToURL');
$interbreadcrumb[] = array ('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); $interbreadcrumb[] = array ('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));

@ -124,7 +124,7 @@ if ($ajax_search) {
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title"; ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title";
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $tbl_course_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){ if ($access_url_id != -1){
$sql="SELECT course.id, code, title, visual_code, session_id $sql="SELECT course.id, code, title, visual_code, session_id
@ -154,7 +154,7 @@ if ($ajax_search) {
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title"; ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title";
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $tbl_course_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){ if ($access_url_id != -1){
$sql="SELECT course.id, code, title, visual_code, session_id $sql="SELECT course.id, code, title, visual_code, session_id

@ -20,21 +20,22 @@ $sessionId = isset($_GET['session_id']) ? $_GET['session_id'] : null;
function get_number_of_courses() function get_number_of_courses()
{ {
$course_table = Database :: get_main_table(TABLE_MAIN_COURSE); $course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
$sql = "SELECT COUNT(code) AS total_number_of_items FROM $course_table"; $sql = "SELECT COUNT(code) AS total_number_of_items FROM $course_table c";
if ((api_is_platform_admin() || api_is_session_admin()) && if ((api_is_platform_admin() || api_is_session_admin()) &&
api_is_multiple_url_enabled() && api_get_current_access_url_id() != -1 api_is_multiple_url_enabled() && api_get_current_access_url_id() != -1
) { ) {
$access_url_rel_course_table = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $access_url_rel_course_table = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$sql.= " INNER JOIN $access_url_rel_course_table url_rel_course ON (id = url_rel_course.c_id)"; $sql.= " INNER JOIN $access_url_rel_course_table url_rel_course
ON (c.id = url_rel_course.c_id)";
} }
if (isset ($_GET['keyword'])) { if (isset ($_GET['keyword'])) {
$keyword = Database::escape_string("%".$_GET['keyword']."%"); $keyword = Database::escape_string("%".$_GET['keyword']."%");
$sql .= " WHERE ( $sql .= " WHERE (
title LIKE '".$keyword."' OR c.title LIKE '".$keyword."' OR
code LIKE '".$keyword."' OR c.code LIKE '".$keyword."' OR
visual_code LIKE '".$keyword."' c.visual_code LIKE '".$keyword."'
) )
"; ";
} elseif (isset($_GET['keyword_code'])) { } elseif (isset($_GET['keyword_code'])) {
@ -47,13 +48,13 @@ function get_number_of_courses()
$keyword_unsubscribe = Database::escape_string($_GET['keyword_unsubscribe']); $keyword_unsubscribe = Database::escape_string($_GET['keyword_unsubscribe']);
$sql .= " WHERE $sql .= " WHERE
(code LIKE '".$keyword_code."' OR visual_code LIKE '".$keyword_code."') AND (c.code LIKE '".$keyword_code."' OR c.visual_code LIKE '".$keyword_code."') AND
title LIKE '".$keyword_title."' AND c.title LIKE '".$keyword_title."' AND
category_code LIKE '".$keyword_category."' AND c.category_code LIKE '".$keyword_category."' AND
course_language LIKE '".$keyword_language."' AND c.course_language LIKE '".$keyword_language."' AND
visibility LIKE '".$keyword_visibility."' AND c.visibility LIKE '".$keyword_visibility."' AND
subscribe LIKE '".$keyword_subscribe."' AND c.subscribe LIKE '".$keyword_subscribe."' AND
unsubscribe LIKE '".$keyword_unsubscribe."' c.unsubscribe LIKE '".$keyword_unsubscribe."'
"; ";
} }
@ -61,7 +62,7 @@ function get_number_of_courses()
if ((api_is_platform_admin() || api_is_session_admin()) && if ((api_is_platform_admin() || api_is_session_admin()) &&
api_is_multiple_url_enabled() && api_get_current_access_url_id() != -1 api_is_multiple_url_enabled() && api_get_current_access_url_id() != -1
) { ) {
$sql.= " AND url_rel_course.access_url_id=".api_get_current_access_url_id(); $sql.= " AND url_rel_course.access_url_id = ".api_get_current_access_url_id();
} }
$res = Database::query($sql); $res = Database::query($sql);

@ -75,11 +75,13 @@ function search_courses($needle, $type)
} }
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$sql = "SELECT c.code, c.title FROM $tbl_course c $sql = "SELECT c.code, c.title
LEFT JOIN $tbl_course_rel_access_url a ON (a.c_id = c.id) FROM $tbl_course c
LEFT JOIN $tbl_course_rel_access_url a
ON (a.c_id = c.id)
WHERE WHERE
c.code LIKE '$needle%' $without_assigned_courses AND c.code LIKE '$needle%' $without_assigned_courses AND
access_url_id = ".api_get_current_access_url_id().""; access_url_id = ".api_get_current_access_url_id();
} else { } else {
$sql = "SELECT c.code, c.title $sql = "SELECT c.code, c.title
FROM $tbl_course c FROM $tbl_course c
@ -199,14 +201,16 @@ if (isset($_POST['firstLetterCourse'])) {
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$sql = " SELECT c.code, c.title $sql = " SELECT c.code, c.title
FROM $tbl_course c FROM $tbl_course c
LEFT JOIN $tbl_course_rel_access_url a ON (a.course_code = c.code) LEFT JOIN $tbl_course_rel_access_url a
ON (a.c_id = c.id)
WHERE WHERE
c.code LIKE '$needle' $without_assigned_courses AND c.code LIKE '$needle' $without_assigned_courses AND
access_url_id = ".api_get_current_access_url_id()." access_url_id = ".api_get_current_access_url_id()."
ORDER BY c.title"; ORDER BY c.title";
} else { } else {
$sql= " SELECT c.code, c.title FROM $tbl_course c $sql= " SELECT c.code, c.title
FROM $tbl_course c
WHERE c.code LIKE '$needle' $without_assigned_courses WHERE c.code LIKE '$needle' $without_assigned_courses
ORDER BY c.title"; ORDER BY c.title";
} }

@ -227,7 +227,7 @@ $db_courses = Database::store_result($result);
unset($result); unset($result);
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $tbl_course_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$tbl_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); $tbl_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){ if ($access_url_id != -1){
@ -239,7 +239,7 @@ if (api_is_multiple_url_enabled()) {
ON (course_rel_url.c_id = course.id) ON (course_rel_url.c_id = course.id)
WHERE WHERE
access_url_id = $access_url_id AND access_url_id = $access_url_id AND
course_rel_user.user_id='".$_user['user_id']."' AND course_rel_user.user_id='".api_get_user_id()."' AND
course_rel_user.status='1' course_rel_user.status='1'
ORDER BY course.title"; ORDER BY course.title";
} }

@ -31,7 +31,8 @@ if (api_is_multiple_url_enabled()) {
$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){ if ($access_url_id != -1){
$sql = "SELECT code,visual_code,title FROM $course_table as c $sql = "SELECT code,visual_code,title
FROM $course_table as c
INNER JOIN $tbl_course_rel_access_url as course_rel_url INNER JOIN $tbl_course_rel_access_url as course_rel_url
ON (c.id = course_rel_url.c_id) ON (c.id = course_rel_url.c_id)
WHERE access_url_id = $access_url_id WHERE access_url_id = $access_url_id

@ -61,7 +61,6 @@ class AddCourseToSession
ORDER BY course.code '; ORDER BY course.code ';
} }
global $_configuration;
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$tbl_course_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $tbl_course_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
@ -83,7 +82,7 @@ class AddCourseToSession
$sql = 'SELECT course.code, course.visual_code, course.title $sql = 'SELECT course.code, course.visual_code, course.title
FROM '.$tbl_course.' course, '.$tbl_course_rel_access_url.' url_course FROM '.$tbl_course.' course, '.$tbl_course_rel_access_url.' url_course
WHERE WHERE
url_course.course_code=course.code AND url_course.c_id = course.id AND
access_url_id = '.$access_url_id.' AND access_url_id = '.$access_url_id.' AND
course.visual_code LIKE "'.$needle.'%" '.$cond_course_code.' course.visual_code LIKE "'.$needle.'%" '.$cond_course_code.'
ORDER BY course.code '; ORDER BY course.code ';

@ -528,7 +528,6 @@ class Auth
$limitFilter $limitFilter
"; ";
global $_configuration;
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$url_access_id = api_get_current_access_url_id(); $url_access_id = api_get_current_access_url_id();
if ($url_access_id != -1) { if ($url_access_id != -1) {

@ -821,6 +821,7 @@ class CourseManager
/** /**
* @return an array with the course info of all real courses on the platform * @return an array with the course info of all real courses on the platform
*@deprecate don't use this function
*/ */
public static function get_real_course_list() public static function get_real_course_list()
{ {
@ -835,36 +836,6 @@ class CourseManager
return $real_course_list; return $real_course_list;
} }
/**
* Returns an array with the course info of the real courses of which
* the current user is course admin
* @return array A list of courses details for courses to which the user is subscribed as course admin (status = 1)
*/
public static function get_real_course_list_of_user_as_course_admin($user_id)
{
$result_array = array();
if ($user_id != strval(intval($user_id))) {
return $result_array;
}
$sql_result = Database::query(
"SELECT *
FROM " . Database::get_main_table(TABLE_MAIN_COURSE) . " course
LEFT JOIN " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . " course_user
ON course.id = course_user.c_id
WHERE course.target_course_code IS NULL
AND course_user.user_id = '$user_id'
AND course_user.status = '1'"
);
if ($sql_result === false) {
return $result_array;
}
while ($result = Database::fetch_array($sql_result)) {
$result_array[] = $result;
}
return $result_array;
}
/** /**
* Get course list as coach * Get course list as coach
* *
@ -1005,8 +976,8 @@ class CourseManager
ON (course_rel_url.c_id = course.id) ON (course_rel_url.c_id = course.id)
WHERE WHERE
access_url_id = $access_url_id AND access_url_id = $access_url_id AND
course_rel_user.user_id='$user_id' AND course_rel_user.user_id = '$user_id' AND
course_rel_user.status='1' course_rel_user.status = '1'
ORDER BY course.title"; ORDER BY course.title";
} }
} }
@ -3098,51 +3069,6 @@ class CourseManager
return Database::fetch_array(Database::query($sql)); return Database::fetch_array(Database::query($sql));
} }
/**
* This code creates a select form element to let the user
* choose a real course to link to.
*
* A good non-display library should not use echo statements, but just return text/html
* so users of the library can choose when to display.
*
* We display the course code, but internally store the course id.
*
* @param boolean $has_size , true the select tag gets a size element, false it stays a dropdownmenu
* @param boolean $only_current_user_courses , true only the real courses of which the
* current user is course admin are displayed, false all real courses are shown.
* @param string $element_name the name of the select element
* @return a string containing html code for a form select element.
* @deprecated Function not in use
*/
public static function get_real_course_code_select_html(
$element_name,
$has_size = true,
$only_current_user_courses = true,
$user_id
) {
if ($only_current_user_courses) {
$real_course_list = self::get_real_course_list_of_user_as_course_admin($user_id);
} else {
$real_course_list = self::get_real_course_list();
}
if ($has_size) {
$size_element = "size=\"" . SELECT_BOX_SIZE . "\"";
} else {
$size_element = "";
}
$html_code = "<select name=\"$element_name\" $size_element >\n";
foreach ($real_course_list as $real_course) {
$course_code = $real_course["code"];
$html_code .= "<option value=\"" . $course_code . "\">";
$html_code .= $course_code;
$html_code .= "</option>\n";
}
$html_code .= "</select>\n";
return $html_code;
}
/** /**
* Get count rows of a table inside a course database * Get count rows of a table inside a course database
* @param string $table The table of which the rows should be counted * @param string $table The table of which the rows should be counted
@ -3187,7 +3113,8 @@ class CourseManager
//Deleting assigned courses to hrm_id //Deleting assigned courses to hrm_id
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$sql = "SELECT s.c_id FROM $tbl_course_rel_user s $sql = "SELECT s.c_id FROM $tbl_course_rel_user s
INNER JOIN $tbl_course_rel_access_url a ON (a.c_id = s.c_id) INNER JOIN $tbl_course_rel_access_url a
ON (a.c_id = s.c_id)
WHERE WHERE
user_id = $hr_manager_id AND user_id = $hr_manager_id AND
relation_type=" . COURSE_RELATION_TYPE_RRHH . " AND relation_type=" . COURSE_RELATION_TYPE_RRHH . " AND
@ -5751,28 +5678,28 @@ class CourseManager
return []; return [];
} }
$sql = "SELECT DISTINCT(c.id), c.title " $sql = "SELECT DISTINCT(c.id), c.title
. "FROM $courseTable c " FROM $courseTable c
. "INNER JOIN $courseUserTable cru ON c.code = cru.course_code " INNER JOIN $courseUserTable cru ON c.id = cru.c_id
. "WHERE ( " WHERE (
. "cru.user_id IN(" . implode(', ', $userIdList) . ") " cru.user_id IN (" . implode(', ', $userIdList) . ")
. "AND cru.relation_type = 0 " AND cru.relation_type = 0
. ")"; )";
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$courseAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $courseAccessUrlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$accessUrlId = api_get_current_access_url_id(); $accessUrlId = api_get_current_access_url_id();
if ($accessUrlId != -1) { if ($accessUrlId != -1) {
$sql = "SELECT DISTINCT(c.id), c.title " $sql = "SELECT DISTINCT(c.id), c.title
. "FROM $courseTable c " FROM $courseTable c
. "INNER JOIN $courseUserTable cru ON c.code = cru.course_code " INNER JOIN $courseUserTable cru ON c.id = cru.c_id
. "INNER JOIN $courseAccessUrlTable crau ON c.code = crau.course_code " INNER JOIN $courseAccessUrlTable crau ON c.id = crau.c_id
. "WHERE crau.access_url_id = $accessUrlId " WHERE crau.access_url_id = $accessUrlId
. "AND ( " AND (
. "cru.id_user IN (" . implode(', ', $userIdList) . ") " cru.id_user IN (" . implode(', ', $userIdList) . ") AND
. "AND cru.relation_type = 0 " cru.relation_type = 0
. ")"; )";
} }
} }

@ -91,6 +91,7 @@ define('TABLE_MAIN_ACCESS_URL_REL_USER', 'access_url_rel_user');
define('TABLE_MAIN_ACCESS_URL_REL_COURSE', 'access_url_rel_course'); define('TABLE_MAIN_ACCESS_URL_REL_COURSE', 'access_url_rel_course');
define('TABLE_MAIN_ACCESS_URL_REL_SESSION', 'access_url_rel_session'); define('TABLE_MAIN_ACCESS_URL_REL_SESSION', 'access_url_rel_session');
define('TABLE_MAIN_ACCESS_URL_REL_USERGROUP', 'access_url_rel_usergroup'); define('TABLE_MAIN_ACCESS_URL_REL_USERGROUP', 'access_url_rel_usergroup');
// This table seems not to be use
define('TABLE_MAIN_ACCESS_URL_REL_COURSE_CATEGORY', 'access_url_rel_course_category'); define('TABLE_MAIN_ACCESS_URL_REL_COURSE_CATEGORY', 'access_url_rel_course_category');
// Global calendar // Global calendar

@ -479,7 +479,7 @@ class Statistics
public static function printToolStats() public static function printToolStats()
{ {
$table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ACCESS); $table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ACCESS);
$access_url_rel_course_table= Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $access_url_rel_course_table = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$current_url_id = api_get_current_access_url_id(); $current_url_id = api_get_current_access_url_id();
$tools = array( $tools = array(
@ -513,16 +513,18 @@ class Statistics
GROUP BY access_tool GROUP BY access_tool
"; ";
} else { } else {
$sql = "SELECT access_tool, count( access_id ) ". $sql = "SELECT access_tool, count( access_id ) AS number_of_logins
"AS number_of_logins FROM $table ". FROM $table
"WHERE access_tool IN ('".implode("','", $tools)."') ". WHERE access_tool IN ('".implode("','", $tools)."')
"GROUP BY access_tool "; GROUP BY access_tool ";
} }
$res = Database::query($sql); $res = Database::query($sql);
$result = array(); $result = array();
while ($obj = Database::fetch_object($res)) { while ($obj = Database::fetch_object($res)) {
$result[$tool_names[$obj->access_tool]] = $obj->number_of_logins; $result[$tool_names[$obj->access_tool]] = $obj->number_of_logins;
} }
Statistics::printStats(get_lang('PlatformToolAccess'), $result, true); Statistics::printStats(get_lang('PlatformToolAccess'), $result, true);
} }
@ -532,17 +534,17 @@ class Statistics
public static function printCourseByLanguageStats() public static function printCourseByLanguageStats()
{ {
$table = Database :: get_main_table(TABLE_MAIN_COURSE); $table = Database :: get_main_table(TABLE_MAIN_COURSE);
$access_url_rel_course_table= Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $access_url_rel_course_table = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$current_url_id = api_get_current_access_url_id(); $current_url_id = api_get_current_access_url_id();
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$sql = "SELECT course_language, count( c.code ) AS number_of_courses ". $sql = "SELECT course_language, count( c.code ) AS number_of_courses
"FROM $table as c, $access_url_rel_course_table as u FROM $table as c, $access_url_rel_course_table as u
WHERE u.c_id = c.id AND access_url_id='".$current_url_id."' WHERE u.c_id = c.id AND access_url_id='".$current_url_id."'
GROUP BY course_language GROUP BY course_language
ORDER BY number_of_courses DESC"; ORDER BY number_of_courses DESC";
} else { } else {
$sql = "SELECT course_language, count( code ) AS number_of_courses ". $sql = "SELECT course_language, count( code ) AS number_of_courses
"FROM $table GROUP BY course_language FROM $table GROUP BY course_language
ORDER BY number_of_courses DESC"; ORDER BY number_of_courses DESC";
} }
$res = Database::query($sql); $res = Database::query($sql);
@ -679,10 +681,10 @@ class Statistics
HAVING c_id <> '' HAVING c_id <> ''
AND DATEDIFF( '".date('Y-m-d h:i:s')."' , access_date ) <= ". $date_diff; AND DATEDIFF( '".date('Y-m-d h:i:s')."' , access_date ) <= ". $date_diff;
} else { } else {
$sql = "SELECT * FROM $table ". $sql = "SELECT * FROM $table
"GROUP BY c_id ". GROUP BY c_id
"HAVING c_id <> '' ". HAVING c_id <> ''
"AND DATEDIFF( '".date('Y-m-d h:i:s')."' , access_date ) <= ". $date_diff; AND DATEDIFF( '".date('Y-m-d h:i:s')."' , access_date ) <= ". $date_diff;
} }
$res = Database::query($sql); $res = Database::query($sql);
$sql .= ' ORDER BY '.$columns[$column].' '.$sql_order[$direction]; $sql .= ' ORDER BY '.$columns[$column].' '.$sql_order[$direction];
@ -696,15 +698,21 @@ class Statistics
$courseInfo = api_get_course_info_by_id($obj->c_id); $courseInfo = api_get_course_info_by_id($obj->c_id);
$course = array (); $course = array ();
$course[]= '<a href="'.api_get_path(WEB_PATH).'courses/'.$courseInfo['code'].'">'.$courseInfo['code'].' <a>'; $course[]= '<a href="'.api_get_path(WEB_PATH).'courses/'.$courseInfo['code'].'">'.$courseInfo['code'].' <a>';
//Allow sort by date hiding the numerical date // Allow sort by date hiding the numerical date
$course[] = '<span style="display:none;">'.$obj->access_date.'</span>'.api_convert_and_format_date($obj->access_date); $course[] = '<span style="display:none;">'.$obj->access_date.'</span>'.api_convert_and_format_date($obj->access_date);
$courses[] = $course; $courses[] = $course;
} }
$parameters['date_diff'] = $date_diff; $parameters['date_diff'] = $date_diff;
$parameters['report'] = 'courselastvisit'; $parameters['report'] = 'courselastvisit';
$table_header[] = array (get_lang("CourseCode"), true); $table_header[] = array(get_lang("CourseCode"), true);
$table_header[] = array (get_lang("LastAccess"), true); $table_header[] = array(get_lang("LastAccess"), true);
Display :: display_sortable_table($table_header, $courses, array ('column'=>$column,'direction'=>$direction), array (), $parameters); Display:: display_sortable_table(
$table_header,
$courses,
array('column' => $column, 'direction' => $direction),
array(),
$parameters
);
} else { } else {
echo get_lang('NoSearchResults'); echo get_lang('NoSearchResults');
} }

@ -190,18 +190,18 @@ class UrlManager
**/ **/
public static function get_url_rel_course_data($access_url_id = null) public static function get_url_rel_course_data($access_url_id = null)
{ {
$where =''; $where = '';
$table_url_rel_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $table_url_rel_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE); $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE);
if (!empty($access_url_id)) { if (!empty($access_url_id)) {
$where ="WHERE $table_url_rel_course.access_url_id = ".intval($access_url_id); $where = " WHERE uc.access_url_id = ".intval($access_url_id);
} }
$sql = "SELECT u.id, c_id, title, access_url_id $sql = "SELECT u.id, c_id, title, uc.access_url_id
FROM $tbl_course u FROM $tbl_course u
INNER JOIN $table_url_rel_course INNER JOIN $table_url_rel_course uc
ON $table_url_rel_course.c_id = u.id ON uc.c_id = u.id
$where $where
ORDER BY title, code"; ORDER BY title, code";
@ -223,8 +223,9 @@ class UrlManager
$tableUrlRelCourse = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $tableUrlRelCourse = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$sql = "SELECT * $sql = "SELECT *
FROM $tableUrlRelCourse FROM $tableUrlRelCourse
WHERE $tableUrlRelCourse.c_id = '$courseId'"; WHERE c_id = '$courseId'";
$res = Database::query($sql); $res = Database::query($sql);
return Database::num_rows($res); return Database::num_rows($res);
} }
@ -296,7 +297,6 @@ class UrlManager
public static function getUrlRelCourseCategory($access_url_id = null) public static function getUrlRelCourseCategory($access_url_id = null)
{ {
$table_url_rel = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE_CATEGORY); $table_url_rel = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE_CATEGORY);
$table = Database::get_main_table(TABLE_MAIN_CATEGORY); $table = Database::get_main_table(TABLE_MAIN_CATEGORY);
$where = " WHERE 1=1 "; $where = " WHERE 1=1 ";
@ -851,7 +851,7 @@ class UrlManager
$table_url_rel_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $table_url_rel_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$sql = "SELECT c_id FROM $table_url_rel_course $sql = "SELECT c_id FROM $table_url_rel_course
WHERE access_url_id=".intval($access_url_id); WHERE access_url_id = ".intval($access_url_id);
$result = Database::query($sql); $result = Database::query($sql);
$existing_courses = array(); $existing_courses = array();

@ -2638,7 +2638,7 @@ class UserManager
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) { if ($access_url_id != -1) {
$tbl_url_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE); $tbl_url_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$join_access_url = "LEFT JOIN $tbl_url_course url_rel_course ON url_rel_course.c_id= course.id"; $join_access_url = "LEFT JOIN $tbl_url_course url_rel_course ON url_rel_course.c_id = course.id";
$where_access_url = " AND access_url_id = $access_url_id "; $where_access_url = " AND access_url_id = $access_url_id ";
} }
} }

@ -481,9 +481,9 @@ class IndexManager
FROM $main_category_table t1 FROM $main_category_table t1
$courseCategoryCondition $courseCategoryCondition
LEFT JOIN $main_category_table t2 ON t1.code = t2.parent_id LEFT JOIN $main_category_table t2 ON t1.code = t2.parent_id
LEFT JOIN $main_course_table t3 ON (t3.category_code=t1.code $platform_visible_courses) LEFT JOIN $main_course_table t3 ON (t3.category_code = t1.code $platform_visible_courses)
INNER JOIN $tbl_url_rel_course as url_rel_course INNER JOIN $tbl_url_rel_course as url_rel_course
ON (url_rel_course.course_code=t3.code) ON (url_rel_course.c_id = t3.id)
WHERE url_rel_course.access_url_id = $url_access_id AND t1.parent_id ".(empty($category) ? "IS NULL" : "='$category'")." WHERE url_rel_course.access_url_id = $url_access_id AND t1.parent_id ".(empty($category) ? "IS NULL" : "='$category'")."
GROUP BY t1.name,t1.code,t1.parent_id,t1.children_count ORDER BY t1.tree_pos, t1.name"; GROUP BY t1.name,t1.code,t1.parent_id,t1.children_count ORDER BY t1.tree_pos, t1.name";
} }

Loading…
Cancel
Save