-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcart.php
124 lines (86 loc) · 2.68 KB
/
cart.php
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
/**
* @Alok Dubey
* @2018
*/
ini_set('display_errors','On');
//error_reporting(E_ALL);
if(isset($_REQUEST['customer_id']))
{
$customer=$_REQUEST['customer_id'];
}
if(isset($_REQUEST['options']))
{
$session=$_REQUEST['session'];
}
if(isset($_REQUEST['quote_id']))
{
$quote_id=$_REQUEST['quote_id'];
}
require_once 'config.php';
//echo"$quote_id";exit;
if(!$quote_id && !$customer)
{
$ret="parameter missing";
echo json_encode(array('sucess'=>"false",'message'=>$ret),JSON_PRETTY_PRINT);
exit;
}
Mage::app();
Mage::app()->getTranslator()->init('frontend');
Mage::getSingleton('core/session', array('name' => 'frontend'));
$items=0;
$error='false';
if(isset($customer))
{
$cust = Mage::getModel('customer/customer')->load($customer);
$quote = Mage::getModel('sales/quote')->loadByCustomer($cust);
}
else{
//print_r($quote);exit;
$quote = Mage::getModel('sales/quote')->load($quote_id);
}
if(isset($_POST['session']))
$session =$_POST['session'];
else
$session = Mage::getSingleton("core/session")->getEncryptedSessionId();
//$ret['checkout']['sid'] =$session;
if ($quote) {
$collection = $quote->getItemsCollection();
if ($collection->count() > 0) {
foreach( $collection as $item ) {
$items++;
$id=$item->getId();
$ret[$id]['id']=$id;
$ret[$id]['product_id']=$item->product_id;
$ret[$id]['name']=$item->getName();
$ret[$id]['qty']=$item->getQty();
$amount +=$item->getQty();
$ret[$id]['price']=$item->getPrice();
}
}
}
$totals=$quote->getTotals();
// $ret_2['cart']['itemscount']=(int) $amount;
//$ret_2['cart']['subtotal'] =$quote->getSubtotal();
//$ret_2['cart']['total'] =$quote->getGrandTotal();
//$ret_2['cart']['shipping'] =$quote->getShippingAddress()->getShippingAmount();
if(isset($totals['discount']))
//$ret['cart']['discount']= round($totals['discount']->getValue());
$discount=round($totals['discount']->getValue());
else {
//$ret['cart']['discount']='';
$discount='';
}
if(isset($totals['tax'])){
//$ret['cart']['tax']= round($totals['tax']->getValue());
$tax=round($totals['tax']->getValue());
} else {
//$ret['cart']['tax']= '';
$tax='';
}
$ret=array_values($ret);
echo json_encode(array('sucess'=>"true",'itemscount'=>(int) $amount,'subtotal'=>$quote->getSubtotal(),'total'=>$quote->getGrandTotal(),
'shipping'=>$quote->getShippingAddress()->getShippingAmount(),'discount'=>$discount,'tax'=>$tax,'data'=>$ret),JSON_PRETTY_PRINT);
//$result=json_encode($ret);
//echo $result;
?>