<?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$
 * 
 */

include_once(DATEIPFAD . "includes/functions.shopeinstellung.inc.php");
include_once(DATEIPFAD . "includes/functions.artikel.inc.php");
include_once(DATEIPFAD . "includes/functions.kunden.inc.php");


function GetKundengruppenZahlungsartenList($KundengruppenID, $LanguageID) {
	
	if ($KundengruppenID) {
	
		// alle Zahlungsarten einlesen, die der Kundengruppe zugeordnet sind
		$SQLString = "SELECT ";
		$SQLString .= TABLE_ZAHLUNGSART . ".id, ";
		$SQLString .= TABLE_ZAHLUNGSART_LANGU . ".name ";
		$SQLString .= "FROM " . TABLE_KUNDENGRUPPENVERSANDARTEN;
		$SQLString .= " LEFT JOIN " . TABLE_ZAHLUNGSART . " ON " . TABLE_KUNDENGRUPPENVERSANDARTEN . ".versandartenid  = " . TABLE_ZAHLUNGSART . ".id";
		$SQLString .= " LEFT JOIN " . TABLE_ZAHLUNGSART_LANGU . " ON ((" . TABLE_ZAHLUNGSART . ".id = " . TABLE_ZAHLUNGSART_LANGU . ".zahlungsart_id) AND (" . TABLE_ZAHLUNGSART_LANGU . ".language_id = '" . $LanguageID . "')) ";
		$SQLString .= " WHERE " . TABLE_KUNDENGRUPPENVERSANDARTEN . ".kundengruppenid = '" . $KundengruppenID . "'";
		$SQLString .= " ORDER BY " . TABLE_ZAHLUNGSART_LANGU . ".name ASC";
		
		// Zahlungsarten abfragen
		$ZahlungsartenQueryReference = errorlogged_mysql_query($SQLString);
		
		while ($ZahlungsartenRow = mysql_fetch_array($ZahlungsartenQueryReference)) {
			$ZahlungsartenArray[] = $ZahlungsartenRow;
		}
		
	}
	
	return $ZahlungsartenArray;

}

function GetKundengruppenDetail($KundengruppenID, $Email = "", $LanguageID = 0) {
	
	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}

	$StandardLanguageID = GetDefaultLanguageID();

	if ($Email) {
	
		$KundenObject = GetKundenDetail($Email, "", $LanguageID);
		
		$KundengruppenID = $KundenObject->kundengruppe;
		
	}
	
	// SQL-String f�r die Kundengruppenabfrage zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".id, ";
	$SQLString .= TABLE_KUNDENGRUPPEN_LANGU . ".name, ";
	$SQLString .= TABLE_KUNDENGRUPPEN_LANGU . ".beschreibung, ";
	$SQLString .= "table_kundengruppe_langu_standard.name AS standard_name, ";
	$SQLString .= "table_kundengruppe_langu_standard.beschreibung AS standard_beschreibung, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".standard, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".mindestbestellwert_netto, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".mindestbestellwert_brutto, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".kuerzel, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".alleversandarten, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".rabattstaffel, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".type, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".kundenauswahl ";
	$SQLString .= "FROM " . TABLE_KUNDENGRUPPEN . " ";
	$SQLString .= "LEFT JOIN " . TABLE_KUNDENGRUPPEN_LANGU . " ON ((" . TABLE_KUNDENGRUPPEN . ".id = " . TABLE_KUNDENGRUPPEN_LANGU . ".kundengruppen_id) AND (" . TABLE_KUNDENGRUPPEN_LANGU . ".language_id = '" . $LanguageID . "')) ";
	$SQLString .= "LEFT JOIN " . TABLE_KUNDENGRUPPEN_LANGU . " table_kundengruppe_langu_standard ON ((" . TABLE_KUNDENGRUPPEN . ".id = table_kundengruppe_langu_standard.kundengruppen_id) AND (table_kundengruppe_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= " WHERE " . TABLE_KUNDENGRUPPEN . ".id = '" . $KundengruppenID . "'";

	// Kundengruppe abfragen
	$KundengruppenObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	return $KundengruppenObject;

}




