Skip to content
Snippets Groups Projects
Commit 314b8090 authored by Giovannoni Laurent's avatar Giovannoni Laurent
Browse files

evo: database

parent 7838086a
No related branches found
No related tags found
No related merge requests found
Showing
with 526 additions and 84 deletions
<?php
include_once '../core/init.php';
if (!$_REQUEST['ajax']) {
header('Location: install/index.php');
exit;
}
require_once('install/class/Class_Install.php');
$Class_Install = new Install;
if (!file_exists('install/scripts/'.$_REQUEST['script'].'.php')) {
$return['status'] = 0;
$return['text'] = 'Le script n\'existe pas';
$jsonReturn = json_encode($return);
echo $jsonReturn;
exit;
}
require_once('install/scripts/'.$_REQUEST['script'].'.php');
<?php
//Loads the required class
try {
require_once '../core/class/class_functions.php';
require_once '../core/class/class_db.php';
require_once 'class/Class_Merge.php';
require_once 'core/class/class_functions.php';
require_once 'core/class/class_db.php';
require_once 'install/class/Class_Merge.php';
} catch (Exception $e) {
echo $e->getMessage() . ' // ';
}
......@@ -23,8 +23,6 @@ class Install extends functions
function __construct()
{
//load session
session_start();
//merge css & js
$Class_Merge = new Merge;
//load lang
......@@ -34,7 +32,7 @@ class Install extends functions
public function getLangList()
{
$langList = array();
foreach(glob('lang/*.php') as $fileLangPath) {
foreach(glob('install/lang/*.php') as $fileLangPath) {
$langFile = str_replace('.php', '', end(explode('/', $fileLangPath)));
array_push($langList, $langFile);
}
......@@ -54,7 +52,7 @@ class Install extends functions
$this->lang = 'en';
}
require_once('lang/' . $this->lang . '.php');
require_once('install/lang/' . $this->lang . '.php');
}
public function getActualLang()
......@@ -231,29 +229,61 @@ class Install extends functions
$databasetype
)
{
$_SESSION['config']['databaseserver'] = $databaseserver;
$_SESSION['config']['databaseserverport'] = $databaseserverport;
$_SESSION['config']['databaseuser'] = $databaseuser;
$_SESSION['config']['databasepassword'] = $databasepassword;
$_SESSION['config']['databasename'] = $databasename;
$_SESSION['config']['databasetype'] = $databasetype;
$connect = 'host='.$databaseserver . ' ';
$connect .= 'port='.$databaseserverport . ' ';
$connect .= 'user='.$databaseuser . ' ';
$connect .= 'password='.$databasepassword;
if (!pg_connect($connect)) {
return false;
exit;
}
$sqlCreateDatabase = "CREATE DATABASE ".$databasename;
$sqlCreateDatabase .= " WITH TEMPLATE template0";
$sqlCreateDatabase .= " ENCODING = 'UTF8'";
$execute = pg_query($sqlCreateDatabase);
if (!$execute) {
return false;
exit;
}
pg_close();
$db = new dbquery();
if ($db->connect()) {
return true;
} else {
$db->connect();
if (!$db) {
return false;
exit;
}
if (!$this->executeSQLScript('structure.sql')) {
return false;
exit;
}
return true;
}
public function executeSQLScript($filePath)
{
$fileContent = fread(fopen($filePath, 'r'), filesize($filePath));
echo $fileContent;
$db = new dbquery();
$db->connect();
$db->query($fileContent, false, true);
$execute = $db->query($fileContent, false, true);
if (!$execute) {
return false;
exit;
}
return true;
}
/**
* test if docserver path is read/write
* @param $docserverPath string path to the docserver
......@@ -276,7 +306,7 @@ class Install extends functions
return true;
}
}
/**
* create the docservers
* @param $docserverPath string path to the docserver
......@@ -286,11 +316,11 @@ class Install extends functions
{
for ($i=0;$i<count($this->docservers);$i++) {
if (!is_dir(
$docserverPath . DIRECTORY_SEPARATOR
$docserverPath . DIRECTORY_SEPARATOR
. $this->docservers[$i][1])
) {
if (!mkdir(
$docserverPath . DIRECTORY_SEPARATOR
$docserverPath . DIRECTORY_SEPARATOR
. $this->docservers[$i][1])
) {
return false;
......@@ -299,7 +329,7 @@ class Install extends functions
}
return true;
}
/**
* update the docservers on DB
* @param $docserverPath string path to the docserver
......@@ -310,8 +340,8 @@ class Install extends functions
$db = new dbquery();
$db->connect();
for ($i=0;$i<count($this->docservers);$i++) {
$query = "update docservers set path_template = '"
. $db->protect_string_db($docserverPath . DIRECTORY_SEPARATOR
$query = "update docservers set path_template = '"
. $db->protect_string_db($docserverPath . DIRECTORY_SEPARATOR
. $this->docservers[$i][1] . DIRECTORY_SEPARATOR)
. "' where docserver_id = '" . $this->docservers[$i][0] . "'";
$db->query($query);
......
......@@ -12,7 +12,7 @@ class Merge
private function mergeCss()
{
if ($this->needToMergeCss()) {
$dirStyle = 'css/';
$dirStyle = 'install/css/';
$styleDirectory = opendir($dirStyle);
$mergedCss = '@charset "UTF-8";'."\n\n";
......@@ -39,23 +39,7 @@ class Merge
}
}
closedir($styleDirectory);
/*
$interdit = array(
"\n",
"\r",
"\t"
);
$autorise = array('',
'',
''
);
$mergedCss = str_replace(
$interdit,
$autorise,
$mergedCss
);
*/
if (file_exists($dirStyle.'merged_css.css')) {
unlink($dirStyle.'merged_css.css');
}
......@@ -68,7 +52,7 @@ class Merge
private function mergeJs()
{
if ($this->needToMergeJs()) {
$dirJavascript = 'js/';
$dirJavascript = 'install/js/';
$javascriptDirectory = opendir($dirJavascript);
$mergedJavascript = '// JavaScript Document'."\n\n";
......@@ -108,7 +92,7 @@ class Merge
private function needToMergeCss()
{
$write = false;
$dirStyle = 'css/';
$dirStyle = 'install/css/';
$dateModMerged = '1';
if (file_exists($dirStyle.'merged_css.css')) {
$dateModMerged = filemtime($dirStyle.'merged_css.css');
......@@ -133,7 +117,7 @@ class Merge
private function needToMergeJs()
{
$write = false;
$dirJavascript = 'js/';
$dirJavascript = 'install/js/';
$dateModMerged = '1';
if (file_exists($dirJavascript.'merged_js.js')) {
$dateModMerged = filemtime($dirJavascript.'merged_js.js');
......
......@@ -6,9 +6,9 @@
$longTitle = _LICENCE . ' GPL v3';
//LICENCE FILE
$pathToLicenceTxt = 'view/text/licence_'.$Class_Install->getActualLang().'.txt';
$pathToLicenceTxt = 'install/view/text/licence_'.$Class_Install->getActualLang().'.txt';
if (!file_exists($pathToLicenceTxt)) {
$pathToLicenceTxt = 'view/text/licence_en.txt';
$pathToLicenceTxt = 'install/view/text/licence_en.txt';
}
$fileLicence = file($pathToLicenceTxt);
......
<?php
include_once '../core/init.php';
//MODEL
require_once('class/Class_Install.php');
$Class_Install = new Install;
......
<?php
//MODEL
require_once('class/Class_Install.php');
include_once '../core/init.php';
require_once('install/class/Class_Install.php');
$Class_Install = new Install;
//CONTROLLER
......@@ -14,14 +15,14 @@
$step = 'language';
}
if (!file_exists('controller/'.$step.'_controller.php')) {
if (!file_exists('install/controller/'.$step.'_controller.php')) {
header("Location: error.php?error=badStep");
exit;
}
$Class_Install->setPreviousStep($step);
require_once('controller/'.$step.'_controller.php');
require_once('install/controller/'.$step.'_controller.php');
//VIEW
require_once('view/principal_view.php');
require_once('install/view/principal_view.php');
function ajax(
url,
parameters,
divRetour,
top
)
{
var ajaxUrl = url;
var parametersTemp = parameters.split('|');
var strAjaxParameters = '{';
for (cpt=0; cpt<parametersTemp.length; cpt++) {
strAjaxParameters += parametersTemp[cpt];
strAjaxParameters += ":";
strAjaxParameters += "'";
cpt++;
strAjaxParameters += parametersTemp[cpt];
strAjaxParameters += "'";
if (cpt < parametersTemp.length) {
strAjaxParameters += ", ";
}
}
strAjaxParameters += "ajax:'true'";
strAjaxParameters += ", div:'"+divRetour+"'";
strAjaxParameters += '}'
var ajaxParameters = eval('(' + strAjaxParameters + ')');
/**********/
if (top == 'true') {
var retour = window.top.$('#'+divRetour);
} else {
var retour = $('#'+divRetour);
}
/**********/
$(document).ready( function() {
$.getJSON('ajax.php?script='+ajaxUrl, ajaxParameters, function(data){
if (data.status == 1) {
retour.html(data.text);
} else {
retour.html(data.text);
}
});
});
}
function checkDatabaseInfo(
databaseserver,
databaseserverport,
databaseuser,
databasepassword,
databasename,
databasetype
)
{
$(document).ready(function() {
var oneIsEmpty = false;
if (databaseserver.length < 1) {
var oneIsEmpty = true;
}
if (databaseserverport.length < 1) {
var oneIsEmpty = true;
}
if (databaseuser.length < 1) {
var oneIsEmpty = true;
}
if (databasepassword.length < 1) {
var oneIsEmpty = true;
}
if (databasename.length < 1) {
var oneIsEmpty = true;
}
if (databasetype.length < 1) {
var oneIsEmpty = true;
}
if (oneIsEmpty) {
$('#returnCheckDatabaseInfo').html('au moins un champ mal rempli');
return;
}
$('#returnCheckDatabaseInfo').html('');
ajax(
'database',
'databaseserver|'+databaseserver
+'|databaseserverport|'+databaseserverport
+'|databaseuser|'+databaseuser
+'|databasepassword|'+databasepassword
+'|databasename|'+databasename
+'|databasetype|'+databasetype,
'returnCheckDatabaseInfo',
'false'
);
});
}
function checkLanguage(value)
function checkLanguage(
value
)
{
$(document).ready(function() {
if (value != 'default') {
......
function checkLanguage(value)
function checkLanguage(
value
)
{
$(document).ready(function() {
if (value != 'default') {
......
function goTo(link)
function goTo(
link
)
{
$(document).ready(function() {
window.top.location.href=link;
})
$(document).ready(function() {
window.top.location.href=link;
})
}
This diff is collapsed.
function slide(idDiv)
function slide(
idDiv
)
{
$(document).ready(function() {
$('#'+idDiv).slideToggle('slow');
})
$(document).ready(function() {
$('#'+idDiv).slideToggle('slow');
})
}
......@@ -76,6 +76,25 @@ if (!defined('_DATABASE')) {
define('_DATABASE', "Database");
}
if (!defined('_DATABASESERVER')) {
define('_DATABASESERVER', "Server");
}
if (!defined('_DATABASESERVERPORT')) {
define('_DATABASESERVERPORT', "Port");
}
if (!defined('_DATABASEUSER')) {
define('_DATABASEUSER', "User");
}
if (!defined('_DATABASEPASSWORD')) {
define('_DATABASEPASSWORD', "Password");
}
if (!defined('_DATABASENAME')) {
define('_DATABASENAME', "Name");
}
if (!defined('_DATABASETYPE')) {
define('_DATABASETYPE', "Type");
}
//PASSWORD
if (!defined('_PASSWORD')) {
define('_PASSWORD', "Password");
......
......@@ -76,6 +76,25 @@ if (!defined('_DATABASE')) {
define('_DATABASE', "Base de données");
}
if (!defined('_DATABASESERVER')) {
define('_DATABASESERVER', "Serveur");
}
if (!defined('_DATABASESERVERPORT')) {
define('_DATABASESERVERPORT', "Port");
}
if (!defined('_DATABASEUSER')) {
define('_DATABASEUSER', "Utilisateur");
}
if (!defined('_DATABASEPASSWORD')) {
define('_DATABASEPASSWORD', "Mot de passe");
}
if (!defined('_DATABASENAME')) {
define('_DATABASENAME', "Nom");
}
if (!defined('_DATABASETYPE')) {
define('_DATABASETYPE', "Type");
}
//PASSWORD
if (!defined('_PASSWORD')) {
define('_PASSWORD', "Mot de passe");
......
<?php
$_SESSION['config']['databaseserver'] = $_REQUEST['databaseserver'];
$_SESSION['config']['databaseserverport'] = $_REQUEST['databaseserverport'];
$_SESSION['config']['databaseuser'] = $_REQUEST['databaseuser'];
$_SESSION['config']['databasepassword'] = $_REQUEST['databasepassword'];
$_SESSION['config']['databasename'] = $_REQUEST['databasename'];
$_SESSION['config']['databasetype'] = $_REQUEST['databasetype'];
$checkDatabaseParameters = $Class_Install->checkDatabaseParameters(
$_REQUEST['databaseserver'],
$_REQUEST['databaseserverport'],
$_REQUEST['databaseuser'],
$_REQUEST['databasepassword'],
$_REQUEST['databasename'],
$_REQUEST['databasetype']
);
if (!$checkDatabaseParameters) {
$return['status'] = 1;
$return['text'] = 'CheckDatabaseParameters fail';
$jsonReturn = json_encode($return);
echo $jsonReturn;
exit;
}
$return['status'] = 1;
$return['text'] = 'checkDatabaseParameters OK';
$jsonReturn = json_encode($return);
echo $jsonReturn;
exit;
<?php
//MODEL
include_once '../../core/init.php';
if (!isset($_REQUEST['languageSelect']) || empty($_REQUEST['languageSelect'])) {
header("Location: ../error.php?error=badForm"); exit;
}
//CONTROLLER
if (!isset($_REQUEST['languageSelect']) || empty($_REQUEST['languageSelect'])) {
header("Location: ../error.php?error=badForm"); exit;
}
session_start();
$_SESSION['lang'] = $_REQUEST['languageSelect'];
header("Location: ../index.php?step=welcome");
$_SESSION['lang'] = $_REQUEST['languageSelect'];
header("Location: ../index.php?step=welcome");
......@@ -6,6 +6,111 @@
</div>
<div class="contentBlock" id="database">
<p>
<form>
<table>
<tr>
<td colspan="3" id="returnCheckDatabaseInfo">
&nbsp;
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td>
<?php echo _DATABASESERVER; ?>
</td>
<td>
:
</td>
<td>
<input type="text" id="databaseserver" name="databaseserver"/>
</td>
</tr>
<tr>
<td>
<?php echo _DATABASESERVERPORT; ?>
</td>
<td>
:
</td>
<td>
<input type="text" id="databaseserverport" name="databaseserverport"/>
</td>
</tr>
<tr>
<td>
<?php echo _DATABASEUSER; ?>
</td>
<td>
:
</td>
<td>
<input type="text" id="databaseuser" name="databaseuser"/>
</td>
</tr>
<tr>
<td>
<?php echo _DATABASEPASSWORD; ?>
</td>
<td>
:
</td>
<td>
<input type="password" id="databasepassword" name="databasepassword"/>
</td>
</tr>
<tr>
<td>
<?php echo _DATABASENAME; ?>
</td>
<td>
:
</td>
<td>
<input type="text" id="databasename" name="databasename"/>
</td>
</tr>
<tr style="display: none;">
<td>
<?php echo _DATABASETYPE; ?>
</td>
<td>
:
</td>
<td>
<input type="hidden" id="databasetype" name="databasetype" value="POSTGRESQL"/>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<input
type="button"
value="tester"
onClick="
checkDatabaseInfo(
$('#databaseserver').val(),
$('#databaseserverport').val(),
$('#databaseuser').val(),
$('#databasepassword').val(),
$('#databasename').val(),
$('#databasetype').val()
);
"
/>
</td>
</tr>
</table>
</form>
<br />
<br />
<div id="buttons">
......
<div class="headerName">
<h2>
<h2>
<?php echo $shortTitle; ?>
</h2>
</div>
<div class="logo">
<img src="img/logo.png" />
</div>
\ No newline at end of file
<img src="img/logo.png" />
</div>
......@@ -12,17 +12,17 @@
<div align="center">
<div id="fullWrapper" class="fullWrapper">
<header id="header">
<?php include('view/includes/header.php'); ?>
<?php include('install/view/includes/header.php'); ?>
</header>
<div class="line"></div>
<section id="section">
<br />
<?php include('view/'.$view.'_view.php'); ?>
<?php include('install/view/'.$view.'_view.php'); ?>
<br />
</section>
<div class="line"></div>
<footer id="footer">
<?php include('view/includes/footer.php'); ?>
<?php include('install/view/includes/footer.php'); ?>
</footer>
</div>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment