Subversion Repositories SmartDukaan

Rev

Rev 10582 | Rev 10910 | 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 Products extends MY_Controller {
4
 
5
public $layoutName ='';
6
	function __construct() {
7
 
8
		// Call the CI_controller constructor
9
		parent::__construct();
10
		$admin = $this->session->userdata('admin');
11
		if(!isset($admin) || empty($admin)) {
12
			redirect(base_url().'authorize');
13
		}
14
		$this->layout->setlayout('layout/layout_main');
15
		$this->load->model('product_model');
16
		$this->load->model('magento_model');
17
		$this->layoutName= $this->layout->getLayout();
18
		$this->layoutName =substr($this->layoutName , 0, strrpos($this->layoutName , "/")).'/';
19
 
20
 
21
 
22
	}
23
	public function index()
24
	{
25
 
26
		$last = $this->uri->total_segments();
27
		$itemcode = $this->uri->segment($last);
28
		$itemName = $this->uri->segment($last-1);
29
		//standard array
30
		$data = array();
31
		//get cache 
32
		$configdata =array();
33
		$configdata = $this->config->item('productlist');
34
		if(is_numeric($itemcode) && ($itemName == 'coming-soon')) {
35
			unset($configdata['response'][0]);
36
			unset($configdata['response'][1]);
37
			unset($configdata['response'][3]);
38
		}elseif(is_numeric($itemcode) && ($itemName == 'best-deals')){
39
			unset($configdata['response'][0]);
40
			unset($configdata['response'][1]);
41
			unset($configdata['response'][2]);
42
		}
43
		elseif(is_numeric($itemcode) && ($itemcode != 1)) {
44
			unset($configdata['response'][1]);
45
			unset($configdata['response'][2]);
46
			unset($configdata['response'][3]);
47
		}
48
		elseif(is_string($itemcode)) {
49
			unset($configdata['response'][0]);
50
			unset($configdata['response'][2]);
51
			unset($configdata['response'][3]);	
52
		}
53
		$cachemodule = array('header','footer');
54
		$configdata = getCache($configdata,$cachemodule);
55
		//end of get cache
56
		if(empty($_GET)){
57
			if($itemName != 'coming-soon' && $itemName !== 'best-deals'){
58
				$productName = $itemcode;
59
			}elseif($itemName == 'coming-soon' || $itemName == 'best-deals') {
60
				$productName = $itemName;
61
			}
62
			if(isset($productName) && !empty($productName)){
63
				$cache = getFileCache($productName);
64
			}
65
			if(isset($cache) && !empty($cache)){
66
				$data['response'] = $cache;
67
			}else{
68
				$data['response']=$this->product_model->getProducts('',$this->input->post(),$configdata['module'], $itemcode,$_SERVER['QUERY_STRING']);
69
				if(isset($productName)){
70
					setFileCache($data['response'], $productName,300);
71
				}
72
			}
73
		}else{
74
			$data['response']=$this->product_model->getProducts('',$this->input->post(),$configdata['module'], $itemcode,$_SERVER['QUERY_STRING']);
75
		}	
76
		//set cache to output or renew cache
77
		if(isset($cachemodule) and !empty($cachemodule))
78
		{
79
			foreach($cachemodule as $cm)
80
			{
81
				if(isset($configdata[$cm]) and !empty($configdata[$cm]))
82
				{
83
					$data['response'][$cm]=$configdata[$cm];
84
				}
85
			}
86
		}
87
		setCache($configdata['module'],$cachemodule,$data['response']);
88
		$this->lessphp->object()->ccompile('assets/css/pd-list.less','assets/css/pd-list.css');
89
		$data['stylesheet'] = 'pd-list.css';
90
		//end of set cache
91
		$this->layout->view('products/products_view',$data);
92
	}
93
 
94
 
95
	public function getProductList($category,$page=null,$sort=null,$filter=null,$price=null)
96
	{
97
		 $value = intval($category);
98
         if(($value !== 0) && ($category == 1)){
99
         	$url = $this->config->item('coming_soon');
100
         }elseif(($value !== 0) && ($category !=1)){
101
         	$url = $this->config->item('product_list');
102
         }elseif($value == 0){
103
         	$url = $this->config->item('special_page');
104
         }
105
	  	 $url = $url['url'];
106
         $url = $this->config->item('curl_base_url').$url.'/'.$category;	
107
         $params = array();
108
         $params['index'] = ($page-1)*10;
109
         $params['offset'] = 10;
110
         if(isset($sort) && $sort != 'null'){
111
         	$params['sortedBy'] = $sort;
112
         }
113
        if(isset($price) && $price != 'null'){
114
         	$price = explode('&', $price);
115
         	if(intval($price[0]) < intval($price[1])){
116
         		$params['minPrice'] = $price[0];
117
         		$params['maxPrice'] = $price[1];
118
         	}
119
         	else{
120
         		$params['minPrice'] = $price[1];
121
         		$params['maxPrice'] = $price[0];
122
         	}
123
         }
124
         if(isset($filter) && $filter != 'null'){
125
         	$url .= '?fq='.rawurldecode($filter);
126
         }	
127
         $this->mcurl->add_call('appendlist','get',$url,$params);
128
         $response = $this->mcurl->execute($url);
129
         $data['response'] = $response['appendlist']['response'];
130
		 $response = $this->magento_model->product_list($data);
131
		 $count = $response[0]->result->totalCount;
132
		 $productListResponse ='';
133
		 $TotalPage = ceil($count/10);
134
		 if($TotalPage < $page) {$product_list='';}
135
		 else{$product_list = $response;}
136
		 	if(isset($product_list) and !empty($product_list))
137
		{
138
			foreach($product_list[0]->result->results as $pl)
139
			{
140
				if(isset($pl->image_url) and !empty($pl->image_url))
141
				{
142
					if(isset($p1->mrp) && $p1->mrp != 0){
143
						$productListResponse .= '<a class="pd-list" href="'. base_url().$pl->url.'">
144
          				<div class="pd-image" style="background:url('.$pl->image_url.')no-repeat center center;background-size:contain;"></div>
145
          					<div class="pd-info">
146
            				<div class="pdt-name">'.$pl->title.'</div>
147
           			 		<div class="pdt-price"><span>Rs</span>
148
              				<span>'.$pl->mrp.'</span>
149
              				<span>'. $pl->price.'</span></div>
150
            				<div class="pdt-spec">'. $pl->description.' </div>
151
          				</div> 
152
        				</a>';	
153
					}
154
					else{
155
						$productListResponse .= '<a class="pd-list" href="'. base_url().$pl->url.'">
156
          				<div class="pd-image" style="background:url('.$pl->image_url.')no-repeat center center;background-size:contain;"></div>
157
          					<div class="pd-info">
158
            				<div class="pdt-name">'.$pl->title.'</div>
159
           			 		<div class="pdt-price"><span>Rs</span>
160
              				<span></span>
161
              				<span>'. $pl->price.'</span></div>
162
            				<div class="pdt-spec">'. $pl->description.' </div>
163
          				</div> 
164
        				</a>';	
165
					}
166
 
167
				}		
168
 
169
			}
170
		}
171
		echo $productListResponse;
172
 
173
	}
174
	public function getSpecialProductList($category,$page=null){
175
		if(isset($category) && !empty($category)){
176
			if($category == 'coming-soon'){
177
				$url = $this->config->item('coming_soon');
178
			}
179
			$url = $url['url'];
180
         	$url = $this->config->item('curl_base_url').$url.'/'.$page;
181
         	$params = array();
182
         	$this->mcurl->add_call('appendlist','get',$url,$params);
183
         	$response = $this->mcurl->execute($url);
184
         	$data['response'] = $response['appendlist']['response'];
185
		 	$response = $this->magento_model->coming_soon($data);
186
		 	$count = $response[0]->response->count;
187
			$productListResponse ='';
188
			$count = $count-20;
189
			$TotalPage = ceil($count/10);
190
			if($TotalPage < $page) {$coming_soon='';}
191
			 else{$coming_soon = $response;}
192
			 	if(isset($coming_soon) and !empty($coming_soon))
193
			{
194
				foreach($coming_soon[0]->response->items as $pl)
195
				{
196
					if(isset($pl->image_url) and !empty($pl->image_url))
197
					{
10787 lgm 198
						if((isset($p1->mrp) && $p1->mrp != 0) && (isset($p1->price) && $p1->price != 0)){
10582 lgm 199
							$productListResponse .= '<a class="pd-list" href="'. base_url().$pl->url.'">
200
	          				<div class="pd-image" style="background:url('.$pl->image_url.')no-repeat center center;background-size:contain;"></div>
201
	          					<div class="pd-info">
202
	            				<div class="pdt-name">'.$pl->title.'</div>
203
	           			 		<div class="pdt-price"><span>Rs</span>
204
	              				<span>'.$pl->mrp.'</span>
205
	              				<span>'. $pl->price.'</span></div>
206
	            				<div class="pdt-spec">'. $pl->description.' </div>
207
	          				</div> 
208
	        				</a>';	
209
						}
10787 lgm 210
						elseif((!isset($p1->mrp) || empty($p1->mrp)) && ((isset($p1->price) && ($p1->price != 0)))) {
10582 lgm 211
							$productListResponse .= '<a class="pd-list" href="'. base_url().$pl->url.'">
212
	          				<div class="pd-image" style="background:url('.$pl->image_url.')no-repeat center center;background-size:contain;"></div>
213
	          					<div class="pd-info">
214
	            				<div class="pdt-name">'.$pl->title.'</div>
215
	           			 		<div class="pdt-price"><span>Rs</span>
216
	              				<span></span>
217
	              				<span>'. $pl->price.'</span></div>
218
	            				<div class="pdt-spec">'. $pl->description.' </div>
219
	          				</div> 
220
	        				</a>';	
221
						}
10787 lgm 222
						elseif((!isset($p1->mrp) || empty($p1->mrp)) && ((!isset($p1->price) || (empty($p1->price))))) {
223
							$productListResponse .= '<a class="pd-list" href="'. base_url().$pl->url.'">
224
	          				<div class="pd-image" style="background:url('.$pl->image_url.')no-repeat center center;background-size:contain;"></div>
225
	          					<div class="pd-info">
226
	            				<div class="pdt-name">'.$pl->title.'</div>
227
	           			 		<div class="pdt-price"><span></span>
228
	              				<span></span>
229
	              				<span></span></div>
230
	            				<div class="pdt-spec">'. $pl->description.' </div>
231
	          				</div> 
232
	        				</a>';	
233
						}
10582 lgm 234
					}		
235
 
236
				}
237
			}
238
			echo $productListResponse;
239
			}
240
	}
241
 
242
	public function filter(){
243
		$configdata = $this->config->item('filter');
244
		$data['response']=$this->product_model->getProducts($this->input->get(),$this->input->post(),$configdata);
245
		$this->layout->view('products/products_view',$data);
246
	}
247
 
248
 
249
}
250
 
251
/* End of file welcome.php */
252
/* Location: ./application/controllers/welcome.php */