11<?php 
2+ 
23/* For licensing terms, see /license.txt */ 
34
45use  Chamilo \CoreBundle \Entity \ExtraFieldOptions ;
1314// Set this option to true to enforce strict purification for usenames. 
1415$ purification_option_for_usernamesfalse ;
1516$ userIdapi_get_user_id ();
16- 
1717api_protect_admin_script (true , null );
1818api_protect_limit_for_session_admin ();
1919set_time_limit (0 );
@@ -220,7 +220,6 @@ function save_data($users, $sendMail = false)
220220 if  (!isset ($ inserted_in_course
221221 $ inserted_in_course
222222 }
223- 
224223 $ usergroupnew  UserGroup ();
225224 if  (is_array ($ users
226225 $ efonew  ExtraFieldOption ('user ' );
@@ -433,10 +432,9 @@ function parse_csv_data($users, $fileName, $sendEmail = 0, $checkUniqueEmail = t
433432 * 
434433 * @return array All user information read from the file 
435434 */ 
436- function  parse_xml_data ($ file
435+ function  parse_xml_data ($ file,  $ sendEmail  =  0 ,  $ checkUniqueEmail  =  true )
437436{
438-  $ crawlernew  \Symfony \Component \DomCrawler \Crawler ();
439-  $ crawleraddXmlContent (file_get_contents ($ file
437+  $ crawlerxml ($ file
440438 $ crawler$ crawlerfilter ('Contacts > Contact  ' );
441439 $ array
442440 foreach  ($ crawleras  $ domElement
@@ -451,6 +449,16 @@ function parse_xml_data($file)
451449 }
452450 }
453451
452+  Session::write (
453+  'user_import_data_ ' .api_get_user_id (),
454+  [
455+  'check_unique_email '  => $ checkUniqueEmail
456+  'send_email '  => $ sendEmail
457+  'date '  => api_get_utc_datetime (),
458+  'log_messages '  => '' ,
459+  ]
460+  );
461+ 
454462 return  $ array
455463}
456464
@@ -548,7 +556,11 @@ function processUsers(&$users, $sendMail)
548556 $ usersvalidate_data ($ users$ checkUniqueEmail
549557 $ error_kind_filefalse ;
550558 } elseif  (strcmp ($ file_type'xml ' ) === 0  && $ ext_import_file$ allowed_file_mimetype1 ]) {
551-  $ usersparse_xml_data ($ _FILES 'import_file ' ]['tmp_name ' ]);
559+  $ usersparse_xml_data (
560+  $ _FILES 'import_file ' ]['tmp_name ' ],
561+  $ sendMail
562+  $ checkUniqueEmail
563+  );
552564 $ usersvalidate_data ($ users$ checkUniqueEmail
553565 $ error_kind_filefalse ;
554566 }
@@ -590,15 +602,17 @@ function processUsers(&$users, $sendMail)
590602$ formContinuefalse ;
591603$ resumeStoptrue ;
592604if  (!empty ($ importData
593-  $ isResume$ importData'resume ' ];
605+  $ isResume$ importData'resume ' ] ??  false ;
594606
595607 $ formContinuenew  FormValidator ('user_import_continue ' , 'post ' , api_get_self ());
596608 $ labelget_lang ('Results ' );
597609 if  ($ isResume
598610 $ labelget_lang ('ContinueLastImport ' );
599611 }
600612 $ formContinueaddHeader ($ label
601-  $ formContinueaddLabel (get_lang ('File ' ), $ importData'filename ' ]);
613+  if  (isset ($ importData'filename ' ])) {
614+  $ formContinueaddLabel (get_lang ('File ' ), $ importData'filename ' ] ?? '' );
615+  }
602616
603617 $ resumeStoptrue ;
604618 if  ($ isResume
@@ -614,10 +628,12 @@ function processUsers(&$users, $sendMail)
614628 $ importData'counter ' ].' /  ' .count ($ importData'complete_list ' ])
615629 );
616630 } else  {
617-  $ formContinueaddLabel (
618-  get_lang ('Users ' ),
619-  count ($ importData'complete_list ' ])
620-  );
631+  if  (!empty ($ importData'complete_list ' ])) {
632+  $ formContinueaddLabel (
633+  get_lang ('Users ' ),
634+  count ($ importData'complete_list ' ])
635+  );
636+  }
621637 }
622638
623639 $ formContinueaddLabel (
0 commit comments