<?php

class AdminNavi {
	
	private $naviStruktur;
	private $aktivesTopMenue;
    private $aktivesUnterMenue;
	private $aktivesSeitenMenue;
	
	function __construct() {
		$this->naviStruktur = 
		array(
			"Start / Einstellungen"=>array(
				"Startseite"=>"Startseite",
				"Untermenues"=>array(
                    "Shop Einstellungen" => array(
                        "Startseite"=>ADMINURLPFAD . "index.php",
					    "Shopeinstellungen"=>ADMINURLPFAD . "themes/einstellungen/index.php?sessionReset=true",
                        "Benutzerverwaltung"=>ADMINURLPFAD . "themes/benutzerverwaltung/user_index.php?sessionReset=true",
                        "MwSt Einstellung"=>ADMINURLPFAD . "themes/mwst/index.php?sessionReset=true",
                        "Währungen"=>ADMINURLPFAD . "themes/waehrung/index.php?sessionReset=true"
                    ),
                    "Sprachen"=>array(
                        "Übersicht"=>ADMINURLPFAD . "themes/einstellungen/sprachen_index.php?sessionReset=true"
                    ),
                    "Info Menüpunkte"=>array(
                        "Übersicht"=>ADMINURLPFAD . "themes/cms/menue_index.php?sessionReset=true"
                    ),
                    "Layout"=>array(
                        "Templates"=>ADMINURLPFAD . "themes/layout/template_index.php?sessionReset=true",
                        "Zusatzboxen"=>ADMINURLPFAD . "themes/cms/boxen_index.php?sessionReset=true"
                    ),
                    "SEO"=>array(
                        "META Startseite"=>ADMINURLPFAD . "themes/seo/meta_index.php?sessionReset=true",
                        "Sitemap"=>ADMINURLPFAD . "themes/seo/sitemap_index.php?sessionReset=true"
                    ),
                    "Support"=>array(
                        "Forum"=>array('link' => "http://www.forum.randshop.com/", 'target' => '_blank'),
                        "Dokumentation"=>array('link' => "http://www.wiki.randshop.com/", 'target' => '_blank')
                    ),
                    "System Info"=>array(
                        "System"=>ADMINURLPFAD . "themes/system/info_index.php?sessionReset=true",
                        "Mail Logs"=>ADMINURLPFAD . "themes/system/maillogs_index.php?sessionReset=true"
                    ),
                    "Datenbank-Backup"=>array(
                        "Backup erstellen"=>ADMINURLPFAD . "themes/system/backup_index.php?sessionReset=true"
                    )
                )
            ),
            "Konfigurator"=>array(
                "Startseite"=>"Konfigurator",
                "Untermenues"=>array(
                    "Konfigurator"=>array(
                        "Konfigurator"=>URLPFAD . "admin/index.php?formaction=navi_konfigurator&amp;formsiteaction=konfigurator/produkte/index"
                    )
                ),
                "Bedingung"=>KONFIGURATOR
            ),
            "Versand"=>array(
				"Startseite"=>"Währung", 
				"Untermenues"=>array(
                    "Versand"=>array(
                        "Währung"=>URLPFAD . "admin/index.php?formaction=navi_versand&amp;formsiteaction=land/index",
                        "MwSt"=>"themes/mwst/kunden.php"
                    )
                )
            ),
            "Artikel"=>array(
                "Startseite"=>"Artikel",
                "Untermenues"=>array(
                    "Artikel"=>array(
                        "Artikel"=>URLPFAD . "admin/index.php?formaction=navi_artikel&amp;formsiteaction=artikel/index"
                    )
                )
            ),
            "Kunden"=>array(
                "Startseite"=>"Kunden",
                "Untermenues"=>array(
                    "Kunden"=>array(
                        "Kunden"=>URLPFAD . "admin/index.php?formaction=navi_kunden&amp;formsiteaction=kunden/index"
                    )
                )
            ),
            "Faktura"=>array(
                "Startseite"=>"Faktura",
                "Untermenues"=>array(
                    "Faktura"=>array(
                        "Faktura"=>URLPFAD . "admin/index.php?formaction=navi_rechnung&amp;formsiteaction=bestellungen/index"
                    )
                )
            ),
            "Lieferanten"=>array(
                "Startseite"=>"Lieferanten",
                "Untermenues"=>array(
                    "Lieferanten"=>array(
                        "Lieferanten"=>URLPFAD . "admin/index.php?formaction=navi_lieferanten&amp;formsiteaction=lieferanten/index"
                    )
                ),
                "Bedingung"=>LIEFERANTENVERWALTUNG,
            ),
            "Statistik/Umsätze mit Modul"=>array(
                "Startseite"=>"Statistik",
                "Untermenues"=>array(
                    "Statistik"=>array(
                        "Statistik"=>URLPFAD . "admin/index.php?formaction=navi_statistik.mod&amp;formsiteaction=statistik.mod/index"
                    )
                ),
                "Bedingung"=>STATISTIK,
                "AnzeigeName"=>"Statistik/Umsätze"
            ),
            "Statistik/Umsätze ohne Modul"=>array(
                "Startseite"=>"Statistik",
                "Untermenues"=>array(
                    "Statistik"=>array(
                        "Statistik"=>URLPFAD . "admin/index.php?formaction=navi_stat&amp;formsiteaction=statistik/artikel"
                    )
                ),
                "Bedingung"=>!STATISTIK,
                "AnzeigeName"=>"Statistik/Umsätze"
            ),
            "Export/Import"=>array(
                "Startseite"=>"Export",
                "Untermenues"=>array(
                    "Export"=>array(
                        "Export"=>URLPFAD . "admin/index.php?formaction=navi_dataexchange&amp;formsiteaction=dataexchange/settings_basicdata"
                    )
                )
            ),
            "CMS"=>array(
                "Startseite"=>"CMS",
                "Untermenues"=>array(
                    "CMS"=>array(
                        "CMS"=>URLPFAD . "admin/index.php?formaction=navi_cms&amp;formsiteaction=cms/index"
                    )
                )
            ),
            "Ebay"=>array(
                "Startseite"=>"Ebay",
                "Untermenues"=>array(
                    "Ebay"=>array(
                        "Ebay"=>URLPFAD . "admin/index.php?formaction=navi_ebay&amp;formsiteaction=ebay/ebay_item_list"
                    )
                ),
                "Bedingung"=>EBAY
            ),
            "Kasse"=>array(
                "Startseite"=>"Kasse",
                "Untermenues"=>array(
                    "Kasse"=>array(
                        "Kasse"=>URLPFAD . "admin/index.php?formaction=navi_kasse&amp;formsiteaction=kasse/konfig",
                        "Kundengruppen"=>"themes/kundengruppen/index.php"
                    )
                ),
                "Bedingung"=>KASSE
            )
		);
		
		foreach($this->naviStruktur as $topMenue => $topMenueEintrag) { 
            foreach($topMenueEintrag['Untermenues'] as $unterMenueName => $unterMenuePunkte) {
                foreach($unterMenuePunkte as $menuePunktName=>$menuePunktLink) {
                    if(is_array($menuePunktLink)) {
                        $menuePunktLink = $menuePunktLink['link'];
                    }
                    if(strstr($menuePunktLink, $_SERVER['SCRIPT_NAME']) !== FALSE) {
                        $this->aktivesTopMenue = $topMenue;
                        $this->aktivesUnterMenue = $unterMenueName;
                        $this->aktivesSeitenMenue = $menuePunktName;
                        $_SESSION['aktivesTopMenue'] = $topMenue;
                        $_SESSION['aktivesUnterMenue'] = $unterMenueName;
                        $_SESSION['aktivesSeitenMenue'] = $menuePunktName;
                    }
                }
            }
        }

        // wird die aktuelle Seite in der Navigationsstruktur nicht gefunden, nehmen wir die aktiven Menüs aus der
        // Session, so wird beispielsweise auf den Editieren Seiten das aktuelle Menü korrekt gehighlightet, obwohl
        // diese  ja nicht direkt über die Navigationslinks erreichbar sind sondern üblicherweise aus einer Liste
        // aufgerufen werden
        if(!isset($this->aktivesTopMenue)) {
            $this->aktivesTopMenue = $_SESSION['aktivesTopMenue'];
        }

        if(!isset($this->aktivesUnterMenue)) {
            $this->aktivesUnterMenue = $_SESSION['aktivesUnterMenue'];
        }

        if(!isset($this->aktivesSeitenMenue)) {
            $this->aktivesSeitenMenue = $_SESSION['aktivesSeitenMenue'];
        }


	}
		
   
	function GetTopNaviArray() {
		$topNaviArray = array();
		foreach($this->naviStruktur as $name => $menueEintrag) {
            if(isset($menueEintrag['AnzeigeName'])) {
                $name = $menueEintrag['AnzeigeName'];
            }
            if(!isset($menueEintrag['Bedingung']) || $menueEintrag['Bedingung']) {
                foreach($menueEintrag['Untermenues'] as $unterMenueName => $menuePunkte) {
                    if(isset($menuePunkte[$menueEintrag['Startseite']])) {
                        $topNaviArray[$name]['link'] = $menuePunkte[$menueEintrag['Startseite']];
                    }
                }
            }
		}
		$topNaviArray[$this->aktivesTopMenue]['aktiv'] = true;
		return $topNaviArray;
	}
	
	function GetSeitenNaviArray() {
		$seitenNaviArray = array();
		if($this->aktivesTopMenue) {
			foreach($this->naviStruktur[$this->aktivesTopMenue]['Untermenues'] as $untermenuename => $menuepunkte) {
                foreach($menuepunkte as $menuepunktName => $menuepunktLink) {
                    if(is_array($menuepunktLink)) {
                        $seitenNaviArray[$untermenuename][$menuepunktName] = $menuepunktLink;
                    } else {
                        $seitenNaviArray[$untermenuename][$menuepunktName]['link'] = $menuepunktLink;
                    }
                    if($this->aktivesSeitenMenue == $menuepunktName && $this->aktivesUnterMenue == $untermenuename)
                        $seitenNaviArray[$untermenuename][$menuepunktName]['aktiv'] = true;
                }
			}
		}
		return $seitenNaviArray;
	}
}

?>