Add ""$useUserLanguageFilterIfAvailable" to ignore user language filter

See BT#13099
pull/2487/head
jmontoyaa 8 years ago
parent f2e83f1845
commit 729432ecca
  1. 13
      main/admin/gradebook_dependency.php
  2. 11
      main/admin/skills_gradebook.php
  3. 37
      main/inc/lib/course.lib.php
  4. 10
      main/inc/lib/userportal.lib.php
  5. 20
      user_portal.php

@ -82,14 +82,17 @@ foreach ($dependencyList as $courseId => $courseInfo) {
$userList = CourseManager::get_student_list_from_course_code($courseCode);
foreach ($userList as $user) {
$userId = $user['user_id'];
if ($userId != 37056) {
//continue;
}
$userInfo = api_get_user_info($userId);
$courseId = $courseInfo['real_id'];
$userCourseList = CourseManager::get_courses_list_by_user_id($userId);
$userCourseList = CourseManager::get_courses_list_by_user_id(
$userId,
false,
false,
true,
[],
false
);
$userCourseListCode = array_column($userCourseList, 'code');
if (!isset($userResult[$userId]['result_mandatory_20'])) {

@ -89,7 +89,16 @@ $action_links = 'function action_formatter(cellvalue, options, rowObject) {
$(function() {
<?php
// grid definition see the $career->display() function
echo Display::grid_js('gradebooks', $url, $columns, $column_model, $extra_params, array(), $action_links, true);
echo Display::grid_js(
'gradebooks',
$url,
$columns,
$column_model,
$extra_params,
array(),
$action_links,
true
);
?>
});
</script>

@ -2730,6 +2730,7 @@ class CourseManager
* whether he gets all the courses or just his. Note: This does *not* include all sessions
* @param bool $loadSpecialCourses
* @param array $skipCourseList List of course ids to skip
* @param bool $useUserLanguageFilterIfAvailable
* @return array List of codes and db name
* @author isaac flores paz
*/
@ -2738,7 +2739,8 @@ class CourseManager
$include_sessions = false,
$adminGetsAllCourses = false,
$loadSpecialCourses = true,
$skipCourseList = []
$skipCourseList = [],
$useUserLanguageFilterIfAvailable = true
) {
$user_id = intval($user_id);
$urlId = api_get_current_access_url_id();
@ -2752,7 +2754,7 @@ class CourseManager
$languageCondition = '';
$onlyInUserLanguage = api_get_configuration_value('my_courses_show_courses_in_user_language_only');
if ($onlyInUserLanguage) {
if ($useUserLanguageFilterIfAvailable && $onlyInUserLanguage) {
$userInfo = api_get_user_info(api_get_user_id());
if (!empty($userInfo['language'])) {
$languageCondition = " AND course.course_language = '".$userInfo['language']."' ";
@ -3581,10 +3583,14 @@ class CourseManager
* in the sense that any user clicking them is registered as a student
* @param int $user_id User id
* @param bool $load_dirs Whether to show the document quick-loader or not
* @param bool $useUserLanguageFilterIfAvailable
* @return string
*/
public static function returnSpecialCourses($user_id, $load_dirs = false)
{
public static function returnSpecialCourses(
$user_id,
$load_dirs = false,
$useUserLanguageFilterIfAvailable = true
) {
$user_id = intval($user_id);
$table = Database::get_main_table(TABLE_MAIN_COURSE);
$specialCourseList = self::get_special_course_list();
@ -3596,7 +3602,7 @@ class CourseManager
// Filter by language
$languageCondition = '';
$onlyInUserLanguage = api_get_configuration_value('my_courses_show_courses_in_user_language_only');
if ($onlyInUserLanguage) {
if ($useUserLanguageFilterIfAvailable && $onlyInUserLanguage) {
$userInfo = api_get_user_info(api_get_user_id());
if (!empty($userInfo['language'])) {
$languageCondition = " AND course_language = '".$userInfo['language']."' ";
@ -3709,10 +3715,15 @@ class CourseManager
* @param int $user_id
* @param bool $load_dirs Whether to show the document quick-loader or not
* @param integer $user_id
* @param bool $useUserLanguageFilterIfAvailable
*
* @return array
*/
public static function returnCourses($user_id, $load_dirs = false)
{
public static function returnCourses(
$user_id,
$load_dirs = false,
$useUserLanguageFilterIfAvailable = true
) {
$user_id = intval($user_id);
if (empty($user_id)) {
$user_id = api_get_user_id();
@ -3733,7 +3744,8 @@ class CourseManager
$courseInCategory = self::returnCoursesCategories(
$row['id'],
$load_dirs,
$user_id
$user_id,
$useUserLanguageFilterIfAvailable
);
$params = [
@ -3748,7 +3760,8 @@ class CourseManager
$coursesNotCategory = self::returnCoursesCategories(
0,
$load_dirs,
$user_id
$user_id,
$useUserLanguageFilterIfAvailable
);
if ($coursesNotCategory) {
@ -3764,12 +3777,14 @@ class CourseManager
* @param int $user_category_id User category id
* @param bool $load_dirs Whether to show the document quick-loader or not
* @param int $user_id
* @param bool $useUserLanguageFilterIfAvailable
* @return string
*/
public static function returnCoursesCategories(
$user_category_id,
$load_dirs = false,
$user_id = 0
$user_id = 0,
$useUserLanguageFilterIfAvailable = true
) {
$user_id = $user_id ?: api_get_user_id();
$user_category_id = (int) $user_category_id;
@ -3794,7 +3809,7 @@ class CourseManager
$languageCondition = '';
$onlyInUserLanguage = api_get_configuration_value('my_courses_show_courses_in_user_language_only');
if ($onlyInUserLanguage) {
if ($useUserLanguageFilterIfAvailable && $onlyInUserLanguage) {
$userInfo = api_get_user_info(api_get_user_id());
if (!empty($userInfo['language'])) {
$languageCondition = " AND course.course_language = '".$userInfo['language']."' ";

@ -1140,12 +1140,14 @@ class IndexManager
* @param int $user_id
* @param bool $showSessions
* @param string $categoryCodeFilter
* @param bool $useUserLanguageFilterIfAvailable
* @return string
*/
public function returnCoursesAndSessions(
$user_id,
$showSessions = true,
$categoryCodeFilter = ''
$categoryCodeFilter = '',
$useUserLanguageFilterIfAvailable = true
) {
$gameModeIsActive = api_get_setting('gamification_mode');
$listCourse = '';
@ -1185,13 +1187,15 @@ class IndexManager
// Display special courses.
$specialCourses = CourseManager::returnSpecialCourses(
$user_id,
$this->load_directories_preview
$this->load_directories_preview,
$useUserLanguageFilterIfAvailable
);
// Display courses.
$courses = CourseManager::returnCourses(
$user_id,
$this->load_directories_preview
$this->load_directories_preview,
$useUserLanguageFilterIfAvailable
);
// Course option (show student progress)

@ -145,9 +145,14 @@ if (!$myCourseListAsCategory) {
// if teacher, session coach or admin, display the button to change te course view
if ($displayMyCourseViewBySessionLink
&& (api_is_drh() || api_is_session_general_coach() || api_is_platform_admin() || api_is_session_admin()
|| api_is_teacher())
if ($displayMyCourseViewBySessionLink &&
(
api_is_drh() ||
api_is_session_general_coach() ||
api_is_platform_admin() ||
api_is_session_admin() ||
api_is_teacher()
)
) {
$courseAndSessions['html'] = "
<div class='view-by-session-link'>
@ -291,7 +296,14 @@ if ($myCourseListAsCategory) {
$allow = api_get_configuration_value('gradebook_dependency');
if (!empty($courseAndSessions['courses']) && $allow) {
if ($allow) {
$courseAndSessions = $controller->returnCoursesAndSessions(
$userId,
true,
'',
false
);
$courseList = api_get_configuration_value('gradebook_dependency_mandatory_courses');
$courseList = isset($courseList['courses']) ? $courseList['courses'] : [];
$mandatoryCourse = [];

Loading…
Cancel
Save