Subversion Repositories SmartDukaan

Rev

Rev 17982 | Details | Compare with Previous | Last modification | View Log | RSS feed

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