<?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 SaveFeature($Bestseller, $News, $Weiterempfehlen, $Bewertung, $Banner, $Counter, $Newsletter, $AnzeigeGewicht, $Statusanzeige, $Bestandsanzeige, $Loginvariante, $Hersteller, $Volltextsuche) {

	// Features speichern
	$SQLString = "UPDATE " . TABLE_FEATURE . " SET ";
	$SQLString .= TABLE_FEATURE . ".bestseller = '" . $Bestseller . "', ";
	$SQLString .= TABLE_FEATURE . ".news = '" . $News . "', ";
	$SQLString .= TABLE_FEATURE . ".weiterempfehlen = '" . $Weiterempfehlen . "', ";
	$SQLString .= TABLE_FEATURE . ".bewertung = '" . $Bewertung . "', ";
	$SQLString .= TABLE_FEATURE . ".banner = '" . $Banner . "', ";
	$SQLString .= TABLE_FEATURE . ".counter = '" . $Counter . "', ";
	$SQLString .= TABLE_FEATURE . ".newsletter = '" . $Newsletter . "', ";
	$SQLString .= TABLE_FEATURE . ".anzeige_gewicht = '" . $AnzeigeGewicht . "', ";
	$SQLString .= TABLE_FEATURE . ".statusanzeige = '" . $Statusanzeige . "', ";
	$SQLString .= TABLE_FEATURE . ".bestandsanzeige = '" . $Bestandsanzeige . "', ";
	$SQLString .= TABLE_FEATURE . ".loginvariante = '" . $Loginvariante . "', ";
	$SQLString .= TABLE_FEATURE . ".hersteller = '" . $Hersteller . "', ";
	$SQLString .= TABLE_FEATURE . ".volltextsuche = '" . $Volltextsuche . "'";

	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

}


function SaveShopeinstellungen($Auftragsnummer, $Rechnungsnummer, $Lieferscheinnummer, $MwStVersand, $AGBSeite, $Dokumentenformat, $Preisformat, $Bestsellerab, $DownloadTage, $Fck, $BildUpload, $Versandseite, $Widerruf, $BildgroesseKlein, $BildgroesseGross, $BildgroesseKategorie, $Bestselleranzeige, $WievielEintraege, $AktuelleArtikel, $GutschriftNummer) {

	// Shopeinstellungen speichern
	$SQLString = "UPDATE " . TABLE_ALLGEMEIN . " SET ";
	$SQLString .= TABLE_ALLGEMEIN . ".auftragsnummer = '" . $Auftragsnummer . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".rechnungsnummer = '" . $Rechnungsnummer . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".lieferscheinnummer = '" . $Lieferscheinnummer . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".mwst = '" . $MwStVersand . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".agb = '" . $AGBSeite . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".versandseite = '" . $Versandseite . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".widerruf = '" . $Widerruf . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".dokumentenformat = '" . $Dokumentenformat . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".preisformat = '" . $Preisformat . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".bestsellerab = '" . $Bestsellerab . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".artikel_download_tage = '" . $DownloadTage . "',";
	$SQLString .= TABLE_ALLGEMEIN . ".wieviel_eintraege = '" . $WievielEintraege . "',";
	$SQLString .= TABLE_ALLGEMEIN . ".bestsellerzahl = '" . $Bestselleranzeige . "',";
	$SQLString .= TABLE_ALLGEMEIN . ".startaktuell = '" . $AktuelleArtikel . "',";
	$SQLString .= TABLE_ALLGEMEIN . ".bildgroesse_klein = '" . $BildgroesseKlein . "',";
	$SQLString .= TABLE_ALLGEMEIN . ".bildgroesse_gross = '" . $BildgroesseGross . "',";
	$SQLString .= TABLE_ALLGEMEIN . ".bildgroesse_kategorie = '" . $BildgroesseKategorie . "',";
	$SQLString .= TABLE_ALLGEMEIN . ".fck_aktiv = '" . $Fck . "',";
	$SQLString .= TABLE_ALLGEMEIN . ".bildupload_aktiv = '" . $BildUpload . "', ";
    $SQLString .= TABLE_ALLGEMEIN . ".gutschriftnummer = '" . $GutschriftNummer . "' ";

	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

}


function SaveMetaeinstellungen($MetaBeschreibung, $MetaKeywords) {

    // Shopeinstellungen speichern
    $SQLString = "UPDATE " . TABLE_ALLGEMEIN . " SET ";
    $SQLString .= TABLE_ALLGEMEIN . ".meta_beschreibung = '" . $MetaBeschreibung . "', ";
    $SQLString .= TABLE_ALLGEMEIN . ".meta_keywords = '" . $MetaKeywords . "' ";

    $MySQLQueryReference = errorlogged_mysql_query($SQLString);

}

