Bin eben dabei mein erstes Modul zu entwickeln.Soweit klappt alles recht gut.
Auch wird vor der install geprüft, ob es die Tabelle schon gibt.
Nur würde ich gerne die Option eines uninstaller mit einsetzen, um ggf. die Einträge in der DB wieder löschen zu können.
Nur fehlt mir jeglicher Ansatz ...
Würde mich über Info´s zu diesem Thema freuen.
Hier mal die aktuelle install.php :
<?php if ( empty ($_POST['step']) ) { ?> <html> <head><title>[ I n s t a l l ] XXXXXXXXXXX</title> <link href="http://holdirbootstrap.de/dist/css/bootstrap.min.css" rel="stylesheet"> <link href="http://holdirbootstrap.de/examples/jumbotron-narrow/jumbotron-narrow.css" rel="stylesheet"> <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> </head> <body style="background:#141414"> <form action="install.php" method="POST"> <input type="hidden" name="step" value="3"> <div class="container"> <div class="panel panel-warning" style="margin-top:20%"> <div class="panel-body"> <legend><h4><img style="float:left;margin-right:7px;" src="http://www.maretz.eu/icon.ico"> XXXXXXXXX <small>by <a href="http://www.maretz.eu" target="_blank"><strong>Maretz.eu</strong></a></small></h4></legend> <p>Hier ein kleiner text zu dem Modul</p> <p><i class="fa fa-exclamation-triangle" style="color:#ff0000"></i> Lege dir zuerst eine <strong><a href="admin.php?backup" target="_blank"><i class="fa fa-external-link"></i> Sicherheits Kopie der Datenbank</a></strong> an.</p> <p>Drücke auf Installieren, um die MySQL Datenbank zu erweitern.</p> <br><br> <p class="text-center"><input class="btn btn-default" type="submit" value="Installieren"> <a class="btn btn-warning" href="index.php?">Installation abbrechen</a></p> </div> </div> </div> </form> </body> </html> <?php } elseif ($_POST['step'] == '3') { define ( 'main' , TRUE ); require_once('include/includes/config.php'); require_once('include/includes/func/db/mysql.php'); db_connect(); $check_dc = db_query("SHOW TABLES LIKE 'prefix_XXXXXX'"); if (db_num_rows($check_dc)) { echo " <html> <head><title>[ I n s t a l l ] XXXXXXXXXXX</title> <link href=\"http://holdirbootstrap.de/dist/css/bootstrap.min.css\" rel=\"stylesheet\"> <link href=\"http://holdirbootstrap.de/examples/jumbotron-narrow/jumbotron-narrow.css\" rel=\"stylesheet\"> <link href=\"//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css\" rel=\"stylesheet\"> </head> <body style=\"background:#141414\"> <div class=\"container\"> <div class=\"alert alert-danger\" style=\"margin-top:20%\"><h3><i class=\"fa fa-exclamation-triangle\"></i> Installation abgebrochen</h3> <p>Das Modul wurde bereits installiert!</p><br><p class=\"text-right\"><a class=\"btn btn-default\" href=\"index.php\">Zur Startseite</a></p></div> </div> </div> </body> </html> "; } else { $sql_file = implode('',file('install.sql')); $sql_file = preg_replace ("/(\015\012|\015|\012)/", "\n", $sql_file); $sql_statements = explode(";\n",$sql_file); foreach ( $sql_statements as $sql_statement ) { if ( trim($sql_statement) != '' ) { #echo '<pre>'.$sql_statement.'</pre><hr>'; db_query($sql_statement) OR die( '<span style="color:#FF0000;font-size:bold;">Bei der Installation ist ein Fehler aufgetreten. Bitte benachrigen Sie umgehend den Entwickler</span><br><br>Fehler: '.mysql_error()); } } ?> <html> <head><title>[ I n s t a l l ] XXXXXXXXXXX</title> <link href="http://holdirbootstrap.de/dist/css/bootstrap.min.css" rel="stylesheet"> <link href="http://holdirbootstrap.de/examples/jumbotron-narrow/jumbotron-narrow.css" rel="stylesheet"> <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> </head> <body style="background:#141414"> <div class="container"> <div class="alert alert-success" style="margin-top:20%"><h3><i class="fa fa-check-square-o"></i> Installation abgeschlossen</h3> <p>Sofern keine Fehler aufgetreten sind ist die Installation abgeschloßen.</p> <p class="text-danger"></strong>Bitte unbedingt <u>install.sql</u> und <u>install.php</u> löschen!</strong></p><br> <p class="text-right"><a class="btn btn-default" href="index.php">Zur Startseite</a></p></div> </div> </body> </html> <?php } } ?>
Mfg Maretz
Edit:
Habe den uninstaller mittels
$loeschen = "DROP TABLE prefix_XXX"; $loesch = db_query($loeschen); $clear = "DELETE FROM prefix_modules WHERE url= 'XXX'"; $loesch = db_query($clear);
erstellen können.In Verbindung mit der install klappt dies nun ohne Probleme.
Zuletzt modifiziert von Maretz am 23.11.2014 - 13:18:59