<?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 SaveMenue($MenueID, $Headline, $Sortierung, $Text, $Gaestebuch, $Kontaktformular, $ImageArray, $ImageDelete, $LanguageIndependent, $LanguageID, $URLNameVorgabe, $AGBHostingID = "") {

    // SEO Einstellungen einlesen
    $Einstellungen = GetEinstellungen('', 'seo');
    
    if ($Einstellungen->seo->sprechende_urls_aktiv || $URLNameVorgabe) {
    
        if ($URLNameVorgabe) {
            $URLName = DecodeMenueSEOName($URLNameVorgabe); 
        } else {
            $URLName = DecodeMenueSEOName($Headline);
        }
        
    } else {
        
        $URLNameVorgabe = '';
        $URLName = '';
        
    }
    
    $StandardLanguageID = GetDefaultLanguageID();
    
    // normaler Text
    if (!$AGBHostingID || ($StandardLanguageID != $LanguageID)) {
    
    	// Wenn der Menüeintrag schon vorhanden ist
    	if ($MenueID) {
    		
    		$SQLString = "UPDATE " . TABLE_NAVI . " SET ";
    		$SQLString .= TABLE_NAVI . ".sortierung = '" . $Sortierung . "', ";
    		$SQLString .= TABLE_NAVI . ".gaestebuch = '" . $Gaestebuch . "', ";
    		$SQLString .= TABLE_NAVI . ".kontakt = '" . $Kontaktformular . "', ";
    		$SQLString .= TABLE_NAVI . ".language_independent = '" . $LanguageIndependent . "', ";
    		$SQLString .= TABLE_NAVI . ".agb_hosting_id = '" . $AGBHostingID . "' ";
    		$SQLString .= "WHERE ";
    		$SQLString .= TABLE_NAVI . ".id = '" . $MenueID . "' ";
    		
    		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
    		$SQLString = "SELECT ";
    		$SQLString .= TABLE_NAVI_LANGU . ".language_id ";
    		$SQLString .= "FROM ";
    		$SQLString .= TABLE_NAVI_LANGU . " ";
    		$SQLString .= "WHERE ";
    		$SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "' AND ";
    		$SQLString .= TABLE_NAVI_LANGU . ".language_id = '" . $LanguageID . "' ";
    		
    		$LanguageObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
    
    		if ($LanguageObject) {
    
    			$SQLString = "UPDATE " . TABLE_NAVI_LANGU . " SET ";
    			$SQLString .= TABLE_NAVI_LANGU . ".headline = '" . $Headline . "', ";
    			$SQLString .= TABLE_NAVI_LANGU . ".textEintrag = '" . $Text . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".url_name_vorgabe = '" . $URLNameVorgabe . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".url_name = '" . $URLName . "' ";
                $SQLString .= "WHERE ";
    			$SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "' AND ";
    			$SQLString .= TABLE_NAVI_LANGU . ".language_id = '" . $LanguageID . "' ";
    			$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    		
    		} else {
    			
    			$SQLString = "INSERT INTO " . TABLE_NAVI_LANGU . " SET ";
    			$SQLString .= TABLE_NAVI_LANGU . ".headline = '" . $Headline . "', ";
    			$SQLString .= TABLE_NAVI_LANGU . ".textEintrag = '" . $Text . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".url_name_vorgabe = '" . $URLNameVorgabe . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".url_name = '" . $URLName . "', ";
    			$SQLString .= TABLE_NAVI_LANGU . ".language_id = '" . $LanguageID . "', ";
    			$SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "' ";
    
    			$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
    		}
    		
    		
    	} else {
    		
    		$SQLString = "INSERT INTO " . TABLE_NAVI . " SET ";
    		$SQLString .= TABLE_NAVI . ".sortierung = '" . $Sortierung . "', ";
    		$SQLString .= TABLE_NAVI . ".gaestebuch = '" . $Gaestebuch . "', ";
    		$SQLString .= TABLE_NAVI . ".kontakt = '" . $Kontaktformular . "', ";
    		$SQLString .= TABLE_NAVI . ".language_independent = '" . $LanguageIndependent . "', ";
    		$SQLString .= TABLE_NAVI . ".agb_hosting_id = '" . $AGBHostingID . "' ";
    	
    		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
    		$NewMenueID = mysql_insert_id();
    
    		$SQLString = "INSERT INTO " . TABLE_NAVI_LANGU . " SET ";
    		$SQLString .= TABLE_NAVI_LANGU . ".headline = '" . $Headline . "', ";
    		$SQLString .= TABLE_NAVI_LANGU . ".textEintrag = '" . $Text . "', ";
            $SQLString .= TABLE_NAVI_LANGU . ".url_name_vorgabe = '" . $URLNameVorgabe . "', ";
            $SQLString .= TABLE_NAVI_LANGU . ".url_name = '" . $URLName . "', ";
    		$SQLString .= TABLE_NAVI_LANGU . ".language_id = '" . $LanguageID . "', ";
    		$SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $NewMenueID . "' ";
    
    		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
            
    		$MenueID = $NewMenueID; 
    
    	}
      	
    
    	// ********************************************************************************
    	// ** Bilder löschen
    	// ********************************************************************************
    	if ($ImageDelete) {
    
    		$ImageName = "menue_" . sprintf("%07d", $MenueID) . "_" . $LanguageID;
    
    		// altes Bild l�schen
    		unlink_wc(DATEIPFAD . "images/dbimages/", $ImageName . ".*");
    
    		// Datenbank updaten
    		$SQLString = "UPDATE " . TABLE_NAVI_LANGU . " SET ";
    		$SQLString .= TABLE_NAVI_LANGU . ".bigImage = '' ";
    		$SQLString .= " WHERE ";
    		$SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "' AND ";
    		$SQLString .= TABLE_NAVI_LANGU . ".language_id = '" .$LanguageID . "' ";
    
    		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
    	}
    
    	// ********************************************************************************
    	// ** Bilder auswerten
    	// ********************************************************************************
    
    	// Shopbild
    	if (($ImageArray["size"] > 0) && !$ImageDelete) {
    
    		$NewImageName = "menue_" . sprintf("%07d", $MenueID) . "_" . $LanguageID;
    
    		// altes Bild l�schen
    		unlink_wc(DATEIPFAD . "images/dbimages/", $NewImageName . ".*");
    
    		// tempor�re Datei kopieren
    		$TempNameArray = explode(".", $ImageArray["name"]);
    		$NewImageName = $NewImageName . "." . $TempNameArray[count($TempNameArray) - 1];
    		move_uploaded_file($ImageArray["tmp_name"], DATEIPFAD . "images/dbimages/" . $NewImageName);
    		chmod(DATEIPFAD . "images/dbimages/" . $NewImageName, 0777);
    
    		// Datenbank updaten
    		$SQLString = "UPDATE " . TABLE_NAVI_LANGU . " SET ";
    		$SQLString .= TABLE_NAVI_LANGU . ".bigImage = '" . $NewImageName . "' ";
    		$SQLString .= "WHERE ";
    		$SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "' AND ";
    		$SQLString .= TABLE_NAVI_LANGU . ".language_id = '" . $LanguageID . "' ";
    
    		$MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
    	}

    // AGB Hosting
    } else {
        
        // Wenn der Menüeintrag schon vorhanden ist
        if ($MenueID) {
            
            $SQLString = "UPDATE " . TABLE_NAVI . " SET ";
            $SQLString .= TABLE_NAVI . ".sortierung = '" . $Sortierung . "', ";
            $SQLString .= TABLE_NAVI . ".agb_hosting_id = '" . $AGBHostingID . "' ";
            $SQLString .= "WHERE ";
            $SQLString .= TABLE_NAVI . ".id = '" . $MenueID . "' ";
            
            $MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
            $SQLString = "SELECT ";
            $SQLString .= TABLE_NAVI_LANGU . ".language_id ";
            $SQLString .= "FROM ";
            $SQLString .= TABLE_NAVI_LANGU . " ";
            $SQLString .= "WHERE ";
            $SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "' AND ";
            $SQLString .= TABLE_NAVI_LANGU . ".language_id = '" . $LanguageID . "' ";
            
            $LanguageObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
    
            if ($LanguageObject) {
    
                $SQLString = "UPDATE " . TABLE_NAVI_LANGU . " SET ";
                $SQLString .= TABLE_NAVI_LANGU . ".headline = '" . $Headline . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".url_name_vorgabe = '" . $URLNameVorgabe . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".url_name = '" . $URLName . "' ";
                $SQLString .= "WHERE ";
                $SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "' AND ";
                $SQLString .= TABLE_NAVI_LANGU . ".language_id = '" . $LanguageID . "' ";
                $MySQLQueryReference = errorlogged_mysql_query($SQLString);
            
            } else {
                
                $SQLString = "INSERT INTO " . TABLE_NAVI_LANGU . " SET ";
                $SQLString .= TABLE_NAVI_LANGU . ".headline = '" . $Headline . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".url_name_vorgabe = '" . $URLNameVorgabe . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".url_name = '" . $URLName . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".language_id = '" . $LanguageID . "', ";
                $SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "' ";
    
                $MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
            }
            
            
        } else {
            
            $SQLString = "INSERT INTO " . TABLE_NAVI . " SET ";
            $SQLString .= TABLE_NAVI . ".sortierung = '" . $Sortierung . "', ";
            $SQLString .= TABLE_NAVI . ".agb_hosting_id = '" . $AGBHostingID . "' ";
        
            $MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
            $NewMenueID = mysql_insert_id();
    
            $SQLString = "INSERT INTO " . TABLE_NAVI_LANGU . " SET ";
            $SQLString .= TABLE_NAVI_LANGU . ".headline = '" . $Headline . "', ";
            $SQLString .= TABLE_NAVI_LANGU . ".url_name_vorgabe = '" . $URLNameVorgabe . "', ";
            $SQLString .= TABLE_NAVI_LANGU . ".url_name = '" . $URLName . "', ";
            $SQLString .= TABLE_NAVI_LANGU . ".language_id = '" . $LanguageID . "', ";
            $SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $NewMenueID . "' ";
    
            $MySQLQueryReference = errorlogged_mysql_query($SQLString);
            
            $MenueID = $NewMenueID; 
    
        }
        
    }
    	
	// SEO URLs neu definiern 
	if ($Einstellungen->seo->sprechende_urls_aktiv) {
	   SetMenueSEOURLs($MenueID, $LanguageID);
    }
	
	return $MenueID;

}