function SetStatistikEventsSpeichern($aktiv)
{
	$SQLString = "UPDATE " . TABLE_ALLGEMEIN . " SET ";
	$SQLString .= TABLE_ALLGEMEIN . ".statistikevents_speichern = " . ($aktiv?'1':'0');
	$MySQLQueryReference = errorlogged_mysql_query($SQLString);
}

function GetFeatureDetail() {

	// SQL-String fr die Abfrage der Features zusammenbauen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_FEATURE . ".bestseller, ";
	$SQLString .= TABLE_FEATURE . ".news, ";
	$SQLString .= TABLE_FEATURE . ".weiterempfehlen, ";
	$SQLString .= TABLE_FEATURE . ".bewertung, ";
	$SQLString .= TABLE_FEATURE . ".banner, ";
	$SQLString .= TABLE_FEATURE . ".counter, ";
	$SQLString .= TABLE_FEATURE . ".newsletter, ";
	$SQLString .= TABLE_FEATURE . ".anzeige_gewicht, ";
	$SQLString .= TABLE_FEATURE . ".statusanzeige, ";
	$SQLString .= TABLE_FEATURE . ".bestandsanzeige, ";
	$SQLString .= TABLE_FEATURE . ".loginvariante, ";
	$SQLString .= TABLE_FEATURE . ".hersteller, ";
	$SQLString .= TABLE_FEATURE . ".volltextsuche ";
	$SQLString .= "FROM " . TABLE_FEATURE;

	// Features abfragen
	$FeatureObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

	return $FeatureObject;

}

function SaveBetreiberdaten($Name, $Firma, $Strasse, $PLZ, $Ort, $Telefon, $Fax, $Email, $URL, $Steuernummer, $UStID, $bank, $blz, $kontonummer, $iban, $bic, $Handelsregister, $Geschaeftsfuehrer, $SitzGesellschaft, $Amtsgericht, $Gerichtsstand) {

	// Betreiberdaten speichern
	$SQLString = "UPDATE " . TABLE_ALLGEMEIN . " SET ";
	$SQLString .= TABLE_ALLGEMEIN . ".name = '" . $Name . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".firmen_titel = '" . $Firma . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".strasse = '" . $Strasse . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".plz = '" . $PLZ . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".ort = '" . $Ort . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".tel = '" . $Telefon . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".fax = '" . $Fax . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".email = '" . $Email . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".url = '" . $URL . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".str_nr = '" . $Steuernummer . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".bank = '" . $bank . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".konto = '" . $kontonummer . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".blz = '" . $blz . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".iban = '" . $iban . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".bic = '" . $bic . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".ust = '" . $UStID . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".handelsregister = '" . $Handelsregister . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".geschaeftsfuehrer = '" . $Geschaeftsfuehrer . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".sitz_gesellschaft = '" . $SitzGesellschaft . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".amtsgericht = '" . $Amtsgericht . "', ";
	$SQLString .= TABLE_ALLGEMEIN . ".gerichtsstand = '" . $Gerichtsstand . "' ";


	$MySQLQueryReference = errorlogged_mysql_query($SQLString);

}

