<?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 GetLandLanguageDataArray($LandID) {
	
	// Sprachen Abfragen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LANGUAGE . ".language_id, ";
	$SQLString .= "IF(ISNULL(" . TABLE_LAND_LANGU . ".name), " . TABLE_LANGUAGE . ".language_image_admintool_inactive, " . TABLE_LANGUAGE . ".language_image_admintool_active) AS language_image_admintool ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_LANGUAGE . " ";
	$SQLString .= "LEFT JOIN " . TABLE_LAND_LANGU . " ON ((" . TABLE_LANGUAGE . ".language_id = " . TABLE_LAND_LANGU . ".language_id) AND (" . TABLE_LAND_LANGU . ".land_id = '" . $LandID . "')) ";
	
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	$LanguageCounter = 0;
	
	while ($LandLanguageRow = mysql_fetch_array($MySQLQueryReference)) {
		$LandLanguageDataArray[$LanguageCounter]["language_image_admintool_imagestring"] = "<img src=\"" . IMAGEPFAD . "dbimages/" . $LandLanguageRow["language_image_admintool"] . "\" border=\"0\">";
		$LandLanguageDataArray[$LanguageCounter]["language_id"] = $LandLanguageRow["language_id"];
		$LanguageCounter++;
	}
	
	return $LandLanguageDataArray;

}

function GetLandDetails($LandID, $LanguageID = 0) {
	
	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}

	$StandardLanguageID = GetDefaultLanguageID();
	
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LAND . ".id, "; 
	$SQLString .= TABLE_LAND . ".isocode, ";
    $SQLString .= TABLE_LAND . ".isocode_3166, ";
	$SQLString .= TABLE_LAND . ".aktiv, ";
	$SQLString .= TABLE_LAND . '.standardland, ';
	$SQLString .= TABLE_LAND . '.haeufigelaender, ';
	$SQLString .= TABLE_LAND . '.sort, ';
    $SQLString .= TABLE_LAND . '.bundesstaatenliste, ';
	$SQLString .= TABLE_LAND_LANGU . ".name, "; 
	$SQLString .= "table_land_langu_standard.name AS standard_name "; 
	$SQLString .= "FROM ";
	$SQLString .= TABLE_LAND . " "; 
	$SQLString .= "LEFT JOIN " . TABLE_LAND_LANGU . " ON ((" . TABLE_LAND . ".id = " . TABLE_LAND_LANGU . ".land_id) AND (" . TABLE_LAND_LANGU . ".language_id = " . $LanguageID . ")) "; 
	$SQLString .= "LEFT JOIN " . TABLE_LAND_LANGU . " table_land_langu_standard ON ((" . TABLE_LAND . ".id = table_land_langu_standard.land_id) AND (table_land_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_LAND . ".id = '" . $LandID . "' "; 
	
	$LandObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	return $LandObject;	
	
}

function SaveLand($LandID, $Name, $ISOCode, $LanguageID, $StandardLand, $HaeufigeLaender, $Sort, $ISOCode3166, $bundesstaatenliste) {

	if($StandardLand)
	{
		$SQLString = 'UPDATE ' . TABLE_LAND . ' SET ';
		$SQLString .= TABLE_LAND . '.standardland = 0';
		errorlogged_mysql_query($SQLString); 
	}
	
	// Wenn das Land schon vorhanden ist
	if ($LandID) {
		
		$SQLString = "UPDATE " . TABLE_LAND . " SET ";
		$SQLString .= TABLE_LAND . ".isocode = '" . $ISOCode . "', ";
        $SQLString .= TABLE_LAND . ".isocode_3166 = '" . $ISOCode3166 . "', ";
		$SQLString .= TABLE_LAND . '.standardland = \'' . $StandardLand . '\', ';
		$SQLString .= TABLE_LAND . '.haeufigelaender = \'' . $HaeufigeLaender . '\', ';
		$SQLString .= TABLE_LAND . '.sort = \'' . $Sort . '\', ';
        $SQLString .= TABLE_LAND . '.bundesstaatenliste = \'' . $bundesstaatenliste . '\' ';
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_LAND . ".id = '" . $LandID . "' ";
		
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$SQLString = "SELECT ";
		$SQLString .= TABLE_LAND_LANGU . ".language_id ";
		$SQLString .= "FROM ";
		$SQLString .= TABLE_LAND_LANGU . " ";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_LAND_LANGU . ".land_id = '" . $LandID . "' AND ";
		$SQLString .= TABLE_LAND_LANGU . ".language_id = '" . $LanguageID . "' ";
		
		$LanguageObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

		if ($LanguageObject) {

			$SQLString = "UPDATE " . TABLE_LAND_LANGU . " SET ";
			$SQLString .= TABLE_LAND_LANGU . ".name = '" . $Name . "' ";
			$SQLString .= "WHERE ";
			$SQLString .= TABLE_LAND_LANGU . ".land_id = '" . $LandID . "' AND ";
			$SQLString .= TABLE_LAND_LANGU . ".language_id = '" . $LanguageID . "' ";

			$MySQLQueryReference = errorlogged_mysql_query($SQLString);
		
		} else {
			
			$SQLString = "INSERT INTO " . TABLE_LAND_LANGU . " SET ";
			$SQLString .= TABLE_LAND_LANGU . ".name = '" . $Name . "', ";
			$SQLString .= TABLE_LAND_LANGU . ".language_id = '" . $LanguageID . "', ";
			$SQLString .= TABLE_LAND_LANGU . ".land_id = '" . $LandID . "' ";

			$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		}
		
		return $LandID;
		
	} else {
		
		$SQLString = "INSERT INTO " . TABLE_LAND . " SET ";
		$SQLString .= TABLE_LAND . ".isocode = '" . $ISOCode . "', ";
        $SQLString .= TABLE_LAND . ".isocode_3166 = '" . $ISOCode3166 . "', ";
		$SQLString .= TABLE_LAND . '.standardland = \'' . $StandardLand . '\', ';
		$SQLString .= TABLE_LAND . '.haeufigelaender = \'' . $HaeufigeLaender . '\', ';
		$SQLString .= TABLE_LAND . '.sort = \'' . $Sort . '\' ';
		
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$NewLandID = mysql_insert_id();

		$SQLString = "INSERT INTO " . TABLE_LAND_LANGU . " SET ";
		$SQLString .= TABLE_LAND_LANGU . ".name = '" . $Name . "', ";
		$SQLString .= TABLE_LAND_LANGU . ".language_id = '" . $LanguageID . "', ";
		$SQLString .= TABLE_LAND_LANGU . ".land_id = '" . $NewLandID . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		return $NewLandID;

	}
	
}

