load(); session_start(); require(dirname(__FILE__) . '/../app/functions.php'); require(dirname(__FILE__) . '/../app/connect.php'); // Disconnecting ? if (isset($_GET['logout'])) { session_destroy(); header("Location: ."); exit(-1); } // Get the configuration files ? if (isset($_POST['configuration_get'], $_POST['configuration_username'], $_POST['configuration_pass'], $_POST['configuration_os']) && !empty($_POST['configuration_pass'])) { $req = $bdd->prepare('SELECT * FROM user WHERE user_id = ?'); $req->execute(array($_POST['configuration_username'])); $data = $req->fetch(); // Error ? if ($data && passEqual($_POST['configuration_pass'], $data['user_pass'])) { $vpn_dev = getenv('VPN_INIF'); $vpn_proto = getenv('VPN_PROTO'); $vpn_remote = getenv('VPN_ADDR'). ' ' . getenv('VPN_PORT'); switch ($_POST['configuration_os']) { case 'gnu_linux': case 'configuration_os': $filename = 'client.conf'; break; default: $filename = 'client.ovpn'; break; } header('Content-Type:text/plain'); header("Content-Disposition: attachment; filename=$filename"); header("Pragma: no-cache"); header("Expires: 0"); require(dirname(__FILE__) . '/../app/ovpn.php'); die(); } else { $error = true; } } // Admin login attempt ? else if (isset($_POST['admin_login'], $_POST['admin_username'], $_POST['admin_pass']) && !empty($_POST['admin_pass'])) { $req = $bdd->prepare('SELECT * FROM admin WHERE admin_id = ?'); $req->execute(array($_POST['admin_username'])); $data = $req->fetch(); // Error ? if ($data && passEqual($_POST['admin_pass'], $data['admin_pass'])) { $_SESSION['admin_id'] = $data['admin_id']; header("Location: index.php?admin"); exit(-1); } else { $error = true; } } ?> OpenVPN-Admin exec($sql); } catch (PDOException $e) { printError($e->getMessage()); exit(1); } unlink($sql_file); // Update schema to the new value updateSchema($bdd, $migration_value); } // Generate the hash $hash_pass = hashPass($admin_pass); // Insert the new admin $req = $bdd->prepare('INSERT INTO admin (admin_id, admin_pass) VALUES (?, ?)'); $req->execute(array($admin_username, $hash_pass)); rmdir(dirname(__FILE__) . '/sql'); printSuccess('Well done, OpenVPN-Admin is installed. Redirection.'); header("refresh:3;url=index.php?admin"); } // Print the installation form else { require(dirname(__FILE__) . '/../app/html/menu.php'); require(dirname(__FILE__) . '/../app/html/form/installation.php'); } exit(-1); } // --------------- CONFIGURATION --------------- if (!isset($_GET['admin'])) { if (isset($error) && $error == true) printError('Login error'); require(dirname(__FILE__) . '/../app/html/menu.php'); require(dirname(__FILE__) . '/../app/html/form/configuration.php'); } // --------------- LOGIN --------------- else if (!isset($_SESSION['admin_id'])) { if (isset($error) && $error == true) printError('Login error'); require(dirname(__FILE__) . '/../app/html/menu.php'); require(dirname(__FILE__) . '/../app/html/form/login.php'); } // --------------- GRIDS --------------- else { ?>