Subversion Repositories SmartDukaan

Rev

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