Subversion Repositories SmartDukaan

Rev

Rev 10582 | Rev 10914 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
10582 lgm 1
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
 
3
class Cart extends MY_Controller {
4
 
5
public $layoutName ='';
6
 
7
	function __construct() {
8
 
9
		// Call the CI_controller constructor
10
		parent::__construct();
11
		$admin = $this->session->userdata('admin');
12
		if(!isset($admin) || empty($admin)) {
13
			redirect(base_url().'authorize');
14
		}
15
		$this->output->set_header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
16
		$this->output->set_header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
17
		$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
18
		$this->output->set_header("Cache-Control: post-check=0, pre-check=0", false);
19
		$this->output->set_header("Pragma: no-cache");
20
		$this->layout->setlayout('layout/layout_main');
21
		$this->load->model('cart_model');
22
		$this->layoutName= $this->layout->getLayout();
23
		$this->layoutName =substr($this->layoutName , 0, strrpos($this->layoutName , "/")).'/';
24
		//print_r($this->session->userdata);
25
 
26
	}
27
	public function index()
28
	{
29
		$authorized = $this->session->userdata('authorized');
30
		if(isset($authorized) && !empty($authorized)){
31
			$_GET['userId'] = $authorized['Id'];
32
			$_GET['Id'] = $authorized['cartId'];
33
			if($authorized['isLoggedIn'] == 1){
34
				$_GET['isLoggedIn'] = 'true';
35
			}
36
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
37
				$_GET['isLoggedIn'] = 'false';
38
			}
39
		}
40
		//standard array
41
		$data = array();
42
		$data['response']=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart'));
43
		//print_r($data['response']['response']['carts']);
44
		if(isset($data['response']['response']['carts'][0]->lines))
45
		$cartCount = sizeof($data['response']['response']['carts'][0]->lines);
46
		$authorized = $this->session->userdata('authorized');
47
		if(isset($authorized) && !empty($authorized)){
48
			$newValues = $authorized;
49
			$newValues['totalItems'] = $cartCount;
50
			$this->session->set_userdata('authorized',$newValues);
51
		}
52
		$this->lessphp->object()->ccompile('assets/css/cart.less','assets/css/cart.css');
53
		$data['stylesheet'] = 'cart.css';
54
		$this->layout->view('cart/cart_view',$data);
55
	}
56
 
57
 
58
	public function add($id=null,$email=null)
59
	{
60
		$response=array();
61
 
62
		$authorized = $this->session->userdata('authorized');
63
		if(isset($id) and !empty($id) and is_numeric($id))
64
			{
65
				//if user logged-in
66
				$_POST['itemId'] = $id;
67
			}
68
		else{
69
			redirect(base_url());
70
		}
71
		if(isset($authorized) && !empty($authorized)){
72
			$_POST['userId'] = $authorized['Id'];
73
			$_POST['Id'] = $authorized['cartId'];
74
			if($authorized['isLoggedIn'] == 1){
75
				$_POST['isLoggedIn'] = 'true';
76
			}
77
			elseif((isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn']))) {
78
				$_POST['isLoggedIn'] = 'false';
79
			}
80
		}
81
		else{
82
			$response = $this->anonymous();
83
			if(isset($response['authorized']) && !empty($response['authorized'])){
84
				$authorized = $response['authorized'];
85
				$_POST['userId'] = $authorized['Id'];
86
				$_POST['Id'] = $authorized['cartId'];
87
				if(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])){
88
					$_POST['isLoggedIn'] = 'false';
89
				}
90
			}
91
		}
92
		if(isset($email) && $email != 'null'){
93
			$_POST['email'] = $email;
94
		}
95
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_add'));
96
		if(isset($response['response']['addcart'][0]->message) && !empty($response['response']['addcart'][0]->message)){
97
			echo json_encode($response['response']);
98
		}
10726 lgm 99
		elseif(isset($response['response']['addcart'][0]->redirectUrl) && $response['response']['addcart'][0]->redirectUrl == 'cart'){
10582 lgm 100
			$authorized = $this->session->userdata('authorized');
101
			if(isset($authorized) && !empty($authorized)){
10726 lgm 102
				$cartCount = $authorized['totalItems'];
10582 lgm 103
				$newValues = $authorized;
10726 lgm 104
				$newValues['totalItems'] = $cartCount+1;
10582 lgm 105
				$this->session->set_userdata('authorized',$newValues);
106
			}
107
			echo json_encode($response['response']);
108
			//redirect(base_url().strtolower(__CLASS__),'refresh');
10726 lgm 109
		}elseif(isset($response['response']['addcart'][0]->redirectUrl) && $response['response']['addcart'][0]->redirectUrl != 'cart'){
110
			echo json_encode($response['response']);
10582 lgm 111
		}
112
	}
113
	public function update($id=null,$qty=null)
114
	{
115
		$response=array();
116
		$authorized = $this->session->userdata('authorized');
117
		if(isset($id) and !empty($id))
118
		{
119
			//if user logged-in
120
			$_POST['itemId'] = $id;
121
		}
122
		if(isset($qty) and !empty($qty))
123
		{
124
			//if user logged-in
125
			$_POST['quantity'] = $qty;
126
		}
127
		if(isset($authorized) && !empty($authorized)){
128
		    $_POST['userId'] = $authorized['Id'];
129
			$_POST['_method'] = 'put';
130
			$cartId = $authorized['cartId'];
131
			if($authorized['isLoggedIn'] == 1){
132
				$_POST['isLoggedIn'] = 'true';
133
			}
134
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
135
				$_GET['isLoggedIn'] = 'false';
136
			}
137
		}
138
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_update'),$cartId);
139
		redirect(base_url().strtolower(__CLASS__),'refresh');
140
 
141
	}
142
	public function delete($id=null)
143
	{
144
 
145
		$authorized = $this->session->userdata('authorized');
146
		if(isset($id) and !empty($id) and is_numeric($id))
147
			{
148
				//if user logged-in
149
				$_POST['itemId'] = $id;
150
			}
151
		else{
152
			redirect(base_url());
153
		}
154
		if(isset($authorized) && !empty($authorized)){
155
			$_POST['userId'] = $authorized['Id'];
156
			$_POST['_method'] = 'delete';
157
			$cartId = $authorized['cartId'];
158
			if($authorized['isLoggedIn'] == 1){
159
				$_POST['isLoggedIn'] = 'true';
160
			}
161
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
162
				$_POST['isLoggedIn'] = 'false';
163
			}
164
		}
165
		$response=array();
166
		if(isset($id) and !empty($id))
167
		{
168
			$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_delete'),$cartId);
169
			if(isset($response['response']['deletecart'][0]->lines)) {
170
				$cartCount = sizeof($response['response']['deletecart'][0]->lines);
171
				$authorized = $this->session->userdata('authorized');
172
				if(isset($authorized) && !empty($authorized)){
173
					$newValues = $authorized;
174
					$newValues['totalItems'] = $cartCount;
175
					$this->session->set_userdata('authorized',$newValues);
176
				}
177
			}else{
178
				redirect(base_url().strtolower(__CLASS__), 'refresh');		
179
			}
180
		}
181
		else
182
		{
183
			$response['response']['msg'] = 'Invalid Parameter!';
184
			redirect(base_url().strtolower(__CLASS__), 'refresh');
185
 
186
		}
187
		redirect(base_url().strtolower(__CLASS__), 'refresh');
188
 
189
	}
190
	public function coupon($code=null)
191
	{
192
		$response=array();
193
		$authorized = $this->session->userdata('authorized');
194
		if(isset($authorized) && !empty($authorized)){
195
		    $_GET['userId'] = $authorized['Id'];
196
			$_GET['action'] = 'applycoupon';
197
			$cartId = $authorized['cartId'];
198
			if($authorized['isLoggedIn'] == 1){
199
				$_GET['isLoggedIn'] = 'true';
200
			}
201
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
202
				$_GET['isLoggedIn'] = 'false';
203
			}
204
		}
205
		if(isset($code) and !empty($code))
206
		{
207
			//if user logged-in
208
			$_GET['coupon_code'] = $code;
209
			//$d=$this->input->get();
210
			}
211
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_coupon'),$cartId);
212
		$result = $response['response']['cartcoupon'][0];
213
		if(isset($result->couponCode) && !empty($result->couponCode)){
214
			$couponCode = $result->couponCode;
215
		}
216
		else{
217
			$couponCode = '';
218
		}