function SetMenueOnlinestatus($MenueID) {

	// aktuellen Onlinestatus ermitteln
	$MenueObject = GetMenueDetails($MenueID);

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

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

}

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

	$SQLString = "SELECT ";
	$SQLString .= TABLE_NAVI . ".id, "; 
	$SQLString .= TABLE_NAVI . ".aktiv, "; 
	$SQLString .= TABLE_NAVI . ".sortierung, "; 
	$SQLString .= TABLE_NAVI . ".gaestebuch, "; 
	$SQLString .= TABLE_NAVI . ".kontakt, "; 
	$SQLString .= TABLE_NAVI . ".language_independent, ";
	$SQLString .= TABLE_NAVI . ".agb_hosting_id, "; 
	$SQLString .= TABLE_NAVI_LANGU . ".headline, "; 
	$SQLString .= TABLE_NAVI_LANGU . ".textEintrag, "; 
    $SQLString .= TABLE_NAVI_LANGU . ".url_name_vorgabe, "; 
    $SQLString .= TABLE_NAVI_LANGU . ".url_name, ";
    $SQLString .= "IF(" . TABLE_NAVI . ".language_independent, table_navi_langu_standard.bigImage, " . TABLE_NAVI_LANGU . ".bigImage) AS bigImage ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_NAVI . " "; 
	$SQLString .= "LEFT JOIN " . TABLE_NAVI_LANGU . " ON ((" . TABLE_NAVI . ".id = " . TABLE_NAVI_LANGU . ".menue_id) AND (" . TABLE_NAVI_LANGU . ".language_id = " . $LanguageID . ")) "; 
	$SQLString .= "LEFT JOIN " . TABLE_NAVI_LANGU . " table_navi_langu_standard ON ((" . TABLE_NAVI . ".id = table_navi_langu_standard.menue_id) AND (table_navi_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_NAVI . ".id = '" . $MenueID . "' ";
	
	$MenueObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	// Bild für den Shop
	if ($MenueObject->bigImage && file_exists(DATEIPFAD . 'images/dbimages/' . $MenueObject->bigImage)) {
		$ImageSizeArray = getimagesize(DATEIPFAD . 'images/dbimages/' . $MenueObject->bigImage);
		$MenueObject->imagestring = "<img src=\"" . URLPFAD . "images/dbimages/" . $MenueObject->bigImage . "?ts=" . time(). "\" width=\"" . $ImageSizeArray[0] . "\" height=\"" . $ImageSizeArray[1] . "\" border=\"0\">";
	}
	
	// AGB Hosting Text
	if ($MenueObject->agb_hosting_id && ($StandardLanguageID == $LanguageID)) {
        
        $AGBHostingObject = GetAGBHostingDetail($MenueObject->agb_hosting_id);
	    
	    $MenueObject->textEintrag = $AGBHostingObject->text;
        $MenueObject->agb_text_last_change_format = $AGBHostingObject->last_change_format;
        
        $MenueObject->bigImage = '';
	    
	}

	return $MenueObject;	
	
}

function DeleteMenue($MenueID) {
	
	// Menüeintrag löschen
	$SQLString = "DELETE FROM " . TABLE_NAVI . " WHERE ";
	$SQLString .= TABLE_NAVI . ".id = '" . $MenueID . "'";
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

    // Menüeintrag löschen
    $SQLString = "DELETE FROM " . TABLE_NAVI_LANGU . " WHERE ";
    $SQLString .= TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "'";
    
    $MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
    // Bilder löschen
	$ImageName = "menue_" . sprintf("%07d", $MenueID) . "_";
	unlink_wc(DATEIPFAD . "images/dbimages/", $ImageName . ".*");

    // SEOURL loeschen
    DeleteMenueSEOURL($MenueID);
    	
}

function GetMenueLanguageDataArray($MenueID) {
	
	// Sprachen Abfragen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LANGUAGE . ".language_id, ";
	$SQLString .= "IF(ISNULL(" . TABLE_NAVI_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_NAVI_LANGU . " ON ((" . TABLE_LANGUAGE . ".language_id = " . TABLE_NAVI_LANGU . ".language_id) AND (" . TABLE_NAVI_LANGU . ".menue_id = '" . $MenueID . "')) ";
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	$LanguageCounter = 0;
	
	while ($MenueLanguageRow = mysql_fetch_array($MySQLQueryReference)) {
		$MenueLanguageDataArray[$LanguageCounter]["language_image_admintool_imagestring"] = "<img src=\"" . IMAGEPFAD . "dbimages/" . $MenueLanguageRow["language_image_admintool"] . "\" border=\"0\">";
		$MenueLanguageDataArray[$LanguageCounter]["language_id"] = $MenueLanguageRow["language_id"];
		$LanguageCounter++;
	}
	
	return $MenueLanguageDataArray;

}

