Explorar o código

Avoid weird buffering situations where file is sent broken/incomplete for download - refs BT#13629

Angel Fernando Quiroz Campos %!s(int64=7) %!d(string=hai) anos
pai
achega
472544e585
Modificáronse 2 ficheiros con 11 adicións e 0 borrados
  1. 10 0
      main/inc/lib/document.lib.php
  2. 1 0
      main/inc/lib/usergroup.lib.php

+ 10 - 0
main/inc/lib/document.lib.php

@@ -353,6 +353,11 @@ class DocumentManager
             header('Content-Description: '.$filename);
             header('Content-Description: '.$filename);
             header('Content-Transfer-Encoding: binary');
             header('Content-Transfer-Encoding: binary');
 
 
+            if (function_exists('ob_end_clean')) {
+                // Use ob_end_clean() to avoid weird buffering situations where file is sent broken/incomplete for download
+                ob_end_clean();
+            }
+
             $res = fopen($full_file_name, 'r');
             $res = fopen($full_file_name, 'r');
             fpassthru($res);
             fpassthru($res);
 
 
@@ -414,6 +419,11 @@ class DocumentManager
                 );
                 );
                 echo $content;
                 echo $content;
             } else {
             } else {
+                if (function_exists('ob_end_clean')) {
+                    // Use ob_end_clean() to avoid weird buffering situations where file is sent broken/incomplete for download
+                    ob_end_clean();
+                }
+
                 readfile($full_file_name);
                 readfile($full_file_name);
             }
             }
 
 

+ 1 - 0
main/inc/lib/usergroup.lib.php

@@ -799,6 +799,7 @@ class UserGroup extends Model
         $current_list = self::get_users_by_usergroup($usergroup_id);
         $current_list = self::get_users_by_usergroup($usergroup_id);
         $course_list = self::get_courses_by_usergroup($usergroup_id);
         $course_list = self::get_courses_by_usergroup($usergroup_id);
         $session_list = self::get_sessions_by_usergroup($usergroup_id);
         $session_list = self::get_sessions_by_usergroup($usergroup_id);
+        $session_list =  array_filter($session_list);
         $relationType = (int) $relationType;
         $relationType = (int) $relationType;
 
 
         $delete_items = [];
         $delete_items = [];