function GetShopeinstellungDetail($Group = "") {

	// SQL-String fr die Abfrage der Shopeinstellungen zusammenbauen
	$SQLString = "SELECT ";
	$SQLString .= TABLE_ALLGEMEIN . ".firmen_titel, ";
	$SQLString .= TABLE_ALLGEMEIN . ".name, ";
	$SQLString .= TABLE_ALLGEMEIN . ".strasse, ";
	$SQLString .= TABLE_ALLGEMEIN . ".plz, ";
	$SQLString .= TABLE_ALLGEMEIN . ".ort, ";
	$SQLString .= TABLE_ALLGEMEIN . ".tel, ";
	$SQLString .= TABLE_ALLGEMEIN . ".fax, ";
	$SQLString .= TABLE_ALLGEMEIN . ".url, ";
	$SQLString .= TABLE_ALLGEMEIN . ".email, ";
	$SQLString .= TABLE_ALLGEMEIN . ".str_nr, ";
	$SQLString .= TABLE_ALLGEMEIN . ".ust, ";
	$SQLString .= TABLE_ALLGEMEIN . ".handelsregister, ";
	$SQLString .= TABLE_ALLGEMEIN . ".geschaeftsfuehrer, ";
	$SQLString .= TABLE_ALLGEMEIN . ".sitz_gesellschaft, ";
	$SQLString .= TABLE_ALLGEMEIN . ".amtsgericht, ";
	$SQLString .= TABLE_ALLGEMEIN . ".gerichtsstand, ";
	$SQLString .= TABLE_ALLGEMEIN . ".bank, ";
	$SQLString .= TABLE_ALLGEMEIN . ".blz, ";
	$SQLString .= TABLE_ALLGEMEIN . ".iban, ";
	$SQLString .= TABLE_ALLGEMEIN . ".bic, ";
	$SQLString .= TABLE_ALLGEMEIN . ".konto, ";
	$SQLString .= TABLE_ALLGEMEIN . ".auftragsnummer, ";
	$SQLString .= TABLE_ALLGEMEIN . ".rechnungsnummer, ";
	$SQLString .= TABLE_ALLGEMEIN . ".lieferscheinnummer, ";
	$SQLString .= TABLE_ALLGEMEIN . ".mwst, ";
	$SQLString .= TABLE_ALLGEMEIN . ".agb, ";
	$SQLString .= TABLE_ALLGEMEIN . ".versandseite, ";
	$SQLString .= TABLE_ALLGEMEIN . ".widerruf, ";
	$SQLString .= TABLE_ALLGEMEIN . ".paypaladresse, ";
	$SQLString .= TABLE_ALLGEMEIN . ".dokumentenformat, ";
    $SQLString .= TABLE_ALLGEMEIN . ".meta_beschreibung, ";
    $SQLString .= TABLE_ALLGEMEIN . ".meta_keywords, ";
	$SQLString .= TABLE_ALLGEMEIN . ".preisformat, ";
	$SQLString .= TABLE_ALLGEMEIN . ".kategorie_sort, ";
	$SQLString .= TABLE_ALLGEMEIN . ".bestsellerab, ";
	$SQLString .= TABLE_ALLGEMEIN . ".mahnungsverzug, ";
	$SQLString .= TABLE_ALLGEMEIN . ".mahnungsverzug2, ";
	$SQLString .= TABLE_ALLGEMEIN . ".mahntext1, ";
	$SQLString .= TABLE_ALLGEMEIN . ".mahnstatus1, ";
	$SQLString .= TABLE_ALLGEMEIN . ".mahntext2, ";
	$SQLString .= TABLE_ALLGEMEIN . ".mahnstatus2, ";
	$SQLString .= TABLE_ALLGEMEIN . ".artikel_download_tage, ";
	$SQLString .= TABLE_ALLGEMEIN . ".wieviel_eintraege, ";
	$SQLString .= TABLE_ALLGEMEIN . ".bestsellerzahl, ";
	$SQLString .= TABLE_ALLGEMEIN . ".startaktuell, ";
	$SQLString .= TABLE_ALLGEMEIN . ".bildgroesse_klein, ";
	$SQLString .= TABLE_ALLGEMEIN . ".bildgroesse_gross, ";
	$SQLString .= TABLE_ALLGEMEIN . ".bildgroesse_kategorie, ";
	$SQLString .= TABLE_ALLGEMEIN . ".banner_time, ";
	$SQLString .= TABLE_ALLGEMEIN . ".fck_aktiv, ";
	$SQLString .= TABLE_ALLGEMEIN . ".bildupload_aktiv, ";
	$SQLString .= TABLE_ALLGEMEIN . ".statistikevents_speichern, ";
	$SQLString .= TABLE_ALLGEMEIN . ".zahlungserinnerung_text, ";
    $SQLString .= TABLE_ALLGEMEIN . ".gutschriftnummer ";
	$SQLString .= "FROM " . TABLE_ALLGEMEIN;

	// Shopeinstellungen abfragen
	$ShopeinstellungObject = mysql_fetch_object(errorlogged_mysql_query($SQLString));

    return $ShopeinstellungObject;

}