function GetMenueList($LanguageID = 0, $FilterAktiv = false) {

    $MenueArray = array();
    
	global $a_me_nichtuebersetzt;

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

	// SQL-String für die eigenen Menüpunkte zusammensetzen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_NAVI . ".id, ";
	$SQLString .= TABLE_NAVI . ".aktiv, ";
	$SQLString .= TABLE_NAVI . ".gaestebuch, ";
	$SQLString .= TABLE_NAVI . ".kontakt, ";
	$SQLString .= TABLE_NAVI_LANGU . ".headline, ";
	$SQLString .= TABLE_NAVI . ".sortierung ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_NAVI . " ";
	$SQLString .= "LEFT JOIN " . TABLE_NAVI_LANGU . " ON ((" . TABLE_NAVI . ".id = " . TABLE_NAVI_LANGU . ".menue_id) AND (" . TABLE_NAVI_LANGU . ".language_id = " . $LanguageID . ")) ";
	$SQLString .= "WHERE (";
	
	if ($FilterAktiv) {
		$SQLString .= TABLE_NAVI . ".aktiv = 1 AND ";
	}
	
	$SQLString .= " 1)";

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

		$MenueArray[$MenueCounter]["id"] = $MenueRow["id"];
		$MenueArray[$MenueCounter]["sortierung"] = $MenueRow["sortierung"];
		$MenueArray[$MenueCounter]["gaestebuch"] = $MenueRow["gaestebuch"];
		$MenueArray[$MenueCounter]["kontakt"] = $MenueRow["kontakt"];
		
		if ($MenueRow["headline"] == "") {
			$MenueArray[$MenueCounter]["headline"] = "<i>" . $a_me_nichtuebersetzt . "</i>";
		} else {
			$MenueArray[$MenueCounter]["headline"] = $MenueRow["headline"];
		}
		$MenueArray[$MenueCounter]["languagearray"] = GetMenueLanguageDataArray($MenueRow["id"]);

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

		$MenueCounter++;
	}
	
	return $MenueArray;
	
}

