From 84b34f3df0a590c608d70ca32dde23d10c81b3b1 Mon Sep 17 00:00:00 2001 From: jmontoyaa Date: Mon, 18 Apr 2016 21:57:00 +0200 Subject: [PATCH] Add course setting show_course_in_user_language BT#11016 --- main/course_info/infocours.php | 13 +++++++++++-- main/inc/lib/add_course.lib.inc.php | 3 ++- main/inc/lib/api.lib.php | 13 +++++++++++-- main/inc/lib/course.lib.php | 3 ++- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/main/course_info/infocours.php b/main/course_info/infocours.php index d4942516ee..e0e9566fb9 100755 --- a/main/course_info/infocours.php +++ b/main/course_info/infocours.php @@ -178,6 +178,13 @@ $form->addElement( ); $form->addElement('select_language', 'course_language', array(get_lang('Ln'), get_lang('TipLang'))); +$group = array( + $form->createElement('radio', 'show_course_in_user_language', null, get_lang('Yes'), 1), + $form->createElement('radio', 'show_course_in_user_language', null, get_lang('No'), 2), +); + +$form->addGroup($group, '', array(get_lang("ShowCourseInUserLanguage")), ''); + $form->addText('department_name', get_lang('Department'), false); $form->applyFilter('department_name', 'html_filter'); $form->applyFilter('department_name', 'trim'); @@ -456,12 +463,14 @@ $form->addButtonSave(get_lang('SaveSettings'), 'submit_save'); $form->addElement('html', ''); // Document settings -$form->addElement('html', '

'.Display::return_icon('folder.png', Security::remove_XSS(get_lang('Documents')),'',ICON_SIZE_SMALL).' '.Security::remove_XSS(get_lang('Documents')).'

'); +$form->addElement( + 'html', + '

'.Display::return_icon('folder.png', Security::remove_XSS(get_lang('Documents')),'',ICON_SIZE_SMALL).' '.Security::remove_XSS(get_lang('Documents')).'

' +); $group = array( $form->createElement('radio', 'show_system_folders', null, get_lang('Yes'), 1), $form->createElement('radio', 'show_system_folders', null, get_lang('No'), 2), - ); $form->addGroup($group, '', array(get_lang("ShowSystemFolders")), ''); $form->addButtonSave(get_lang('SaveSettings'), 'submit_save'); diff --git a/main/inc/lib/add_course.lib.inc.php b/main/inc/lib/add_course.lib.inc.php index 5cdb4d8404..24c42155e7 100755 --- a/main/inc/lib/add_course.lib.inc.php +++ b/main/inc/lib/add_course.lib.inc.php @@ -689,7 +689,8 @@ class AddCourse 'default' => api_get_setting('allow_public_certificates') === 'true' ? 1 : '', 'category' =>'certificates' ], - 'documents_default_visibility' => ['default' =>'visible', 'category' =>'document'] + 'documents_default_visibility' => ['default' =>'visible', 'category' =>'document'], + 'show_course_in_user_language' => ['default' => 2], ]; $counter = 1; diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php index 56720df40b..1fcce4593f 100644 --- a/main/inc/lib/api.lib.php +++ b/main/inc/lib/api.lib.php @@ -1392,7 +1392,7 @@ function api_get_user_info( ) { if (empty($user_id)) { - $userFromSession = Session::read('_user'); + $userFromSession = Session::read('_user'); if (isset($userFromSession)) { return _api_format_user($userFromSession); } @@ -4245,6 +4245,7 @@ function api_get_language_from_type($lang_type) global $_course; $cidReq = null; if (empty($_course)) { + // Code modified because the local.inc.php file it's declarated after this work // causing the function api_get_course_info() returns a null value $cidReq = isset($_GET["cidReq"]) ? Database::escape_string($_GET["cidReq"]) : null; @@ -4257,8 +4258,16 @@ function api_get_language_from_type($lang_type) } } $_course = api_get_course_info($cidReq); - if (isset($_course['language']) && !empty($_course['language'])) + if (isset($_course['language']) && !empty($_course['language'])) { $return = $_course['language']; + $showCourseInUserLanguage = api_get_course_setting('show_course_in_user_language'); + if ($showCourseInUserLanguage == 1) { + $userInfo = api_get_user_info(); + if (isset($userInfo['language'])) { + $return = $userInfo['language']; + } + } + } break; default: $return = false; diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 026bcd34f4..0dec158ae4 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -5033,7 +5033,8 @@ class CourseManager 'pdf_export_watermark_text', 'show_system_folders', 'exercise_invisible_in_session', - 'enable_forum_auto_launch' + 'enable_forum_auto_launch', + 'show_course_in_user_language' ); $allowLPReturnLink = api_get_setting('allow_lp_return_link');