Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/main/inc/ajax/lang.ajax.php

77 lines
2.5 KiB

<?php
/* For licensing terms, see /license.txt */
/**
* Responses to AJAX calls.
*/
require_once __DIR__.'/../global.inc.php';
api_protect_course_script(true);
$action = $_REQUEST['a'];
switch ($action) {
case 'translate_html':
$translate = api_get_configuration_value('translate_html');
if (!$translate) {
exit;
}
$languageList = api_get_languages();
$hideAll = '';
foreach ($languageList['all'] as $language) {
$hideAll .= '$("span:lang('.$language['isocode'].')").filter(
function() {
// Ignore ckeditor classes
return !this.className.match(/cke(.*)/);
}).hide();';
}
$userInfo = api_get_user_info();
$languageId = api_get_language_id($userInfo['language']);
$languageInfo = api_get_language_info($languageId);
echo '
$(document).ready(function() {
'.$hideAll.'
var defaultLanguageFromUser = "'.$languageInfo['isocode'].'";
$("span:lang('.$languageInfo['isocode'].')").filter(
function() {
// Ignore ckeditor classes
return !this.className.match(/cke(.*)/);
}).show();
var defaultLanguage = "";
var langFromUserFound = false;
$(this).find("span").filter(
function() {
// Ignore ckeditor classes
return !this.className.match(/cke(.*)/);
}).each(function() {
defaultLanguage = $(this).attr("lang");
if (defaultLanguage) {
$(this).before().next("br").remove();
if (defaultLanguageFromUser == defaultLanguage) {
langFromUserFound = true;
}
}
});
// Show default language
if (langFromUserFound == false && defaultLanguage) {
$("span:lang("+defaultLanguage+")").filter(
function() {
// Ignore ckeditor classes
return !this.className.match(/cke(.*)/);
}).show();
}
});
';
break;
default:
echo '';
}
exit;