function GetEinstellungen($Key = '', $Group = '', $OptionCheckGroupDefaultValues = true, $LanguageID = "") {

    // Sprachunabhaengige Einstellungen
	if (!$LanguageID) {

		$SQLString = 'SELECT ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.key, ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.value, ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.group ';
        $SQLString .= 'FROM ';
        $SQLString .= TABLE_EINSTELLUNGEN . ' ';
        $SQLString .= 'WHERE ';
        $SQLString .= '( ';

        if ($Key) {
            $SQLString .= '(' . TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\') AND ';
        }

        if ($Group) {
            $SQLString .= '(' . TABLE_EINSTELLUNGEN . '.group = \'' . $Group . '\') AND ';
        }

		$SQLString .= ' 1)';
        
        $MySQLQueryReference = errorlogged_mysql_query($SQLString);
        $Einstellungen = new stdClass();
        while ($EinstellungenRow = mysql_fetch_array($MySQLQueryReference, MYSQL_ASSOC)) {
            if ($EinstellungenRow['group'])  {
                if(!isset($Einstellungen->{$EinstellungenRow['group']})) {
                    $Einstellungen->{$EinstellungenRow['group']} = new stdClass();
                }
                $Einstellungen->{$EinstellungenRow['group']}->{$EinstellungenRow['key']} = $EinstellungenRow['value'];
            } else {
                $Einstellungen->{$EinstellungenRow['key']} = $EinstellungenRow['value'];
            }
        }

    // Sprachabhaengige Einstellungen
	} else {

        $StandardLanguageID = GetDefaultLanguageID();
        $SQLString = 'SELECT ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.key, ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.value, ';
        $SQLString .= 'table_einstellungen_standard.value AS standard_value, ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.group ';
        $SQLString .= 'FROM ';
        $SQLString .= TABLE_EINSTELLUNGEN . ' ';
        $SQLString .= "LEFT JOIN " . TABLE_EINSTELLUNGEN . " table_einstellungen_standard ON ((" . TABLE_EINSTELLUNGEN . ".key = table_einstellungen_standard.key) AND (table_einstellungen_standard.language_id = " . $StandardLanguageID . ")) ";
        $SQLString .= 'WHERE ';
        $SQLString .= '( ';
        $SQLString .= '(' . TABLE_EINSTELLUNGEN . '.language_id = \'' . $LanguageID . '\') AND ';

        if ($Key) {
            $SQLString .= '(' . TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\') AND ';
        }

        if ($Group) {
            $SQLString .= '(' . TABLE_EINSTELLUNGEN . '.group = \'' . $Group . '\') AND ';
        }

        $SQLString .= ' 1)';

        // echo $SQLString;
        $MySQLQueryReference = errorlogged_mysql_query($SQLString);
        $Einstellungen = new stdClass();
        while ($EinstellungenRow = mysql_fetch_array($MySQLQueryReference, MYSQL_ASSOC)) {

            if ($EinstellungenRow['group'])  {
                $Einstellungen->{$EinstellungenRow['group']}->{$EinstellungenRow['key']} = $EinstellungenRow['value'];
                $Einstellungen->{$EinstellungenRow['group']}->{"standard_" . $EinstellungenRow['key']} = $EinstellungenRow['standard_value'];
            } else {
                $Einstellungen->{$EinstellungenRow['key']} = $EinstellungenRow['value'];
                $Einstellungen->{"standard_" . $EinstellungenRow['key']} = $EinstellungenRow['standard_value'];
            }
        }
	} // Ende else

	// OptionCheckGroupDefaultValues
    if ($OptionCheckGroupDefaultValues) {
        $Einstellungen = GetGroupDefaultValues($Einstellungen, $Group, $LanguageID);
    }

    return $Einstellungen;

}

