<?php

error_reporting(E_ALL ^ (E_NOTICE));
include_once('../includes/functions.global.inc.php');

// Ueberpruefe die Php Version
if(!check_version(PHP_VERSION, "5.2.0") ) {
  	$phpVersMeldung = PHP_VERSION . ' <small>(Mindestanforderung: 5.2.0)</small>';
	$phpVersError = true;
	$phpVersClass = "fehler";
} else {
	$phpVersMeldung = PHP_VERSION;
	$phpVersClass = "ok";
}

//if((bool)ini_get('short_open_tag') === false) {
//	$ShortMeldung = 'OFF';
//	$ShortMeldungError = true;
//	$ShortMeldungClass = 'fehler';
//} else {
//	$ShortMeldung = 'ON';
//	$ShortMeldungClass = 'ok';
//}


// Modrewrite
$Ergebnis = check_mod_rewrite();
if($Ergebnis === "true_mod") {
	$ModRewriteMeldung = 'ON';
	$ModRewriteClass = 'ok';
} elseif($Ergebnis === "not_mod") {
	$ModRewriteMeldung = 'OFF <small>Ohne mod_rewrite gehen keine sprechenden Urls</small>';
	$ModRewriteClass = 'warnung';
} else {
	$ModRewriteMeldung = '-- <small>mod_rewrite kann auf Ihrem Server nicht geprüft werden.</small>';
	$ModRewriteClass = 'warnung';
}


// Datenbankversion prüfen
$MySQLVersionSearch = preg_match('/\d*[.]\d*[.]\d*/', mysql_get_client_info(), $MySQLVersion);

if ($MySQLVersionSearch) {
    $MySQLVersionArray = explode('.', $MySQLVersion[0]);
    $MySQLVersionNumber = (double)((int)$MySQLVersionArray[0] + ((int)$MySQLVersionArray[1] / 10));
} else {
    $MySQLVersionNumber = 0;
}

if ($MySQLVersionNumber >= 5) {
	$MySQLVersion = $MySQLVersion[0];
	$MySQLClass = 'ok';
} else {
	$MySQLVersion = $MySQLVersion[0];
	$MySQLVersionError = true;
	$MySQLClass = 'fehler';
}

if(init_curl) {
	$CurlMeldung = 'ON';
	$CurlMeldungClass = 'ok';
} else {
	$CurlMeldung = 'OFF';
	$CurlMeldungClass = 'fehler';
	$CurlMeldungError = true;
}


// Gettext prüfen
$GetTextAvailable = function_exists('gettext');
if($GetTextAvailable) {
    $GetTextMeldung = 'ON';
} else {
    $GetTextMeldung = 'OFF';
    $GetTextError = true;
}

// Check Schreibrechte
// Und Dateien sowie Ordner erstellen

if(!is_writeable("../data")) {
	$schreibData = 'Nein';
	$schreibDataError = true;
	$schreibDataClass = "fehler";
} else {
	$schreibData = 'Ja';
	$schreibDataClass = "ok";
}

if(!is_writeable("../admin/data")) {
	$schreibPdf = 'Nein';
	$schreibPdfError = true;
	$schreibPdfClass = "fehler";
} else {
	if(!file_exists("../admin/data/pdf")) {
		mkdir("../admin/data/pdf");
		chmod("../admin/data/pdf", 0777);
	}
    if(!file_exists("../admin/data/uploads")) {
        mkdir("../admin/data/uploads");
        chmod("../admin/data/uploads", 0777);
    }
	if(!file_exists("../admin/data/logs")) {
		mkdir("../admin/data/logs");
		chmod("../admin/data/logs", 0777);
        mkdir("../admin/data/export");
        chmod("../admin/data/export", 0777);
        mkdir("../admin/data/import");
        chmod("../admin/data/import", 0777);
		mkdir("../admin/data/logs/bestellungen");
		chmod("../admin/data/logs/bestellungen", 0777);
		mkdir("../admin/data/logs/errors");
		chmod("../admin/data/logs/errors", 0777);
        mkdir("../admin/data/logs/lager");
        chmod("../admin/data/logs/lager", 0777);
        mkdir("../admin/data/logs/mails");
        chmod("../admin/data/logs/mails", 0777);
        mkdir("../admin/data/logs/schnittstellen");
        chmod("../admin/data/logs/schnittstellen", 0777);
        mkdir("../admin/data/logs/schnittstellen/buergel");
        chmod("../admin/data/logs/schnittstellen/buergel", 0777);
        mkdir("../admin/data/logs/uploads");
        chmod("../admin/data/logs/uploads", 0777);
	}
	$schreibPdf = 'Ja';
	$schreibPdfClass = "ok";
}