function GetAGBHostingDataArray($VendorIDArray) {
	
    $AGBHostingDataArray = array();
	
	$SQLString = "SELECT " . TABLE_AGBHOSTING . ".agbhosting_id, ";
	$SQLString .= TABLE_AGBHOSTING . ".vendor_id, ";
	$SQLString .= TABLE_AGBHOSTING . ".name, ";
	$SQLString .= TABLE_AGBHOSTING . ".document, ";
	$SQLString .= TABLE_AGBHOSTING . ".text";
	$SQLString .= " FROM ";
	$SQLString .= TABLE_AGBHOSTING;
	$SQLString .= " WHERE ";
	$SQLString .= TABLE_AGBHOSTING . ".vendor_id IN (" . implode(", ", $VendorIDArray) . ")";
	
//    echo 'SQLString = ' . $SQLString;

	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	while ($AGBHostingRow = mysql_fetch_array($MySQLQueryReference)){
	    
        $AGBHostingDataArray[] = $AGBHostingRow;

	}
	
	return $AGBHostingDataArray;
}

function GetAGBHostingDetail($AGBHostingID) {
	
	$SQLString = "SELECT ";
	$SQLString .= TABLE_AGBHOSTING . ".text, ";
    $SQLString .= TABLE_AGBHOSTING . ".last_change, ";
    $SQLString .= "DATE_FORMAT(" . TABLE_AGBHOSTING . ".last_change, '%d.%m.%Y - %H:%i') AS last_change_format ";
    $SQLString .= "FROM ";
    $SQLString .= TABLE_AGBHOSTING . " ";
    $SQLString .= "WHERE ";
    $SQLString .= TABLE_AGBHOSTING . ".agbhosting_id = " . $AGBHostingID . " ";
    
//    echo "SQLString = " . $SQLString . "<br/>";

    $MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
    $AGBHostingObject = mysql_fetch_object($MySQLQueryReference);
    
    return $AGBHostingObject;
    
}