219
		$res = array('totalPrice'=>$result->totalPrice,'discountedPrice'=>$result->discountedPrice,'message'=>$result->message,'couponCode'=>$couponCode);
220
		echo json_encode($res);
221
	}
222
	public function couponClear($code=null)
223
	{
224
		$response=array();
225
		$authorized = $this->session->userdata('authorized');
226
		if(isset($authorized) && !empty($authorized)){
227
		    $_GET['userId'] = $authorized['Id'];
228
			$_GET['action'] = 'removecoupon';
229
			$cartId = $authorized['cartId'];
230
			if($authorized['isLoggedIn'] == 1){
231
				$_GET['isLoggedIn'] = 'true';
232
			}
233
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
234
				$_GET['isLoggedIn'] = 'false';
235
			}
236
		}
237
		if(isset($code) and !empty($code))
238
		{
239
			//if user logged-in
240
			$_GET['coupon_code'] = $code;
241
			//$d=$this->input->get();
242
			}
243
		//print_r($this->config->item('cart_couponclear'));
244
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_couponclear'),$cartId);
245
		$result = $response['response']['cartcouponclear'][0];
246
		$res = array('totalPrice'=>$result->totalPrice,'discountedPrice'=>$result->discountedPrice,'message'=>$result->message);
247
		echo json_encode($res);
248
	}
249
	public function cartCount()
250
	{
251
		$response=array();
252
		$authorized = $this->session->userdata('authorized');
253
		$shoppingId =$this->session->userdata('shoppingId');
254
		if((isset($authorized) and !empty($authorized['id'])) || ((isset($shoppingId) && !empty($shoppingId)))){
255
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_count'));
256
		if(isset($response['response']['cartcount'][0])){
257
			$result = $response['response']['cartcount'][0];
258
			echo $result;
259
			}
260
			else{
261
				$result = 0;
262
				echo $result;
263
			}
264
		}
265
		else{
266
			$result = 0;
267
			echo $result;
268
		}
269
	}
270
 
271
	public function insure($itemId,$toInsure,$insuranceType){
272
		$authorized = $this->session->userdata('authorized');
273
		if(isset($authorized) && !empty($authorized)){
274
			$_GET['userId'] = $authorized['Id'];
275
			$_GET['Id'] = $authorized['cartId'];
276
			if($authorized['isLoggedIn'] == 1){
277
				$_GET['isLoggedIn'] = 'true';
278
			}
279
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
280
				$_GET['isLoggedIn'] = 'false';
281
			}
282
		}
283
		$_GET['itemId'] = $itemId;
284
		$_GET['toInsure'] = $toInsure;
285
		$_GET['insuranceType'] = $insuranceType;
286
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_insure'));
287
		$insurance = $response['response']['cartinsure'][0]->insuranceResult;
288
		if(strcasecmp($insurance, 'success') == 0){
289
			//$status[0] = true;
290
			$res = array('status'=>true);
291
			echo json_encode($res);
292
		}
293
		elseif(strcasecmp($insurance, 'failure') == 0) {
294
			$status[0] = false;
295
			echo json_encode($status);
296
		}
297
	}
298
	//improve functinalities using ajax
299
	public function anonymous()
300
	{
301
		$url = $this->config->item('anonymous');
302
		$url = $url['url'];
303
		$url = $this->config->item('curl_base_url').$url;
304
		$params = array();
305
		$this->mcurl->add_call('anonymous','get',$url,$params);
306
        $responses = $this->mcurl->execute($url);
307
        $response = array();
308
		if(isset($responses['anonymous']['response']) && !empty($responses['anonymous']['response'])){
309
			$data = json_decode($responses['anonymous']['response']);
310
			$childarray=array();
311
			$childarray['Id']=$data->userId;
312
			$childarray['isLoggedIn']=$data->isLoggedIn;
313
			$childarray['pincode']=$data->pincode;
314
			$childarray['email']=$data->email;
315
			$childarray['totalItems']=$data->totalItems;
316
      		$childarray['cartId']=$data->cartId;
317
			$response['authorized']=$childarray;
318
			$this->session->set_userdata('authorized',$response['authorized']);
319
		}
320
		return $response;
321
	}
322
	public function delete_ajax()
323
	{}
324
}
325
 
326
/* End of file welcome.php */
327
/* Location: ./application/controllers/welcome.php */