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

function SaveSymbol($SymbolID = 0, $SymbolName, $FileArray) {

	// ********************************************************************************
	// ** Daten speichern
	// ********************************************************************************

	// Symbol schon vorhanden
	if ($SymbolID) {

		$SQLString = "UPDATE " . TABLE_SYMBOLLIB . " SET ";
		$SQLString .= TABLE_SYMBOLLIB . ".name = '" . $SymbolName . "' ";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_SYMBOLLIB . ".symbol_id = '" . $SymbolID . "'";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	// Symbol neu anlegen
	} else {

		$SQLString = "INSERT INTO " . TABLE_SYMBOLLIB . " SET ";
		$SQLString .= TABLE_SYMBOLLIB . ".name = '" . $SymbolName . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$SymbolID = mysql_insert_id();

	}
	
	// ********************************************************************************
	// ** Dateiupload auswerten
	// ********************************************************************************

	// Symbol Dateiupload
	if ($FileArray["size"] > 0) {

		$NewImageName = "symbol_" . sprintf("%07d", $SymbolID);

		// alten Dateiupload löschen
		unlink_wc(DATEIPFAD . "images/dbimages/", $NewImageName . ".*");

        if($FileArray["type"] == "image/jpeg" || $FileArray["type"] == "image/pjpeg" || $FileArray["type"] == "image/gif" || $FileArray["type"] == "image/png"  || $FileArray["type"] == "application/pdf") {

            // temporäre Datei kopieren
            $TempNameArray = explode(".", $FileArray["name"]);
            $NewImageName = $NewImageName . "." . $TempNameArray[count($TempNameArray) - 1];
            move_uploaded_file($FileArray["tmp_name"], DATEIPFAD . "images/dbimages/" . $NewImageName);
            chmod(DATEIPFAD . "images/dbimages/" . $NewImageName, 0777);
    
            // Datenbank updaten
            $SQLString = "UPDATE " . TABLE_SYMBOLLIB . " SET ";
            $SQLString .= TABLE_SYMBOLLIB . ".smallImage  = '" . $NewImageName . "' ";
            $SQLString .= "WHERE ";
            $SQLString .= TABLE_SYMBOLLIB . ".symbol_id = '" . $SymbolID . "' ";
    
            $MySQLQueryReference = errorlogged_mysql_query($SQLString);
        } else {
            echo "<font color=\"red\">FEHLER: Bitte laden Sie nur JPG-, PNG- oder GIF-Dateien hoch.</font><br><a href=\"javascript:history.back()\">zur&uuml;ck</a>";
            die;
        }

	}

}

function GetSymbolDetail($SymbolID) {

	// SQL-String für das Symbol zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_SYMBOLLIB . ".symbol_id, ";
	$SQLString .= TABLE_SYMBOLLIB . ".name, ";
	$SQLString .= TABLE_SYMBOLLIB . ".smallImage ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_SYMBOLLIB . " ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_SYMBOLLIB . ".symbol_id = '" . $SymbolID . "'";
	
//	echo '$SQLString: ' .$SQLString . '<br>';
	
	$SymbolObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	return $SymbolObject;

}

function DeleteSymbol($SymbolID) {

	// Datei löschen
	$SymbolObject = GetSymbolDetail($SymbolID);
	
	if (($SymbolObject->smallImage != "") && (file_exists(DATEIPFAD . "images/dbimages/" . $SymbolObject->smallImage))) { 
		unlink(DATEIPFAD . "images/dbimages/" . $SymbolObject->smallImage);
	}	

	// Datnbankeintrag löschen
	$SQLString = "DELETE FROM " . TABLE_SYMBOLLIB . " ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_SYMBOLLIB . ".symbol_id = '" . $SymbolID . "' ";

	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

}

function GetDatenblattDetail($DatenblattID, $LanguageID = 0) {

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

	$StandardLanguageID = GetDefaultLanguageID();
	
	// SQL-String für das Datenblatt zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_DATENBLATT . ".datenblatt_id, ";
	$SQLString .= TABLE_DATENBLATT . ".sortierung, ";
	$SQLString .= TABLE_DATENBLATT . ".symbol, ";
	$SQLString .= TABLE_DATENBLATT . ".language_independent, ";
	$SQLString .= TABLE_DATENBLATT_LANGU . ".titelname, ";
	$SQLString .= TABLE_DATENBLATT_LANGU . ".url_feld, ";
	$SQLString .= "table_datenblatt_langu_standard.titelname AS standard_titelname ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_DATENBLATT . " ";
	$SQLString .= "LEFT JOIN " . TABLE_DATENBLATT_LANGU . " ON ((" . TABLE_DATENBLATT . ".datenblatt_id = " . TABLE_DATENBLATT_LANGU . ".datenblatt_id) AND (" . TABLE_DATENBLATT_LANGU . ".language_id = " . $LanguageID . ")) ";
	$SQLString .= "LEFT JOIN " . TABLE_DATENBLATT_LANGU . " AS table_datenblatt_langu_standard ON ((" . TABLE_DATENBLATT . ".datenblatt_id = table_datenblatt_langu_standard.datenblatt_id) AND (table_datenblatt_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_DATENBLATT . ".datenblatt_id = '" . $DatenblattID . "'";
	
//	echo '$SQLString: ' .$SQLString . '<br>';
	
	$DatenblattObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	return $DatenblattObject;

}