function GetKundengruppenVersandartenArray($KundengruppenID) {
	
	$ResultDataArray = array();
	
	if ($KundengruppenID) {
	
		// Alle Versandarten einlesen, die der Kundengruppe zugeordnet sind
		$SQLString = "SELECT * FROM " . TABLE_KUNDENGRUPPENVERSANDARTEN . " WHERE kundengruppenid = '" . $KundengruppenID . "' ORDER BY versandartenid ASC";
		$QuerryReferenz = errorlogged_mysql_query($SQLString);
	
		// Alle Daten in ein Array legen
		while ($QuerryResult = mysql_fetch_array($QuerryReferenz, MYSQL_ASSOC)) {
			$ResultDataArray[$Counter] = $QuerryResult["versandartenid"];
			$Counter++;
		}
		
	}
	
	return $ResultDataArray;

}

function GetKundengruppenDataArray($SearchField = "", $SearchString = "", $SortField = "", $SortOrder = "", $LanguageID = 0) {

	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}

	$StandardLanguageID = GetDefaultLanguageID();

	// ********************************************************************************
	// ** SQL-String zum einlesen der Kundengruppen zusammensetzen
	// ********************************************************************************

	// Felder
	$SQLString = "SELECT ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".id, ";
	$SQLString .= "IFNULL(" . TABLE_KUNDENGRUPPEN_LANGU . ".name, table_kundengruppe_langu_standard.name) AS name, ";
	$SQLString .= "!ISNULL(" . TABLE_KUNDENGRUPPEN_LANGU . ".name) AS translate_name, ";
	$SQLString .= "IFNULL(" . TABLE_KUNDENGRUPPEN_LANGU . ".beschreibung, table_kundengruppe_langu_standard.beschreibung) AS beschreibung, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".standard, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".alleversandarten, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".mindestbestellwert_netto, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".mindestbestellwert_brutto, ";
	$SQLString .= TABLE_KUNDENGRUPPEN . ".kuerzel ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_KUNDENGRUPPEN . " ";
	$SQLString .= "LEFT JOIN " . TABLE_KUNDENGRUPPEN_LANGU . " ON ((" . TABLE_KUNDENGRUPPEN . ".id = " . TABLE_KUNDENGRUPPEN_LANGU . ".kundengruppen_id) AND (" . TABLE_KUNDENGRUPPEN_LANGU . ".language_id = '" . $LanguageID . "')) ";
	$SQLString .= "LEFT JOIN " . TABLE_KUNDENGRUPPEN_LANGU . " table_kundengruppe_langu_standard ON ((" . TABLE_KUNDENGRUPPEN . ".id = table_kundengruppe_langu_standard.kundengruppen_id) AND (table_kundengruppe_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	
	// Suche
	if ($SearchField && $SearchString) {
		$SQLString .= "WHERE " . $SearchField . " LIKE '%" . $SearchString . "%' "; 
	}

	// Sortierung
	if ($SortField && $SortOrder) {
		$SQLString .= "ORDER BY " . $SortField . " " . $SortOrder . " "; 
	}

	$MySQLQueryReferenz = errorlogged_mysql_query($SQLString);

	// ********************************************************************************
	// ** die Kundendaten in ein Array ablegen
	// ********************************************************************************

	$KundengruppenCounter = 0;
	$KundengruppenDataArray = array();

	while ($KundengruppenRowArray = mysql_fetch_array($MySQLQueryReferenz, MYSQL_ASSOC)) {
		$KundengruppenDataArray[$KundengruppenCounter]["id"] = $KundengruppenRowArray["id"];
		$KundengruppenDataArray[$KundengruppenCounter]["name"] = $KundengruppenRowArray["name"];
		$KundengruppenDataArray[$KundengruppenCounter]["translate_name"] = $KundengruppenRowArray["translate_name"];
		$KundengruppenDataArray[$KundengruppenCounter]["beschreibung"] = $KundengruppenRowArray["beschreibung"];
		$KundengruppenDataArray[$KundengruppenCounter]["standard"] = $KundengruppenRowArray["standard"];
		$KundengruppenDataArray[$KundengruppenCounter]["alleversandarten"] = $KundengruppenRowArray["alleversandarten"];
		$KundengruppenDataArray[$KundengruppenCounter]["mindestbestellwert_netto"] = $KundengruppenRowArray["mindestbestellwert_netto"];
		$KundengruppenDataArray[$KundengruppenCounter]["mindestbestellwert_brutto"] = $KundengruppenRowArray["mindestbestellwert_brutto"];
		$KundengruppenDataArray[$KundengruppenCounter]["kuerzel"] = $KundengruppenRowArray["kuerzel"];
		$KundengruppenDataArray[$KundengruppenCounter]["languagearray"] = GetKundengruppenLanguageDataArray($KundengruppenRowArray["id"]);
		$KundengruppenCounter++;
	}

	return $KundengruppenDataArray;

}

