<?php
class Frontside_model extends Model{
		function Frontside_model()
	    {
	        parent::Model();
	    }
		
		//pobiera wszystkie artykuły dla wybranego języka($idlang), kolejność po showorder
		function get_articles($idlang){
			$this->db->select('articles.idarticles, idparent, title, shortdesc, friendlyurl');
			$this->db->from('articles');
			$this->db->join('article_languages', 'articles.idarticles = article_languages.idarticles');
			$this->db->where('idlanguages',$idlang);
			$this->db->where('active', true);
			$this->db->order_by('showorder', 'desc');
			$this->db->order_by('date', 'desc'); 
			$result = $this->db->get();
			return $result->result_array();
		}
		
		//pobiera artykuł po id, kolejność po showorder
		function get_article($id, $idlang = null){
			$this->db->select('*');
			$this->db->from('articles');
			$this->db->join('article_languages', 'article_languages.idarticles = articles.idarticles');
			$this->db->join('languages', 'article_languages.idlanguages = languages.idlanguages');
			$this->db->where('articles.idarticles',$id);
			if($idlang != null){
				$this->db->where('languages.idlanguages',$idlang);
			}
			$result = $this->db->get();
			return $result->result_array();
		}

        //dla dotacjenainnowacje.com.pl
		function get_projects($idparent, $date, $idlang){
			$this->db->select('*');
			$this->db->from('articles');
			$this->db->join('article_languages', 'article_languages.idarticles = articles.idarticles');
			$this->db->where('articles.idparent',$idparent);
			$this->db->where('idlanguages',$idlang);
			$this->db->where('additional_data >=',$date);
			$this->db->order_by('additional_data', 'asc'); 
			$result = $this->db->get();
			return $result->result_array();
		}
		//end dotacjenainnowacje.com.pl
        
		function get_subarticles($idparent, $idlang){
			$this->db->select('*');
			$this->db->from('articles');
			$this->db->join('article_languages', 'article_languages.idarticles = articles.idarticles');
			$this->db->where('articles.idparent',$idparent);
			$this->db->where('idlanguages',$idlang);
			$this->db->order_by('additional_data', 'asc');
			$result = $this->db->get();
			return $result->result_array();
		}
		
		//pobiera wszystkie newsy dla wybranego języka($idlang), kolejność po showorder
		function get_newses($idlang){
			$this->db->select('newses.idnewses, newses.date, title, shortdesc, friendlyurl, image');
			$this->db->from('newses');
			$this->db->join('news_languages', 'newses.idnewses = news_languages.idnewses');
			$this->db->where('idlanguages',$idlang);
			$this->db->where('active', true);
			$this->db->order_by('showorder', 'desc'); 			
			$this->db->order_by('date', 'desc'); 
			$result = $this->db->get();
			return $result->result_array();
		}
		
		//pobiera news po id, kolejność po showorder
		function get_news($id, $idlang){
			$this->db->select('*');
			$this->db->from('newses');
			$this->db->join('news_languages', 'news_languages.idnewses = newses.idnewses');
			$this->db->where('newses.idnewses',$id);
			$this->db->where('idlanguages',$idlang);
			$result = $this->db->get();
			return $result->result_array();
		}
		
		function get_galleries($idlang){
			$this->db->select('galleries.*, galleries_languages.*, languages.fullname, languages.shortname');
			$this->db->from('galleries');
			$this->db->join('galleries_languages', 'galleries.idgalleries = galleries_languages.idgalleries');			
			$this->db->join('languages', 'languages.idlanguages = galleries_languages.idlanguages');
			$this->db->where('languages.idlanguages', $idlang);
			$this->db->order_by('showorder'); 
			$result = $this->db->get();
			return $result->result_array();
		}
		
		//pobiera wszystkie info o danej galerii dla wybranego języka($idlang) i listę fotek dla niej, kolejność po showorder	
		function get_gallery_by_id($id,$idlang){
			$this->db->select('galleries_languages.title, galleries_languages.titleseo, galleries_languages.keywords, galleries_languages.shortdesc, galleries_languages.abstract, galleries_languages.subject, galleries_languages.topic, galleries_languages.copyrights, galleries.idparent, galleries.active');
			$this->db->from('galleries_languages');
			$this->db->join('galleries', 'galleries.idgalleries = galleries_languages.idgalleries');
			$this->db->where('galleries_languages.idlanguages',$idlang);
			$this->db->where('galleries_languages.idgalleries',$id);
			$this->db->order_by('showorder', 'asc'); 
			$result = $this->db->get();
			return $result->result_array();
		}
		
		function get_gallery($id){
			$this->db->select('languages.shortname, galleries.idgalleries, galleries_languages.title, galleries_languages.friendlyurl');
			$this->db->from('galleries_languages');
			$this->db->join('galleries', 'galleries.idgalleries = galleries_languages.idgalleries');
			$this->db->join('languages', 'languages.idlanguages = galleries_languages.idlanguages');		
			$this->db->where('galleries_languages.idgalleries',$id);
			$result = $this->db->get();
			return $result->result_array();
		}
		
		//pobiera wszystkie obrazki dla wybranego języka($idlang), kolejność po showorder
		function get_gallery_images($id,$idlang){
			$this->db->select('*');
			$this->db->from('images');
			$this->db->join('images_languages', 'images_languages.idimages = images.idimages');		
			$this->db->where('images_languages.idlanguages',$idlang);
			$this->db->where('images.idgalleries',$id);
			$this->db->order_by('showorder', 'asc'); 
			$result = $this->db->get();
			return $result->result_array();
		}
		
