<?php
ob_start();
//session_start();
error_reporting(0);
require_once('system/configs.php');
require_once('system/Database.php');
require_once('system/core.php');
$defaultPass=randText('12');
if(!file_exists('db.sql'))
{
die('db.sql not found!');
}
// print_r($_SERVER);
// die();
$db=new Database();
$site_scheme=($_SERVER['REQUEST_SCHEME']=='http')?'http':$_SERVER['REQUEST_SCHEME'];
$site_url=$site_scheme.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$site_url=str_replace("install.php","",$site_url);
$site_dir=str_replace($site_scheme.'://'.$_SERVER['HTTP_HOST'],"",$site_url);
$db->db[$db->dbGroup]['DBPrefix']='';
$conn = new mysqli($db->db[$db->dbGroup]['hostname'], $db->db[$db->dbGroup]['username'], $db->db[$db->dbGroup]['password'], $db->db[$db->dbGroup]['database'], $db->db[$db->dbGroup]['port']);
if(!$conn->connect_error)
{
// die("Your site working!");
}
$add=isset($_POST['add'])?$_POST['add']:'';
$step=1;
$alert='';
if(isset($add['dbhost']))
{
$step=1;
$alert='<p><span class="text-danger">Your data not valid!</span></p>';
if(isset($add['dbhost'][2]) && isset($add['dbname'][2]) && isset($add['dbusername'][1]) && isset($add['dbprefix'][2]) && isset($add['title'][2]) && isset($add['fullname'][2]) && isset($add['username'][2]) && isset($add['email'][2]))
{
if(isset($add['password'][1]) && $add['password']==$add['repassword'])
{
$step=3;
$dbFileContent=file_get_contents('system/configs.php');
$replaces=array(
'/define\(\'SITE_URL.*?\;/i'=> "define('SITE_URL','".$site_url."');",
);
$dbFileContent=preg_replace(array_keys($replaces), array_values($replaces), $dbFileContent);
create_file('system/configs.php',$dbFileContent);
$dbFileContent=file_get_contents('.htaccess');
if(isset($site_dir[0]) && $site_dir[0]=='/')
{
$replaces=array(
'/RewriteRule.*?$/i'=> "RewriteRule ^(.*)$ ".substr($site_dir,1,strlen($site_dir)-1)."index.php?u=$1 [L]",
);
}
else
{
$replaces=array(
'/RewriteRule.*?$/i'=> "RewriteRule ^(.*)$ index.php?u=$1 [L]",
);
}
$dbFileContent=preg_replace(array_keys($replaces), array_values($replaces), $dbFileContent);
create_file('.htaccess',$dbFileContent);
$dbFileContent=file_get_contents('system/Database.php');
$replaces=array(
'/\'hostname\' \=\> \'.*?\'/i'=>'\'hostname\' => \''.$add['dbhost'].'\'',
'/\'username\' \=\> \'.*?\'/i'=>'\'username\' => \''.$add['dbusername'].'\'',
'/\'password\' \=\> \'.*?\'/i'=>'\'password\' => \''.$add['dbpassword'].'\'',
'/\'database\' \=\> \'.*?\'/i'=>'\'database\' => \''.$add['dbname'].'\'',
'/\'DBPrefix\' \=\> \'.*?\'/i'=>'\'DBPrefix\' => \''.$add['dbprefix'].'\'',
);
$dbFileContent=preg_replace(array_keys($replaces), array_values($replaces), $dbFileContent);
create_file('system/Database.php',$dbFileContent);
$dbContent=file_get_contents('db.sql');
$dbContent=str_replace('{{prefix}}', $add['dbprefix'], $dbContent);
$dbContent=str_replace('{{admin_username}}', addslashes($add['username']), $dbContent);
$dbContent=str_replace('{{admin_password}}', md5($add['password']), $dbContent);
$dbContent=str_replace('{{admin_email}}', addslashes($add['email']), $dbContent);
$db=new Database();
$db->db[$db->dbGroup]['hostname']=$add['dbhost'];
$db->db[$db->dbGroup]['username']=$add['dbusername'];
$db->db[$db->dbGroup]['password']=$add['dbpassword'];
$db->db[$db->dbGroup]['database']=$add['dbname'];
$db->db[$db->dbGroup]['DBPrefix']=$add['dbprefix'];
// die($dbContent);
$db->nonquery($dbContent);
$db->db[$db->dbGroup]['DBPrefix']='';
}
else
{
$alert='<p><span class="text-danger">Your password not valid!</span></p>';
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Install CoffeeCMS <?php echo Configs::$_['version'];?></title>
<!-- Google Font: Source Sans Pro -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
<!-- Font Awesome Icons -->
<link rel="stylesheet" href="public/admin_theme/plugins/fontawesome-free/css/all.min.css">
<link rel="stylesheet" href="public/admin_theme/dist/css/icons/bootstrap-icons.css">
<!-- overlayScrollbars -->
<link rel="stylesheet" href="public/admin_theme/plugins/overlayScrollbars/css/OverlayScrollbars.min.css">
<link rel="stylesheet" href="public/admin_theme/plugins/select2/css/select2.min.css">
<link rel="stylesheet" href="public/admin_theme/plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css">
<link rel="stylesheet" href="public/toastr/toastr.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="public/admin_theme/dist/css/adminlte.min.css">
<link rel="stylesheet" href="public/dropzone570/dropzone.css">
<link rel="stylesheet" href="public/admin_theme/dist/css/custom.css">
<!-- jQuery -->
<script src="public/admin_theme/plugins/jquery/jquery.min.js"></script>
<script src="public/js/system.js?v=<?php echo date('Hms');?>"></script>
<!-- Bootstrap -->
<script src="public/admin_theme/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- overlayScrollbars -->
<script src="public/admin_theme/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script>
<!-- AdminLTE App -->
<script src="public/admin_theme/dist/js/adminlte.js"></script>
<script src="public/dropzone570/dropzone.js"></script>
<!-- ChartJS -->
<script src="public/admin_theme/plugins/moment/moment.min.js"></script>
<script src="public/admin_theme/plugins/chart.js/Chart.min.js"></script>
<script src="public/admin_theme/plugins/select2/js/select2.full.min.js"></script>
<script src="public/toastr/toastr.min.js"></script>
<style>
</style>
<script>
var SITE_URL='<?php echo SITE_URL;?>';
var API_URL='<?php echo SITE_URL;?>api/';
</script>
</head>
<body class="hold-transition login-page">
<!-- Modal -->
<div class="modal fade" id="modalLoading" data-backdrop="false" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title modal-loading" id="exampleModalLabel">Loading data...</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body text-center">
<span class='fas fa-mug-hot' style='display:block;margin-bottom:10px;font-size:48pt;'></span>
<div class="modal-loading-content margin-bottom-30">Wait a second...</div>
<div class="lds-roller style1"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="modalAlert" data-backdrop="false" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title modal-alert-title" id="exampleModalLabel">Notify!</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="modal-alert-content"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger btnCloseAlert" data-dismiss="modal"><i class="glyphicon glyphicon-remove"></i> Close</button>
</div>
</div>
</div>
</div>
<form action="" method="post">
<div class="register-box">
<div class="register-logo">
<a href="#"><b>Install CoffeeCMS <?php echo Configs::$_['version'];?></a>
</div>
<div class="card card-step1 <?php if((int)$step!=1){echo 'hide';};?> ">
<div class="card-body register-card-body">
<p class="login-box-msg">Step 1 - Database information</p>
<?php echo $alert;?>
<div class="input-group mb-3">
<input type="text" class="form-control add-db-host" name="add[dbhost]" value="localhost" placeholder="Database Host">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control add-db-dbname" name="add[dbname]" value="coffeecms" placeholder="Database Name">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control add-db-username" name="add[dbusername]" value="root" placeholder="UserName">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control add-db-password" name="add[dbpassword]" placeholder="Password">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control add-prefix" value="cup_" name="add[dbprefix]" placeholder="Table Prefix">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="row">
<!-- /.col -->
<div class="col-12">
<button type="button" class="btn btn-primary btnStep1 btn-block"><i class='fas fa-paper-plane'></i> Next step</button>
</div>
<!-- /.col -->
</div>
</div>
<!-- /.form-box -->
</div><!-- /.card -->
<div class="card card-step2 <?php if((int)$step!=2){echo 'hide';};?>">
<div class="card-body register-card-body">
<p class="login-box-msg">Step 2 - Website information</p>
<div class="input-group mb-3">
<input type="text" class="form-control add-title" name="add[title]" value="Coffee Site" placeholder="Site title">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control add-title" name="add[url]" value="<?php echo $site_url;?>" placeholder="Site url">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control add-fullname" name="add[fullname]" placeholder="Full name">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control add-username" name="add[username]" placeholder="Username">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="email" class="form-control add-email" name="add[email]" placeholder="Email">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control add-password" name="add[password]" value="<?php echo $defaultPass;?>" placeholder="Password">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control add-repassword" name="add[repassword]" value="<?php echo $defaultPass;?>" placeholder="Retype password">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<div class="row">
<!-- /.col -->
<div class="col-6">
<button type="button" class="btn btn-primary btn-back-step1 btn-block"><i class='fas fa-backward'></i> Back</button>
</div>
<div class="col-6">
<button type="submit" class="btn btn-primary btnStep2 btn-block"><i class='fas fa-paper-plane'></i> Apply</button>
</div>
<!-- /.col -->
</div>
</div>
<!-- /.form-box -->
</div><!-- /.card -->
<div class="card card-step3 <?php if((int)$step!=3){echo 'hide';};?>">
<div class="card-body register-card-body">
<p class="login-box-msg">Done!</p>
<div class="input-group mb-3">
<input type="text" class="form-control done-title" value="<?php echo $add['username'];?>" placeholder="Username">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="text" class="form-control done-password" value="<?php echo $add['password'];?>" placeholder="Password">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-file"></span>
</div>
</div>
</div>
<div class="row">
<!-- /.col -->
<!-- <div class="col-6">
<button type="button" class="btn btn-primary btn-back-step2 btn-block"><i class='fas fa-backward'></i> Back</button>
</div> -->
<div class="col-12">
<a href="admin/login" class="btn btn-primary btnStep3 btn-block"><i class='fas fa-paper-plane'></i> Login to admin</a>
</div>
<!-- /.col -->
</div>
</div>
<!-- /.form-box -->
</div><!-- /.card -->
</div>
<!-- /.register-box -->
</form>
<script>
$(document).on('click','.btn-back-step1',function(){
$('.card-step2').removeClass('hide').addClass('hide');
$('.card-step3').removeClass('hide').addClass('hide');
$('.card-step1').removeClass('hide');
});
// $(document).on('click','.btn-back-step2',function(){
// $('.card-step2').removeClass('hide').addClass('hide');
// $('.card-step1').removeClass('hide').addClass('hide');
// $('.card-step2').removeClass('hide');
// });
$(document).on('click','.btnStep1',function(){
$('.card-step1').addClass('hide');
$('.card-step2').removeClass('hide');
});
$(document).on('click','.btnStep2',function(){
$('.card-step2').addClass('hide');
$('.card-step3').removeClass('hide');
});
$(document).on('click','.btnStep3',function(){
var url=location.href;
location.href=url.replace('admin/install','')+'admin/';
});
</script>
<!-- REQUIRED SCRIPTS -->
</body>
</html>
|