function GetDefaultKundengruppe() {

	$SQLString = "SELECT * FROM " . TABLE_KUNDENGRUPPEN . " WHERE " . TABLE_KUNDENGRUPPEN . ".standard = 1";
	$QuerryObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	return $QuerryObject->id;

}

function GetMindestbestellwert($KundenID = "", $KundengruppenID = "") {
	
	if ($KundenID) {
		
		$SQLString = "SELECT * FROM " . TABLE_KUNDEN . " WHERE id = " . $KundenID; 
		$QuerryObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
		
		$SQLString = "SELECT * FROM " . TABLE_KUNDENGRUPPEN . " WHERE id = " . $QuerryObject->kundengruppe; 
		$QuerryObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
		
		return $QuerryObject->mindestbestellwert;

	} else {

		$SQLString = "SELECT * FROM " . TABLE_KUNDENGRUPPEN . " WHERE id = " . $KundengruppenID; 
		$QuerryObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
		
		return $QuerryObject->mindestbestellwert;

	}	
	
}

function GetKundengruppenLanguageDataArray($KundengruppenID) {
	
	// Sprachen Abfragen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LANGUAGE . ".language_id, ";
	$SQLString .= "IF(ISNULL(" . TABLE_KUNDENGRUPPEN_LANGU . ".name), " . TABLE_LANGUAGE . ".language_image_admintool_inactive, " . TABLE_LANGUAGE . ".language_image_admintool_active) AS language_image_admintool, ";
	$SQLString .= "IF(ISNULL(" . TABLE_KUNDENGRUPPEN_LANGU . ".name), " . TABLE_LANGUAGE . ".language_image_admintool_inactive_width, " . TABLE_LANGUAGE . ".language_image_admintool_active_width) AS language_image_admintool_width, ";
	$SQLString .= "IF(ISNULL(" . TABLE_KUNDENGRUPPEN_LANGU . ".name), " . TABLE_LANGUAGE . ".language_image_admintool_inactive_height, " . TABLE_LANGUAGE . ".language_image_admintool_active_height) AS language_image_admintool_height ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_LANGUAGE . " ";
	$SQLString .= "LEFT JOIN " . TABLE_KUNDENGRUPPEN_LANGU . " ON ((" . TABLE_LANGUAGE . ".language_id = " . TABLE_KUNDENGRUPPEN_LANGU . ".language_id) AND (" . TABLE_KUNDENGRUPPEN_LANGU . ".kundengruppen_id = '" . $KundengruppenID . "')) ";
	
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	$LanguageCounter = 0;
	
	while ($KundengruppenLanguageRow = mysql_fetch_array($MySQLQueryReference)) {
		$KundengruppenLanguageDataArray[$LanguageCounter]["language_image_admintool_imagestring"] = "<img src=\"" . IMAGEPFAD . "dbimages/" . $KundengruppenLanguageRow["language_image_admintool"] . "\" width=\"" . $KundengruppenLanguageRow["language_image_admintool_width"] . "\" height=\"" . $KundengruppenLanguageRow["language_image_admintool_height"] . "\" border=\"0\">";
		$KundengruppenLanguageDataArray[$LanguageCounter]["language_id"] = $KundengruppenLanguageRow["language_id"];
		$LanguageCounter++;
	}
	
	return $KundengruppenLanguageDataArray;

}

?>