Subversion Repositories SmartDukaan

Rev

Rev 11885 | Rev 12053 | 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();
11108 lgm 11
		// $admin = $this->session->userdata('admin');
12
		// if(!isset($admin) || empty($admin)) {
13
		// 	redirect(base_url().'authorize');
14
		// }
10582 lgm 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
	}
11517 lgm 27
		public function index()
10582 lgm 28
	{
29
		$authorized = $this->session->userdata('authorized');
11517 lgm 30
		//standard array
31
		$configdata = $this->config->item('cart');
32
		$cachemodule = array('header','footer');
33
		$configdata = getCache($configdata,$cachemodule);
34
		$data = array();
10582 lgm 35
		if(isset($authorized) && !empty($authorized)){
36
			$_GET['userId'] = $authorized['Id'];
37
			$_GET['Id'] = $authorized['cartId'];
38
			if($authorized['isLoggedIn'] == 1){
39
				$_GET['isLoggedIn'] = 'true';
40
			}
41
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
42
				$_GET['isLoggedIn'] = 'false';
43
			}
11517 lgm 44
			unset($configdata['module']['response'][0]);
45
			$data['response']=$this->cart_model->getCart($this->input->get(),$this->input->post(),$configdata['module']);
46
			if(isset($data['response']['response']['carts'][0]->lines))
47
			$cartCount = sizeof($data['response']['response']['carts'][0]->lines);
48
			$authorized = $this->session->userdata('authorized');
49
			if(isset($authorized) && !empty($authorized)){
50
				$newValues = $authorized;
51
				$newValues['totalItems'] = $cartCount;
52
				$this->session->set_userdata('authorized',$newValues);
53
			}
54
			$this->lessphp->object()->ccompile('assets/css/cart.less','assets/css/cart.css');
55
			$data['stylesheet'] = 'cart.css';
56
			if(isset($cachemodule) and !empty($cachemodule) && !isset($api))
11169 lgm 57
			{
11517 lgm 58
				foreach($cachemodule as $cm)
11169 lgm 59
				{
11517 lgm 60
					if(isset($configdata[$cm]) and !empty($configdata[$cm]))
61
					{
62
						$data['response'][$cm]=$configdata[$cm];
63
					}
11169 lgm 64
				}
65
			}
11517 lgm 66
			setCache($configdata['module'],$cachemodule,$data['response']);
67
			$this->layout->view('cart/cart_view',$data);
68
		}else{
69
			unset($configdata['module']['response'][1]);
70
			$data['response']=$this->cart_model->getCart($this->input->get(),$this->input->post(),$configdata['module']);
11529 anikendra 71
			error_log("[cart] unauthorized response ".print_r($data['response'],1));
11517 lgm 72
			$this->lessphp->object()->ccompile('assets/css/cart.less','assets/css/cart.css');
73
			$data['stylesheet'] = 'cart.css';
74
			if(isset($cachemodule) and !empty($cachemodule) && !isset($api))
75
			{
76
				foreach($cachemodule as $cm)
77
				{
78
					if(isset($configdata[$cm]) and !empty($configdata[$cm]))
79
					{
80
						$data['response'][$cm]=$configdata[$cm];
81
					}
82
				}
83
			}
84
			setCache($configdata['module'],$cachemodule,$data['response']);
85
			$this->layout->view('cart/carts',$data);
11169 lgm 86
		}
10582 lgm 87
	}
88
 
89
 
10914 lgm 90
	public function add($id=null,$email=null,$itemname)
10582 lgm 91
	{
92
		$response=array();
93
 
94
		$authorized = $this->session->userdata('authorized');
95
		if(isset($id) and !empty($id) and is_numeric($id))
96
			{
97
				//if user logged-in
98
				$_POST['itemId'] = $id;
99
			}
100
		else{
101
			redirect(base_url());
102
		}
103
		if(isset($authorized) && !empty($authorized)){
104
			$_POST['userId'] = $authorized['Id'];
105
			$_POST['Id'] = $authorized['cartId'];
106
			if($authorized['isLoggedIn'] == 1){
107
				$_POST['isLoggedIn'] = 'true';
108
			}
109
			elseif((isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn']))) {
110
				$_POST['isLoggedIn'] = 'false';
111
			}
112
		}
113
		else{
114
			$response = $this->anonymous();
115
			if(isset($response['authorized']) && !empty($response['authorized'])){
116
				$authorized = $response['authorized'];
117
				$_POST['userId'] = $authorized['Id'];
118
				$_POST['Id'] = $authorized['cartId'];
119
				if(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])){
120
					$_POST['isLoggedIn'] = 'false';
121
				}
122
			}
123
		}
124
		if(isset($email) && $email != 'null'){
125
			$_POST['email'] = $email;
126
		}
127
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_add'));
128
		if(isset($response['response']['addcart'][0]->message) && !empty($response['response']['addcart'][0]->message)){
10914 lgm 129
			if(isset($itemname) && $itemname != 'null'){
130
				if(!isset($email) || $email == 'null'){
131
					$productinfo = 'productinfo'.$itemname;
132
					deleteFileCache($productinfo);
133
				}
134
			}
10582 lgm 135
			echo json_encode($response['response']);
136
		}
