Subversion Repositories SmartDukaan

Rev

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