1
0
mirror of https://gitlab.com/JKANetwork/CheckServer.git synced 2026-02-13 16:51:36 +01:00
Files
CheckServer/install.php
2020-10-17 18:25:25 +02:00

51 lines
2.2 KiB
PHP

<?php
session_start(); session_destroy(); //No session in install
require_once 'functions.php';
if (file_exists(dirname(__FILE__).'/config/config.php')){
die("Ya está instalado. Borre el fichero /config/config.php si quiere reiniciar la instalación");
}
//Comprobaciones
if (!function_exists('socket_create') ){
sendmsg('error','Debes activar el soporte para socket en el php.ini si quieres que pueda hacer ping.');
}
if (!is_writable(__DIR__ .'/config/') ){
sendmsg('error','Debes dar permisos de escritura al directorio config');
}
if (isset($_POST['adminname'])){
list($adminname,$adminmail,$adminname,$adminpass,$dbhost,$dbdata,$dbuser,$dbpass) = array(
cleanData($_POST['adminname']),cleanData($_POST['adminmail']),cleanData($_POST['adminname']),cleanData($_POST['adminpass']),
cleanData($_POST['dbhost']),cleanData($_POST['dbdata']),cleanData($_POST['dbuser']),cleanData($_POST['dbpass'])
);
$db_conn = dbw_connect('mysqli',$dbhost,$dbdata,$dbuser,$dbpass);
if (!$db_conn){
sendmsg('error','No se puede conetar a la base de datos');
renderPage('install.twig');
die();
}
dbw_multi_query($db_conn,file_get_contents(dirname(__FILE__).'/assets/sqlinstalldata.sql'),1); //1 is erase buffer then. (For insert)
//Crear usuario admin
dbw_query($db_conn,"INSERT INTO USERS (`Name`,`Password`,`Email`,`PE_admin`) VALUES('$adminname','x','$adminmail',1)");
$id_u = dbw_last_id($db_conn);
$password = hash("sha256",$id_u.$adminpass); //Password with salt (id_u)
dbw_query($db_conn,"UPDATE USERS SET `Password`='$password' WHERE ID_U='$id_u'");
//Create config file
$configfile = "<?php
define('ENCPASSWD','".RandomString(12)."');
define('SGBD','mysqli');
define('DBSERVER','".$dbhost."');
define('DBUSER','".$dbuser."');
define('DBPASS','".$dbpass."');
define('DBDATABASE','".$dbdata."');
define('DEBUG',false); ?>";
file_put_contents(dirname(__FILE__).'/config/config.php', $configfile);
header("location: index.php");
die("<p>Instalado. Dirigiéndote al <a href='index.php'>login</a>, gracias por usar CheckServer</p>");
}else{
renderPage('install.twig');
}