10726 lgm 137
		elseif(isset($response['response']['addcart'][0]->redirectUrl) && $response['response']['addcart'][0]->redirectUrl == 'cart'){
10582 lgm 138
			$authorized = $this->session->userdata('authorized');
139
			if(isset($authorized) && !empty($authorized)){
10726 lgm 140
				$cartCount = $authorized['totalItems'];
10582 lgm 141
				$newValues = $authorized;
10726 lgm 142
				$newValues['totalItems'] = $cartCount+1;
10582 lgm 143
				$this->session->set_userdata('authorized',$newValues);
144
			}
145
			echo json_encode($response['response']);
146
			//redirect(base_url().strtolower(__CLASS__),'refresh');
10726 lgm 147
		}elseif(isset($response['response']['addcart'][0]->redirectUrl) && $response['response']['addcart'][0]->redirectUrl != 'cart'){
148
			echo json_encode($response['response']);
10582 lgm 149
		}
150
	}
151
	public function update($id=null,$qty=null)
152
	{
153
		$response=array();
154
		$authorized = $this->session->userdata('authorized');
155
		if(isset($id) and !empty($id))
156
		{
157
			//if user logged-in
158
			$_POST['itemId'] = $id;
159
		}
160
		if(isset($qty) and !empty($qty))
161
		{
162
			//if user logged-in
163
			$_POST['quantity'] = $qty;
164
		}
165
		if(isset($authorized) && !empty($authorized)){
166
		    $_POST['userId'] = $authorized['Id'];
167
			$_POST['_method'] = 'put';
168
			$cartId = $authorized['cartId'];
169
			if($authorized['isLoggedIn'] == 1){
170
				$_POST['isLoggedIn'] = 'true';
171
			}
172
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
11523 lgm 173
				$_POST['isLoggedIn'] = 'false';
10582 lgm 174
			}
175
		}
176
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_update'),$cartId);
11749 lgm 177
		redirect(base_url().strtolower(__CLASS__));
10582 lgm 178
 
179
	}
180
	public function delete($id=null)
181
	{
182
 
183
		$authorized = $this->session->userdata('authorized');
184
		if(isset($id) and !empty($id) and is_numeric($id))
185
			{
186
				//if user logged-in
187
				$_POST['itemId'] = $id;
188
			}
189
		else{
190
			redirect(base_url());
191
		}
192
		if(isset($authorized) && !empty($authorized)){
193
			$_POST['userId'] = $authorized['Id'];
194
			$_POST['_method'] = 'delete';
195
			$cartId = $authorized['cartId'];
196
			if($authorized['isLoggedIn'] == 1){
197
				$_POST['isLoggedIn'] = 'true';
198
			}
199
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
200
				$_POST['isLoggedIn'] = 'false';
201
			}
202
		}
203
		$response=array();
204
		if(isset($id) and !empty($id))
205
		{
206
			$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_delete'),$cartId);
207
			if(isset($response['response']['deletecart'][0]->lines)) {
208
				$cartCount = sizeof($response['response']['deletecart'][0]->lines);
209
				$authorized = $this->session->userdata('authorized');
210
				if(isset($authorized) && !empty($authorized)){
211
					$newValues = $authorized;
212
					$newValues['totalItems'] = $cartCount;
213
					$this->session->set_userdata('authorized',$newValues);
11749 lgm 214
					redirect(base_url().strtolower(__CLASS__));
10582 lgm 215
				}
216
			}else{
11749 lgm 217
				redirect(base_url().strtolower(__CLASS__));		
10582 lgm 218
			}
219
		}
220
		else
221
		{
222
			$response['response']['msg'] = 'Invalid Parameter!';
11749 lgm 223
			redirect(base_url().strtolower(__CLASS__));
10582 lgm 224
 
225
		}
11749 lgm 226
		redirect(base_url().strtolower(__CLASS__));
10582 lgm 227
 
228
	}
229
	public function coupon($code=null)
230
	{
231
		$response=array();
232
		$authorized = $this->session->userdata('authorized');
233
		if(isset($authorized) && !empty($authorized)){
234
		    $_GET['userId'] = $authorized['Id'];
235
			$_GET['action'] = 'applycoupon';
236
			$cartId = $authorized['cartId'];
237
			if($authorized['isLoggedIn'] == 1){
238
				$_GET['isLoggedIn'] = 'true';
239
			}
240
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
241
				$_GET['isLoggedIn'] = 'false';
242
			}
243
		}
244
		if(isset($code) and !empty($code))
245
		{
246
			//if user logged-in
247
			$_GET['coupon_code'] = $code;
248
			//$d=$this->input->get();
249
			}
250
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_coupon'),$cartId);
11885 anikendra 251
		$dealTextArray = array();
252
		if(!empty($response)){			
253
			foreach($response['response']['cartcoupon'][0]->lines AS $line) {
254
				$dealTextArray[$line->itemId] = $line->dealText;
255
			}
256
		}
10582 lgm 257
		$result = $response['response']['cartcoupon'][0];
