<?php
//  Copyright (c) 2004 randshop
//  http://www.randshop.com
//
//  Unter Lizenz von randshop
//	
//	Letzte Bearbeitung: 01.08.2004

function SaveNews($NewsID, $Headline, $TextEintrag, $ImageArray, $ImageDelete, $LanguageIndependent, $LanguageID) {

	// Wenn die News schon vorhanden ist
	if ($NewsID) {
		
		$SQLString = "UPDATE " . TABLE_NEWS . " SET ";
		$SQLString .= TABLE_NEWS . ".language_independent = '" . $LanguageIndependent . "' ";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_NEWS . ".id = '" . $NewsID . "' ";
		
		//echo $SQLString;
		
		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$SQLString = "SELECT ";
		$SQLString .= TABLE_NEWS_LANGU . ".language_id ";
		$SQLString .= "FROM ";
		$SQLString .= TABLE_NEWS_LANGU . " ";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_NEWS_LANGU . ".news_id = '" . $NewsID . "' AND ";
		$SQLString .= TABLE_NEWS_LANGU . ".language_id = '" . $LanguageID . "' ";
		
		$LanguageObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

		if ($LanguageObject) {

			$SQLString = "UPDATE " . TABLE_NEWS_LANGU . " SET ";
			$SQLString .= TABLE_NEWS_LANGU . ".headline = '" . $Headline . "', ";
			$SQLString .= TABLE_NEWS_LANGU . ".textEintrag = '" . $TextEintrag . "' ";
			$SQLString .= "WHERE ";
			$SQLString .= TABLE_NEWS_LANGU . ".news_id = '" . $NewsID . "' AND ";
			$SQLString .= TABLE_NEWS_LANGU . ".language_id = '" . $LanguageID . "' ";
			$MySQLQueryReference = errorlogged_mysql_query($SQLString);
		
		} else {
			
			$SQLString = "INSERT INTO " . TABLE_NEWS_LANGU . " SET ";
			$SQLString .= TABLE_NEWS_LANGU . ".headline = '" . $Headline . "', ";
			$SQLString .= TABLE_NEWS_LANGU . ".textEintrag = '" . $TextEintrag . "', ";
			$SQLString .= TABLE_NEWS_LANGU . ".language_id = '" . $LanguageID . "', ";
			$SQLString .= TABLE_NEWS_LANGU . ".news_id = '" . $NewsID . "' ";

			$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		}
		
		
	} else {
		
		$SQLString = "INSERT INTO " . TABLE_NEWS . " SET ";
		$SQLString .= TABLE_NEWS . ".datum = NOW(), ";
		$SQLString .= TABLE_NEWS . ".language_independent = '" . $LanguageIndependent . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$NewNewsID = mysql_insert_id();

		$SQLString = "INSERT INTO " . TABLE_NEWS_LANGU . " SET ";
		$SQLString .= TABLE_NEWS_LANGU . ".headline = '" . $Headline . "', ";
		$SQLString .= TABLE_NEWS_LANGU . ".textEintrag = '" . $TextEintrag . "', ";
		$SQLString .= TABLE_NEWS_LANGU . ".language_id = '" . $LanguageID . "', ";
		$SQLString .= TABLE_NEWS_LANGU . ".news_id = '" . $NewNewsID . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

		$NewsID = $NewNewsID;

	}
	

	// ********************************************************************************
	// ** Bilder löschen
	// ********************************************************************************
	if ($ImageDelete) {

		$ImageName = "menue_" . sprintf("%07d", $NewsID) . "_" . $LanguageID;

		// altes Bild löschen
		unlink_wc(DATEIPFAD . "images/dbimages/", $ImageName . ".*");

		// Datenbank updaten
		$SQLString = "UPDATE " . TABLE_NEWS_LANGU . " SET ";
		$SQLString .= TABLE_NEWS_LANGU . ".bigImage = '' ";
		$SQLString .= " WHERE ";
		$SQLString .= TABLE_NEWS_LANGU . ".news_id = '" . $NewsID . "' AND ";
		$SQLString .= TABLE_NEWS_LANGU . ".language_id = '" .$LanguageID . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	}

	// ********************************************************************************
	// ** Bilder auswerten
	// ********************************************************************************

	// Shopbild
	if (($ImageArray["size"] > 0) && !$ImageDelete) {

		$NewImageName = "menue_" . sprintf("%07d", $NewsID) . "_" . $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_NEWS_LANGU . " SET ";
		$SQLString .= TABLE_NEWS_LANGU . ".bigImage = '" . $NewImageName . "' ";
		$SQLString .= "WHERE ";
		$SQLString .= TABLE_NEWS_LANGU . ".news_id = '" . $NewsID . "' AND ";
		$SQLString .= TABLE_NEWS_LANGU . ".language_id = '" . $LanguageID . "' ";

		$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	}

	return $NewsID;

}