		//pobiera wszystkie info o danego obrazka dla wybranego języka($idlang), kolejność po showorder
		function get_image_by_id($id,$idlang){
			$this->db->select('*');
			$this->db->from('images');
			$this->db->join('images_languages', 'images_languages.idimages = images.idimages');		
			$this->db->where('images_languages.idlanguages',$idlang);
			$this->db->where('images_languages.idimages',$id);
			$this->db->order_by('showorder', 'asc'); 
			$result = $this->db->get();
			return $result->result_array();
		}
		
		//pobiera standardowe metatagi dla danego typu(artykul, news, itd)($type) dla danego języka($idlang)
		function get_default_metatags($type, $idlang){
			$this->db->select('*');
			$this->db->from('metatags');
			$this->db->join('metatag_types', 'metatag_types.idmetatag_types = metatags.idmetatag_types');		
			$this->db->where('metatags.idlanguages',$idlang);
			$this->db->where('metatag_types.name',$type);
			$result = $this->db->get();
			return $result->result_array();
		}
		
		function get_menu_by_id($id, $idlang){
			$this->db->select('*, mit_languages.friendlyurl as mit_url, menu_item_languages.friendlyurl as mi_url');
			$this->db->from('mit_languages');
			$this->db->join('menu_item_types', 'mit_languages.idmit = menu_item_types.idmenu_item_types');
			$this->db->join('menu_items', 'menu_items.idmenu_item_types = menu_item_types.idmenu_item_types');
			$this->db->join('menu_item_languages', 'menu_item_languages.idmenu_items = menu_items.idmenu_items');		
			$this->db->where('menu_item_languages.idlanguages',$idlang);
			//$this->db->where('mit_languages.idlanguages',$idlang);
			$this->db->where('menu_items.idmenus',$id);
			$this->db->order_by('showorder');
			$result = $this->db->get();
			return $result->result_array();
		}
		
		function get_language($id){
			$this->db->select('*');
			$this->db->from('languages');	
			$this->db->where('idlanguages',$id);
			$result = $this->db->get();
			return $result->result_array();
		}
		
		function get_active_languages(){
			$this->db->select('*');
			$this->db->from('languages');	
			$this->db->where('active', true);
			$result = $this->db->get();
			return $result->result_array();
		}
		
		function get_product($id, $idlang){
			$this->db->select('*');
			$this->db->from('products');
			$this->db->join('products_languages', 'products_languages.idproducts = products.idproducts');
			$this->db->where('products.idproducts',$id);
			$this->db->where('idlanguages',$idlang);
			$result = $this->db->get();
			return $result->result_array();
		}
		
		function get_products_by_cat($id, $idlang){
			$this->db->select('*');
			$this->db->from('products');
			$this->db->join('products_languages', 'products_languages.idproducts = products.idproducts');
			$this->db->join('product_product_categories', 'product_product_categories.idproducts = products.idproducts');
			$this->db->where('product_product_categories.idproduct_categories',$id);
			$this->db->where('idlanguages',$idlang);
			$result = $this->db->get();
			return $result->result_array();
		}
		
		function get_subproducts($id, $idlang){
			$this->db->select('*');
			$this->db->from('products');
			$this->db->join('products_languages', 'products_languages.idproducts = products.idproducts');
			$this->db->join('subproducts', 'subproducts.idchild = products.idproducts');
			$this->db->where('subproducts.idparent',$id);
			$this->db->where('idlanguages',$idlang);
			$result = $this->db->get();
			return $result->result_array();
		}
		//dla puffon.pl
		function get_complet($parent, $child){
			$this->db->select('*');
			$this->db->from('subproducts');
			$this->db->where('idparent',$parent);
			$this->db->where('idchild',$child);
			$result = $this->db->get();
			return $result->result_array();
		}
		//dla puffon.pl
		function get_product_category($id, $idlang=null){
			$this->db->select('*');
			$this->db->from('product_categories');
			$this->db->join('product_categories_languages', 'product_categories_languages.idproduct_categories = product_categories.idproduct_categories');
			$this->db->join('languages', 'product_categories_languages.idlanguages = languages.idlanguages');
			$this->db->where('product_categories.idproduct_categories',$id);
			if($idlang!=null){
				$this->db->where('languages.idlanguages',$idlang);
			}
			$result = $this->db->get();
			return $result->result_array();
		}
	
		function get_images_by_idgallery($id){
			$this->db->select('*');
			$this->db->from('images');
			$this->db->where('images.idgalleries',$id);
			$this->db->where('active',true);
			$this->db->order_by('images.showorder');
			$result = $this->db->get();
			return $result->result_array();
		}
		
		function get_product_language($id){
			$this->db->select('languages.shortname, product_categories_languages.friendlyurl as cat_url, products_languages.*, product_categories_languages.idlanguages as idlang');
			$this->db->from('languages');
			$this->db->join('products_languages', 'products_languages.idlanguages = languages.idlanguages');
			$this->db->join('products', 'products_languages.idproducts = products.idproducts');
			$this->db->join('product_product_categories', 'product_product_categories.idproducts = products.idproducts');
			$this->db->join('product_categories', 'product_categories.idproduct_categories = product_product_categories.idproduct_categories');
			$this->db->join('product_categories_languages', 'product_categories_languages.idproduct_categories = product_categories.idproduct_categories');
			$this->db->where('products.idproducts', $id);
			$this->db->having('products_languages.idlanguages = idlang'); 
			$result = $this->db->get();
			return $result->result_array();
		}
	}
		
?>