function GetGroupDefaultValues($Einstellungen, $Group, $LanguageID = "") {

	// Fuer sprachabhaenige Einstellungen
	if ($LanguageID) {

		$LanguageObject = GetLanguageDetail($LanguageID);
        global $a_se_404_default_headline, $a_se_404_default_text;

	} else {

		$LanguageObject = GetLanguageDetail($_SESSION["languageid"]);
        global $a_se_404_default_headline, $a_se_404_default_text;

	}

    if ($Group == 'ajax_search' || $Group == '') {

        if(!isset($Einstellungen->ajax_search))
            $Einstellungen->ajax_search = new stdClass();

        if (!isset($Einstellungen->ajax_search->aktiv)) {
            $Einstellungen->ajax_search->aktiv = true;
        }

        if (!isset($Einstellungen->ajax_search->beginn_ab_zeichen)) {
            $Einstellungen->ajax_search->beginn_ab_zeichen = 1;
        }

        if (!isset($Einstellungen->ajax_search->sortierungs_feld)) {
            $Einstellungen->ajax_search->sortierungs_feld = TABLE_ARTIKEL . '.wie_oft_bestellt';
        }

        if (!isset($Einstellungen->ajax_search->sortierungs_richtung)) {
            $Einstellungen->ajax_search->sortierungs_richtung = 'asc';
        }

        if (!isset($Einstellungen->ajax_search->anzahl_gefundene_artikel)) {
            $Einstellungen->ajax_search->anzahl_gefundene_artikel = 4;
        }

        if (!isset($Einstellungen->ajax_search->maximale_artikelbild_breite)) {
            $Einstellungen->ajax_search->maximale_artikelbild_breite = 100;
        }

        if (!isset($Einstellungen->ajax_search->maximale_artikelbild_hoehe)) {
            $Einstellungen->ajax_search->maximale_artikelbild_hoehe = 100;
        }

        if (!isset($Einstellungen->ajax_search->maximale_suchergebnis_breite)) {
            $Einstellungen->ajax_search->maximale_suchergebnis_breite = 511;
        }

        if (!isset($Einstellungen->ajax_search->begrenzung_suchergebnis_hoehe_an_artikelbild)) {
            $Einstellungen->ajax_search->begrenzung_suchergebnis_hoehe_an_artikelbild = 1;
        }

        if (!isset($Einstellungen->ajax_search->maximale_zeichen_beschreibung)) {
            $Einstellungen->ajax_search->maximale_zeichen_beschreibung = 200;
        }

        if (!isset($Einstellungen->ajax_search->feldauswahl_durchsuchen)) {
            $Einstellungen->ajax_search->feldauswahl_durchsuchen = 'artikelname kurzbeschreibung';
        }

        if (!isset($Einstellungen->ajax_search->feldauswahl_anzeigen)) {
            $Einstellungen->ajax_search->feldauswahl_anzeigen = 'artikelname kurzbeschreibung preis artikelbild';
        }

    }

    if ($Group == 'artikel_gebinde' || $Group == '') {

        if(!isset($Einstellungen->artikel_gebinde))
            $Einstellungen->artikel_gebinde = new stdClass();

        if (!$Einstellungen->artikel_gebinde->gebinde) {
            $Einstellungen->artikel_gebinde->gebinde = '1000_g';
        }

    }

    if ($Group == 'artikel_sortierung' || $Group == '') {

        if(!isset($Einstellungen->artikel_sortierung))
            $Einstellungen->artikel_sortierung = new stdClass();

        if (!$Einstellungen->artikel_sortierung->sortieren_nach) {
            $Einstellungen->artikel_sortierung->sortieren_nach = ARTIKELSORT_NAME;
        }

        if (!isset($Einstellungen->artikel_sortierung->absteigend)) {
            $Einstellungen->artikel_sortierung->absteigend = '0';
        }

    }

    if ($Group == 'seo' || $Group == '') {

        if(!isset($Einstellungen->seo))
            $Einstellungen->seo = new stdClass();

        if (!isset($Einstellungen->seo->sprechende_urls_aktiv)) {
            $Einstellungen->seo->sprechende_urls_aktiv = true;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_sicherheitszahl)) {
            $Einstellungen->seo->sprechende_urls_sicherheitszahl = 1;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_umleitung_loeschen)) {
            $Einstellungen->seo->sprechende_urls_umleitung_loeschen = 1;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_umleitung_umbenennen)) {
            $Einstellungen->seo->sprechende_urls_umleitung_umbenennen = 1;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_artikel_mit_kategorie)) {
            $Einstellungen->seo->sprechende_urls_artikel_mit_kategorie = 1;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_artikel_mit_hersteller)) {
            $Einstellungen->seo->sprechende_urls_artikel_mit_hersteller = 1;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_artikel_mit_aktionen)) {
            $Einstellungen->seo->sprechende_urls_artikel_mit_aktionen = 1;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_kein_sprachname_bei_standardsprache)) {
            $Einstellungen->seo->sprechende_urls_kein_sprachname_bei_standardsprache = 1;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_anzeige_url_name_vorgabe)) {
            $Einstellungen->seo->sprechende_urls_anzeige_url_name_vorgabe = 1;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_maximale_laenge_einzelelemente)) {
            $Einstellungen->seo->sprechende_urls_maximale_laenge_einzelelemente = 100;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_maximale_laenge_seourl)) {
            $Einstellungen->seo->sprechende_urls_maximale_laenge_seourl = 300;
        }

        if (!isset($Einstellungen->seo->sprechende_urls_umleitungen_loeschen_nach_monaten)) {
            $Einstellungen->seo->sprechende_urls_umleitungen_loeschen_nach_monaten = 3;
        }

    }

    if ($Group == 'agb_hosting' || $Group == '') {

        if(!isset($Einstellungen->agb_hosting))
            $Einstellungen->agb_hosting = new stdClass();

        if (!isset($Einstellungen->agb_hosting->protected_shops_aktiv)) {
            $Einstellungen->agb_hosting->protected_shops_aktiv = 0;
        }

        if (!isset($Einstellungen->agb_hosting->protected_shops_benutzername)) {
            $Einstellungen->agb_hosting->protected_shops_benutzername = '';
        }

        if (!isset($Einstellungen->agb_hosting->protected_shops_passwort)) {
            $Einstellungen->agb_hosting->protected_shops_passwort = '';
        }

        if (!isset($Einstellungen->agb_hosting->protected_shops_shop_id)) {
            $Einstellungen->agb_hosting->protected_shops_shop_id = '';
        }

        if (!isset($Einstellungen->agb_hosting->protected_shops_pruefungszyklus)) {
            $Einstellungen->agb_hosting->protected_shops_pruefungszyklus = 1;
        }

    }

    if ($Group == 'bonitaetspruefung' || $Group == '') {

        if(!isset($Einstellungen->bonitaetspruefung))
            $Einstellungen->bonitaetspruefung = new stdClass();

        if (!isset($Einstellungen->bonitaetspruefung->buergel_benutzername)) {
            $Einstellungen->bonitaetspruefung->buergel_benutzername = '';
        }

        if (!isset($Einstellungen->bonitaetspruefung->buergel_passwort)) {
            $Einstellungen->bonitaetspruefung->buergel_passwort = '';
        }

        if (!isset($Einstellungen->bonitaetspruefung->buergel_pruefungszyklus)) {
            $Einstellungen->bonitaetspruefung->buergel_pruefungszyklus = 1;
        }

    }

    if ($Group == 'fehlerseite' || $Group == '') {
    	if ($LanguageID) {
            include_once(DATEIPFAD . "includes/language/langu_" . $LanguageObject->language_isocode . ".inc.php");
    	}

        if(!isset($Einstellungen->fehlerseite))
            $Einstellungen->fehlerseite = new stdClass();

        if (!$Einstellungen->fehlerseite->fehler_404_headline) {
                $Einstellungen->fehlerseite->fehler_404_headline = $a_se_404_default_headline;
        }

        if (!$Einstellungen->fehlerseite->fehler_404_text) {
                $Einstellungen->fehlerseite->fehler_404_text = $a_se_404_default_text;
        }
    }

    if ($Group == 'logs' || $Group == '') {

        if(!isset($Einstellungen->logs))
            $Einstellungen->logs = new stdClass();

        if (!$Einstellungen->logs->mail_log_monate) {
           $Einstellungen->logs->mail_log_monate = 12;
        }
    }

    if ($Group == 'dataexchange' || $Group == '') {

        if(!isset($Einstellungen->dataexchange))
            $Einstellungen->dataexchange = new stdClass();

        if (!isset($Einstellungen->dataexchange->dataexchange_expert_mode)) {
            $Einstellungen->dataexchange->dataexchange_expert_mode = 0;
        }

        if (!isset($Einstellungen->dataexchange->history_delete_interval)) {
            $Einstellungen->dataexchange->history_delete_interval = 1;
        }

        if (!isset($Einstellungen->dataexchange->show_db_details)) {
            $Einstellungen->dataexchange->show_db_details = 1;
        }

        if (!isset($Einstellungen->dataexchange->update_server)) {
            $Einstellungen->dataexchange->update_server = 'http://update.randshop.com';
        }

        if (!isset($Einstellungen->dataexchange->update_interval)) {
            $Einstellungen->dataexchange->update_interval = 10;
        }

        if (!isset($Einstellungen->dataexchange->show_import_history_details)) {
            $Einstellungen->dataexchange->show_import_history_details = 1;
        }

        if (!isset($Einstellungen->dataexchange->show_import_history_status)) {
            $Einstellungen->dataexchange->show_import_history_status = '1,7,2,8,3,4,5,6';
        }

    }

    if ($Group == 'wawi' || $Group == '') {

        if(!isset($Einstellungen->wawi))
            $Einstellungen->wawi = new stdClass();

        if (!isset($Einstellungen->wawi->angebots_nummer)) {
           $Einstellungen->wawi->angebots_nummer = 1;
        }
    }

    if ($Group == 'facettensuche' || $Group == '')
    {
        if(!isset($Einstellungen->facettensuche)) {
            $Einstellungen->facettensuche = new stdClass();
        }
        if (!isset($Einstellungen->facettensuche->string_groesser_als)) {
        	if(strtolower($LanguageObject->language_isocode) == 'de')
                $Einstellungen->facettensuche->string_groesser_als = 'über';
            else if(strtolower($LanguageObject->language_isocode) == 'en')
                $Einstellungen->facettensuche->string_groesser_als = 'greater than';
        }

        if (!isset($Einstellungen->facettensuche->string_kleiner_als)) {
            if(strtolower($LanguageObject->language_isocode) == 'de')
                $Einstellungen->facettensuche->string_kleiner_als = 'unter';
            else if(strtolower($LanguageObject->language_isocode) == 'en')
                $Einstellungen->facettensuche->string_kleiner_als = 'less than';
        }
    }

    return $Einstellungen;
}