function SaveDatenblatt($DatenblattID = 0, $ArtikelID, $DatenblattName, $DatenblattURL, $SymbolID, $Sortierung, $LanguageIdependent, $FileArray, $LanguageID) {
	
	// ********************************************************************************
	// ** Daten speichern
	// ********************************************************************************

	// Datenblatt schon vorhanden
	if ($DatenblattID) {

		$SQLString = "UPDATE " . TABLE_DATENBLATT . " SET ";
		$SQLString .= TABLE_DATENBLATT . ".sortierung = '" . $Sortierung . "', ";
		$SQLString .= TABLE_DATENBLATT . ".symbol = '" . $SymbolID . "', ";
		$SQLString .= TABLE_DATENBLATT . ".language_independent = '" . $LanguageIdependent . "' ";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_DATENBLATT . ".datenblatt_id = '" . $DatenblattID . "'";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	// Datenblatt neu anlegen
	} else {

		$SQLString = "INSERT INTO " . TABLE_DATENBLATT . " SET ";
		$SQLString .= TABLE_DATENBLATT . ".sortierung = '" . $Sortierung . "', ";
		$SQLString .= TABLE_DATENBLATT . ".symbol = '" . $SymbolID . "', ";
		$SQLString .= TABLE_DATENBLATT . ".language_independent = '" . $LanguageIdependent . "', ";
		$SQLString .= TABLE_DATENBLATT . ".artikel_id = '" . $ArtikelID . "' ";
		

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$DatenblattID = mysql_insert_id();

	}
	
	// Sprachabhängige Daten
	$SQLString = "SELECT ";
	$SQLString .= TABLE_DATENBLATT_LANGU . ".datenblatt_id ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_DATENBLATT_LANGU . " ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_DATENBLATT_LANGU . ".datenblatt_id = '" . $DatenblattID . "' AND ";
	$SQLString .= TABLE_DATENBLATT_LANGU . ".language_id = '" . $LanguageID . "' ";
	
	$DatenblattLanguageObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	if ($DatenblattLanguageObject) {
		
		$SQLString = "UPDATE " . TABLE_DATENBLATT_LANGU . " SET ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".titelname = '" . htmlspecialchars($DatenblattName, ENT_QUOTES) . "', ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".url_feld = '" . $DatenblattURL . "' ";
		$SQLString .= " WHERE ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".datenblatt_id = '" . $DatenblattID . "' AND ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".language_id = '" . $LanguageID . "' ";
		
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	} else {
		
		$SQLString = "INSERT INTO  " . TABLE_DATENBLATT_LANGU . " SET ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".titelname = '" . htmlspecialchars($DatenblattName, ENT_QUOTES) . "', ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".url_feld = '" . $DatenblattURL . "', ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".datenblatt_id = '" . $DatenblattID . "', ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".language_id = '" . $LanguageID . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	}

	// ********************************************************************************
	// ** Dateiupload auswerten
	// ********************************************************************************

	// Datenblatt Dateiupload
	if ($FileArray["size"] > 0) {

		$NewImageName = "datenblatt_" . sprintf("%07d", $DatenblattID) . "_" . $LanguageID;

		// alten Dateiupload löschen
		unlink_wc(DATEIPFAD . "data/", $NewImageName . ".*");

		// temporäre Datei kopieren
		$TempNameArray = explode(".", $FileArray["name"]);
		$NewImageName = $NewImageName . "." . $TempNameArray[count($TempNameArray) - 1];
		move_uploaded_file($FileArray["tmp_name"], DATEIPFAD . "data/" . $NewImageName);
		chmod(DATEIPFAD . "data/" . $NewImageName, 0777);

		// Datenbank updaten
		$SQLString = "UPDATE " . TABLE_DATENBLATT_LANGU . " SET ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".datei_upload  = '" . $NewImageName . "' ";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".datenblatt_id = '" . $DatenblattID . "' AND ";
		$SQLString .= TABLE_DATENBLATT_LANGU . ".language_id = '" . $LanguageID . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	}
	
}

function GetSymbolDataArray() {
	
	// SQL-String für die Symbole zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_SYMBOLLIB . ".symbol_id, ";
	$SQLString .= TABLE_SYMBOLLIB . ".name, ";
	$SQLString .= TABLE_SYMBOLLIB . ".smallImage ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_SYMBOLLIB . " ";
	$SQLString .= "ORDER BY " . TABLE_SYMBOLLIB . ".name ";

//	echo '$SQLString: ' . $SQLString . '<br>';

	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	$SymbolDataArray = array();

	while ($SymbolRow = mysql_fetch_array($MySQLQueryReference)) {

		$SymbolDataArray[] = $SymbolRow;

	}

	return $SymbolDataArray;
}


