Repository navigation
Expand file tree
/
Copy pathPurchase.php
More file actions
104 lines (86 loc) · 2.48 KB
/
Copy pathPurchase.php
File metadata and controls
104 lines (86 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
/**
* Created by PhpStorm.
* User: dronca
* Date: 10/27/18
* Time: 6:45 PM
*/
include_once 'lib/ShoppingCart.php';
include_once 'lib/DBHelper.php';
include_once 'lib/Cookies.php';
include_once 'lib/User.php';
error_log("start purchase");
session_start();
$shoppingCart = $_SESSION[SHOPPING_CART];
$ref = $_SESSION['ref'];
$user = $_COOKIE[COOKIE_EMAIL];
if($user == null || strlen($user) == 0)
{
// check for market user
$mktUsrToken = $_COOKIE[COOKIE_TAM_UTOKEN];
error_log("User token: $mktUsrToken");
if($mktUsrToken != null && strlen($mktUsrToken) > 0){
// get user data and add to Roncabeanz
$mktUser = User::fromToken($mktUsrToken);
// note that user will only be added if not currently exist
$mktUser->writeUser();
// now, switch from mkt user to Roncabeanz user
setcookie(COOKIE_EMAIL, $mktUser->email, time() + (86400 * 30), "/");
setcookie(COOKIE_NAME, $mktUser->fname, time() + (86400 * 30), "/");
$_COOKIE[COOKIE_TAM_UTOKEN] = "";
}
}
//BEGIN;
//INSERT INTO Orders (customerId) VALUES ('jqp@gmail.com');
//INSERT INTO OrderItem(orderId, itemNumber, productCode, quantity, price) VALUES (LAST_INSERT_ID(), 1, 1, 1, 6.95);
//COMMIT;
?>
<!doctype html>
<html>
<body>
<?php
/**
* Open the database connection
*/
function openPDO() {
$conStr = sprintf("mysql:host=%s;dbname=%s", DB_HOST, DB_NAME);
try {
return new PDO($conStr, DB_USER, DB_PASS);
} catch (PDOException $e) {
die($e->getMessage());
}
}
$pdo = openPDO();
try {
error_log("start xact");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->beginTransaction();
$insert = "INSERT INTO Orders (customerId) values ('$user');";
error_log($insert);
$pdo
->exec($insert);
$count = 0;
foreach($shoppingCart->getCartItems() as $item) {
$insert = "INSERT into OrderItem (orderId, itemNumber, productCode, quantity, price)";
$values = "values (LAST_INSERT_ID(), $count, $item->productId, 1, $item->cost);";
error_log($insert." ".$values);
$pdo->exec("$insert $values");
++$count;
}
$pdo->commit();
$shoppingCart->clear();
} catch (Exception $e) {
$pdo->rollBack();
$pdo = null;
echo "Failed: " . $e->getMessage();
syslog(LOG_ERR, $e->getMessage());
}
$pathParts = explode("/", $ref);
$page = end($pathParts);
$hdr = "Location: $page";
session_write_close();
$pdo = null;
header($hdr);
?>
</body>
</html>