function SetNewsOnlinestatus($NewsID) {

	// aktuellen Onlinestatus ermitteln
	$NewsObject = GetNewsDetails($NewsID);

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

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

}

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

	$SQLString = "SELECT ";
	$SQLString .= TABLE_NEWS . ".id, "; 
	$SQLString .= TABLE_NEWS . ".aktiv, "; 
	$SQLString .= TABLE_NEWS . ".language_independent, "; 
	$SQLString .= "DATE_FORMAT(" . TABLE_NEWS . ".datum, '%d.%m.%Y') AS datum, ";
	$SQLString .= TABLE_NEWS_LANGU . ".headline, "; 
	$SQLString .= "table_news_langu_standard.headline AS standard_headline, "; 
	$SQLString .= TABLE_NEWS_LANGU . ".textEintrag, "; 
	$SQLString .= "IF(" . TABLE_NEWS . ".language_independent, table_news_langu_standard.bigImage, " . TABLE_NEWS_LANGU . ".bigImage) AS bigImage ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_NEWS . " "; 
	$SQLString .= "LEFT JOIN " . TABLE_NEWS_LANGU . " ON ((" . TABLE_NEWS . ".id = " . TABLE_NEWS_LANGU . ".news_id) AND (" . TABLE_NEWS_LANGU . ".language_id = " . $LanguageID . ")) "; 
	$SQLString .= "LEFT JOIN " . TABLE_NEWS_LANGU . " table_news_langu_standard ON ((" . TABLE_NEWS . ".id = table_news_langu_standard.news_id) AND (table_news_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "WHERE ";
	$SQLString .= TABLE_NEWS . ".id = '" . $MenueID . "' ";
	
//	echo '$SQLString: ' . $SQLString. '<br>';
	
	$NewsObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	// Bild für den Shop
	if ($NewsObject->bigImage && file_exists(DATEIPFAD . 'images/dbimages/' . $NewsObject->bigImage)) {
		$ImageSizeArray = getimagesize(DATEIPFAD . 'images/dbimages/' . $NewsObject->bigImage);
		$NewsObject->imagestring = "<img src=\"" . URLPFAD . "images/dbimages/" . $NewsObject->bigImage . "?ts=" . time(). "\" width=\"" . $ImageSizeArray[0] . "\" height=\"" . $ImageSizeArray[1] . "\" border=\"0\">";
	}


	return $NewsObject;	
	
}

function DeleteNews($NewsID) {
	
	// News löschen
	$SQLString = "DELETE FROM " . TABLE_NEWS . " WHERE ";
	$SQLString .= TABLE_NEWS . ".id = '" . $NewsID . "'";
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	$SQLString = "DELETE FROM " . TABLE_NEWS_LANGU . " WHERE ";
	$SQLString .= TABLE_NEWS_LANGU . ".news_id = '" . $NewsID . "'";
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

	// Bilder löschen
	$ImageName = "news_" . sprintf("%07d", $NewsID) . "_";
	unlink_wc(DATEIPFAD . "images/dbimages/", $ImageName . ".*");
	
}

function GetNewsLanguageDataArray($NewsID) {
	
	// Sprachen Abfragen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_LANGUAGE . ".language_id, ";
	$SQLString .= "IF(ISNULL(" . TABLE_NEWS_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_NEWS_LANGU . " ON ((" . TABLE_LANGUAGE . ".language_id = " . TABLE_NEWS_LANGU . ".language_id) AND (" . TABLE_NEWS_LANGU . ".news_id = '" . $NewsID . "')) ";
	
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	
	$LanguageCounter = 0;
	
	while ($NewsLanguageRow = mysql_fetch_array($MySQLQueryReference)) {
		$NewsLanguageDataArray[$LanguageCounter]["language_image_admintool_imagestring"] = "<img src=\"" . IMAGEPFAD . "dbimages/" . $NewsLanguageRow["language_image_admintool"] . "\" border=\"0\">";
		$NewsLanguageDataArray[$LanguageCounter]["language_id"] = $NewsLanguageRow["language_id"];
		$LanguageCounter++;
	}
	
	return $NewsLanguageDataArray;

}

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

	global $a_me_nichtuebersetzt;

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

	$StandardLanguageID = GetDefaultLanguageID();

	// SQL-String für die eigenen Menüpunkte zusammensetzen
	$SQLString = "SELECT "; 
	$SQLString .= TABLE_NEWS . ".id, "; 
	$SQLString .= TABLE_NEWS . ".aktiv, "; 
	$SQLString .= TABLE_NEWS . ".language_independent, "; 
	$SQLString .= "DATE_FORMAT(" . TABLE_NEWS . ".datum, '%d.%m.%Y') AS datum, ";
	$SQLString .= TABLE_NEWS_LANGU . ".textEintrag, "; 
	$SQLString .= "IFNULL(" . TABLE_NEWS_LANGU . ".headline, table_news_langu_standard.headline) AS headline, ";
	$SQLString .= "!ISNULL(" . TABLE_NEWS_LANGU . ".headline) AS translate_headline, ";
	$SQLString .= "IF(" . TABLE_NEWS . ".language_independent, table_news_langu_standard.bigImage, " . TABLE_NEWS_LANGU . ".bigImage) AS bigImage ";
	$SQLString .= "FROM ";
	$SQLString .= TABLE_NEWS . " "; 
	$SQLString .= "LEFT JOIN " . TABLE_NEWS_LANGU . " ON ((" . TABLE_NEWS . ".id = " . TABLE_NEWS_LANGU . ".news_id) AND (" . TABLE_NEWS_LANGU . ".language_id = " . $LanguageID . ")) "; 
	$SQLString .= "LEFT JOIN " . TABLE_NEWS_LANGU . " table_news_langu_standard ON ((" . TABLE_NEWS . ".id = table_news_langu_standard.news_id) AND (table_news_langu_standard.language_id = " . $StandardLanguageID . ")) ";
	$SQLString .= "WHERE (";
	
	if ($FilterAktiv) {
		$SQLString .= TABLE_NEWS . ".aktiv = 1 AND ";
	}
	
	$SQLString .= " 1)";

	$SQLString .= "ORDER BY id DESC";
	
//	echo '$SQLString: ' . $SQLString . '<br>';
	
	// News abfragen
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
	$NewsCounter = 0;
	
	$NewsArray = array();
	while ($NewsRow = mysql_fetch_array($MySQLQueryReference)) {

		$NewsArray[$NewsCounter]["id"] = $NewsRow["id"];
		$NewsArray[$NewsCounter]["headline"] = $NewsRow["headline"];
		$NewsArray[$NewsCounter]["datum"] = $NewsRow["datum"];
		$NewsArray[$NewsCounter]["translate_headline"] = $NewsRow["translate_headline"];
		$NewsArray[$NewsCounter]["languagearray"] = GetNewsLanguageDataArray($NewsRow["id"]);

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

		$NewsCounter++;
		
	}
	
	return $NewsArray;
	
}


?>