<?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 SaveAktion($AktionsID, $AktionsName, $LanguageID, $URLNameVorgabe) {

    // SEO Einstellungen einlesen
    $Einstellungen = GetEinstellungen('', 'seo');
    
    if ($Einstellungen->seo->sprechende_urls_aktiv || $URLNameVorgabe) {
        
        if ($URLNameVorgabe) {
            $URLName = DecodeAktionsSEOName($URLNameVorgabe); 
        } else {
            $URLName = DecodeAktionsSEOName($AktionsName);
        }
        
    } else {
        
        $URLNameVorgabe = '';
        $URLName = '';
                
    }
    
	// Wenn die Aktions schon vorhanden ist
	if ($AktionsID) {
		
		$SQLString = "SELECT ";
		$SQLString .= TABLE_AKTION_LANGU . ".language_id ";
		$SQLString .= "FROM ";
		$SQLString .= TABLE_AKTION_LANGU . " ";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_AKTION_LANGU . ".aktions_id = '" . $AktionsID . "' AND ";
		$SQLString .= TABLE_AKTION_LANGU . ".language_id = '" . $LanguageID . "' ";
		
		$LanguageObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

		if ($LanguageObject) {

			$SQLString = "UPDATE " . TABLE_AKTION_LANGU . " SET ";
			$SQLString .= TABLE_AKTION_LANGU . ".aktions_titel = '" . $AktionsName . "', ";
            $SQLString .= TABLE_AKTION_LANGU . ".url_name_vorgabe = '" . $URLNameVorgabe . "', ";
            $SQLString .= TABLE_AKTION_LANGU . ".url_name = '" . $URLName . "' ";
			$SQLString .= "WHERE ";
			$SQLString .= TABLE_AKTION_LANGU . ".aktions_id = '" . $AktionsID . "' AND ";
			$SQLString .= TABLE_AKTION_LANGU . ".language_id = '" . $LanguageID . "' ";

			$MySQLQueryReference = errorlogged_mysql_query($SQLString);
		
		} else {
			
			$SQLString = "INSERT INTO " . TABLE_AKTION_LANGU . " SET ";
			$SQLString .= TABLE_AKTION_LANGU . ".aktions_titel = '" . $AktionsName . "', ";
            $SQLString .= TABLE_AKTION_LANGU . ".url_name_vorgabe = '" . $URLNameVorgabe . "', ";
            $SQLString .= TABLE_AKTION_LANGU . ".url_name = '" . $URLName . "', ";
			$SQLString .= TABLE_AKTION_LANGU . ".language_id = '" . $LanguageID . "', ";
			$SQLString .= TABLE_AKTION_LANGU . ".aktions_id = '" . $AktionsID . "' ";

			$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		}
		
	} else {
		
		$SQLString = "INSERT INTO " . TABLE_AKTION . " SET ";
		$SQLString .= TABLE_AKTION . ".temp = 0 ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$NewAktionsID = mysql_insert_id();

		$SQLString = "INSERT INTO " . TABLE_AKTION_LANGU . " SET ";
		$SQLString .= TABLE_AKTION_LANGU . ".aktions_titel = '" . $AktionsName . "', ";
        $SQLString .= TABLE_AKTION_LANGU . ".url_name_vorgabe = '" . $URLNameVorgabe . "', ";
        $SQLString .= TABLE_AKTION_LANGU . ".url_name = '" . $URLName . "', ";
		$SQLString .= TABLE_AKTION_LANGU . ".language_id = '" . $LanguageID . "', ";
		$SQLString .= TABLE_AKTION_LANGU . ".aktions_id = '" . $NewAktionsID . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$AktionsID = $NewAktionsID; 

	}
	
    SetAktionsSEOURLs($AktionsID, $LanguageID);
    SetArtikelAktionsSEOURLs($AktionsID, $LanguageID);
    
}

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

	$StandardLanguageID = GetDefaultLanguageID();
	
	$SQLString = "SELECT ";
	$SQLString .= TABLE_AKTION . ".id, "; 
	$SQLString .= TABLE_AKTION_LANGU . ".aktions_titel AS name, "; 
    $SQLString .= TABLE_AKTION_LANGU . ".url_name_vorgabe, ";
    $SQLString .= TABLE_AKTION_LANGU . ".url_name, ";
	$SQLString .= "table_aktion_langu_standard.aktions_titel AS standard_name ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_AKTION . " "; 
	$SQLString .= "LEFT JOIN " . TABLE_AKTION_LANGU . " ON ((" . TABLE_AKTION . ".id = " . TABLE_AKTION_LANGU . ".aktions_id) AND (" . TABLE_AKTION_LANGU . ".language_id = " . $LanguageID . ")) "; 
	$SQLString .= "LEFT JOIN " . TABLE_AKTION_LANGU . " table_aktion_langu_standard ON ((" . TABLE_AKTION . ".id = table_aktion_langu_standard.aktions_id) AND (table_aktion_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_AKTION . ".id = '" . $AktionsID . "' "; 
	
	$AktionsObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	return $AktionsObject;	
	
}

