<?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 SaveBox($BoxID, $Headline, $Text, $Position, $Sortierung, $LanguageID) {

    $StandardLanguageID = GetDefaultLanguageID();
    
    	if ($BoxID) {
    		
    		$SQLString = "UPDATE " . TABLE_BOXEN . " SET ";
    		$SQLString .= TABLE_BOXEN . ".sortierung = '" . $Sortierung . "', ";
    		$SQLString .= TABLE_BOXEN . ".position = '" . $Position . "' ";
    		$SQLString .= "WHERE ";
    		$SQLString .= TABLE_BOXEN . ".boxid = '" . $BoxID . "' ";
    		
    		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
    		$SQLString = "SELECT ";
    		$SQLString .= TABLE_BOXEN_LANGU . ".language_id ";
    		$SQLString .= "FROM ";
    		$SQLString .= TABLE_BOXEN_LANGU . " ";
    		$SQLString .= "WHERE ";
    		$SQLString .= TABLE_BOXEN_LANGU . ".boxid = '" . $BoxID . "' AND ";
    		$SQLString .= TABLE_BOXEN_LANGU . ".language_id = '" . $LanguageID . "' ";
    		
    		$LanguageObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
    
    		if ($LanguageObject) {
    
    			$SQLString = "UPDATE " . TABLE_BOXEN_LANGU . " SET ";
    			$SQLString .= TABLE_BOXEN_LANGU . ".headline = '" . $Headline . "', ";
    			$SQLString .= TABLE_BOXEN_LANGU . ".text = '" . $Text . "' ";
                $SQLString .= "WHERE ";
    			$SQLString .= TABLE_BOXEN_LANGU . ".boxid = '" . $BoxID . "' AND ";
    			$SQLString .= TABLE_BOXEN_LANGU . ".language_id = '" . $LanguageID . "' ";
    			$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    		
    		} else {
    			
    			$SQLString = "INSERT INTO " . TABLE_BOXEN_LANGU . " SET ";
    			$SQLString .= TABLE_BOXEN_LANGU . ".headline = '" . $Headline . "', ";
    			$SQLString .= TABLE_BOXEN_LANGU . ".text = '" . $Text . "', ";
                $SQLString .= TABLE_BOXEN_LANGU . ".language_id = '" . $LanguageID . "', ";
    			$SQLString .= TABLE_BOXEN_LANGU . ".boxid = '" . $BoxID . "' ";
    
    			$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
    		}
    		
    		
    	} else {
    		
    		$SQLString = "INSERT INTO " . TABLE_BOXEN . " SET ";
    		$SQLString .= TABLE_BOXEN . ".sortierung = '" . $Sortierung . "', ";
    		$SQLString .= TABLE_BOXEN . ".position = '" . $Position . "' ";
    		
    		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
    		$NewBoxID = mysql_insert_id();
    
    		$SQLString = "INSERT INTO " . TABLE_BOXEN_LANGU . " SET ";
    		$SQLString .= TABLE_BOXEN_LANGU . ".headline = '" . $Headline . "', ";
    		$SQLString .= TABLE_BOXEN_LANGU . ".text = '" . $Text . "', ";
            $SQLString .= TABLE_BOXEN_LANGU . ".language_id = '" . $LanguageID . "', ";
    		$SQLString .= TABLE_BOXEN_LANGU . ".boxid = '" . $NewBoxID . "' ";
    
    		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
            
    		$BoxID = $NewBoxID; 
    
    	}

	return $BoxID;

}

function SetBoxOnlinestatus($BoxID) {

	// aktuellen Onlinestatus ermitteln
	$BoxObject = GetBoxDetails($BoxID);

	// neuen Onlinestatus ermitteln
	if ($BoxObject->aktiv == 1) {
		$NewOnlinestatus = 0;
	} else {
		$NewOnlinestatus = 1;
	}

	// neuen Onlinestatus setzen
	$SQLString = "UPDATE " . TABLE_BOXEN . " SET ";
	$SQLString .= TABLE_BOXEN . ".aktiv = '" . $NewOnlinestatus . "' ";
	$SQLString .= "WHERE " . TABLE_BOXEN . ".boxid = '" . $BoxID . "'";
	
	$MySQLQuerryReferenz = errorlogged_mysql_query($SQLString);

}

function GetBoxDetails($BoxID, $LanguageID = 0) {
	
	// Sprache ermitteln
	if (!$LanguageID) {
		$LanguageID = GetDefaultLanguageID();
	}
	
	$StandardLanguageID = GetDefaultLanguageID();

	$SQLString = "SELECT ";
	$SQLString .= TABLE_BOXEN . ".boxid, "; 
	$SQLString .= TABLE_BOXEN . ".aktiv, "; 
	$SQLString .= TABLE_BOXEN . ".sortierung, ";
	$SQLString .= TABLE_BOXEN . ".position, ";
	$SQLString .= TABLE_BOXEN_LANGU . ".headline, "; 
	$SQLString .= TABLE_BOXEN_LANGU . ".text "; 
    $SQLString .= "FROM ";
	$SQLString .= TABLE_BOXEN . " "; 
	$SQLString .= "LEFT JOIN " . TABLE_BOXEN_LANGU . " ON ((" . TABLE_BOXEN . ".boxid = " . TABLE_BOXEN_LANGU . ".boxid) AND (" . TABLE_BOXEN_LANGU . ".language_id = " . $LanguageID . ")) "; 
	$SQLString .= "LEFT JOIN " . TABLE_BOXEN_LANGU . " table_navi_langu_standard ON ((" . TABLE_BOXEN . ".boxid = table_navi_langu_standard.boxid) AND (table_navi_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_BOXEN . ".boxid = '" . $BoxID . "' ";
	
	$BoxObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	return $BoxObject;	
	
}