function SaveKeyValueEinstellungen($Group, $Key, $Value) {

    $SQLString = 'SELECT ';
    $SQLString .= TABLE_EINSTELLUNGEN . '.key ';
    $SQLString .= 'FROM ';
    $SQLString .= TABLE_EINSTELLUNGEN . ' ';
    $SQLString .= 'WHERE ';
    $SQLString .= TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\' ';

    if (mysql_num_rows(errorlogged_mysql_query($SQLString))) {

        $SQLString = 'UPDATE ' . TABLE_EINSTELLUNGEN . ' SET ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.value = \'' . $Value . '\' ';
        $SQLString .= 'WHERE ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\' AND ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.group = \'' . $Group . '\' ';
        
        $MySQLQueryReference = errorlogged_mysql_query($SQLString);

    } else {

        $SQLString = 'INSERT INTO  ' . TABLE_EINSTELLUNGEN . ' SET ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.value = \'' . $Value . '\', ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\', ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.group = \'' . $Group . '\' ';

        $MySQLQueryReference = errorlogged_mysql_query($SQLString);

    }

}

function SaveGroupEinstellungen($Group, $EinstellungsArray, $LanguageID = "") {

	//Sprachunabhaengige Einstellungen
	if (!$LanguageID) {

        $SQLString = 'UPDATE ' . TABLE_EINSTELLUNGEN . ' SET ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.value = \'\' ';
        $SQLString .= 'WHERE ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.group = \'' . $Group . '\' ';

        $MySQLQueryReference = errorlogged_mysql_query($SQLString);

        foreach ($EinstellungsArray as $Key => $Value) {

            $SQLString = 'SELECT ';
            $SQLString .= TABLE_EINSTELLUNGEN . '.key ';
			$SQLString .= 'FROM ';
			$SQLString .= TABLE_EINSTELLUNGEN . ' ';
			$SQLString .= 'WHERE ';
			$SQLString .= TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\' ';

            if (mysql_num_rows(errorlogged_mysql_query($SQLString))) {

                $SQLString = 'UPDATE ' . TABLE_EINSTELLUNGEN . ' SET ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.value = \'' . $Value . '\', ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.group = \'' . $Group . '\' ';
                $SQLString .= 'WHERE ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\' ';

                $MySQLQueryReference = errorlogged_mysql_query($SQLString);

            } else {

                $SQLString = 'INSERT INTO  ' . TABLE_EINSTELLUNGEN . ' SET ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.value = \'' . $Value . '\', ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\', ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.group = \'' . $Group . '\' ';

                $MySQLQueryReference = errorlogged_mysql_query($SQLString);

            }
        }
    // Sprachabhaenige Einstellungen
	} else {

        $SQLString = 'UPDATE ' . TABLE_EINSTELLUNGEN . ' SET ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.value = \'\' ';
        $SQLString .= 'WHERE ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.group = \'' . $Group . '\' ';
        $SQLString .= 'AND ';
        $SQLString .= TABLE_EINSTELLUNGEN . '.language_id = \'' . $LanguageID . '\' ';

        $MySQLQueryReference = errorlogged_mysql_query($SQLString);

        foreach ($EinstellungsArray as $Key => $Value) {

            $SQLString = 'SELECT ';
            $SQLString .= TABLE_EINSTELLUNGEN . '.key ';
            $SQLString .= 'FROM ';
            $SQLString .= TABLE_EINSTELLUNGEN . ' ';
            $SQLString .= 'WHERE ';
            $SQLString .= TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\' ';
            $SQLString .= 'AND ';
            $SQLString .= TABLE_EINSTELLUNGEN . '.language_id = \'' . $LanguageID . '\' ';

            if (mysql_num_rows(errorlogged_mysql_query($SQLString))) {

                $SQLString = 'UPDATE ' . TABLE_EINSTELLUNGEN . ' SET ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.value = \'' . $Value . '\' ';
                $SQLString .= 'WHERE ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\' ';
                $SQLString .= 'AND ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.language_id = \'' . $LanguageID . '\' ';

                $MySQLQueryReference = errorlogged_mysql_query($SQLString);

            } else {

                $SQLString = 'INSERT INTO  ' . TABLE_EINSTELLUNGEN . ' SET ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.value = \'' . $Value . '\', ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.key = \'' . $Key . '\', ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.group = \'' . $Group . '\', ';
                $SQLString .= TABLE_EINSTELLUNGEN . '.language_id = \'' . $LanguageID . '\' ';

                $MySQLQueryReference = errorlogged_mysql_query($SQLString);

            }

        }

	}

}

