Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // CSV SETUP
- $purchases = array_map('str_getcsv', file('purchase_list.csv'));
- require('class-phpass.php');
- array_walk($purchases, function(&$a) use ($purchases) {
- $a = array_combine($purchases[0], $a);
- });
- array_shift($purchases);
- // DATABASE SETUP
- $user = "root";
- $pass = '';
- function generatePassword($length = 10) {
- $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
- $charactersLength = strlen($characters);
- $password = '';
- for ($i = 0; $i < $length; $i++) {
- $password .= $characters[rand(0, $charactersLength - 1)];
- }
- return $password;
- }
- function hashPassword($password){
- $wp_hasher = new PasswordHash(8, TRUE );
- $hashed_password = $wp_hasher->HashPassword($password);
- return $hashed_password;
- }
- try {
- // SETUP DATABASE CONNECTION
- $db = new PDO('mysql:host=localhost;dbname=checking', $user, $pass);
- $emptyValue = '';
- foreach($purchases as $purchase){
- // Generate Password
- $password = generatePassword();
- $userPass = hashPassword($password);
- // Create other information
- $currentTime = date("Y-m-d H:i:s");
- $userLogin = str_replace(" ", ".", strtolower($purchase['user']));
- // Prepare insert query
- $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)');
- $insertUserQuery->bindParam(':user_login', $userLogin);
- $insertUserQuery->bindParam(':user_pass', $userPass);
- $insertUserQuery->bindParam(':user_nicename', $purchase['user']);
- $insertUserQuery->bindParam(':user_email', $purchase['user_email']);
- $insertUserQuery->bindParam(':user_registered', $currentTime);
- $insertUserQuery->bindParam(':display_name', $userLogin);
- $insertUserQuery->execute();
- // Get user ID
- $userId = $db->lastInsertId();
- echo "User id: " . $userId . "<br>";
- // LOOP THROUGH EVERYTHING AND SET ID
- if($purchase['course_name'] == "TypeScript Kickstart Bundle" || $purchase['course_name'] == "TypeScript Bundle"){
- $courseId = 2222;
- } elseif($purchase['course_name'] == "TypeScript Pro") {
- $courseId = 1270;
- } elseif($purchase['course_name'] == "TypeScript Fundamentals") {
- $courseId = 1271;
- } elseif($purchase['course_name'] == "Angular Kickstart Package") {
- $courseId = 1265;
- } elseif($purchase['course_name'] == "Angular Ultimate Package") {
- $courseId = 1273;
- } elseif($purchase['course_name'] == "Angular Pro") {
- $courseId = 4028;
- } elseif($purchase['course_name'] == "AngularJS Kickstart Bundle") {
- $courseId = 3009;
- } elseif($purchase['course_name'] == "JavaScript Ultimate Bundle") {
- $courseId = 3006;
- } elseif($purchase['course_name'] == "AngularJS Fundamentals") {
- $courseId = 3003;
- } elseif($purchase['course_name'] == "AngularJS Pro") {
- $courseId = 3002;
- } elseif($purchase['course_name'] == "Vue with TypeScript") {
- $courseId = 3001;
- } elseif($purchase['course_name'] == "AngularJS Performance") {
- $courseId = 3000;
- } elseif($purchase['course_name'] == "Angular Schematics") {
- $courseId = 2999;
- } elseif($purchase['course_name'] == "Angular CLI") {
- $courseId = 2998;
- } elseif($purchase['course_name'] == "Angular Universal") {
- $courseId = 2997;
- } elseif($purchase['course_name'] == "RxJS Basics") {
- $courseId = 2996;
- } elseif($purchase['course_name'] == "RxJS Masterclass") {
- $courseId = 2995;
- } elseif($purchase['course_name'] == "React with TypeScript") {
- $courseId = 2994;
- } elseif($purchase['course_name'] == "AngularJS Ultimate Bundle") {
- $courseId = 2992;
- } elseif($purchase['course_name'] == "JavaScript Kickstart Bundle") {
- $courseId = 2387;
- } elseif($purchase['course_name'] == "JavaScript Ultimate Package") {
- $courseId = 3006;
- } elseif($purchase['course_name'] == "JavaScript ES6/7") {
- $courseId = 2386;
- } elseif($purchase['course_name'] == "JavaScript Masterclass") {
- $courseId = 2384;
- } elseif($purchase['course_name'] == "JavaScript Basics") {
- $courseId = 2380;
- } elseif($purchase['course_name'] == "TypeScript Kickstart Bundle") {
- $courseId = 2222;
- } elseif($purchase['course_name'] == "Angular Ultimate Bundle") {
- $courseId = 1237;
- } elseif($purchase['course_name'] == "NGRX Store + Effects") {
- $courseId = 1272;
- } elseif($purchase['course_name'] == "TypeScript Basics") {
- $courseId = 1271;
- } elseif($purchase['course_name'] == "TypeScript Masterclass") {
- $courseId = 1270;
- } elseif($purchase['course_name'] == "Angular Kickstart Bundle") {
- $courseId = 1265;
- } elseif($purchase['course_name'] == "Angular Fundamentals") {
- $courseId = 1244;
- } elseif($purchase['course_name'] == "Angular Supreme Bundle" || $purchase['course_name'] == "TypeScript Supreme Bundle") {
- $courseId = array(4028, 1270);
- } else {
- $courseId = 0;
- }
- $postStatus = 'wcm-active';
- $postType = 'wc_user_membership';
- if(is_array($courseId)){
- foreach($courseId as $course) {
- $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)');
- $insertMemberQuery->bindParam(':post_author', $userId);
- $insertMemberQuery->bindParam(':post_date', $currentTime);
- $insertMemberQuery->bindParam(':post_date_gmt', $currentTime);
- $insertMemberQuery->bindParam(':post_status', $postStatus);
- $insertMemberQuery->bindParam(':post_modified', $currentTime);
- $insertMemberQuery->bindParam(':post_modified_gmt', $currentTime);
- $insertMemberQuery->bindParam(':post_parent', $course);
- $insertMemberQuery->bindParam(':post_type', $postType);
- $insertMemberQuery->execute();
- }
- } else {
- $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)');
- $insertMemberQuery->bindParam(':post_author', $userId);
- $insertMemberQuery->bindParam(':post_date', $currentTime);
- $insertMemberQuery->bindParam(':post_date_gmt', $currentTime);
- $insertMemberQuery->bindParam(':post_status', $postStatus);
- $insertMemberQuery->bindParam(':post_modified', $currentTime);
- $insertMemberQuery->bindParam(':post_modified_gmt', $currentTime);
- $insertMemberQuery->bindParam(':post_parent', $courseId);
- $insertMemberQuery->bindParam(':post_type', $postType);
- $insertMemberQuery->execute();
- }
- die();
- }
- } catch (PDOException $e) {
- print "Error: " . $e->getMessage();
- die();
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement