<?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 GetWaehrungDetail($WaehrungID = "") {

	// Wenn keine ID übergeben wurde, die Hauprwährung ermitteln
	if (!$WaehrungID) {
		$SQLString = "SELECT * FROM " . TABLE_WAEHRUNG . " WHERE prio = 1";
	} else {
		$SQLString = "SELECT * FROM " . TABLE_WAEHRUNG . " WHERE id = '" . $WaehrungID . "'";
	}

	// die W�hrung einlesen
	$WaehrungObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));
	
	return $WaehrungObject;
	
}


function GetWaehrungObjectDetail($WaehrungID = "") {

    $SQLString = "SELECT ";
    $SQLString .= TABLE_WAEHRUNG . ".id, ";
    $SQLString .= TABLE_WAEHRUNG . ".symbol, ";
    $SQLString .= TABLE_WAEHRUNG . ".prio, ";
    $SQLString .= TABLE_WAEHRUNG . ".aktiv, ";
    $SQLString .= TABLE_WAEHRUNG . ".isocode, ";
    $SQLString .= TABLE_WAEHRUNG . ".umrechnung ";
    $SQLString .= "FROM " . TABLE_WAEHRUNG . " ";
    $SQLString .= "WHERE id = '" . $WaehrungID . "'";

    $WaehrungObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

    return $WaehrungObject;

}

function GetWaehrungDataArray($AdminAnzeige = 0) {

	$SQLString = "SELECT ";
	$SQLString .= TABLE_WAEHRUNG . ".id, ";
	$SQLString .= TABLE_WAEHRUNG . ".symbol, ";
    $SQLString .= TABLE_WAEHRUNG . ".prio, ";
    $SQLString .= TABLE_WAEHRUNG . ".aktiv, ";
    $SQLString .= TABLE_WAEHRUNG . ".isocode, ";
	$SQLString .= TABLE_WAEHRUNG . ".umrechnung ";
    $SQLString .= "FROM " . TABLE_WAEHRUNG . " ";
	if(!$AdminAnzeige) {
        $SQLString .= " WHERE prio != 1";
    }
	//echo  $SQLString;
	
	$WaehrungCounter = 0;
	$WaehrungDataArray = array();

	$MySQLQueryReferenz = errorlogged_mysql_query($SQLString);
	while ($WaehrungRowArray = mysql_fetch_array($MySQLQueryReferenz, MYSQL_ASSOC)) {
		
		// Daten f�r die Ausgabe formatieren
		$WaehrungDataArray[$WaehrungCounter]["id"] = $WaehrungRowArray["id"];
		$WaehrungDataArray[$WaehrungCounter]["symbol"] = $WaehrungRowArray["symbol"];
		$WaehrungDataArray[$WaehrungCounter]["umrechnung"] = $WaehrungRowArray["umrechnung"];
        $WaehrungDataArray[$WaehrungCounter]["isocode"] = $WaehrungRowArray["isocode"];

        if($WaehrungRowArray["prio"] == "1") {
            $WaehrungDataArray[$WaehrungCounter]["prio"] = '<img src="' . ADMINURLPFAD . 'images/icon/ok_22.png" alt="' . _("Standard") . '" />';
        }

        if($WaehrungRowArray["aktiv"] == "1") {
            $WaehrungDataArray[$WaehrungCounter]["aktiv"] = '<a class="on" href="index.php?id=' . $WaehrungRowArray["id"] . '&formaction=change">' . _("ON") . '</a>';
        } else {
            $WaehrungDataArray[$WaehrungCounter]["aktiv"] = '<a class="off" href="index.php?id=' . $WaehrungRowArray["id"] . '&formaction=change">' . _("OFF") . '</a>';
        }
		$WaehrungCounter++;
	}
	
	return $WaehrungDataArray;
	
}



function changeWaehrungAktiv($WaehrungsID) {

    $FormError = false;
    $WaehrungsObject = GetWaehrungObjectDetail($WaehrungsID);

    if($WaehrungsObject->prio == "1" && $WaehrungsObject->aktiv == "1") {
        $FormError = true;
        $FormErrorMessage = _("Der Standard Eintrag kann nicht deaktiviert werden.");
    }

    if(!$FormError) {

        $SQLString = "UPDATE " . TABLE_WAEHRUNG . " SET ";

        if($WaehrungsObject->aktiv == "1") {
            $SQLString .= " aktiv = '0'";
        } else {
            $SQLString .= " aktiv = '1'";
        }

        $SQLString .= " WHERE " . TABLE_WAEHRUNG . ".id = '" . $WaehrungsID . "'";

        //echo $SQLString;
        $MySQLQueryReference = errorlogged_mysql_query($SQLString);
    }

    return $FormErrorMessage;
}



function SaveWaehrung($WaehrungsID, $Waehrung, $Isocode, $Umrechnung, $Prio, $Aktiv) {

    if($Prio === "1") {
        $SQLString = "UPDATE " . TABLE_WAEHRUNG . " SET ";
        $SQLString .= TABLE_WAEHRUNG . ".prio = '0' ";

        $MySQLQueryReference = errorlogged_mysql_query($SQLString);
    }

    if($WaehrungsID) {

        $SQLString = "UPDATE " . TABLE_WAEHRUNG . " SET ";
        $SQLString .= TABLE_WAEHRUNG . ".symbol = '" . $Waehrung . "', ";
        $SQLString .= TABLE_WAEHRUNG . ".isocode = '" . $Isocode . "', ";
        $SQLString .= TABLE_WAEHRUNG . ".umrechnung = '" . $Umrechnung . "', ";
        $SQLString .= TABLE_WAEHRUNG . ".prio = '" . $Prio . "', ";
        $SQLString .= TABLE_WAEHRUNG . ".aktiv = '" . $Aktiv . "' ";
        $SQLString .= " WHERE " . TABLE_WAEHRUNG . ".id = '" . $WaehrungsID . "'";

        $MySQLQueryReference = errorlogged_mysql_query($SQLString);
        return $WaehrungsID;

    } else {

        $SQLString = "INSERT INTO " . TABLE_WAEHRUNG . " SET ";
        $SQLString .= TABLE_WAEHRUNG . ".symbol = '" . $Waehrung . "', ";
        $SQLString .= TABLE_WAEHRUNG . ".isocode = '" . $Isocode . "', ";
        $SQLString .= TABLE_WAEHRUNG . ".umrechnung = '" . $Umrechnung . "', ";
        $SQLString .= TABLE_WAEHRUNG . ".prio = '" . $Prio . "', ";
        $SQLString .= TABLE_WAEHRUNG . ".aktiv = '" . $Aktiv . "' ";

        $MySQLQueryReference = errorlogged_mysql_query($SQLString);
        return mysql_insert_id();
    }
}

function CountPrioStatus() {
    $Anzahl = mysql_num_rows(errorlogged_mysql_query("SELECT prio FROM " . TABLE_WAEHRUNG . " WHERE prio ='1'"));

    return $Anzahl;
}

function DeleteWaehrung($WaehrungsID) {
    $SQLString = "DELETE FROM " . TABLE_WAEHRUNG . " WHERE id = '" . $WaehrungsID . "'";
    $MySQLQueryReference = errorlogged_mysql_query($SQLString);
}

function PreisFormat($preis, $waehrungsymbol = false) {
    return (number_format($preis, 2, ',', '.') . ($waehrungsymbol?' ' . $waehrungsymbol:''));
}

function parsePreisEingabe($preisString) {

    $preisString = str_replace(',', '.', $preisString);
    $lastDot = strrpos($preisString, '.');
    // wenn mehr als 2 Zeichen nach dem letzten . stehen, wird er als Tausenderseparator interpretiert und entfernt
//    if($lastDot < (strlen($preisString) - 3)) {
//        $preisString = str_replace('.', '', $preisString);
//    }
    // wenn mehr als 2 mal . im String steht werden alle vorkommen bis auf das letzte als Tausenderseparatoren interpretiert und entfernt
    if(($dotCount = substr_count($preisString, '.')) > 1) {
        $preisString = str_replace('.', '', substr($preisString, 0, $lastDot)) . substr($preisString, $lastDot);
    }
    if(is_numeric($preisString)) {
        return floatval($preisString);
    } else {
        return false;
    }
}