function GetUserList() {

	$SQLString = 'SELECT id, name FROM ' . TABLE_USER;
	$result = errorlogged_mysql_query($SQLString);
	$userList = array();
	while($userObject = mysql_fetch_object($result)) {
		$userList[] = $userObject;
	}
	return $userList;
}

function GetUserObject($user_id) {
	$SQLString = 'SELECT id, name FROM ' . TABLE_USER . ' WHERE id = \'' . $user_id . '\'';
	$result = errorlogged_mysql_query($SQLString);
	$userObject = mysql_fetch_object($result);
	return $userObject;
}

// Quelle: http://www.coder-wiki.de/HowTos/PHP-Apache-htpasswd-md5-Verschluesselung
function crypt_apr1_md5($plainpasswd) {
    $salt = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 0, 8);
    $len = strlen($plainpasswd);
    $text = $plainpasswd.'$apr1$'.$salt;
    $bin = pack("H32", md5($plainpasswd.$salt.$plainpasswd));
    for($i = $len; $i > 0; $i -= 16) { $text .= substr($bin, 0, min(16, $i)); }
    for($i = $len; $i > 0; $i >>= 1) { $text .= ($i & 1) ? chr(0) : $plainpasswd{0}; }
    $bin = pack("H32", md5($text));
    for($i = 0; $i < 1000; $i++) {
        $new = ($i & 1) ? $plainpasswd : $bin;
        if ($i % 3) $new .= $salt;
        if ($i % 7) $new .= $plainpasswd;
        $new .= ($i & 1) ? $bin : $plainpasswd;
        $bin = pack("H32", md5($new));
    }
    for ($i = 0; $i < 5; $i++) {
        $k = $i + 6;
        $j = $i + 12;
        if ($j == 16) $j = 5;
        $tmp = $bin[$i].$bin[$k].$bin[$j].$tmp;
    }
    $tmp = chr(0).chr(0).$bin[11].$tmp;
    $tmp = strtr(strrev(substr(base64_encode($tmp), 2)),
    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
    return "$"."apr1"."$".$salt."$".$tmp;
}

