roundpin-setup.php_sample
b9f89bbb
 <?php
 /**
  *  Copyright (C) 2021  Double Bastion LLC
  *
  *  This file is part of Roundpin, which is licensed under the
  *  GNU Affero General Public License Version 3.0. The license terms
  *  are detailed in the "LICENSE.txt" file located in the root directory.
  */
 
 define('RESTRICTED', TRUE);
 
 include 'install-signup-check.php';
 
 if ($installcheck == true) {
 
 if ($_SERVER['REQUEST_SCHEME'] == 'http') { exit("Roundpin cannot be installed over HTTP. It needs a domain that uses HTTPS."); }
 
  if(isset($_POST['createconfigbttn'])) {
 
    if (isset($_POST['databasename']) && $_POST['databasename'] != '' && isset($_POST['databaseuser']) && $_POST['databaseuser'] != '' &&
        isset($_POST['dbuserpassword']) && $_POST['dbuserpassword'] != '') {
 
        // Create the configuration file
        $dbname = $_POST['databasename'];
        $dbuser = $_POST['databaseuser'];
        $dbuserpswd = $_POST['dbuserpassword'];
 
        // Generate the secret
        $keypassin = substr(sha1(mt_rand()), 0, 32);
        $keysaltin = openssl_random_pseudo_bytes(24);
        $keyLengthin = 80;
        $iterationin = 100;
        $generated_keyin = openssl_pbkdf2($keypassin, $keysaltin, $keyLengthin, $iterationin, 'sha256');
        $keypwd = bin2hex($generated_keyin);
 
        $texttofill = "<?php\r\nif(!defined('ACCESSCONST')){die();}\r\n\r\n\$databasename='".$dbname."';\r\n\$username='".$dbuser."';\r\n\$password='".$dbuserpswd."';\r\n\$secret='".$keypwd."';\r\n?>";
 
        file_put_contents("roundpin-config.php", $texttofill);
 
 
        session_start();
 
        $_SESSION['validateaccess'] = "accessallowed";
 
        header("Location: roundpin-initializedb.php");
    } 
  }
 
 ?>
 
 <html>
 
 <head>
   <title>Roundpin Setup</title>
 
   <link rel="stylesheet" href="css/setup.min.css">
   <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
   <script type="text/javascript" src="js/roundpin-setup.min.js"></script>
 
 </head>
 
 <body>
 
   <div id="mainarea">
 
     <img class="logosetuppage" src="images/login-logo.svg" />
 
     <h3 style="text-align:center;">Roundpin Setup</h3><br>
 
     <img class="setupStage" src="images/roundpin-setup-stages-1.svg" />
 
     <form id="roundpincredform" action="" method="POST">
 
        <label for="databasename" class="fieldlabels">Roundpin database name:</label><br>
        <input type="text" id="databasename" class="textinput" name="databasename"/><br><br>
 
        <label for="databaseuser" class="fieldlabels">Roundpin database user:</label><br>
        <input type="text" id="databaseuser" class="textinput" name="databaseuser"/><br><br>
 
        <label for="userpassword" class="fieldlabels">Roundpin database user password:</label><br>
        <input type="password" id="dbuserpassword" class="textinput" name="dbuserpassword"/><br><br>
 
        <input type="submit" id="createconfigbttn" name="createconfigbttn" value="Next" />
 
    </form>
 
   </div>
 
 </body>
 
 </html>
 
 <?php
 }
 
 ?>