<?php
function trimarrayspace($n)
{
	$n = preg_replace('/\s(?=\s)/', '', $n);
    return trim($n);
}

class ControllerFeedProductGoogle extends Controller {
	public function index() {

			
			$this->load->model('catalog/product');

			
			if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
				$baseurl= $this->config->get('config_ssl');
			} else {
							$baseurl = $this->config->get('config_url');
			}
			
			if (isset($this->request->get['xmlpid'])) {
				$product_id = (int)$this->request->get['xmlpid'];
			} else {
				$product_id = 0;
			}
		
			if($product_id){
				$product = $this->model_catalog_product->getProduct($product_id);
				if($product==false){
					$this->response->redirect($baseurl,'301');
				}
				$output  = '<?xml version="1.0" encoding="UTF-8"?>';
				$output .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
				if($product['partno']){
					$product_id=$product['product_id'];
					$products_keywords_array=array_unique(explode(",",preg_replace("/\n+/",",",$product['partno'])));
						  $products_keywords_array = array_map("trim", $products_keywords_array);
						  $products_keywords_array = array_map("strtolower", $products_keywords_array);
								//$products_keywords_array = array_map("trimarrayspace", $products_keywords_array);
								natsort($products_keywords_array);
												//shuffle($products_keywords_array);
									foreach($products_keywords_array as $key => $v){
										$v=trim($v);
										$v = preg_replace('/\s(?=\s)/', '', $v);
										
										if($v){
											if(isset($this->request->get['modelbattery'])){
												if(strtolower(trim(MakeURLNormal($this->request->get['modelbattery'])))==strtolower(trim($v))){
													continue;
												}
						
												if($key>=10&&$this->request->get['modelbattery']){
													//continue;
												}
											}
											//$url=$this->url->link('product/product', 'product_id=' . $product_id."&modelbattery=".MakeURLSafe($v));
											//$url=$baseurl.MakeURLSafe($v)."_".$product_id.".html";
											$url = $this->url->link('product/product', 'product_id=' . $product_id."&pid=".$product_id.'&modelbattery='.MakeURLSafe($v));
											
										//$tmp=$v;
										//$tmp=str_ireplace($tmpcategoryname,"",$tmp);
										//$outmodel.="<li><a href='".$url."'>".$tmp."</a></li>";
										//$fitmodels[]=$tmp;
										//$fitmodels[]=str_ireplace($tmpcategoryname,"",$tmp);
										//$fitmodels[]=trim($tmp);
										//$outmodel.="<li>".$tmp."</li>";
										
													$output .= '<url>';
													//$tmp_url=$this->url->link('product/product', 'product_id=' . $product['product_id']);
													//$tmp_url=str_replace(".html",".xml",$tmp_url);
													$output .= '<loc>' . $url . '</loc>';
													$output .= '<changefreq>weekly</changefreq>';
													$output .= '</url>';
										}
									}
									
		
				
				}
			
			
				if($product['fitmodel']){
						$product_id=$product['product_id'];
						$products_keywords_array=array_unique(explode(",",preg_replace("/\n+/",",",$product['fitmodel'])));
							  $products_keywords_array = array_map("trim", $products_keywords_array);
							  $products_keywords_array = array_map("strtolower", $products_keywords_array);
									//$products_keywords_array = array_map("trimarrayspace", $products_keywords_array);
									natsort($products_keywords_array);
													//shuffle($products_keywords_array);
										foreach($products_keywords_array as $key => $v){
											$v=trim($v);
											$v = preg_replace('/\s(?=\s)/', '', $v);
											
											if($v){
												if(isset($this->request->get['modelbattery'])){
													if(strtolower(trim(MakeURLNormal($this->request->get['modelbattery'])))==strtolower(trim($v))){
														continue;
													}
							
													if($key>=10&&$this->request->get['modelbattery']){
														//continue;
													}
												}
												//$url=$this->url->link('product/product', 'product_id=' . $product_id."&modelbattery=".MakeURLSafe($v));
												//$url=$baseurl.MakeURLSafe($v)."_".$product_id.".html";
												$url = $this->url->link('product/product', 'product_id=' . $product_id."&pid=".$product_id.'&modelbattery='.MakeURLSafe($v));
												
											//$tmp=$v;
											//$tmp=str_ireplace($tmpcategoryname,"",$tmp);
											//$outmodel.="<li><a href='".$url."'>".$tmp."</a></li>";
											//$fitmodels[]=$tmp;
											//$fitmodels[]=str_ireplace($tmpcategoryname,"",$tmp);
											//$fitmodels[]=trim($tmp);
											//$outmodel.="<li>".$tmp."</li>";
											
														$output .= '<url>';
														//$tmp_url=$this->url->link('product/product', 'product_id=' . $product['product_id']);
														//$tmp_url=str_replace(".html",".xml",$tmp_url);
														$output .= '<loc>' . $url . '</loc>';
														$output .= '<changefreq>weekly</changefreq>';
														$output .= '<priority>1.0</priority>';
														$output .= '</url>';
											}
										}
										
			
					
					
				}
				$output .= '</urlset>';
				
			}else{
				$output  = '<?xml version="1.0" encoding="UTF-8"?>';
				$output .= '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
				$products = $this->model_catalog_product->getProducts();
				foreach ($products as $product) {
				
					if($product['partno']||$product['fitmodel']){
						$product_id=$product['product_id'];
						$tmp_url=$baseurl."product_".$product_id.".xml";
						$output .= '<sitemap>';
						//$tmp_url=$this->url->link('product/product', 'product_id=' . $product['product_id']);
						//$tmp_url=str_replace(".html",".xml",$tmp_url);
						$output .= '<loc>' . $tmp_url . '</loc>';
						$output .= '</sitemap>';
					}
				
				}
				$output .= '</sitemapindex>';
			}
			
			

			$this->response->addHeader('Content-Type: application/xml');
			$this->response->setOutput($output);
			
		}
	
}
?>