function DeleteBox($BoxID) {
	
	// Boxeintrag löschen
	$SQLString = "DELETE FROM " . TABLE_BOXEN . " WHERE ";
	$SQLString .= TABLE_BOXEN . ".boxid = '" . $BoxID . "'";
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

    // Menüeintrag löschen
    $SQLString = "DELETE FROM " . TABLE_BOXEN_LANGU . " WHERE ";
    $SQLString .= TABLE_BOXEN_LANGU . ".boxid = '" . $BoxID . "'";
    
    $MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
}

function GetBoxLanguageDataArray($BoxID) {
	
	// Sprachen Abfragen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LANGUAGE . ".language_id, ";
	$SQLString .= "IF(ISNULL(" . TABLE_BOXEN_LANGU . ".headline), " . 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_BOXEN_LANGU . " ON ((" . TABLE_LANGUAGE . ".language_id = " . TABLE_BOXEN_LANGU . ".language_id) AND (" . TABLE_BOXEN_LANGU . ".boxid = '" . $BoxID . "')) ";
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	$LanguageCounter = 0;
	
	while ($BoxLanguageRow = mysql_fetch_array($MySQLQueryReference)) {
		$BoxLanguageDataArray[$LanguageCounter]["language_image_admintool_imagestring"] = "<img src=\"" . IMAGEPFAD . "dbimages/" . $BoxLanguageRow["language_image_admintool"] . "\" border=\"0\">";
		$BoxLanguageDataArray[$LanguageCounter]["language_id"] = $BoxLanguageRow["language_id"];
		$LanguageCounter++;
	}
	
	return $BoxLanguageDataArray;

}

function GetBoxList($LanguageID = 0, $FilterAktiv = false, $FilterPosition = false) {

    $BoxArray = array();
    
	global $a_me_nichtuebersetzt;

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

	// SQL-String für die eigenen Menüpunkte zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_BOXEN . ".boxid, ";
	$SQLString .= TABLE_BOXEN . ".aktiv, ";
	$SQLString .= TABLE_BOXEN . ".position, ";
	$SQLString .= TABLE_BOXEN_LANGU . ".headline, ";
	$SQLString .= TABLE_BOXEN_LANGU . ".text, ";
	$SQLString .= TABLE_BOXEN . ".sortierung ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_BOXEN . " ";
	$SQLString .= "LEFT JOIN " . TABLE_BOXEN_LANGU . " ON ((" . TABLE_BOXEN . ".boxid = " . TABLE_BOXEN_LANGU . ".boxid) AND (" . TABLE_BOXEN_LANGU . ".language_id = " . $LanguageID . ")) ";
	$SQLString .= "WHERE (";
	
	if ($FilterAktiv) {
		$SQLString .= TABLE_BOXEN . ".aktiv = 1 AND ";
	}
	
	if ($FilterPosition) {
		$SQLString .= TABLE_BOXEN . ".position = " . $FilterPosition . " AND ";
	}
	
	$SQLString .= " 1)";

	$SQLString .= "ORDER BY " . TABLE_BOXEN . ".sortierung ASC";
	
//	echo '$SQLString: ' . $SQLString . '<br>';
	
	// eigenen Menüpunkte abfragen
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	$BoxCounter = 0;
	
	while ($BoxRow = mysql_fetch_array($MySQLQueryReference)) {

		$BoxArray[$BoxCounter]["boxid"] = $BoxRow["boxid"];
		$BoxArray[$BoxCounter]["sortierung"] = $BoxRow["sortierung"];
		$BoxArray[$BoxCounter]["position"] = $BoxRow["position"];
		$BoxArray[$BoxCounter]["text"] = $BoxRow["text"];
		
		if ($BoxRow["headline"] == "") {
			$BoxArray[$BoxCounter]["headline"] = "<i>" . $a_me_nichtuebersetzt . "</i>";
		} else {
			$BoxArray[$BoxCounter]["headline"] = $BoxRow["headline"];
		}
		$BoxArray[$BoxCounter]["languagearray"] = GetBoxLanguageDataArray($BoxRow["boxid"]);

		// Aktivimage
		if ($BoxRow["aktiv"]) {
			$BoxArray[$BoxCounter]["active_imagestring"] = "<img src=\"" . URLPFAD . "admin/images/on.gif\" width=\"20\" height=\"12\" border=\"0\">";
		} else {
			$BoxArray[$BoxCounter]["active_imagestring"] = "<img src=\"" . URLPFAD . "admin/images/off.gif\" width=\"21\" height=\"12\" border=\"0\">";
		}

		$BoxCounter++;
	}
	
	return $BoxArray;
	
}