function GetLandList($LanguageID = 0, $Admin="") {

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

	$StandardLanguageID = GetDefaultLanguageID();

	// SQL-String für die Länder zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LAND . ".id, ";
	$SQLString .= TABLE_LAND . ".isocode, ";
	$SQLString .= TABLE_LAND . ".aktiv, ";
	$SQLString .= TABLE_LAND . ".haeufigelaender, ";
    $SQLString .= TABLE_LAND . ".bundesstaatenliste, ";
	$SQLString .= "IFNULL(" . TABLE_LAND_LANGU . ".name, table_land_langu_standard.name) AS name, ";
	$SQLString .= "!ISNULL(" . TABLE_LAND_LANGU . ".name) AS translate_name ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_LAND . " ";	
	$SQLString .= "LEFT JOIN " . TABLE_LAND_LANGU . " ON ((" . TABLE_LAND . ".id = " . TABLE_LAND_LANGU . ".land_id) AND (" . TABLE_LAND_LANGU . ".language_id = " . $LanguageID . "))";
	$SQLString .= "LEFT JOIN " . TABLE_LAND_LANGU . " table_land_langu_standard ON ((" . TABLE_LAND . ".id = table_land_langu_standard.land_id) AND (table_land_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	if(!$Admin) {
		$SQLString .= "WHERE " . TABLE_LAND . ".aktiv = '1' ";
	}
	$SQLString .= " ORDER BY " . TABLE_LAND . ".standardland DESC, " . TABLE_LAND . ".haeufigelaender DESC, " . TABLE_LAND . ".sort ASC, " . TABLE_LAND_LANGU . ".name ASC";
	
	// Länder abfragen
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	$LandCounter = 0;
	
	$LandArray = array();
	
	while ($LandRow = mysql_fetch_array($MySQLQueryReference)) {

		$LandArray[$LandCounter]["id"] = $LandRow["id"];
		$LandArray[$LandCounter]["name"] = $LandRow["name"];
		$LandArray[$LandCounter]["isocode"] = $LandRow["isocode"];
		$LandArray[$LandCounter]["haeufigelaender"] = $LandRow["haeufigelaender"];
        $LandArray[$LandCounter]["bundesstaatenliste"] = $LandRow["bundesstaatenliste"];
		$LandArray[$LandCounter]["name"] = $LandRow["name"];
		$LandArray[$LandCounter]["translate_name"] = $LandRow["translate_name"];
		$LandArray[$LandCounter]["languagearray"] = GetLandLanguageDataArray($LandRow["id"]);
		
		// Aktivimage
		if ($LandRow["aktiv"]) {
			$LandArray[$LandCounter]["aktiv_imagestring"] = "<img src=\"../images/on.gif\" width=\"20\" height=\"12\" border=\"0\">";
		} else {
			$LandArray[$LandCounter]["aktiv_imagestring"] = "<img src=\"../images/off.gif\" width=\"21\" height=\"12\" border=\"0\">";
		}

		$LandCounter++;
	}
	
	return $LandArray;
	
}

function GetLaendergruppenList($LandID = false) {

	// SQL-String f�r die L�ndergruppenabfrage zusammensetzen
	$SQLString = "SELECT DISTINCT ";
	$SQLString .= TABLE_LAENDERGRUPPE . ".id, ";
	$SQLString .= TABLE_LAENDERGRUPPE . ".name, ";
	$SQLString .= TABLE_LAENDERGRUPPE . ".beschreibung ";
	$SQLString .= "FROM " . TABLE_LAENDERGRUPPE;
	$SQLString .= " LEFT JOIN " . TABLE_LAENDERGRUPPERELATION . " ON " . TABLE_LAENDERGRUPPERELATION . ".laendergruppeid = " . TABLE_LAENDERGRUPPE . ".id";
    if($LandID) {
        $SQLString .= " WHERE " . TABLE_LAENDERGRUPPERELATION . ".landid = '" . $LandID . "'";
    	$SQLString .= " OR " . TABLE_LAENDERGRUPPE . ".allelaender = 1";
    }
	$SQLString .= " ORDER BY " . TABLE_LAENDERGRUPPE . ".name ASC";
	
	// L�ndergruppen abfragen
	$LaendergruppenQueryReference = errorlogged_mysql_query($SQLString);
	
	while ($LaendergruppenRow = mysql_fetch_array($LaendergruppenQueryReference)) {
		$LaendergruppenArray[] = $LaendergruppenRow;
	}
	
	return $LaendergruppenArray;
	
}

function GetLaenderGruppe($laendergruppeId)
{
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LAENDERGRUPPE . ".name";
	$SQLString .= ", " . TABLE_LAENDERGRUPPE . ".beschreibung";
	$SQLString .= ", " . TABLE_LAENDERGRUPPE . ".allelaender";
	$SQLString .= " FROM " . TABLE_LAENDERGRUPPE;
	$SQLString .= " WHERE " . TABLE_LAENDERGRUPPE . ".id = '" . $laendergruppeId . "'";
	
	$result = errorlogged_mysql_query($SQLString);
	$laendergruppeObject = mysql_fetch_object($result);
	
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LAENDERGRUPPERELATION . ".landid";
	$SQLString .= " FROM " . TABLE_LAENDERGRUPPERELATION;
	$SQLString .= " WHERE " . TABLE_LAENDERGRUPPERELATION . ".laendergruppeid = '" . $laendergruppeId . "'";
	
	$result = errorlogged_mysql_query($SQLString);
	$laenderIds = array();
	
	while($row = mysql_fetch_row($result))
		$laenderIds[] = $row[0];
	
	$laendergruppeObject->laenderIds = $laenderIds;
	return $laendergruppeObject;
}


