Trying to create new user if not exists from e-commerce plugin checkout page.
Prior to submitting cart form data to PayPal, an ajax call is made passing cart form data to checkout.php which updates the db_cart, but also checks for existing user, the idea being -- to verify existing user, or create new -- and log in before submitting the order to PayPal. But for some reason which I cannot begin to fathom, when creating new users, wp adds ALL cart data to the new user_meta no matter what approach I take to creating the user.
Here is the ajax Post cart data
Array
( [cmd] => _cart
[upload] => 1
[currency_code] => USD
[business] => email_1318204812_biz@domain.com
[address_override] => 1
[cpp_header_image] => URL
[cpp__headerback_color] => 4733AB
[cpp_payflow_color] => 4733AB
[cancel_return] => URL
[return] => URL/my-orders?thank_you&cart_id=ADMINbLujO_CART4ea1b8f80a939
[cbt] => Return to Demo Z
[item_name] => ADMINbLujO_CART4ea1b8f80a939
[amount] => 48.87
[handling_cart] => 4.97
[email] => joe@blow.net
[user_pass] => testpass
[first_name] => Suzie
[last_name] => Queue
[address1] => 2415 Lamar St
[address2] =>
[city] => Edgewater
[state] => CO
[zip] => 80214
[country] => US
[item_number_1] => ADMINbLujO_4e8f31f565a70
[item_name_1] => Wonder Widget
[quantity_1] => 1
[amount_1] => 43.90
[buyer_first] => Joe
[buyer_last] => Blow
[user_cnfm] =>
[ship_to_self] =>
)
and here is the code from **checkout.php**
<pre>
foreach ($_POST as $key => $val) $$key = $val;
if(!is_user_logged_in())
{ if($userID = email_exists($email))
{ $user_info = $user_info = get_userdata($userID);
$user_login = $user_info->user_login;
$display_name = $user_info->display_name;
$welcome = "Welcome Back $display_name!";
}
if(@$welcome)
{ if(!$user_cnfm) die($welcome);
$auth = get_object_vars(wp_authenticate($user_login, $user_pass));
if(array_key_exists('errors',$auth)) die("Password Error");
wp_set_auth_cookie( $userID, true);
wp_set_current_user($userID, $user_login);
}
else
{ $buyer_name = "$buyer_first $buyer_last";
$ship_to_name = "$first_name $last_name";
$buyer_region = $buyer_city = $buyer_country = $buyer_ctry_code ="";
if($ship_to_name != $buyer_name)
{ if(@$_SESSION['visitor'] || set_visitor() == true)
{ foreach($_SESSION['visitor'] as $key =>$val)
{ $new_key = "buyer_$key";
$$new_key = $val;
}
}
}
$userdata = array(
'user_login' => $email,
'user_email'=> $email,
'user_pass'=>$user_pass,
'first_name'=>$buyer_first,
'last_name'=>$buyer_last,
'display_name' =>$buyer_name,
'region' => $buyer_region,
'city' => $buyer_city,
'country' => $buyer_country,
'ctry_code' => $buyer_ctry_code
);
$foo = print_r($userdata,1);
$userID = insert_user($userdata);
// $userID = insert_user($userdata);
// $userID = wp_create_user( $email, $user_pass, $email );
// $userID = regNewUser($userdata);
die("New User ID $userID");
wp_set_auth_cookie( $userID, true);
wp_set_current_user($userID, $email);
}
}
if(is_user_logged_in()) die("User is now Logged In");
else die("Error");
?>
</pre>