Subversion Repositories SmartDukaan

Rev

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