Advertisement
Guest User

Untitled

a guest
Apr 1st, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.10 KB | None | 0 0
  1. <?php
  2. // CSV SETUP
  3. $purchases = array_map('str_getcsv', file('purchase_list.csv'));
  4.  
  5. require('class-phpass.php');
  6.  
  7. array_walk($purchases, function(&$a) use ($purchases) {
  8. $a = array_combine($purchases[0], $a);
  9. });
  10. array_shift($purchases);
  11.  
  12. // DATABASE SETUP
  13. $user = "root";
  14. $pass = '';
  15.  
  16. function generatePassword($length = 10) {
  17. $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  18. $charactersLength = strlen($characters);
  19. $password = '';
  20. for ($i = 0; $i < $length; $i++) {
  21. $password .= $characters[rand(0, $charactersLength - 1)];
  22. }
  23. return $password;
  24. }
  25.  
  26. function hashPassword($password){
  27. $wp_hasher = new PasswordHash(8, TRUE );
  28. $hashed_password = $wp_hasher->HashPassword($password);
  29. return $hashed_password;
  30. }
  31.  
  32.  
  33. try {
  34. // SETUP DATABASE CONNECTION
  35. $db = new PDO('mysql:host=localhost;dbname=checking', $user, $pass);
  36.  
  37. $emptyValue = '';
  38. foreach($purchases as $purchase){
  39. // Generate Password
  40. $password = generatePassword();
  41. $userPass = hashPassword($password);
  42.  
  43. // Create other information
  44. $currentTime = date("Y-m-d H:i:s");
  45. $userLogin = str_replace(" ", ".", strtolower($purchase['user']));
  46.  
  47. // Prepare insert query
  48. $insertUserQuery = $db->prepare('INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email, user_registered, display_name) VALUES (:user_login, :user_pass, :user_nicename, :user_email, :user_registered, :display_name)');
  49. $insertUserQuery->bindParam(':user_login', $userLogin);
  50. $insertUserQuery->bindParam(':user_pass', $userPass);
  51. $insertUserQuery->bindParam(':user_nicename', $purchase['user']);
  52. $insertUserQuery->bindParam(':user_email', $purchase['user_email']);
  53. $insertUserQuery->bindParam(':user_registered', $currentTime);
  54. $insertUserQuery->bindParam(':display_name', $userLogin);
  55. $insertUserQuery->execute();
  56.  
  57. // Get user ID
  58. $userId = $db->lastInsertId();
  59.  
  60. echo "User id: " . $userId . "<br>";
  61.  
  62. // LOOP THROUGH EVERYTHING AND SET ID
  63.  
  64. if($purchase['course_name'] == "TypeScript Kickstart Bundle" || $purchase['course_name'] == "TypeScript Bundle"){
  65. $courseId = 2222;
  66. } elseif($purchase['course_name'] == "TypeScript Pro") {
  67. $courseId = 1270;
  68. } elseif($purchase['course_name'] == "TypeScript Fundamentals") {
  69. $courseId = 1271;
  70. } elseif($purchase['course_name'] == "Angular Kickstart Package") {
  71. $courseId = 1265;
  72. } elseif($purchase['course_name'] == "Angular Ultimate Package") {
  73. $courseId = 1273;
  74. } elseif($purchase['course_name'] == "Angular Pro") {
  75. $courseId = 4028;
  76. } elseif($purchase['course_name'] == "AngularJS Kickstart Bundle") {
  77. $courseId = 3009;
  78. } elseif($purchase['course_name'] == "JavaScript Ultimate Bundle") {
  79. $courseId = 3006;
  80. } elseif($purchase['course_name'] == "AngularJS Fundamentals") {
  81. $courseId = 3003;
  82. } elseif($purchase['course_name'] == "AngularJS Pro") {
  83. $courseId = 3002;
  84. } elseif($purchase['course_name'] == "Vue with TypeScript") {
  85. $courseId = 3001;
  86. } elseif($purchase['course_name'] == "AngularJS Performance") {
  87. $courseId = 3000;
  88. } elseif($purchase['course_name'] == "Angular Schematics") {
  89. $courseId = 2999;
  90. } elseif($purchase['course_name'] == "Angular CLI") {
  91. $courseId = 2998;
  92. } elseif($purchase['course_name'] == "Angular Universal") {
  93. $courseId = 2997;
  94. } elseif($purchase['course_name'] == "RxJS Basics") {
  95. $courseId = 2996;
  96. } elseif($purchase['course_name'] == "RxJS Masterclass") {
  97. $courseId = 2995;
  98. } elseif($purchase['course_name'] == "React with TypeScript") {
  99. $courseId = 2994;
  100. } elseif($purchase['course_name'] == "AngularJS Ultimate Bundle") {
  101. $courseId = 2992;
  102. } elseif($purchase['course_name'] == "JavaScript Kickstart Bundle") {
  103. $courseId = 2387;
  104. } elseif($purchase['course_name'] == "JavaScript Ultimate Package") {
  105. $courseId = 3006;
  106. } elseif($purchase['course_name'] == "JavaScript ES6/7") {
  107. $courseId = 2386;
  108. } elseif($purchase['course_name'] == "JavaScript Masterclass") {
  109. $courseId = 2384;
  110. } elseif($purchase['course_name'] == "JavaScript Basics") {
  111. $courseId = 2380;
  112. } elseif($purchase['course_name'] == "TypeScript Kickstart Bundle") {
  113. $courseId = 2222;
  114. } elseif($purchase['course_name'] == "Angular Ultimate Bundle") {
  115. $courseId = 1237;
  116. } elseif($purchase['course_name'] == "NGRX Store + Effects") {
  117. $courseId = 1272;
  118. } elseif($purchase['course_name'] == "TypeScript Basics") {
  119. $courseId = 1271;
  120. } elseif($purchase['course_name'] == "TypeScript Masterclass") {
  121. $courseId = 1270;
  122. } elseif($purchase['course_name'] == "Angular Kickstart Bundle") {
  123. $courseId = 1265;
  124. } elseif($purchase['course_name'] == "Angular Fundamentals") {
  125. $courseId = 1244;
  126. } elseif($purchase['course_name'] == "Angular Supreme Bundle" || $purchase['course_name'] == "TypeScript Supreme Bundle") {
  127. $courseId = array(4028, 1270);
  128. } else {
  129. $courseId = 0;
  130. }
  131.  
  132. $postStatus = 'wcm-active';
  133. $postType = 'wc_user_membership';
  134.  
  135. if(is_array($courseId)){
  136. foreach($courseId as $course) {
  137. $insertMemberQuery = $db->prepare('INSERT INTO wp_posts (post_author, post_date, post_date_gmt, post_status, post_modified, post_modified_gmt, post_parent, post_type) VALUES (:post_author, :post_date, :post_date_gmt, :post_status, :post_modified, :post_modified_gmt, :post_parent, :post_type)');
  138. $insertMemberQuery->bindParam(':post_author', $userId);
  139. $insertMemberQuery->bindParam(':post_date', $currentTime);
  140. $insertMemberQuery->bindParam(':post_date_gmt', $currentTime);
  141. $insertMemberQuery->bindParam(':post_status', $postStatus);
  142. $insertMemberQuery->bindParam(':post_modified', $currentTime);
  143. $insertMemberQuery->bindParam(':post_modified_gmt', $currentTime);
  144. $insertMemberQuery->bindParam(':post_parent', $course);
  145. $insertMemberQuery->bindParam(':post_type', $postType);
  146. $insertMemberQuery->execute();
  147. }
  148.  
  149. } else {
  150. $insertMemberQuery = $db->prepare('INSERT INTO wp_posts (post_author, post_date, post_date_gmt, post_status, post_modified, post_modified_gmt, post_parent, post_type) VALUES (:post_author, :post_date, :post_date_gmt, :post_status, :post_modified, :post_modified_gmt, :post_parent, :post_type)');
  151. $insertMemberQuery->bindParam(':post_author', $userId);
  152. $insertMemberQuery->bindParam(':post_date', $currentTime);
  153. $insertMemberQuery->bindParam(':post_date_gmt', $currentTime);
  154. $insertMemberQuery->bindParam(':post_status', $postStatus);
  155. $insertMemberQuery->bindParam(':post_modified', $currentTime);
  156. $insertMemberQuery->bindParam(':post_modified_gmt', $currentTime);
  157. $insertMemberQuery->bindParam(':post_parent', $courseId);
  158. $insertMemberQuery->bindParam(':post_type', $postType);
  159. $insertMemberQuery->execute();
  160. }
  161.  
  162.  
  163. die();
  164. }
  165. } catch (PDOException $e) {
  166. print "Error: " . $e->getMessage();
  167. die();
  168. }
  169.  
  170.  
  171.  
  172.  
  173. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement