Guest User

Untitled

a guest
Mar 11th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4. function MYMODULE_import() {
  5. // Path relative to document root
  6. $csv_filepath = backdrop_get_path('module', 'MYMODULE');
  7. $csv_filepath .= '/user_list.csv';
  8.  
  9. if ($handle = fopen($csv_filepath, 'r') ) {
  10. // Read from CSV
  11. $line_count = 1;
  12. $user_list = array();
  13. while ($line = fgetcsv($handle, 4096)) {
  14. if (!$line_count > 1) { // 1st line is header
  15. $account = array(
  16. 'name' => $line[0],
  17. 'phone' => $line[1],
  18. 'mail' => $line[2],
  19. 'some_date' => $line[3], // should be like 2017-12-30 00:00:00
  20. );
  21. $user_list[] = $account;
  22. }
  23. $line_count++;
  24. }
  25. fclose($handle);
  26.  
  27. // Create users
  28. if (!empty($user_list)) {
  29. foreach($user_list as $account) {
  30.  
  31. $new_user = new User();
  32. $new_user->name = $account['name'];
  33. $new_user->pass = user_password(20);
  34. $new_user->mail = $account['mail'];
  35. $new_user->init = $account['mail'];
  36. $new_user->status = 1;
  37. $new_user->created = REQUEST_TIME;
  38. $new_user->data = array(
  39. 'contact' => FALSE
  40. );
  41.  
  42. $new_user->roles = array(
  43. 'member', // Role machine name
  44. );
  45.  
  46. $new_user->field_adherent = array(
  47. LANGUAGE_NONE => array(
  48. 0 => array(
  49. 'value' => 1,
  50. ),
  51. ),
  52. );
  53.  
  54. $new_user->field_name = array(
  55. LANGUAGE_NONE => array(
  56. 0 => array(
  57. 'value' => $account['name'],
  58. ),
  59. ),
  60. );
  61.  
  62. $new_user->field_phone = array(
  63. LANGUAGE_NONE => array(
  64. 0 => array(
  65. 'value' => $account['phone'],
  66. ),
  67. ),
  68. );
  69.  
  70. $new_user->field_some_date = array(
  71. LANGUAGE_NONE => array(
  72. 0 => array(
  73. 'value' => $account['some_date'],
  74. 'timezone' => 'Europe/Paris',
  75. 'timezone_db' => 'Europe/Paris',
  76. 'date_type' => 'datetime'
  77. ),
  78. ),
  79. );
  80.  
  81. $new_user->save();
  82. }
  83. }
  84. }
  85.  
  86. return "import";
  87. }
Add Comment
Please, Sign In to add comment