function SaveUser($user_id, $name, $password)
{
	if($user_id)
		$SQLString = 'UPDATE ' . TABLE_USER . ' SET ';
	else
		$SQLString = 'INSERT INTO ' . TABLE_USER . ' SET ';
	$SQLString .= 'name = \'' . $name . '\', ';
	$SQLString .= 'pw = \'' . crypt_apr1_md5($password) . '\' ';
	if($user_id)
		$SQLString .= 'WHERE id = \'' . $user_id . '\'';

	errorlogged_mysql_query($SQLString);
}

function SaveUserPWFile()
{
	$fh = fopen(DATEIPFAD . 'admin/data/.passwd', 'w');
	fwrite($fh, getUserPWFileContent());
	fclose($fh);
}

function getUserPWFileContent()
{
	$SQLString = 'SELECT name, pw FROM ' . TABLE_USER;
	$result = errorlogged_mysql_query($SQLString);
	$fileContent = '';
	while($userRow = mysql_fetch_assoc($result))
	{
		$fileContent .= $userRow['name'] . ':' . $userRow['pw'] . "\r\n";
	}
	return $fileContent;
}

function get_htaccess_content()
{
	$content =  "AuthType Basic\r\n";
	$content .= "AuthName \"Admin-Bereich\"\r\n";
	$content .= "AuthUserFile " . DATEIPFAD . "admin/data/.passwd\r\n";
	$content .= "require valid-user\r\n";
	return $content;
}

function DeleteUser($user_id) {
	$SQLString = 'DELETE FROM ' . TABLE_USER . ' WHERE id = \'' . $user_id . '\'';
	errorlogged_mysql_query($SQLString);
}

function getUserCount() {
	$SQLString = 'SELECT count(*) FROM ' . TABLE_USER;
	$row = mysql_fetch_row(errorlogged_mysql_query($SQLString));
	return $row[0];
}

function existsUserAndPWFile() {

	if(getUserCount() > 0 && file_exists(DATEIPFAD . 'admin/data/.passwd') && filesize(DATEIPFAD . 'admin/data/.passwd') > 0) {
		return true;
	} else {
		return false;
	}
}

?>