function DeleteDatenblatt($DatenblattID) {

	// Datei löschen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_DATENBLATT_LANGU . ".datei_upload ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_DATENBLATT_LANGU . " ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_DATENBLATT_LANGU . ".datenblatt_id = '" . $DatenblattID . "'"; 

	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	while ($DatenblattRow = mysql_fetch_array($MySQLQueryReference)) {
		
		if (($DatenblattRow["datei_upload"] != "") && (file_exists(DATEIPFAD . "data/" . $DatenblattRow["datei_upload"]))) { 
			unlink(DATEIPFAD . "data/" . $DatenblattRow["datei_upload"]);	
		}

	}

	// Datnbankeintrag löschen
	$SQLString = "DELETE FROM " . TABLE_DATENBLATT_LANGU . " ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_DATENBLATT_LANGU . ".datenblatt_id = '" . $DatenblattID . "' ";

	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	$SQLString = "DELETE FROM " . TABLE_DATENBLATT . " ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_DATENBLATT . ".datenblatt_id = '" . $DatenblattID . "' ";

	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
}

function GetDatenblattDataArray($ArtikelID, $LanguageID = 0) {
	
	global $c_landnichtuebersetzt;
	
	//auf Merkmalkombinationen ueberpruefen
	
	$SQLString = " SELECT ";
	$SQLString .= TABLE_ARTIKEL . ". merkmalkombinationparentid ";
	$SQLString .= "FROM " . TABLE_ARTIKEL . " ";
	$SQLString .= "WHERE id = " .$ArtikelID . " ";
	
	//echo $SQLString;
	
	$Merkmalkombination = mysql_result(errorlogged_mysql_query($SQLString),0);
	
	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}
	
	$StandardLanguageID = GetDefaultLanguageID();

	// SQL-String für die Kundenabfrage zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_DATENBLATT . ".datenblatt_id, ";
	$SQLString .= TABLE_DATENBLATT . ".artikel_id, ";
	$SQLString .= TABLE_DATENBLATT . ".symbol, ";
	$SQLString .= TABLE_DATENBLATT . ".sortierung, ";
	$SQLString .= "IFNULL(" . TABLE_DATENBLATT_LANGU . ".titelname, table_datenblatt_langu_standard.titelname) AS titelname, ";
	$SQLString .= "!ISNULL(" . TABLE_DATENBLATT_LANGU . ".titelname) AS translate_titelname, ";
	$SQLString .= "IF(" . TABLE_DATENBLATT . ".language_independent, table_datenblatt_langu_standard.url_feld, " . TABLE_DATENBLATT_LANGU . ".url_feld) AS url_feld, ";
	$SQLString .= "IF(" . TABLE_DATENBLATT . ".language_independent, table_datenblatt_langu_standard.datei_upload, " . TABLE_DATENBLATT_LANGU . ".datei_upload) AS datei_upload, ";
	$SQLString .= TABLE_SYMBOLLIB . ".symbol_id, ";
	$SQLString .= TABLE_SYMBOLLIB . ".name, ";
	$SQLString .= TABLE_SYMBOLLIB . ".smallImage ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_DATENBLATT . " ";
	$SQLString .= "LEFT JOIN "  . TABLE_DATENBLATT_LANGU . " ON ((" . TABLE_DATENBLATT . ".datenblatt_id = " . TABLE_DATENBLATT_LANGU . ".datenblatt_id) AND (" . TABLE_DATENBLATT_LANGU . ".language_id = " . $LanguageID . ")) ";
	$SQLString .= "LEFT JOIN " . TABLE_DATENBLATT_LANGU . " AS table_datenblatt_langu_standard ON ((" . TABLE_DATENBLATT . ".datenblatt_id = table_datenblatt_langu_standard.datenblatt_id) AND (table_datenblatt_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "LEFT JOIN " . TABLE_SYMBOLLIB . " ON " . TABLE_SYMBOLLIB.".symbol_id = " . TABLE_DATENBLATT.".symbol ";
	$SQLString .= "WHERE ";
	if($Merkmalkombination != 0){
		$SQLString .= TABLE_DATENBLATT . ".artikel_id = '" . $Merkmalkombination . "' ";
	}else{
		$SQLString .= TABLE_DATENBLATT . ".artikel_id = '" . $ArtikelID . "' ";
	}
	$SQLString .= "ORDER BY " . TABLE_DATENBLATT . ".sortierung ";

//	echo '$SQLString: ' . $SQLString . '<br>';

	// Datenblatt abfragen

	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	$DatenblattDataArray = array();
	while ($DatenblattRow = mysql_fetch_array($MySQLQueryReference)) {

		$DatenblattDataArray[] = $DatenblattRow;

	}

	return $DatenblattDataArray;
}
