<?php

/**
 * 
 * Copyright (C) Die Randgruppe GmbH
 * 
 * http://www.randshop.com
 * http://www.dierandgruppe.com
 * 
 * Unter der Lizenz von Die Randgruppe GmbH:
 * http://www.randshop.com/Lizenz
 *  
 * $Author$
 * $Date$
 * $Revision$
 * 
 */

	session_start();

	// SourceID = 2

	// PHP-Includes
	if (!$SEOCall) {
    	include_once("../../conf/config.inc.php");
    	include_once(DATEIPFAD . "conf/db.inc.php");
	}
	
	include_once(DATEIPFAD . "includes/shopinitialize.inc.php");
	include_once(DATEIPFAD . "includes/functions.artikel.inc.php");
	include_once(DATEIPFAD . "includes/functions.waehrung.inc.php");
	include_once(DATEIPFAD . "includes/functions.shopeinstellung.inc.php");
	include_once(DATEIPFAD . "includes/session_register.inc.php");
	include_once(DATEIPFAD . "includes/functions.kategorie.inc.php");
	include_once(DATEIPFAD . "includes/functions.global.inc.php");
	include_once(DATEIPFAD . "includes/functions.statistik.inc.php");
	include_once(DATEIPFAD . "includes/functions.facettensuche.inc.php");
	
	// Spracheninclude
	if (@fopen(DATEIPFAD . "includes/language/langu_" . $_SESSION["languageisocode"] . ".inc.php",r)) {
		include_once(DATEIPFAD . "includes/language/langu_" . $_SESSION["languageisocode"] . ".inc.php");
	} else {
		include_once(DATEIPFAD . "includes/language/langu_de.inc.php");
	}	

	// Header
	include_once(DATEIPFAD . "includes/header.inc.php");
    include_once(DATEIPFAD . "includes/functions.customisation.inc.php");

    if (isset($_POST["unsetDataOffset"])) { $DataOffset = 0; }
	if (isset($_GET["unsetDataOffset"])) { $DataOffset = 0; }
	
	// HerstellerID
	if (isset($_POST["herstellerid"])) { $HerstellerID = $_POST["herstellerid"]; };
	if (isset($_GET["herstellerid"])) { $HerstellerID = $_GET["herstellerid"]; };
	if (isset($HerstellerID)) { unset($KategorieID); }
	
	if(isset($_POST['filter'])) {
        $_SESSION['facettensuche_filter'] = $_POST['filter'];
        $filter = $_POST['filter'];
    } else if($_SESSION['facettensuche_filter']) {
        if(isset($_GET['dataoffset']))
            $filter = $_SESSION['facettensuche_filter'];
        else 
            unset($_SESSION['facettensuche_filter']);
    }

    if(isset($filter)) // Facettensuche durchführen ?
    {
    	$unterkategorieFilter = getFacettensucheFilter(false, $_SESSION["languageid"], FACETTENSUCHE_FILTER_AUTO_UNTERKATEGORIE);
    	    	
        $auspraegungenAuswahlArray = array('filter_anzahl' => count($filter), 'auspraegungen' => array());
        foreach($filter as $filterId => $auspraegungAuswahl)
        {
        	if($filterId == $unterkategorieFilter['id'])
        	{
        	   $auspraegungenAuswahlArray['filter_anzahl']--;
        	   if(is_array($auspraegungAuswahl))
        	       $unterkategorieIds = array_keys($auspraegungAuswahl);
        	   else
        	       $unterkategorieIds[] = $auspraegungAuswahl;
        	}  
            else if(is_array($auspraegungAuswahl))
                $auspraegungenAuswahlArray['auspraegungen'] = array_merge($auspraegungenAuswahlArray['auspraegungen'], array_keys($auspraegungAuswahl));
            else
                $auspraegungenAuswahlArray['auspraegungen'][] = $auspraegungAuswahl;
        }
    }
    else
        $auspraegungenAuswahlArray = false;
    
    // Facettensuche
        
   	$tpl_facettensucheArray = Array();
    $tpl_facettensucheAktiv = isFacettensucheAktiv($KategorieID);
    if($tpl_facettensucheAktiv) {
        $tpl_facettensucheArray = getFacettensucheFilterAuspraegungenForKategorie($KategorieID, $_SESSION["languageid"]);
    }

    if(isset($filter))
    {
        foreach($filter as $filterId => $auspraegungAuswahl)
        {
            if(is_array($auspraegungAuswahl))
            {
                foreach($auspraegungAuswahl as $auspraegungId => $ausgewaehlt)
                    $tpl_facettensucheArray[$filterId]['auspraegungen'][$auspraegungId]['auswahl'] = true;
            }
            else
            {
                $tpl_facettensucheArray[$filterId]['auspraegungen'][$auspraegungAuswahl]['auswahl'] = true;
            }
            $tpl_facettensucheArray[$filterId]['auswahl'] = true;
        }
    }    

    
    
    // Artikelanzahl in der Kategorie ermitteln
    if(isset($unterkategorieIds))
       $ArtikelAnzahl = GetArtikelAnzahlPA(array('FilterHerstellerID' => $HerstellerID, 'FilterKategorieID' => $unterkategorieIds, 'FilterKategorieRekursive' => true, 'FilterMerkmalkombinationen' => 1, 'FilterAktiv' => 1, 'facettensucheAuspraegungenFilter' => $auspraegungenAuswahlArray));
    else
	   $ArtikelAnzahl = GetArtikelAnzahlPA(array('FilterHerstellerID' => $HerstellerID, 'FilterKategorieID' => $KategorieID, 'FilterMerkmalkombinationen' => 1, 'FilterAktiv' => 1, 'facettensucheAuspraegungenFilter' => $auspraegungenAuswahlArray));

	// Kategorieanzahl in der Kategorie ermitteln
	$SQLString = "SELECT * FROM " . TABLE_KATEGORIE . " WHERE parentid = '" . $KategorieID . "' AND aktiv = '1'";
	$KategorieAnzahl = mysql_num_rows(errorlogged_mysql_query($SQLString));
	
	$tpl_refertype = VERWEIS_QUELLE_KATEGORIE;
	$tpl_referid = $KategorieID;
	
	$KategorieObject = GetKategorieDetail($KategorieID, $_SESSION["languageid"]);	
	$tpl_kategorie_titel = $KategorieObject->titel;
	$tpl_kategorie_beschreibung = $KategorieObject->beschreibung;
	
	if($auspraegungenAuswahlArray && $ArtikelAnzahl == 0)
    {
        $contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/artikel/facettensuche_kein_ergebnis.tpl";
    }
	// ********************************************************************************
	// ** Kategorieuebersicht
	// ********************************************************************************
	elseif (($ArtikelAnzahl == 0) && ($KategorieAnzahl > 0)) {

		// ********************************************************************************
		// ** Unterkategorien
		// ********************************************************************************
		
		$NavigationArray = array();
		$NavigationArray = GetKategorieNavigationNode($KategorieID, "", $NavigationArray, $_SESSION["languageid"]);
        if($mobilestyle) {
            $KategorieArray = $NavigationArray;
        }

        foreach ($NavigationArray as $Kategorie) {
            $KategorieIDArray[] = $Kategorie['kategorieid'];
        }

        $SEOURLArray = GetSEOURLArray($KategorieIDArray, SEOURL_TYPE_KATEGORIE, $_SESSION["languageid"], $SEOURLArray);
		
		// ********************************************************************************
		// ** aktuelle Artikel
		// ********************************************************************************
	
		$AktuelleArtikelSortField = TABLE_ARTIKEL . ".id";
		$AktuelleArtikelSortOrder = "DESC";
		$AktuelleArtikelDataOffset = 0;
		$AktuelleArtikelDataCount = $startAktuell;
		
/*		$AktuelleArtikelDataArray = GetArtikelDataArrayPA(array(
		  'SortField' => $AktuelleArtikelSortField, 
		  'SortOrder' => $AktuelleArtikelSortOrder,
          'DataOffset' => $AktuelleArtikelDataOffset,
		  'DataCount' => $AktuelleArtikelDataCount, 
		  'KundenEmail' => $_SESSION["mail"],
		  'FilterKategorieID' => $KategorieID, 
		  'FilterMerkmalkombinationen' => 1, 
		  'FilterAktiv' => 1, 
		  'facettensucheAuspraegungenFilter' => $auspraegungenAuswahlArray
		));
*/
		
		$AktuelleArtikelDataArray = GetArtikelDataArray("", "", $AktuelleArtikelSortField, $AktuelleArtikelSortOrder, $AktuelleArtikelDataOffset, $AktuelleArtikelDataCount, $_SESSION["mail"], "", $KategorieID, 1, 0, "", 1, 1, "", "", "", "", "", $_SESSION["languageid"]);
		//$AktuelleArtikelDataArray = GetArtikelDataArray("", "", $AktuelleArtikelSortField, $AktuelleArtikelSortOrder, $AktuelleArtikelDataOffset, $AktuelleArtikelDataCount, $_SESSION["mail"], "", $KategorieID, "", "", "", 1, 1, "", "");

        foreach ($AktuelleArtikelDataArray as $Artikel) {
            $ArtikelIDArray[] = $Artikel['id'];
        }
        
        $SEOURLArray = GetSEOURLArray($ArtikelIDArray, SEOURL_TYPE_ARTIKEL, $_SESSION["languageid"], $SEOURLArray);
        
		// Template
        if($mobilestyle) {
            $contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/mobile/startseite.phtml";
        } else {
            $contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/artikel/kategorieuebersicht.tpl";
        }
        

	// ********************************************************************************
	// ** Artikeluebersicht
	// ********************************************************************************
	} elseif ($ArtikelAnzahl > 0) {
		
		// ********************************************************************************
		// ** Lieferstatus anzeigen
		// ********************************************************************************

		// Shopeinstellungen einlesen
		$FeatureObject = GetFeatureDetail();
		$tpl_showstatus = $FeatureObject->statusanzeige;
		$tpl_source = 2;


		// ********************************************************************************
		// ** Kategoriepfad
		// ********************************************************************************

		$tpl_kategoriepfad = GetKategoriePathString($KategorieID, $_SESSION["languageid"], $SEOURLArray);


		// ********************************************************************************
		// ** Artikeldaten ausgeben
		// ********************************************************************************

		// Standardeinstellungen
		if (!isset($DataOffset)) { $DataOffset = 0; };
		if (!isset($DataCount)) { $DataCount = $wievielEintraege; };
		if (!isset($SortField)) { $SortField = TABLE_ARTIKEL . ".artikel_nr"; };
		if (!isset($SortOrder)) { $SortOrder = "asc"; };

		// Statistikdaten speichern
		$shopeinstellungenObject = GetShopeinstellungDetail();
		if($shopeinstellungenObject->statistikevents_speichern)
		{
			StatistikEventKategorieView($_SESSION['kunden_id'], $KategorieID, ((($DataOffset) / $DataCount) + 1));
		}
		
		$tpl_gebindepreise_aktiv = $Einstellungen->artikel->gebindepreise_aktiv;
		$gebindeArray = explode(';', $Einstellungen->artikel_gebinde->gebinde);
		foreach($gebindeArray as $gebinde)
		{
		    $gebindeWerte = explode('_', $gebinde);
		    if($gebindeWerte[0] && $gebindeWerte[1])
		        $tpl_gebinde[$gebindeWerte[1]] = $gebindeWerte[0]; 
		}
		$WaehrungObject = GetWaehrungDetail();
		
        // Sortierung
        $ArtikelSortField = $Einstellungen->artikel_sortierung->sortieren_nach;
        $ArtikelSortOrder = $Einstellungen->artikel_sortierung->absteigend ? 'DESC' : 'ASC';

        // Artikel einlesen
        if(isset($unterkategorieIds))
        {
        	$tpl_artikelarray = GetArtikelDataArrayPA(array(
                'SortField' => $ArtikelSortField, 
                'SortOrder' => $ArtikelSortOrder, 
                'DataOffset' => $DataOffset, 
                'DataCount' => $DataCount, 
                'KundenEmail' => $_SESSION["mail"], 
                'FilterHerstellerID' => $HerstellerID,
                'FilterKategorieID' => $unterkategorieIds,
        	    'FilterKategorieRekursive' => true,  
                'FilterMerkmalkombinationen' => 1,
                'FilterAktiv' => 1, 
                'OptionVarianten' => 1, 
                'LanguageID' => $_SESSION["languageid"], 
                'facettensucheAuspraegungenFilter' => $auspraegungenAuswahlArray));
        }
        else
        {
	        $tpl_artikelarray = GetArtikelDataArrayPA(array(
	            'SortField' => $ArtikelSortField, 
	            'SortOrder' => $ArtikelSortOrder, 
	            'DataOffset' => $DataOffset, 
	            'DataCount' => $DataCount, 
	            'KundenEmail' => $_SESSION["mail"], 
	            'FilterHerstellerID' => $HerstellerID,
	            'FilterKategorieID' => $KategorieID, 
	            'FilterMerkmalkombinationen' => 1,
	            'FilterAktiv' => 1, 
	            'OptionVarianten' => 1, 
	            'LanguageID' => $_SESSION["languageid"], 
	            'facettensucheAuspraegungenFilter' => $auspraegungenAuswahlArray));
        }
        foreach ($tpl_artikelarray as $Artikel) {
            $ArtikelIDArray[] = $Artikel['id'];
        }
        
        $SEOURLArray = GetSEOURLArray($ArtikelIDArray, SEOURL_TYPE_ARTIKEL, $_SESSION["languageid"], $SEOURLArray);
		
		
		// Daten fuer die Ausgabe aufbereiten
		foreach ($tpl_artikelarray as $tpl_artikel_key => $tpl_artikel) {
			
			//echo '<pre>';
			//	var_dump($tpl_artikel);
			//echo '</pre>';

			// Mehrfachwaehrung
			if(isset($tpl_artikel["waehrungsformatierung"])) {
				foreach ($tpl_artikel["waehrungsformatierung"] as $tpl_waehrung) {
   				$tpl_artikelarray[$tpl_artikel_key]["waehrunganzeige"] .= $tpl_waehrung;
				}
			}

            if ($FeatureObject->bewertung == "1") {
                $tpl_artikelarray[$tpl_artikel_key]["bewertung"] = GetBewertungDataArray($tpl_artikel["id"], $_GET["all"]);
            }

            $tpl_formstart_artikel = "";
			$tpl_formstart_merkmalkombination = "";
			
			// ID einer Merkmalkombination
            $tpl_artikelarray[$tpl_artikel_key]["hauptartikel_id"] = $tpl_artikel["id"];
			if ($tpl_artikel["merkmalkombination"]) {
				$tpl_artikelarray[$tpl_artikel_key]["id"] = $tpl_artikel["merkmalkombination"];
			}
			
			$tpl_artikelarray[$tpl_artikel_key]["artikelname"] = $tpl_artikel["artikelname"];
			
			// Beschreibungskurzausgabe
			if($tpl_artikel["kurz_beschreibung"]) {
				$tpl_artikelarray[$tpl_artikel_key]["beschreibungs_ausgabe"] = nl2br($tpl_artikel["kurz_beschreibung"]);
			} else {
                $tpl_artikelarray[$tpl_artikel_key]["beschreibungs_ausgabe"] = stripslashes($tpl_artikel["beschreibung_kurz"]);
			}
			
			// Bestellbutton
			if($tpl_artikel["verkaufstop"] == 1 && $tpl_artikel["lager_bestellungen"] < 1 ) {
				$tpl_artikelarray[$tpl_artikel_key]["bestellbutton"] = "verkaufstop";
			} else {
				if (isset($tpl_artikel["voe_datum_format"])) {
					$tpl_artikelarray[$tpl_artikel_key]["bestellbutton"] = $lang_vorbestellen;
				} else {
					$tpl_artikelarray[$tpl_artikel_key]["bestellbutton"] = $s_kaufen;
				}
			}
			
			// Varianten
			if (!$tpl_artikel["merkmalkombination"]	&& !$tpl_artikel["merkmalkombinationparentid"]) {
				$tpl_artikelarray[$tpl_artikel_key]["formstart_artikel"] = "<form name=\"form_artikel" . $tpl_artikel["id"] . "\" method=\"post\" action=\"" . URLPFAD . "themes/warenkorb/index.php\">";
			}
			
			if ($tpl_artikelarray[$tpl_artikel_key]["varianten_array"]) {

				foreach ($tpl_artikelarray[$tpl_artikel_key]["varianten_array"] as $VariantenKey => $VariantenArray) {
	
					if ($tpl_artikelarray[$tpl_artikel_key]["merkmalkombination"] || $tpl_artikelarray[$tpl_artikel_key]["merkmalkombinationparentid"]) {
                        $tpl_artikelarray[$tpl_artikel_key]["variante" . $VariantenKey . "_string"] = "<select name=\"variante" . $VariantenKey . "\" class=\"variantenForm\" onchange=\"window.location.href = '" . URLPFAD . "themes/kategorie/detail.php?artikelid=" . $tpl_artikelarray[$tpl_artikel_key]["id"] . "&variante" . $VariantenKey ."='+this.value;\">";
					} else {
						$tpl_artikelarray[$tpl_artikel_key]["variante" . $VariantenKey . "_string"] = "<select name=\"variante" . $VariantenKey . "\">";
					}
					
					foreach ($VariantenArray as $MerkmalData) {
						
                        $tpl_artikelarray[$tpl_artikel_key]["variante" . $VariantenKey . "_string"] .= "<option value=\"" . $MerkmalData["merkmalid"] . "\">" . $MerkmalData["merkmalname"] . "</option>";

					}
					
                    $tpl_artikelarray[$tpl_artikel_key]["variante" . $VariantenKey . "_string"] .= "</select>";
				}

			}
			
			if ($tpl_artikel["merkmalkombination"] || $tpl_artikel["merkmalkombinationparentid"]) {
				$tpl_artikelarray[$tpl_artikel_key]["formstart_merkmalkombination"] = "<form name=\"form_artikel" . $tpl_artikel["merkmalkombination"] . "\" method=\"post\" action=\"" . URLPFAD . "themes/warenkorb/index.php\">";
			}

			if($tpl_gebindepreise_aktiv && $tpl_artikel['einheit_groesse'])
			{
				$tpl_artikelarray[$tpl_artikel_key]['gebindepreis_string'] = '(' . $lang_gebindepreis . ' ' . $tpl_gebinde[$tpl_artikel['einheit_masseinheit']] . $tpl_artikel['einheit_masseinheit'] . ' = ' . number_format($tpl_artikel['preis'] * $tpl_gebinde[$tpl_artikel['einheit_masseinheit']] / $tpl_artikel['einheit_groesse'], 2, ',', '.') . ' ' . $WaehrungObject->symbol . ')'; 
			}
		}
		
        $SeitenNaviArray = SeitenNavigation(NAVIGATION_TYPE_KATEGORIE, $SEOURLArray, $ArtikelAnzahl, $DataOffset, $DataCount, $KategorieID);

        // Template
        if($mobilestyle) {
            $contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/mobile/artikeluebersicht.phtml";
        } else {
            $contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/artikel/artikeluebersicht.tpl";
        }
        

	// ********************************************************************************
	// ** keine Artikel und keine Kategorien
	// ********************************************************************************
	} else {

		// ********************************************************************************
		// ** Kategoriepfad
		// ********************************************************************************

		$tpl_kategoriepfad = GetKategoriePathString($KategorieID,$_SESSION["languageid"], $SEOURLArray);

		// Template
		$contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/artikel/keinergebnis.tpl";

	}

	// Letzte globale Zusammenfassung z.B. fuer Warenkorbanzeige, bevor das Template geladen wird.
	include_once(DATEIPFAD . "includes/footer.inc.php");

    includeCustomisationFiles('kategorieuebersicht');

    // Template
    if($mobilestyle) {
        include_once(DATEIPFAD . "templates/" . $rowTemp->name . "/mobile/layout.phtml");
    } else {
        include_once(DATEIPFAD . "templates/" . $rowTemp->name . "/website/index.tpl");
    }
	
	@mysql_close($db);
	
?>