Files
sterivein/web/install/bdd.php
Manuel Raynaud 1974d3e3c3 fix psr
2014-01-22 12:52:36 +01:00

119 lines
5.6 KiB
PHP

<?php
/*************************************************************************************/
/* */
/* Thelia */
/* */
/* Copyright (c) OpenStudio */
/* email : info@thelia.net */
/* web : http://www.thelia.net */
/* */
/* This program is free software; you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 3 of the License */
/* */
/* This program is distributed in the hope that it will be useful, */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
/* GNU General Public License for more details. */
/* */
/* You should have received a copy of the GNU General Public License */
/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* */
/*************************************************************************************/
$step=4;
include("header.php");
if (isset($_POST['host']) && isset($_POST['username']) && isset($_POST['password']) && isset($_POST['port'])){
$_SESSION['install']['host'] = $_POST['host'];
$_SESSION['install']['username'] = $_POST['username'];
$_SESSION['install']['password'] = $_POST['password'];
$_SESSION['install']['port'] = $_POST['port'];
$checkConnection = new \Thelia\Install\CheckDatabaseConnection($_POST['host'], $_POST['username'], $_POST['password'], $_POST['port']);
if(! $checkConnection->exec() || $checkConnection->getConnection()->query('show databases') === false){
header('location: connection.php?err=1');
exit;
}
}
elseif($_SESSION['install']['step'] >=3) {
$checkConnection = new \Thelia\Install\CheckDatabaseConnection($_SESSION['install']['host'], $_SESSION['install']['username'], $_SESSION['install']['password'], $_SESSION['install']['port']);
}
else {
header('location: connection.php?err=1');
exit;
}
$_SESSION['install']['step'] = 4;
$connection = $checkConnection->getConnection();
$databases = $connection->query('show databases');
?>
<div class="well">
<form action="config.php" method="post">
<fieldset>
<legend><?php echo $trans->trans('Choose your database'); ?></legend>
<p>
<?php echo $trans->trans('The SQL server contains multiple databases.'); ?><br/>
<?php echo $trans->trans('Select below the one you want to use.'); ?>
</p>
<?php foreach($databases as $database): ?>
<?php if ($database['Database'] == 'information_schema') continue; ?>
<?php
$connection->exec(sprintf('use %s', $database['Database']));
$tables = $connection->query('SHOW TABLES');
$found = false;
foreach($tables as $table) {
if($table[0] == 'cart_item') {
$found = true;
break;
}
}
?>
<div class="radio">
<label for="database_<?php echo $database['Database']; ?>">
<input type="radio" name="database" id="database_<?php echo $database['Database']; ?>" value="<?php echo $database['Database']; ?>" <?php if($found){ echo "disabled"; } ?>>
<?php echo $database['Database']; ?>
</label>
</div>
<?php endforeach; ?>
<?php
$connection->exec('use information_schema');
$permissions = $connection->query("SELECT COUNT( * ) FROM `USER_PRIVILEGES`
WHERE PRIVILEGE_TYPE = 'CREATE'
AND GRANTEE LIKE '%".$_SESSION['install']['username']."%'
AND IS_GRANTABLE = 'YES';");
$writePermission = false;
if($permissions->fetchColumn(0) > 0) {
?>
<p>
<?php echo $trans->trans('or'); ?>
</p>
<div class="radio">
<label>
<?php echo $trans->trans('Create an other database'); ?>
</label>
</div>
<div class="form-group">
<input type="text" name="database_create" class="form-control">
</div>
<?php } ?>
</fieldset>
<div class="clearfix">
<div class="control-btn">
<button type="submit" class="pull-right btn btn-default btn-primary"><?php echo $trans->trans('Continue'); ?></button>
</div>
</div>
</form>
</div>
<?php include 'footer.php'; ?>