]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blobdiff - api/installation.php
Add a `Plugins` overview card
[irc/unrealircd/unrealircd-webpanel.git] / api / installation.php
index e8e8321cda485ae4ff176cf3f3fa9d3453998bf4..45b39192a34cbf831ef4742db2bef2edcbb52b36 100644 (file)
@@ -2,27 +2,33 @@
 
 /** For handling installation BEFORE any backend and user is configured */
 
-require_once "../common.php";
+require_once "../inc/common.php";
 
 /* only let this happen pre-config */
 if (file_exists("../config/config.php"))
                die(json_encode(["error" => "Configuration file exists."]));
 
-if (!isset($_GET) || empty($_GET))
+if (!isset($_POST) || empty($_POST))
                die(json_encode(["error" => "Incorrect parameters"]));
-foreach($_GET as $key => $str)
-               ${$key} = $str;
 
-if ($method == "sql")
+if ($_POST['method'] == "sql")
 {
-               $conn = mysqli_connect($host, $user, $password, $database);
-
-               // check connection
-               if (mysqli_connect_errno())
-                               die(json_encode(["error" => "Failed to connect to MySQL: " . mysqli_connect_error()]));
-
-               // close connection
-               mysqli_close($conn);
-               die(json_encode(["success" => "SQL Connection successful"]));
+       try {
+               $conn = mysqli_connect($_POST['host'], $_POST['user'], $_POST['password'], $_POST['database']);
+       } catch(Exception $e)
+       {
+       }
+       // check connection
+       if (mysqli_connect_errno())
+                       die(json_encode(["error" => "Failed to connect to MySQL: " . mysqli_connect_error()]));
+
+       $sql = "SHOW TABLES LIKE '".$conn->real_escape_string($_POST['table_prefix'])."%'"; // SQL query to check if table exists
+       $result = $conn->query($sql);
+       if ($result->num_rows > 0)
+               die(json_encode(["warn" => "Database already has data"]));
+
+       // close connection
+       mysqli_close($conn);
+       die(json_encode(["success" => "SQL Connection successful"]));
 
 }