258
		if(isset($result->couponCode) && !empty($result->couponCode)){
259
			$couponCode = $result->couponCode;
260
		}
261
		else{
262
			$couponCode = '';
263
		}
11846 anikendra 264
		if($result->discountedPrice==0){
265
			$res = array('totalPrice'=>$result->totalPrice,'discountedPrice'=>$result->totalPrice,'message'=>$result->message,'couponCode'=>$couponCode);	
266
		} else {
267
			$res = array('totalPrice'=>$result->totalPrice,'discountedPrice'=>$result->discountedPrice,'message'=>$result->message,'couponCode'=>$couponCode);
268
		}
11885 anikendra 269
		$res['dealTextArray']=$dealTextArray;
10582 lgm 270
		echo json_encode($res);
271
	}
272
	public function couponClear($code=null)
273
	{
274
		$response=array();
275
		$authorized = $this->session->userdata('authorized');
276
		if(isset($authorized) && !empty($authorized)){
277
		    $_GET['userId'] = $authorized['Id'];
278
			$_GET['action'] = 'removecoupon';
279
			$cartId = $authorized['cartId'];
280
			if($authorized['isLoggedIn'] == 1){
281
				$_GET['isLoggedIn'] = 'true';
282
			}
283
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
284
				$_GET['isLoggedIn'] = 'false';
285
			}
286
		}
287
		if(isset($code) and !empty($code))
288
		{
289
			//if user logged-in
290
			$_GET['coupon_code'] = $code;
291
			//$d=$this->input->get();
292
			}
293
		//print_r($this->config->item('cart_couponclear'));
294
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_couponclear'),$cartId);
295
		$result = $response['response']['cartcouponclear'][0];
296
		$res = array('totalPrice'=>$result->totalPrice,'discountedPrice'=>$result->discountedPrice,'message'=>$result->message);
297
		echo json_encode($res);
298
	}
299
	public function cartCount()
300
	{
301
		$response=array();
302
		$authorized = $this->session->userdata('authorized');
303
		$shoppingId =$this->session->userdata('shoppingId');
304
		if((isset($authorized) and !empty($authorized['id'])) || ((isset($shoppingId) && !empty($shoppingId)))){
305
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_count'));
306
		if(isset($response['response']['cartcount'][0])){
307
			$result = $response['response']['cartcount'][0];
308
			echo $result;
309
			}
310
			else{
311
				$result = 0;
312
				echo $result;
313
			}
314
		}
315
		else{
316
			$result = 0;
317
			echo $result;
318
		}
319
	}
320
 
321
	public function insure($itemId,$toInsure,$insuranceType){
322
		$authorized = $this->session->userdata('authorized');
323
		if(isset($authorized) && !empty($authorized)){
324
			$_GET['userId'] = $authorized['Id'];
325
			$_GET['Id'] = $authorized['cartId'];
326
			if($authorized['isLoggedIn'] == 1){
327
				$_GET['isLoggedIn'] = 'true';
328
			}
329
			elseif(isset($authorized['isLoggedIn']) && empty($authorized['isLoggedIn'])) {
330
				$_GET['isLoggedIn'] = 'false';
331
			}
332
		}
333
		$_GET['itemId'] = $itemId;
334
		$_GET['toInsure'] = $toInsure;
335
		$_GET['insuranceType'] = $insuranceType;
336
		$response=$this->cart_model->getCart($this->input->get(),$this->input->post(),$this->config->item('cart_insure'));
337
		$insurance = $response['response']['cartinsure'][0]->insuranceResult;
338
		if(strcasecmp($insurance, 'success') == 0){
339
			//$status[0] = true;
340
			$res = array('status'=>true);
341
			echo json_encode($res);
342
		}
343
		elseif(strcasecmp($insurance, 'failure') == 0) {
344
			$status[0] = false;
345
			echo json_encode($status);
346
		}
347
	}
348
	//improve functinalities using ajax
349
	public function anonymous()
350
	{
351
		$url = $this->config->item('anonymous');
352
		$url = $url['url'];
353
		$url = $this->config->item('curl_base_url').$url;
354
		$params = array();
355
		$this->mcurl->add_call('anonymous','get',$url,$params);
356
        $responses = $this->mcurl->execute($url);
357
        $response = array();
358
		if(isset($responses['anonymous']['response']) && !empty($responses['anonymous']['response'])){
359
			$data = json_decode($responses['anonymous']['response']);
360
			$childarray=array();
361
			$childarray['Id']=$data->userId;
362
			$childarray['isLoggedIn']=$data->isLoggedIn;
363
			$childarray['pincode']=$data->pincode;
364
			$childarray['email']=$data->email;
365
			$childarray['totalItems']=$data->totalItems;
366
      		$childarray['cartId']=$data->cartId;
367
			$response['authorized']=$childarray;
368
			$this->session->set_userdata('authorized',$response['authorized']);
369
		}
370
		return $response;
371
	}
372
	public function delete_ajax()
373
	{}
374
}
375
 
376
/* End of file welcome.php */
11529 anikendra 377
/* Location: ./application/controllers/welcome.php */