Subversion Repositories SmartDukaan

Rev

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