Procházet zdrojové kódy

Only clean sessions from user once see BT#11656

jmontoyaa před 8 roky
rodič
revize
99c54f2180
1 změnil soubory, kde provedl 10 přidání a 2 odebrání
  1. 10 2
      main/cron/import_csv.php

+ 10 - 2
main/cron/import_csv.php

@@ -1155,6 +1155,7 @@ class ImportCsv
         $data = Import::csv_reader($file);
         if (!empty($data)) {
             $this->logger->addInfo(count($data) . " records found.");
+            $userIdList = [];
             foreach ($data as $row) {
                 $chamiloUserName = $row['UserName'];
                 $chamiloCourseCode = $row['CourseCode'];
@@ -1205,14 +1206,21 @@ class ImportCsv
                         );
                         break;
                     case 'drh':
+                        $removeAllSessionsFromUser = true;
+
+                        if (in_array($userId, $userIdList)) {
+                            $removeAllSessionsFromUser = false;
+                        } else {
+                            $userIdList[] = $userId;
+                        }
+
                         $userInfo = api_get_user_info($userId);
                         SessionManager::subscribeSessionsToDrh(
                             $userInfo,
                             [$chamiloSessionId],
                             false,
-                            true
+                            $removeAllSessionsFromUser
                         );
-
                         break;
                 }