sub_language_ajax.inc.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. $language_file = 'admin';
  4. require_once '../inc/global.inc.php';
  5. require_once 'sub_language.class.php';
  6. /*
  7. * search a term and return description from a glossary
  8. */
  9. global $charset;
  10. $new_language = Security::remove_XSS($_REQUEST['new_language']);
  11. $language_variable = Security::remove_XSS($_REQUEST['variable_language']);
  12. $file_id = Security::remove_XSS($_REQUEST['file_id']);
  13. if (isset($new_language) && isset($language_variable) && isset($file_id)) {
  14. $file_language = $language_files_to_load[$file_id].'.inc.php';
  15. $id_language = intval($_REQUEST['id']);
  16. $sub_language_id = intval($_REQUEST['sub']);
  17. $all_data_of_language = SubLanguageManager::get_all_information_of_sub_language($id_language,$sub_language_id);
  18. $path_folder = api_get_path(SYS_LANG_PATH).$all_data_of_language['dokeos_folder'].'/'.$file_language;
  19. $all_file_of_directory = SubLanguageManager::get_all_language_variable_in_file($path_folder);
  20. $return_value = SubLanguageManager::add_file_in_language_directory ($path_folder);
  21. //update variable language
  22. //@todo add filter for double quotes, to avoid breaking the string
  23. //could be something like preg_replace('/.*[^\\]".*/','\"',api_...) ?
  24. $all_file_of_directory[$language_variable]="\"".api_convert_encoding($new_language,$charset,'UTF-8')."\";";
  25. $result_array = array();
  26. foreach ($all_file_of_directory as $key_value=>$value_info) {
  27. //echo $path_folder.' '.$value_info.' '.$key_value;
  28. $result_array[$key_value] = SubLanguageManager::write_data_in_file($path_folder, $value_info, $key_value);
  29. }
  30. $variables_with_problems = '';
  31. if (!empty($result_array)) {
  32. foreach($result_array as $key =>$result) {
  33. if ($result == false) {
  34. $variables_with_problems .=$key.' <br />';
  35. }
  36. }
  37. }
  38. if (!empty($variables_with_problems)) {
  39. echo $path_folder.' '.get_lang('IsNotWritable').'<br /> '.api_ucwords(get_lang('ErrorsFound')).': <br />'.$variables_with_problems;
  40. } else {
  41. echo 1;
  42. }
  43. }