Переглянути джерело

Merge branch '1.11.x' of github.com:chamilo/chamilo-lms into 1.11.x

jmontoya 9 роки тому
батько
коміт
6df0bb9673

+ 60 - 4
main/admin/languages.php

@@ -48,8 +48,36 @@ if (isset($_POST['sent_http_request'])) {
     exit;
 }
 
+$msgLang = isset($_SESSION['disabled_languages']) ? 1 : 0;
+$disabledLang = isset($_SESSION['disabled_languages']) ? $_SESSION['disabled_languages'] : null;
+
 $htmlHeadXtra[] = '<script>
  $(document).ready(function() {
+    var msgLang = '.$msgLang.';
+    var disabledLang = "'.$disabledLang.'"
+
+    if (msgLang == 1) {
+        $("#id_content_message").html("<div class=\"alert alert-warning\">' . get_lang('ThereAreUsersUsingThisLanguagesDisableItManually') . ' </br> " + disabledLang + "</div");
+    }
+    
+    $("#disable_all_except_default").click(function () {
+        if(confirm("'. get_lang('ConfirmYourChoice') .'")) {
+            $.ajax({
+                contentType: "application/x-www-form-urlencoded",
+                beforeSend: function(objeto) {
+                    $("#id_content_message").html("<div class=\"alert alert-warning\"><em class=\"fa fa-refresh fa-spin\"></em>  ' . get_lang('Loading') . '</div>");
+                },
+                type: "GET",
+                url: "../admin/languages.php",
+                data: "action=disable_all_except_default",
+                success: function(datos) {
+                    window.location.href = "' . api_get_self() . '";
+                }
+            });
+        }
+        
+        return false;  
+    });
 
  	//$(window).load(function () {
       $(".make_visible_and_invisible").attr("href","javascript:void(0)");
@@ -79,7 +107,7 @@ $htmlHeadXtra[] = '<script>
 		$.ajax({
 			contentType: "application/x-www-form-urlencoded",
 			beforeSend: function(objeto) {
-				$("#id_content_message").html("<div class=\"normal-message\"><img src=\"' . api_get_path(WEB_PATH) . 'main/img/loading1.gif\" /></div>");
+				$("#id_content_message").html("<div class=\"alert alert-warning\"><em class=\"fa fa-refresh fa-spin\"></em>  ' . get_lang('Loading') . '</div>");
 			},
 			type: "POST",
 			url: "../admin/languages.php",
@@ -98,25 +126,30 @@ $htmlHeadXtra[] = '<script>
                     }
 
                     if (datos=="set_visible") {
-                        $("#id_content_message").html("<div class=\"confirmation-message\">' . get_lang('LanguageIsNowVisible', '') . '</div>");
+                        $("#id_content_message").html("<div class=\"alert alert-success\">' . get_lang('LanguageIsNowVisible', '') . '</div>");
                     }
 
                     if (datos=="set_hidden") {
-                        $("#id_content_message").html("<div class=\"confirmation-message\">' . get_lang('LanguageIsNowHidden', '') . '</div>");
+                        $("#id_content_message").html("<div class=\"alert alert-success\">' . get_lang('LanguageIsNowHidden', '') . '</div>");
                     }
                 }
 
                 var action = datos.split(":")[0];
                 if (action && action == "confirm") {
                     var id = datos.split(":")[1];
-                    var sure = "<div class=\"warning-message\">'.get_lang('ThereAreUsersUsingThisLanguageYouWantToDisableThisLanguageAndSetUsersWithTheDefaultPortalLanguage').'</div><a href=\"languages.php?action=make_unavailable_confirmed&id="+id+"\" class=\"btn btn-default\">' . get_lang('MakeUnavailable') . '</a>";
+                    var sure = "<div class=\"alert alert-warning\">'.get_lang('ThereAreUsersUsingThisLanguageYouWantToDisableThisLanguageAndSetUsersWithTheDefaultPortalLanguage').'</br></br><a href=\"languages.php?action=make_unavailable_confirmed&id="+id+"\" class=\"btn btn-default\"><em class=\"fa fa-eye\"></em> ' . get_lang('MakeUnavailable') . '</a></div>";
                     $("#id_content_message").html(sure);
+                    $("html, body").animate({ scrollTop: 0 }, 200);
 				}
 		} });
 	});
 
  });
 </script>';
+
+// unset the msg session variable
+unset($_SESSION['disabled_languages']);
+
 // setting the table that is needed for the styles management (there is a check if it exists later in this code)
 $tbl_admin_languages = Database :: get_main_table(TABLE_MAIN_LANGUAGE);
 $tbl_settings_current = Database :: get_main_table(TABLE_MAIN_SETTINGS_CURRENT);
@@ -140,6 +173,27 @@ if ($action == 'setplatformlanguage') {
     }
 }
 
+if ($action == 'disable_all_except_default') {
+    $allLanguages = SubLanguageManager::getAllLanguages();
+    $failedDisabledLanguages = '';
+    $checkFailed = false;
+    foreach ($allLanguages as $language) {
+        if (SubLanguageManager::check_if_language_is_used($language['id']) == false) {
+            SubLanguageManager::make_unavailable_language($language['id']);
+        } else {
+            if (intval(SubLanguageManager::get_platform_language_id()) !== intval($language['id'])) {
+                $failedDisabledLanguages .= ' - ' .$language['english_name'] . '</br>';
+                $checkFailed = true;
+            }
+        }
+    }
+    
+    if ($checkFailed) {
+        $_SESSION['disabled_languages'] = $failedDisabledLanguages;
+    }
+    
+}
+
 if (isset($_POST['Submit']) && $_POST['Submit']) {
     // changing the name
     $sql_update = "UPDATE $tbl_admin_languages SET original_name='{$_POST['txt_name']}'
@@ -198,6 +252,8 @@ if (isset($_GET['action']) && $_GET['action'] == 'make_unavailable_confirmed') {
 // displaying the explanation for this tool
 Display::display_normal_message(get_lang('PlatformLanguagesExplanation'));
 
+echo '<a id="disable_all_except_default" href="javascript:void(0)" class="btn btn-primary"><em class="fa fa-eye"></em> ' . get_lang('LanguagesDisableAllExceptDefault') . '</a></br></br>';
+
 // selecting all the languages
 $sql_select = "SELECT * FROM $tbl_admin_languages";
 $result_select = Database::query($sql_select);

+ 1 - 1
main/coursecopy/copy_course_session_selected.php

@@ -30,7 +30,7 @@ if (!api_is_coach()) {
 }
 
 $courseId = api_get_course_int_id();
-$courseInfo = api_get_course_info($courseId);
+$courseInfo = api_get_course_info_by_id($courseId);
 $courseCode = $courseInfo['code'];
 $sessionId = api_get_session_id();
 

+ 18 - 0
main/inc/lib/sub_language.class.php

@@ -13,6 +13,24 @@ class SubLanguageManager
     public function __construct()
     {
     }
+    
+    /**
+     * Get all the languages
+     * @return Array All information about sub-language
+     */
+    public static function getAllLanguages()
+    {
+        $table = Database :: get_main_table(TABLE_MAIN_LANGUAGE);
+        $sql = 'SELECT * FROM ' . $table;
+        $rs = Database::query($sql);
+        $all_languages = [];
+        while ($row = Database::fetch_array($rs, 'ASSOC')) {
+            $all_languages[] = $row;
+        }
+        
+        return $all_languages;
+    }
+    
 
     /**
      * Get all files of lang folder (forum.inc.php,gradebook.inc.php,notebook.inc.php)