diff --git a/install/index.php b/install/index.php index ec84b0640c572b48c7ad5703d14ce591d78ae7b2..427d8142839b32fffe5bb40d355937de01f1647e 100644 --- a/install/index.php +++ b/install/index.php @@ -1,446 +1,895 @@ -<center> -<?php -error_reporting(E_ALL); -if(!isset($_GET['step'])){ $_GET['step'] = 0;} - -require('../lib/functions.lib.php'); - -if(isset($_POST['datenbank_anlegen'])){ - $inhalt = ' - <?php - $db_host = "'.$_POST['host'].'"; - // Mysql User - $db_user = "'.$_POST['nutzername'].'"; - // Mysql PW - $db_pass = "'.$_POST['passwort'].'"; - // Datenbank - $db_base = "'.$_POST['db'].'"; - //Datenbank Prefix - $db_prefix = "'.$_POST['prefix'].'"; - - //Passwort zusatz - $pw_zusatz = '. create_code(5) .'; - - // Verschlüsselungspasswort - $ver_schluessel = '. create_code(16) .'; - - //Datenbankverbindung herstellen - $sql_open = @mysqli_connect($db_host, $db_user, $db_pass, $db_base) or die(\'Verbindung zum Mysql Server fehlgeschlagen! <br>Tipp: <a href="http://www.vms-tutorial.de/wiki//Lib/Functions">http://www.vms-tutorial.de/wiki//Lib/Functions</a>\'); - $sql_base = @mysqli_select_db($sql_open,$db_base) or die("Keine oder falsche Datenbank gewählt! Tipp: <br><a href=\'http://www.vms-tutorial.de/wiki//Lib/Functions\'>http://www.vms-tutorial.de/wiki//Lib/Functions</a>"); - - /** - * db_connect() - * - * @author designerscripte.net - * @category system Database - * @version 2.5.0 - * @example db_query("SELECT `field` FROM `table` WHERE `field` = `value` "); - * @param mixed $sql_tag - * @return 0 bei Fehler Mysql_resource. - * - */ - function db_query($sql_tag) { - global $count_query,$sql_open; - $count_query++; - $fargs = func_get_args(); - - if (!empty($fargs)) { - $vargs = array(); - foreach($fargs as $key => $arg) { - $vargs[$key] = mysqli_real_escape_string($sql_open,$arg); - } - array_shift($vargs); - if (!empty($vargs))$sql_tag = vsprintf($sql_tag, $vargs); - } - if ($ret = mysqli_query($sql_open,$sql_tag)) { - return $ret; - }else { - return 0; - } - } - - function pw_erstellen($pw){ - global $pw_zusatz; - $pw_er = hash("sha256",$pw.$pw_zusatz); - return $pw_er; - } - - /** - * db_close() - * - * @author designerscripte.net - * @category system Database - * @version 2.5.0 - * @example db_close(); - * @return die(\'\'); bei fehler nichts bei erfolg - */ - function db_close() { - global $sql_open; - @mysqli_close($sql_open) or die(\'Konnte die Verbindung mit Datenbank nicht schliessen!\'); - } - - $daten = mysqli_fetch_array(db_query("SELECT domain,seitenname,waehrung,betreibermail,cron_pw FROM ".$db_prefix."_seitenkonfig ")); - // Domain (ohne Slash am Ende) - $domain = $daten[\'domain\']; - // Seitenname - $seitenname = $daten[\'seitenname\']; - // Seitenwährung - $waehrung = $daten[\'waehrung\']; - // ID vom Admin - $admin_id = 1; - // Adminmail - $betreibermail = $daten[\'betreibermail\']; - // Passwort für Crons - $cron_pw = $daten[\'cron_pw\']; - // beliebiger Alphanumerischer String hilft beim Schutz vor Autoklickern - $percode = \'551c3d4318d668cc2b00d02b40d1e6cd282817c2be65d401ed0cff2e6b\'; - /* Globale Variablen nichts ändern */ - $ip = $_SERVER[\'REMOTE_ADDR\']; - ?> - '; - - $datei = fopen("../lib/datenbank.inc.php","w"); - fwrite($datei, $inhalt,100000); - fclose($datei); -} - -if($_GET['step'] == 4 && $_GET['db'] == true){ - require_once('../lib/datenbank.inc.php'); - - $import = file_get_contents("mysql.txt"); - - $import = preg_replace ("%/\*(.*)\*/%Us", '', $import); - $import = preg_replace ("%^--(.*)\n%mU", '', $import); - $import = preg_replace ("%^$\n%mU", '', $import); - mysqli_real_escape_string($sql_open,$import); - $queries = explode (";", $import); - - $meldung = ''; - - foreach($queries as $query){ - $insert = db_query($query); - if($insert == true){ - $meldung .= '<span style="color:green;">Tabelle angelegt</span><br><br>'; - }else{ - $meldung .= '<span style="color:red;">'.mysqli_error($sql_open).'</span><br><br>'; - } - } - db_query("INSERT INTO `vms_seitenkonfig` (`wartung`, `domain`, `seitenname`, `waehrung`, `betreibermail`, `cron_pw`, `einzahlgrenze`, `re1`, `re2`, `re3`, `min_betteln`, `max_betteln`, `reload_betteln`, `denied_domains`, `admin_name`, `admin_pass`, `auszahlgrenze`, `chat_aktiv`, `fake_schluessel`, `anzeige_chat`, `anzeige_text`, `geb_addon`, `news_komment`) VALUES - (0, '', '', '', '', '', 100000, 8.00, 3.00, 1.00, 50.00, 250.00, 0, '@sofort-mail.de;@trash-mail.de;@mailinator.com;@spamgourmet.com;@spammotel.com;@centermail.com;@discardmail.com;@sneakemail.com;@netzidiot.de;@myTrashMail.com;@wegwerfadresse.de;@nervmich.net;@nervtmich.net;@mailinator.net;@klassmaster.com;@mailin8r.com;@sogetthis.com;@mailinator2.com', '', '', 100, 2, '', 1, 1, 1, 1)"); -} - -if(isset($_POST['grunddaten'])){ - require_once('../lib/datenbank.inc.php'); - $insert = db_query("UPDATE ".$db_prefix."_seitenkonfig SET - domain = '".$_POST['domain']."', - seitenname = '".$_POST['name']."', - waehrung = '".$_POST['waehrung']."', - betreibermail = '".$_POST['betreibermail']."', - cron_pw = '".$_POST['cron_pw']."' - "); - if($insert != true){ - $_GET['step'] = 5; - echo mysqli_error($sql_open); - } -} - -if(isset($_POST['zugangsdaten_festlegen'])){ - if($_POST['admin_pass'] != $_POST['admin_pass_2']){ - $_GET['step'] = 6; - $fehler = 1; - echo '<span style="color:red;">Das Adminforce Passwort stimmt nicht überein</span><br>'; - } - - if($_POST['user_pass'] != $_POST['user_pass_2']){ - $_GET['step'] = 6; - $fehler = 1; - echo '<span style="color:red;">Das User Passwort stimmt nicht überein</span><br>'; - } - - if($fehler != 1){ - require_once('../lib/datenbank.inc.php'); - $nickname = $_POST['user_name']; - $passwort = pw_erstellen($_POST['user_pass']); - $admin_name = base64_encode($_POST['admin_name']); - db_query("UPDATE ".$db_prefix."_kontodaten SET passwort = '". $passwort ."' WHERE uid = '1' "); - db_query("UPDATE ".$db_prefix."_userdaten SET nickname = '". $nickname ."' WHERE uid = '1' "); - db_query("UPDATE ".$db_prefix."_seitenkonfig SET admin_name = '". $admin_name ."', admin_pass = '". $passwort ."' "); - } -} - -if(isset($_POST['berechtigung_setzen'])){ - - $alledateien = scandir('../lib/texte/'); - foreach ($alledateien as $datei) { - if( $datei != '.' && $datei != '..'){ - if( !is_writable ('../lib/texte/'.$datei ) ){ - if($datei != '.' OR $datei != '..'){ - $beschreibung = '../lib/texte/'.$datei; - $chmod = chmod($beschreibung , 0755); - if($chmod == false){ - $fehler_chmod = 1; - } - } - } - } - } - - $_GET['step'] = 7; -} - -if(isset($_POST['impressum_anlegen'])){ - $anschrift = 'Anschrift Seitenbetreiber. - '.$_POST['name'].' '.$_POST['vorname'].' - '.$_POST['str'].' '.$_POST['hs'].' - '.$_POST['plz'].' '.$_POST['ort'].' - <a href="'.$_POST['mail'].'">'.$_POST['mail'].'</a>'; - - $impressum = file_get_contents("impressum.txt"); - - $inhalt = $anschrift.$impressum; - $datei = fopen("../lib/texte/impressum.txt","w"); - fwrite($datei, $inhalt,100000); - fclose($datei); - chmod('../lib/texte/impressum.txt' , 0755); -} - - if($_GET['step'] == 1 OR empty($_GET['step'])){ - echo ' - Herlich Willkommen im Installationsscript von VMS-SUEE.<br> - Hier werden Sie schnell und einfach durch die Installation geleitet, damit Sie das Script nutzen können.'; - - if (is_writable('../lib')) { - echo '<input type="button" onclick="window.location.href = \'?step=2\';" value="Weiter">'; - } else { - echo '<br><br> - <span style="color:red;">Der Ordner lib benötigt schreibrechte. Bitte stelle bei diesem die Schreibrechte auf chmod777 um und aktualiesiere die Seite.</span>'; - } - - - } - - if($_GET['step'] == 2){ - echo ' - Als erstes legen wir die Datenbankverbindung an: - <form method="post" action="?step=3"> - <table width="500px"> - <tr> - <td>Datenbankserver:</td> - <td><input type="text" name="host" value="localhost"></td> - </tr> - <tr> - <td>Nutzername:</td> - <td><input type="text" name="nutzername"></td> - </tr> - <tr> - <td>Passwort:</td> - <td><input type="text" name="passwort"></td> - </tr> - <tr> - <td>Datenbankname:</td> - <td><input type="text" name="db"></td> - </tr> - <tr> - <td>Datenbank Prefix:</td> - <td><input type="text" name="prefix" value="vms"></td> - </tr> - </table> - <input type="submit" name="datenbank_anlegen" value="Verbindung Anlegen"> - </form> - '; - } - - if($_GET['step'] == 3){ - echo ' - Jetzt werden alle Tabellen und Spalten in die Datenbank eingetragen und die ersten Datensätze dazu geschrieben.<br><br> - - <input type="button" onclick="window.location.href = \'?step=4&db=true\';" value="Weiter"> - '; - } - - if($_GET['step'] == 4){ - echo ' - Hier die Meldungen der Eintragung für die Datenbank.<br> - <div style="height:500px; width:500px; overflow:auto;">'.$meldung.'</div> - <br> - <input type="button" onclick="window.location.href = \'?step=5\';" value="Weiter"> - '; - } - - if($_GET['step'] == 5){ - echo ' - Nun kommen wir zu den Grundeinstellungen für deine Seite.<br><br> - <form method="post" action="?step=6"> - <table width="500px"> - <tr> - <td>Name deiner Seite</td> - <td><input type="text" name="name"></td> - </tr> - <tr> - <td>Domain deiner Seite</td> - <td><input type="text" name="domain" value="http://"></td> - </tr> - <tr> - <td>Name deiner Währung</td> - <td><input type="text" name="waehrung"></td> - </tr> - <tr> - <td>Betreiber E-Mail Adresse</td> - <td><input type="text" name="betreibermail"></td> - </tr> - <tr> - <td>Cronjob Passwort</td> - <td><input type="text" name="cron_pw" value="cronpw"></td> - </tr> - </table> - <input type="submit" name="grunddaten" value="Speichern"> - </form> - '; - } - - if($_GET['step'] == 6){ - echo ' - Der letzte Schritt ist nun erreicht. Jetzt kommen die Zugangsdaten zum Adminforce und Userseite.<br><br> - - <form method="post" action="?step=7"> - <table width="500px"> - <tr> - <td align="right">Zugangsdaten</td> - <td align="left">Adminforce</td> - </tr> - <tr> - <td>Nutzername</td> - <td><input type="text" name="admin_name"></td> - </tr> - <tr> - <td>Passwort</td> - <td><input type="password" name="admin_pass"></td> - </tr> - <tr> - <td>Passwort wiederholen</td> - <td><input type="password" name="admin_pass_2"></td> - </tr> - <tr> - <td align="right">ZUgangsdaten</td> - <td align="left">Userbereich</td> - </tr> - <tr> - <td>Nutzername</td> - <td><input type="text" name="user_name"></td> - </tr> - <tr> - <td>Passwort</td> - <td><input type="password" name="user_pass"></td> - </tr> - <tr> - <td>Passwort wiederholen</td> - <td><input type="password" name="user_pass_2"></td> - </tr> - </table> - <input type="submit" name="zugangsdaten_festlegen" value="Speichern"> - </form> - '; - } - - if($_GET['step'] == 7){ - echo ' - <form method="post" action="?step=8"> - Der Ordner lib/texte und die darin befindlichen Datein benötigen Schreibrechte.<br> - Es wird geprüft ob diese vorhanden sind oder nicht.<br> - - <table width="500px">'; - $alledateien = scandir('../lib/texte/'); //Ordner "files" auslesen - foreach ($alledateien as $datei) { // Ausgabeschleife - if( $datei != '.' && $datei != '..'){ - if( is_writable ('../lib/texte/'.$datei )){ - $rechte = '<span style="color:green;">Beschreibbar</span>.'; - }else{ - $rechte = '<span style="color:red;">nicht Beschreibbar</span>'; - $fehler = 1; - } - - echo '<tr> - <td>'.$datei.'</td> - <td>'.$rechte.'</td> - </tr>'; - } - } - - echo '</table>'; - if($fehler_chmod == 1){ - echo ' - Es ist ein Fehler beim festlegen der Berechtigungen bei einer oder mehreren Datein aufgetretten.<br> - Bitte änder die Berechtigungen manuell und lege bei den Datein den Wert 0777 fest.<br> - <input type="button" onclick="window.location.href = \'?step=7\';" value="Prüfen"> - '; - } - if($fehler > 0){ - if( ini_get('safe_mode') ){ - echo 'Da safe_mode aktiviert ist, müssen die Berechtigungen manuell gesetzt werden.<br><br> - <input type="submit" name="aktualisieren" value="Aktualisieren">'; - }else{ - if($fehler_chmod != 1){ - echo ' - <input type="submit" name="berechtigung_setzen" value="Berechtigungen setzen">'; - } - } - }else{ - echo '<input type="submit" name="weiter" value="Weiter">'; - } - echo ' - </form> - '; - } - - if($_GET['step'] == 8){ - echo ' - Nun wird das Impressum mit deinen Daten ausgefüllt. Du kannst es im Nachhinein noch aus dem Adminbereich ändern. - <form method="post" action="?step=9"> - <table> - <tr> - <td>Name</td> - <td><input type="text" name="name"></td> - </tr> - <tr> - <td>Vorname</td> - <td><input type="text" name="vorname"></td> - </tr> - <tr> - <td>Str.</td> - <td><input type="text" name="str"></td> - </tr> - <tr> - <td>Hausnummer</td> - <td><input type="text" name="hs"></td> - </tr> - <tr> - <td>PLZ</td> - <td><input type="text" name="plz"></td> - </tr> - <tr> - <td>Ort</td> - <td><input type="text" name="ort"></td> - </tr> - <tr> - <td>E-Mail</td> - <td><input type="text" name="mail"></td> - </tr> - </table> - <input type="submit" name="impressum_anlegen" value="Anlegen"> - </form> - '; - } - - if($_GET['step'] == 9){ - echo ' - Die Installation ist nun abgeschlossen. Bitte stelle noch folgendes ein:<br> - <ul> - <li>Zugriffsrechte für Ordner lib auf chmod 644</li> - <li>Den Ordner Install löschen</li> - </ul> - Zum Adminforce: <a href="http://'.$_SERVER["HTTP_HOST"] .'/adminforce">Klick</a><br> - Zum Userbereich: <a href="http://'.$_SERVER["HTTP_HOST"] .'">Klick</a><br> - '; - } -?> -</center> + +<center> +<?php +error_reporting(E_ALL); +if(!isset($_GET['step'])){ $_GET['step'] = 0;} + +require('../lib/functions.lib.php'); + +if(isset($_POST['datenbank_anlegen'])){ + $inhalt = ' + <?php + $db_host = "'.$_POST['host'].'"; + // Mysql User + $db_user = "'.$_POST['nutzername'].'"; + // Mysql PW + $db_pass = "'.$_POST['passwort'].'"; + // Datenbank + $db_base = "'.$_POST['db'].'"; + //Datenbank Prefix + $db_prefix = "'.$_POST['prefix'].'"; + + //Passwort zusatz + $pw_zusatz = '. create_code(5) .'; + + // Verschlüsselungspasswort + $ver_schluessel = '. create_code(16) .'; + + //Datenbankverbindung herstellen + $sql_open = @mysqli_connect($db_host, $db_user, $db_pass, $db_base) or die(\'Verbindung zum Mysql Server fehlgeschlagen! <br>Tipp: <a href="http://www.vms-tutorial.de/wiki//Lib/Functions">http://www.vms-tutorial.de/wiki//Lib/Functions</a>\'); + $sql_base = @mysqli_select_db($sql_open,$db_base) or die("Keine oder falsche Datenbank gewählt! Tipp: <br><a href=\'http://www.vms-tutorial.de/wiki//Lib/Functions\'>http://www.vms-tutorial.de/wiki//Lib/Functions</a>"); + + /** + * db_connect() + * + * @author designerscripte.net + * @category system Database + * @version 2.5.0 + * @example db_query("SELECT `field` FROM `table` WHERE `field` = `value` "); + * @param mixed $sql_tag + * @return 0 bei Fehler Mysql_resource. + * + */ + function db_query($sql_tag) { + global $count_query,$sql_open; + $count_query++; + $fargs = func_get_args(); + + if (!empty($fargs)) { + $vargs = array(); + foreach($fargs as $key => $arg) { + $vargs[$key] = mysqli_real_escape_string($sql_open,$arg); + } + array_shift($vargs); + if (!empty($vargs))$sql_tag = vsprintf($sql_tag, $vargs); + } + if ($ret = mysqli_query($sql_open,$sql_tag)) { + return $ret; + }else { + return 0; + } + } + + function pw_erstellen($pw){ + global $pw_zusatz; + $pw_er = hash("sha256",$pw.$pw_zusatz); + return $pw_er; + } + + /** + * db_close() + * + * @author designerscripte.net + * @category system Database + * @version 2.5.0 + * @example db_close(); + * @return die(\'\'); bei fehler nichts bei erfolg + */ + function db_close() { + global $sql_open; + @mysqli_close($sql_open) or die(\'Konnte die Verbindung mit Datenbank nicht schliessen!\'); + } + + $daten = mysqli_fetch_array(db_query("SELECT domain,seitenname,waehrung,betreibermail,cron_pw FROM ".$db_prefix."_seitenkonfig ")); + // Domain (ohne Slash am Ende) + $domain = $daten[\'domain\']; + // Seitenname + $seitenname = $daten[\'seitenname\']; + // Seitenwährung + $waehrung = $daten[\'waehrung\']; + // ID vom Admin + $admin_id = 1; + // Adminmail + $betreibermail = $daten[\'betreibermail\']; + // Passwort für Crons + $cron_pw = $daten[\'cron_pw\']; + // beliebiger Alphanumerischer String hilft beim Schutz vor Autoklickern + $percode = \'551c3d4318d668cc2b00d02b40d1e6cd282817c2be65d401ed0cff2e6b\'; + /* Globale Variablen nichts ändern */ + $ip = $_SERVER[\'REMOTE_ADDR\']; + ?> + '; + + $datei = fopen("../lib/datenbank.inc.php","w"); + fwrite($datei, $inhalt,100000); + fclose($datei); +} + +if($_GET['step'] == 4 && $_GET['db'] == true){ + require_once('../lib/datenbank.inc.php'); + + $import = file_get_contents("mysql.txt"); + + $import = preg_replace ("%/\*(.*)\*/%Us", '', $import); + $import = preg_replace ("%^--(.*)\n%mU", '', $import); + $import = preg_replace ("%^$\n%mU", '', $import); + mysqli_real_escape_string($sql_open,$import); + $queries = explode (";", $import); + + $meldung = ''; + + foreach($queries as $query){ + $insert = db_query($query); + if($insert == true){ + $meldung .= '<span style="color:green;">Tabelle angelegt</span><br><br>'; + }else{ + $meldung .= '<span style="color:red;">'.mysqli_error($sql_open).'</span><br><br>'; + } + } + db_query("INSERT INTO `vms_seitenkonfig` (`wartung`, `domain`, `seitenname`, `waehrung`, `betreibermail`, `cron_pw`, `einzahlgrenze`, `re1`, `re2`, `re3`, `min_betteln`, `max_betteln`, `reload_betteln`, `denied_domains`, `admin_name`, `admin_pass`, `auszahlgrenze`, `chat_aktiv`, `fake_schluessel`, `anzeige_chat`, `anzeige_text`, `geb_addon`, `news_komment`) VALUES + (0, '', '', '', '', '', 100000, 8.00, 3.00, 1.00, 50.00, 250.00, 0, '@sofort-mail.de;@trash-mail.de;@mailinator.com;@spamgourmet.com;@spammotel.com;@centermail.com;@discardmail.com;@sneakemail.com;@netzidiot.de;@myTrashMail.com;@wegwerfadresse.de;@nervmich.net;@nervtmich.net;@mailinator.net;@klassmaster.com;@mailin8r.com;@sogetthis.com;@mailinator2.com', '', '', 100, 2, '', 1, 1, 1, 1)"); +} + +if(isset($_POST['grunddaten'])){ + require_once('../lib/datenbank.inc.php'); + $insert = db_query("UPDATE ".$db_prefix."_seitenkonfig SET + domain = '".$_POST['domain']."', + seitenname = '".$_POST['name']."', + waehrung = '".$_POST['waehrung']."', + betreibermail = '".$_POST['betreibermail']."', + cron_pw = '".$_POST['cron_pw']."' + "); + if($insert != true){ + $_GET['step'] = 5; + echo mysqli_error($sql_open); + } +} + +if(isset($_POST['zugangsdaten_festlegen'])){ + if($_POST['admin_pass'] != $_POST['admin_pass_2']){ + $_GET['step'] = 6; + $fehler = 1; + echo '<span style="color:red;">Das Adminforce Passwort stimmt nicht überein</span><br>'; + } + + if($_POST['user_pass'] != $_POST['user_pass_2']){ + $_GET['step'] = 6; + $fehler = 1; + echo '<span style="color:red;">Das User Passwort stimmt nicht überein</span><br>'; + } + + if($fehler != 1){ + require_once('../lib/datenbank.inc.php'); + $nickname = $_POST['user_name']; + $passwort = pw_erstellen($_POST['user_pass']); + $admin_name = base64_encode($_POST['admin_name']); + db_query("UPDATE ".$db_prefix."_kontodaten SET passwort = '". $passwort ."' WHERE uid = '1' "); + db_query("UPDATE ".$db_prefix."_userdaten SET nickname = '". $nickname ."' WHERE uid = '1' "); + db_query("UPDATE ".$db_prefix."_seitenkonfig SET admin_name = '". $admin_name ."', admin_pass = '". $passwort ."' "); + } +} + +if(isset($_POST['berechtigung_setzen'])){ + + $alledateien = scandir('../lib/texte/'); + foreach ($alledateien as $datei) { + if( $datei != '.' && $datei != '..'){ + if( !is_writable ('../lib/texte/'.$datei ) ){ + if($datei != '.' OR $datei != '..'){ + $beschreibung = '../lib/texte/'.$datei; + $chmod = chmod($beschreibung , 0755); + if($chmod == false){ + $fehler_chmod = 1; + } + } + } + } + } + + $_GET['step'] = 7; +} + +if(isset($_POST['impressum_anlegen'])){ + $anschrift = 'Anschrift Seitenbetreiber. + '.$_POST['name'].' '.$_POST['vorname'].' + '.$_POST['str'].' '.$_POST['hs'].' + '.$_POST['plz'].' '.$_POST['ort'].' + <a href="'.$_POST['mail'].'">'.$_POST['mail'].'</a>'; + + $impressum = file_get_contents("impressum.txt"); + + $inhalt = $anschrift.$impressum; + $datei = fopen("../lib/texte/impressum.txt","w"); + fwrite($datei, $inhalt,100000); + fclose($datei); + chmod('../lib/texte/impressum.txt' , 0755); +} + + if($_GET['step'] == 1 OR empty($_GET['step'])){ + echo ' + Herlich Willkommen im Installationsscript von VMS-SUEE.<br> + Hier werden Sie schnell und einfach durch die Installation geleitet, damit Sie das Script nutzen können.'; + + if (is_writable('../lib')) { + echo '<input type="button" onclick="window.location.href = \'?step=2\';" value="Weiter">'; + } else { + echo '<br><br> + <span style="color:red;">Der Ordner lib benötigt schreibrechte. Bitte stelle bei diesem die Schreibrechte auf chmod777 um und aktualiesiere die Seite.</span>'; + } + + + } + + if($_GET['step'] == 2){ + echo ' + Als erstes legen wir die Datenbankverbindung an: + <form method="post" action="?step=3"> + <table width="500px"> + <tr> + <td>Datenbankserver:</td> + <td><input type="text" name="host" value="localhost"></td> + </tr> + <tr> + <td>Nutzername:</td> + <td><input type="text" name="nutzername"></td> + </tr> + <tr> + <td>Passwort:</td> + <td><input type="text" name="passwort"></td> + </tr> + <tr> + <td>Datenbankname:</td> + <td><input type="text" name="db"></td> + </tr> + <tr> + <td>Datenbank Prefix:</td> + <td><input type="text" name="prefix" value="vms"></td> + </tr> + </table> + <input type="submit" name="datenbank_anlegen" value="Verbindung Anlegen"> + </form> + '; + } + + if($_GET['step'] == 3){ + echo ' + Jetzt werden alle Tabellen und Spalten in die Datenbank eingetragen und die ersten Datensätze dazu geschrieben.<br><br> + + <input type="button" onclick="window.location.href = \'?step=4&db=true\';" value="Weiter"> + '; + } + + if($_GET['step'] == 4){ + echo ' + Hier die Meldungen der Eintragung für die Datenbank.<br> + <div style="height:500px; width:500px; overflow:auto;">'.$meldung.'</div> + <br> + <input type="button" onclick="window.location.href = \'?step=5\';" value="Weiter"> + '; + } + + if($_GET['step'] == 5){ + echo ' + Nun kommen wir zu den Grundeinstellungen für deine Seite.<br><br> + <form method="post" action="?step=6"> + <table width="500px"> + <tr> + <td>Name deiner Seite</td> + <td><input type="text" name="name"></td> + </tr> + <tr> + <td>Domain deiner Seite</td> + <td><input type="text" name="domain" value="http://"></td> + </tr> + <tr> + <td>Name deiner Währung</td> + <td><input type="text" name="waehrung"></td> + </tr> + <tr> + <td>Betreiber E-Mail Adresse</td> + <td><input type="text" name="betreibermail"></td> + </tr> + <tr> + <td>Cronjob Passwort</td> + <td><input type="text" name="cron_pw" value="cronpw"></td> + </tr> + </table> + <input type="submit" name="grunddaten" value="Speichern"> + </form> + '; + } + + if($_GET['step'] == 6){ + echo ' + Der letzte Schritt ist nun erreicht. Jetzt kommen die Zugangsdaten zum Adminforce und Userseite.<br><br> + + <form method="post" action="?step=7"> + <table width="500px"> + <tr> + <td align="right">Zugangsdaten</td> + <td align="left">Adminforce</td> + </tr> + <tr> + <td>Nutzername</td> + <td><input type="text" name="admin_name"></td> + </tr> + <tr> + <td>Passwort</td> + <td><input type="password" name="admin_pass"></td> + </tr> + <tr> + <td>Passwort wiederholen</td> + <td><input type="password" name="admin_pass_2"></td> + </tr> + <tr> + <td align="right">ZUgangsdaten</td> + <td align="left">Userbereich</td> + </tr> + <tr> + <td>Nutzername</td> + <td><input type="text" name="user_name"></td> + </tr> + <tr> + <td>Passwort</td> + <td><input type="password" name="user_pass"></td> + </tr> + <tr> + <td>Passwort wiederholen</td> + <td><input type="password" name="user_pass_2"></td> + </tr> + </table> + <input type="submit" name="zugangsdaten_festlegen" value="Speichern"> + </form> + '; + } + + if($_GET['step'] == 7){ + echo ' + <form method="post" action="?step=8"> + Der Ordner lib/texte und die darin befindlichen Datein benötigen Schreibrechte.<br> + Es wird geprüft ob diese vorhanden sind oder nicht.<br> + + <table width="500px">'; + $alledateien = scandir('../lib/texte/'); //Ordner "files" auslesen + foreach ($alledateien as $datei) { // Ausgabeschleife + if( $datei != '.' && $datei != '..'){ + if( is_writable ('../lib/texte/'.$datei )){ + $rechte = '<span style="color:green;">Beschreibbar</span>.'; + }else{ + $rechte = '<span style="color:red;">nicht Beschreibbar</span>'; + $fehler = 1; + } + + echo '<tr> + <td>'.$datei.'</td> + <td>'.$rechte.'</td> + </tr>'; + } + } + + echo '</table>'; + if($fehler_chmod == 1){ + echo ' + Es ist ein Fehler beim festlegen der Berechtigungen bei einer oder mehreren Datein aufgetretten.<br> + Bitte änder die Berechtigungen manuell und lege bei den Datein den Wert 0777 fest.<br> + <input type="button" onclick="window.location.href = \'?step=7\';" value="Prüfen"> + '; + } + if($fehler > 0){ + if( ini_get('safe_mode') ){ + echo 'Da safe_mode aktiviert ist, müssen die Berechtigungen manuell gesetzt werden.<br><br> + <input type="submit" name="aktualisieren" value="Aktualisieren">'; + }else{ + if($fehler_chmod != 1){ + echo ' + <input type="submit" name="berechtigung_setzen" value="Berechtigungen setzen">'; + } + } + }else{ + echo '<input type="submit" name="weiter" value="Weiter">'; + } + echo ' + </form> + '; + } + + if($_GET['step'] == 8){ + echo ' + Nun wird das Impressum mit deinen Daten ausgefüllt. Du kannst es im Nachhinein noch aus dem Adminbereich ändern. + <form method="post" action="?step=9"> + <table> + <tr> + <td>Name</td> + <td><input type="text" name="name"></td> + </tr> + <tr> + <td>Vorname</td> + <td><input type="text" name="vorname"></td> + </tr> + <tr> + <td>Str.</td> + <td><input type="text" name="str"></td> + </tr> + <tr> + <td>Hausnummer</td> + <td><input type="text" name="hs"></td> + </tr> + <tr> + <td>PLZ</td> + <td><input type="text" name="plz"></td> + </tr> + <tr> + <td>Ort</td> + <td><input type="text" name="ort"></td> + </tr> + <tr> + <td>E-Mail</td> + <td><input type="text" name="mail"></td> + </tr> + </table> + <input type="submit" name="impressum_anlegen" value="Anlegen"> + </form> + '; + } + + if($_GET['step'] == 9){ + echo ' + Die Installation ist nun abgeschlossen. Bitte stelle noch folgendes ein:<br> + <ul> + <li>Zugriffsrechte für Ordner lib auf chmod 644</li> + <li>Den Ordner Install löschen</li> + </ul> + Zum Adminforce: <a href="http://'.$_SERVER["HTTP_HOST"] .'/adminforce">Klick</a><br> + Zum Userbereich: <a href="http://'.$_SERVER["HTTP_HOST"] .'">Klick</a><br> + '; + } +?> +</center> +======= +<center> +<?php +error_reporting(E_ALL); +if(!isset($_GET['step'])){ $_GET['step'] = 0;} + +require('../lib/functions.lib.php'); + +if(isset($_POST['datenbank_anlegen'])){ + $inhalt = ' + <?php + $db_host = "'.$_POST['host'].'"; + // Mysql User + $db_user = "'.$_POST['nutzername'].'"; + // Mysql PW + $db_pass = "'.$_POST['passwort'].'"; + // Datenbank + $db_base = "'.$_POST['db'].'"; + //Datenbank Prefix + $db_prefix = "'.$_POST['prefix'].'"; + + //Passwort zusatz + $pw_zusatz = '. create_code(5) .'; + + // Verschlüsselungspasswort + $ver_schluessel = '. create_code(16) .'; + + //Datenbankverbindung herstellen + $sql_open = @mysqli_connect($db_host, $db_user, $db_pass, $db_base) or die(\'Verbindung zum Mysql Server fehlgeschlagen! <br>Tipp: <a href="http://www.vms-tutorial.de/wiki//Lib/Functions">http://www.vms-tutorial.de/wiki//Lib/Functions</a>\'); + $sql_base = @mysqli_select_db($sql_open,$db_base) or die("Keine oder falsche Datenbank gewählt! Tipp: <br><a href=\'http://www.vms-tutorial.de/wiki//Lib/Functions\'>http://www.vms-tutorial.de/wiki//Lib/Functions</a>"); + + /** + * db_connect() + * + * @author designerscripte.net + * @category system Database + * @version 2.5.0 + * @example db_query("SELECT `field` FROM `table` WHERE `field` = `value` "); + * @param mixed $sql_tag + * @return 0 bei Fehler Mysql_resource. + * + */ + function db_query($sql_tag) { + global $count_query,$sql_open; + $count_query++; + $fargs = func_get_args(); + + if (!empty($fargs)) { + $vargs = array(); + foreach($fargs as $key => $arg) { + $vargs[$key] = mysqli_real_escape_string($sql_open,$arg); + } + array_shift($vargs); + if (!empty($vargs))$sql_tag = vsprintf($sql_tag, $vargs); + } + if ($ret = mysqli_query($sql_open,$sql_tag)) { + return $ret; + }else { + return 0; + } + } + + function pw_erstellen($pw){ + global $pw_zusatz; + $pw_er = hash("sha256",$pw.$pw_zusatz); + return $pw_er; + } + + /** + * db_close() + * + * @author designerscripte.net + * @category system Database + * @version 2.5.0 + * @example db_close(); + * @return die(\'\'); bei fehler nichts bei erfolg + */ + function db_close() { + global $sql_open; + @mysqli_close($sql_open) or die(\'Konnte die Verbindung mit Datenbank nicht schliessen!\'); + } + + $daten = mysqli_fetch_array(db_query("SELECT domain,seitenname,waehrung,betreibermail,cron_pw FROM ".$db_prefix."_seitenkonfig ")); + // Domain (ohne Slash am Ende) + $domain = $daten[\'domain\']; + // Seitenname + $seitenname = $daten[\'seitenname\']; + // Seitenwährung + $waehrung = $daten[\'waehrung\']; + // ID vom Admin + $admin_id = 1; + // Adminmail + $betreibermail = $daten[\'betreibermail\']; + // Passwort für Crons + $cron_pw = $daten[\'cron_pw\']; + // beliebiger Alphanumerischer String hilft beim Schutz vor Autoklickern + $percode = \'551c3d4318d668cc2b00d02b40d1e6cd282817c2be65d401ed0cff2e6b\'; + /* Globale Variablen nichts ändern */ + $ip = $_SERVER[\'REMOTE_ADDR\']; + ?> + '; + + $datei = fopen("../lib/datenbank.inc.php","w"); + fwrite($datei, $inhalt,100000); + fclose($datei); +} + +if($_GET['step'] == 4 && $_GET['db'] == true){ + require_once('../lib/datenbank.inc.php'); + + $import = file_get_contents("mysql.txt"); + + $import = preg_replace ("%/\*(.*)\*/%Us", '', $import); + $import = preg_replace ("%^--(.*)\n%mU", '', $import); + $import = preg_replace ("%^$\n%mU", '', $import); + mysqli_real_escape_string($sql_open,$import); + $queries = explode (";", $import); + + $meldung = ''; + + foreach($queries as $query){ + $insert = db_query($query); + if($insert == true){ + $meldung .= '<span style="color:green;">Tabelle angelegt</span><br><br>'; + }else{ + $meldung .= '<span style="color:red;">'.mysqli_error($sql_open).'</span><br><br>'; + } + } + db_query("INSERT INTO `vms_seitenkonfig` (`wartung`, `domain`, `seitenname`, `waehrung`, `betreibermail`, `cron_pw`, `einzahlgrenze`, `re1`, `re2`, `re3`, `min_betteln`, `max_betteln`, `reload_betteln`, `denied_domains`, `admin_name`, `admin_pass`, `auszahlgrenze`, `chat_aktiv`, `fake_schluessel`, `anzeige_chat`, `anzeige_text`, `geb_addon`, `news_komment`) VALUES + (0, '', '', '', '', '', 100000, 8.00, 3.00, 1.00, 50.00, 250.00, 0, '@sofort-mail.de;@trash-mail.de;@mailinator.com;@spamgourmet.com;@spammotel.com;@centermail.com;@discardmail.com;@sneakemail.com;@netzidiot.de;@myTrashMail.com;@wegwerfadresse.de;@nervmich.net;@nervtmich.net;@mailinator.net;@klassmaster.com;@mailin8r.com;@sogetthis.com;@mailinator2.com', '', '', 100, 2, '', 1, 1, 1, 1)"); +} + +if(isset($_POST['grunddaten'])){ + require_once('../lib/datenbank.inc.php'); + $insert = db_query("UPDATE ".$db_prefix."_seitenkonfig SET + domain = '".$_POST['domain']."', + seitenname = '".$_POST['name']."', + waehrung = '".$_POST['waehrung']."', + betreibermail = '".$_POST['betreibermail']."', + cron_pw = '".$_POST['cron_pw']."' + "); + if($insert != true){ + $_GET['step'] = 5; + echo mysqli_error($sql_open); + } +} + +if(isset($_POST['zugangsdaten_festlegen'])){ + if($_POST['admin_pass'] != $_POST['admin_pass_2']){ + $_GET['step'] = 6; + $fehler = 1; + echo '<span style="color:red;">Das Adminforce Passwort stimmt nicht überein</span><br>'; + } + + if($_POST['user_pass'] != $_POST['user_pass_2']){ + $_GET['step'] = 6; + $fehler = 1; + echo '<span style="color:red;">Das User Passwort stimmt nicht überein</span><br>'; + } + + if($fehler != 1){ + require_once('../lib/datenbank.inc.php'); + $nickname = $_POST['user_name']; + $passwort = pw_erstellen($_POST['user_pass']); + $admin_name = base64_encode($_POST['admin_name']); + db_query("UPDATE ".$db_prefix."_kontodaten SET passwort = '". $passwort ."' WHERE uid = '1' "); + db_query("UPDATE ".$db_prefix."_userdaten SET nickname = '". $nickname ."' WHERE uid = '1' "); + db_query("UPDATE ".$db_prefix."_seitenkonfig SET admin_name = '". $admin_name ."', admin_pass = '". $passwort ."' "); + } +} + +if(isset($_POST['berechtigung_setzen'])){ + + $alledateien = scandir('../lib/texte/'); + foreach ($alledateien as $datei) { + if( $datei != '.' && $datei != '..'){ + if( !is_writable ('../lib/texte/'.$datei ) ){ + if($datei != '.' OR $datei != '..'){ + $beschreibung = '../lib/texte/'.$datei; + $chmod = chmod($beschreibung , 0755); + if($chmod == false){ + $fehler_chmod = 1; + } + } + } + } + } + + $_GET['step'] = 7; +} + +if(isset($_POST['impressum_anlegen'])){ + $anschrift = 'Anschrift Seitenbetreiber. + '.$_POST['name'].' '.$_POST['vorname'].' + '.$_POST['str'].' '.$_POST['hs'].' + '.$_POST['plz'].' '.$_POST['ort'].' + <a href="'.$_POST['mail'].'">'.$_POST['mail'].'</a>'; + + $impressum = file_get_contents("impressum.txt"); + + $inhalt = $anschrift.$impressum; + $datei = fopen("../lib/texte/impressum.txt","w"); + fwrite($datei, $inhalt,100000); + fclose($datei); + chmod('../lib/texte/impressum.txt' , 0755); +} + + if($_GET['step'] == 1 OR empty($_GET['step'])){ + echo ' + Herlich Willkommen im Installationsscript von VMS-SUEE.<br> + Hier werden Sie schnell und einfach durch die Installation geleitet, damit Sie das Script nutzen können.'; + + if (is_writable('../lib')) { + echo '<input type="button" onclick="window.location.href = \'?step=2\';" value="Weiter">'; + } else { + echo '<br><br> + <span style="color:red;">Der Ordner lib benötigt schreibrechte. Bitte stelle bei diesem die Schreibrechte auf chmod777 um und aktualiesiere die Seite.</span>'; + } + + + } + + if($_GET['step'] == 2){ + echo ' + Als erstes legen wir die Datenbankverbindung an: + <form method="post" action="?step=3"> + <table width="500px"> + <tr> + <td>Datenbankserver:</td> + <td><input type="text" name="host" value="localhost"></td> + </tr> + <tr> + <td>Nutzername:</td> + <td><input type="text" name="nutzername"></td> + </tr> + <tr> + <td>Passwort:</td> + <td><input type="text" name="passwort"></td> + </tr> + <tr> + <td>Datenbankname:</td> + <td><input type="text" name="db"></td> + </tr> + <tr> + <td>Datenbank Prefix:</td> + <td><input type="text" name="prefix" value="vms"></td> + </tr> + </table> + <input type="submit" name="datenbank_anlegen" value="Verbindung Anlegen"> + </form> + '; + } + + if($_GET['step'] == 3){ + echo ' + Jetzt werden alle Tabellen und Spalten in die Datenbank eingetragen und die ersten Datensätze dazu geschrieben.<br><br> + + <input type="button" onclick="window.location.href = \'?step=4&db=true\';" value="Weiter"> + '; + } + + if($_GET['step'] == 4){ + echo ' + Hier die Meldungen der Eintragung für die Datenbank.<br> + <div style="height:500px; width:500px; overflow:auto;">'.$meldung.'</div> + <br> + <input type="button" onclick="window.location.href = \'?step=5\';" value="Weiter"> + '; + } + + if($_GET['step'] == 5){ + echo ' + Nun kommen wir zu den Grundeinstellungen für deine Seite.<br><br> + <form method="post" action="?step=6"> + <table width="500px"> + <tr> + <td>Name deiner Seite</td> + <td><input type="text" name="name"></td> + </tr> + <tr> + <td>Domain deiner Seite</td> + <td><input type="text" name="domain" value="http://"></td> + </tr> + <tr> + <td>Name deiner Währung</td> + <td><input type="text" name="waehrung"></td> + </tr> + <tr> + <td>Betreiber E-Mail Adresse</td> + <td><input type="text" name="betreibermail"></td> + </tr> + <tr> + <td>Cronjob Passwort</td> + <td><input type="text" name="cron_pw" value="cronpw"></td> + </tr> + </table> + <input type="submit" name="grunddaten" value="Speichern"> + </form> + '; + } + + if($_GET['step'] == 6){ + echo ' + Der letzte Schritt ist nun erreicht. Jetzt kommen die Zugangsdaten zum Adminforce und Userseite.<br><br> + + <form method="post" action="?step=7"> + <table width="500px"> + <tr> + <td align="right">Zugangsdaten</td> + <td align="left">Adminforce</td> + </tr> + <tr> + <td>Nutzername</td> + <td><input type="text" name="admin_name"></td> + </tr> + <tr> + <td>Passwort</td> + <td><input type="password" name="admin_pass"></td> + </tr> + <tr> + <td>Passwort wiederholen</td> + <td><input type="password" name="admin_pass_2"></td> + </tr> + <tr> + <td align="right">ZUgangsdaten</td> + <td align="left">Userbereich</td> + </tr> + <tr> + <td>Nutzername</td> + <td><input type="text" name="user_name"></td> + </tr> + <tr> + <td>Passwort</td> + <td><input type="password" name="user_pass"></td> + </tr> + <tr> + <td>Passwort wiederholen</td> + <td><input type="password" name="user_pass_2"></td> + </tr> + </table> + <input type="submit" name="zugangsdaten_festlegen" value="Speichern"> + </form> + '; + } + + if($_GET['step'] == 7){ + echo ' + <form method="post" action="?step=8"> + Der Ordner lib/texte und die darin befindlichen Datein benötigen Schreibrechte.<br> + Es wird geprüft ob diese vorhanden sind oder nicht.<br> + + <table width="500px">'; + $alledateien = scandir('../lib/texte/'); //Ordner "files" auslesen + foreach ($alledateien as $datei) { // Ausgabeschleife + if( $datei != '.' && $datei != '..'){ + if( is_writable ('../lib/texte/'.$datei )){ + $rechte = '<span style="color:green;">Beschreibbar</span>.'; + }else{ + $rechte = '<span style="color:red;">nicht Beschreibbar</span>'; + $fehler = 1; + } + + echo '<tr> + <td>'.$datei.'</td> + <td>'.$rechte.'</td> + </tr>'; + } + } + + echo '</table>'; + if($fehler_chmod == 1){ + echo ' + Es ist ein Fehler beim festlegen der Berechtigungen bei einer oder mehreren Datein aufgetretten.<br> + Bitte änder die Berechtigungen manuell und lege bei den Datein den Wert 0777 fest.<br> + <input type="button" onclick="window.location.href = \'?step=7\';" value="Prüfen"> + '; + } + if($fehler > 0){ + if( ini_get('safe_mode') ){ + echo 'Da safe_mode aktiviert ist, müssen die Berechtigungen manuell gesetzt werden.<br><br> + <input type="submit" name="aktualisieren" value="Aktualisieren">'; + }else{ + if($fehler_chmod != 1){ + echo ' + <input type="submit" name="berechtigung_setzen" value="Berechtigungen setzen">'; + } + } + }else{ + echo '<input type="submit" name="weiter" value="Weiter">'; + } + echo ' + </form> + '; + } + + if($_GET['step'] == 8){ + echo ' + Nun wird das Impressum mit deinen Daten ausgefüllt. Du kannst es im Nachhinein noch aus dem Adminbereich ändern. + <form method="post" action="?step=9"> + <table> + <tr> + <td>Name</td> + <td><input type="text" name="name"></td> + </tr> + <tr> + <td>Vorname</td> + <td><input type="text" name="vorname"></td> + </tr> + <tr> + <td>Str.</td> + <td><input type="text" name="str"></td> + </tr> + <tr> + <td>Hausnummer</td> + <td><input type="text" name="hs"></td> + </tr> + <tr> + <td>PLZ</td> + <td><input type="text" name="plz"></td> + </tr> + <tr> + <td>Ort</td> + <td><input type="text" name="ort"></td> + </tr> + <tr> + <td>E-Mail</td> + <td><input type="text" name="mail"></td> + </tr> + </table> + <input type="submit" name="impressum_anlegen" value="Anlegen"> + </form> + '; + } + + if($_GET['step'] == 9){ + echo ' + Die Installation ist nun abgeschlossen. Bitte stelle noch folgendes ein:<br> + <ul> + <li>Zugriffsrechte für Ordner lib auf chmod 644</li> + <li>Den Ordner Install löschen</li> + </ul> + Zum Adminforce: <a href="http://'.$_SERVER["HTTP_HOST"] .'/adminforce">Klick</a><br> + Zum Userbereich: <a href="http://'.$_SERVER["HTTP_HOST"] .'">Klick</a><br> + '; + } +?> +</center> +>>>>>>> 29e84a0f1d6aa84e3ba051b643f046137fa2231e