Subversion Repositories SmartDukaan

Rev

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