function DeleteLand($LandID) {
	
	// Land löschen		
	$SQLString = "DELETE FROM " . TABLE_LAND . " WHERE id = '$LandID'";
  	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	$SQLString = "DELETE FROM " . TABLE_LAND_LANGU . " WHERE land_id = '$LandID'";
  	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	// Relation zu den L�ndergruppen löschen
	$SQLString = "DELETE FROM " . TABLE_LAENDERGRUPPERELATION . " WHERE landid = '$LandID'";
  	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
}


function SetLandOnlinestatus($LandID) {

	// aktuellen Onlinestatus ermitteln
	$LandObject = GetLandDetails($LandID);
	
	// neuen Onlinestatus ermitteln
	if ($LandObject->aktiv == 1) {
		$NewOnlinestatus = 0;
	} else {
		$NewOnlinestatus = 1;
	}

	// neuen Onlinestatus setzen
	$SQLString = "UPDATE " . TABLE_LAND . " SET ";
	$SQLString .= TABLE_LAND . ".aktiv = '" . $NewOnlinestatus . "' ";
	$SQLString .= "WHERE " . TABLE_LAND . ".id = '" . $LandID . "'";
	
	$MySQLQuerryReferenz = errorlogged_mysql_query($SQLString);

}

function GetBundesstaatenListenArray() {
    $SQLString = 'SELECT ';
    $SQLString .= TABLE_BUNDESSTAATENLISTEN . '.id, ';
    $SQLString .= TABLE_BUNDESSTAATENLISTEN . '.name ';
    $SQLString .= ' FROM ' . TABLE_BUNDESSTAATENLISTEN;

    $result = errorlogged_mysql_query($SQLString);
    $bundesstaatenlistenArray = array();
    while($obj = mysql_fetch_object($result)) {
        $bundesstaatenlistenArray[] = $obj;
    }

    return $bundesstaatenlistenArray;
}

function GetBundesstaatenArray($bundesstaatenliste) {
    $SQLString = 'SELECT ';
    $SQLString .= TABLE_BUNDESSTAATEN . '.id, ';
    $SQLString .= TABLE_BUNDESSTAATEN . '.name, ';
    $SQLString .= TABLE_BUNDESSTAATEN . '.code ';
    $SQLString .= ' FROM ' . TABLE_BUNDESSTAATEN;
    $SQLString .= ' WHERE ' . TABLE_BUNDESSTAATEN . '.staatenlisten_id = \'' . $bundesstaatenliste . '\'';

//    echo $SQLString;

    $result = errorlogged_mysql_query($SQLString);
    $bundesstaatenArray = array();
    while($obj = mysql_fetch_object($result)) {
        $bundesstaatenArray[] = $obj;
    }

    return $bundesstaatenArray;
}

function GetBundesstaat($bundesstaatId) {
    $SQLString = 'SELECT ';
    $SQLString .= TABLE_BUNDESSTAATEN . '.id, ';
    $SQLString .= TABLE_BUNDESSTAATEN . '.staatenlisten_id, ';
    $SQLString .= TABLE_BUNDESSTAATEN . '.name, ';
    $SQLString .= TABLE_BUNDESSTAATEN . '.code ';
    $SQLString .= ' FROM ' . TABLE_BUNDESSTAATEN;
    $SQLString .= ' WHERE ' . TABLE_BUNDESSTAATEN . '.id = \'' . $bundesstaatId . '\'';
    return mysql_fetch_object(errorlogged_mysql_query($SQLString));
}