if(!is_writeable("../images/dbimages")) {
	$schreibdbImages = '<span class="errorText">Nein</span>';
	$schreibdbImagesError = true;
	$schreibdbImagesClass = "fehler";
} else {
	if(!file_exists("../images/dbimages/cms")) {
		mkdir("../images/dbimages/cms");
		chmod("../images/dbimages/cms", 0777);
		mkdir("../images/dbimages/cms/image");
		chmod("../images/dbimages/cms/image", 0777);
	}
    if(!file_exists("../images/dbimages/slider")) {
        mkdir("../images/dbimages/slider");
        chmod("../images/dbimages/slider", 0777);
    }
    if(!file_exists("../images/dbimages/facettensuche")) {
        mkdir("../images/dbimages/facettensuche");
        chmod("../images/dbimages/facettensuche", 0777);
    }
    if(!file_exists("../images/dbimages/upload")) {
        mkdir("../images/dbimages/upload");
        chmod("../images/dbimages/upload", 0777);
    }
	$schreibdbImages = '<span class="okText">Ja</span>';
	$schreibdbImagesClass = "ok";
}


if(!is_writeable("../conf/config.inc.php")) {
	$schreibConfig = '<span class="errorText">Nein</span>';
	$schreibConfigError = true;
	$schreibConfigClass = "fehler";
} else {
	$schreibConfig = '<span class="okText">Ja</span>';
	$schreibConfigClass = "ok";
}


if($phpVersError) {
	$abfrageAuswertung = 'Sie ben&ouml;tigen eine aktuellere PHP Version, um die Installation fortzusetzen!! <a href="hilfe.php#version">HILFE</a>';
} elseif($schreibCSSError || $schreibDataError || $schreibPdfError || $schreibdbImagesError || $schreibLogoError || $schreibConfigError) {
	$abfrageAuswertung .= 'Sie m&uuml;ssen erst die Schreibrechte f&uuml;r die rot hinterlegten Verzeichnisausgaben setzen!! <a href="http://dierandgruppe.eu/randwiki/index.php/Installation#Schreibrechte_von_Verzeichnissen_und_Dateien" target="_blank">HILFE</a>';
//} elseif($ShortMeldungError) {
//	$abfrageAuswertung .= 'Ohne die Einstellung open_short_tag ist der Shop aktuell nicht lauffähig!! Setzen Sie sich mit Ihrem Provider in Verbindung, dieser wird die Einstellung vornehmen können, da dies zu den Grundeinstellungen gehört und von 95% der Hoster unterstützt wird.';
} elseif($MySQLVersionError) {
	$abfrageAuswertung .= 'Ihre Mysql Version ist zu klein!! Sie benötigen für den aktuellen Shop eine Version ab 5.x!';
} elseif($CurlMeldungError) {
	$abfrageAuswertung .= 'Ohne das PHP Curlmodul werden keine Mails verschickt, somit ist der Shop dann nicht lauffähig!! Setzen Sie sich mit Ihrem Provider in Verbindung, dieser wird die Einstellung vornehmen können, da dies zu den Grundeinstellungen gehört.';
} elseif($GetTextError) {
    $abfrageAuswertung .= 'Ohne das GNU gettext Paket ist der Shop nicht lauffähig. Bitte Setzen Sie sich mit Ihrem Provider in Verbindung, dieser kann das Paket für Ihren Webserver installieren. ';
} else {
	$abfrageAuswertung = '<strong><a href="config.php">Weiter</a></strong>';
}


$ContentFile = 'template/funktionspruefung.tpl';

include_once('template/index.tpl');