function DeleteAktion($AktionsID) {
	
	// Aktion l�schen
	$SQLString = "DELETE FROM " . TABLE_AKTION . " WHERE ";
	$SQLString .= TABLE_AKTION . ".id = '" . $AktionsID . "'";
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
    $SQLString = 'SELECT ';
    $SQLString .= TABLE_LANGUAGE . '.language_id ';
    $SQLString .= 'FROM ';
    $SQLString .= TABLE_LANGUAGE . ' ';
    $SQLString .= 'WHERE ';
    $SQLString .= "(";
    $SQLString .= '(' . TABLE_LANGUAGE . '.language_active = 1) AND ';
    $SQLString .= " 1)";
    
    $MySQLQueryLanguageReference = errorlogged_mysql_query($SQLString);
    
    while ($LanguageRow = mysql_fetch_array($MySQLQueryLanguageReference, MYSQL_ASSOC)) {
    
        DeleteAktionsSEOURLElement($AktionsID, $LanguageRow['language_id'], 0, true);
        
    }
    
    $SQLString = 'SELECT ';
    $SQLString .= TABLE_ARTIKEL . '.id AS artikel_id ';
    $SQLString .= 'FROM ';
    $SQLString .= TABLE_ARTIKEL . ' ';
    $SQLString .= 'WHERE ';
    $SQLString .= TABLE_ARTIKEL . '.angebote = \'' . $AktionsID . '\' ';
    
    $MySQLQueryReferenz = errorlogged_mysql_query($SQLString);
    
    while ($ArtikelRow = mysql_fetch_array($MySQLQueryReferenz, MYSQL_ASSOC)) {
        
        $SQLString = 'SELECT ';
        $SQLString .= TABLE_LANGUAGE . '.language_id ';
        $SQLString .= 'FROM ';
        $SQLString .= TABLE_LANGUAGE . ' ';
        $SQLString .= 'WHERE ';
        $SQLString .= "(";
        $SQLString .= '(' . TABLE_LANGUAGE . '.language_active = 1) AND ';
        $SQLString .= " 1)";
        
        $MySQLQueryLanguageReference = errorlogged_mysql_query($SQLString);
        
        while ($LanguageRow = mysql_fetch_array($MySQLQueryLanguageReference, MYSQL_ASSOC)) {
        
            DeleteArtikelSEOURLElement($ArtikelRow['artikel_id'], 0, 0, $AktionsID, $LanguageRow['language_id'], GetArtikelSEOURL($ArtikelRow['artikel_id'], $LanguageRow['language_id']), true);
            
        }
        
    }

    // Zuordnung bei den Artikel l�schen
    $SQLString = "UPDATE " . TABLE_ARTIKEL . " SET ";
    $SQLString .= TABLE_ARTIKEL . ".angebote = 0 ";
    $SQLString .= "WHERE ";
    $SQLString .= TABLE_ARTIKEL . ".angebote = '" . $AktionsID . "' ";
    
    $MySQLQueryReference = errorlogged_mysql_query($SQLString);
    
}

function GetAktionenDataArray($LanguageID = 0) {

	global $a_ak_nichtuebersetzt;


	// Sprache ermitteln
	if (!$LanguageID || $LanguageID < 1) {
		$LanguageID = GetDefaultLanguageID();
	}
	$StandardLanguageID = GetDefaultLanguageID();

	$ResultDataArray = array();

	// alle Aktionen einlesen	
	$SQLString = "SELECT ";
	$SQLString .= TABLE_AKTION . ".id, "; 
	$SQLString .= "IFNULL(" . TABLE_AKTION_LANGU . ".aktions_titel, table_aktion_langu_standard.aktions_titel) AS aktions_titel, ";
	$SQLString .= "!ISNULL(" . TABLE_AKTION_LANGU . ".aktions_titel) AS translate_aktions_titel ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_AKTION . " "; 
	$SQLString .= "LEFT JOIN " . TABLE_AKTION_LANGU . " ON ((" . TABLE_AKTION . ".id = " . TABLE_AKTION_LANGU . ".aktions_id) AND (" . TABLE_AKTION_LANGU . ".language_id = " . $LanguageID . ")) "; 
	$SQLString .= "LEFT JOIN " . TABLE_AKTION_LANGU . " table_aktion_langu_standard ON ((" . TABLE_AKTION . ".id = table_aktion_langu_standard.aktions_id) AND (table_aktion_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "ORDER BY aktions_titel";

	$QuerryReferenz = errorlogged_mysql_query($SQLString);

	$Counter = 0;


	// Alle Daten in ein Array legen	
	while ($QuerryResult = mysql_fetch_array($QuerryReferenz, MYSQL_ASSOC)) {

		$ResultDataArray[$Counter]["id"] = $QuerryResult["id"];
		$ResultDataArray[$Counter]["aktions_titel"] = $QuerryResult["aktions_titel"];
		$ResultDataArray[$Counter]["translate_aktions_titel"] = $QuerryResult["translate_aktions_titel"];
		$ResultDataArray[$Counter]["languagearray"] = GetAktionsLanguageDataArray($QuerryResult["id"]);
		$Counter++;
	}

	
	return $ResultDataArray;

}

function GetAktionsLanguageDataArray($AktionsID) {
	
	// Sprachen Abfragen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LANGUAGE . ".language_id, ";
	$SQLString .= "IF(ISNULL(" . TABLE_AKTION_LANGU . ".aktions_titel), " . 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_AKTION_LANGU . " ON ((" . TABLE_LANGUAGE . ".language_id = " . TABLE_AKTION_LANGU . ".language_id) AND (" . TABLE_AKTION_LANGU . ".aktions_id = '" . $AktionsID . "')) ";
	
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	$LanguageCounter = 0;
	
	while ($AktionsLanguageRow = mysql_fetch_array($MySQLQueryReference)) {
		$AktionsLanguageDataArray[$LanguageCounter]["language_image_admintool_imagestring"] = "<img src=\"" . IMAGEPFAD . "dbimages/" . $AktionsLanguageRow["language_image_admintool"] . "\" border=\"0\">";
		$AktionsLanguageDataArray[$LanguageCounter]["language_id"] = $AktionsLanguageRow["language_id"];
		$LanguageCounter++;
	}
	
	return $AktionsLanguageDataArray;

}

?>