[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Noalyss-commit] [noalyss] 33/65: Task#1173 : create a empty database to
From: |
Dany De Bontridder |
Subject: |
[Noalyss-commit] [noalyss] 33/65: Task#1173 : create a empty database to restaure in command line |
Date: |
Wed, 09 Sep 2015 08:27:19 +0000 |
sparkyx pushed a commit to branch master
in repository noalyss.
commit c2646d207180b64a07b1c8b23210eb38fa7d7fb6
Author: Dany De Bontridder <address@hidden>
Date: Thu Sep 3 18:48:58 2015 +0200
Task#1173 : create a empty database to restaure in command line
---
html/do.php | 13 ++++
include/dossier.inc.php | 164 ++++++++++++++++++++++++++++------------------
2 files changed, 113 insertions(+), 64 deletions(-)
diff --git a/html/do.php b/html/do.php
index a8ceef2..26044b5 100644
--- a/html/do.php
+++ b/html/do.php
@@ -85,6 +85,19 @@ global $g_user, $cn,$g_parameter;
$cn = new Database(Dossier::id());
+
+/*
+ * check that the database is not empty
+ */
+if ( ! $cn->exist_table('version')) {
+ echo '<h2 class="notice">'._('Désolé').'</h2>';
+ echo _('Ce dossier est vide');
+ echo '<p>';
+ echo '<a class="button" href="do.php">'._("Retour à l'accueil").'</a>';
+ echo '</p>';
+ return;
+}
+
$g_user = new User($cn);
$g_parameter=new Own($cn);
diff --git a/include/dossier.inc.php b/include/dossier.inc.php
index e0f4d63..f1d9bd7 100644
--- a/include/dossier.inc.php
+++ b/include/dossier.inc.php
@@ -43,7 +43,9 @@ if ( isset ($_POST['upd']) && isNumber($dossier_id) == 1 &&
$dossier_id != -1)
$dos->save();
}
echo '<div class="content" style="width:80%;margin-left:10%">';
-// check and add an new folder
+/*
+ * check and add an new folder
+ */
if ( isset ($_POST["DATABASE"]) )
{
$repo=new Database();
@@ -62,23 +64,27 @@ if ( isset ($_POST["DATABASE"]) )
$template=HtmlInput::default_value_post("FMOD_ID",-1);
if ( $template == -1 || isNumber($template ) == 0)
die (_('Parametre invalide'));
-
- // compute template name
- $template_name=domaine.'mod'.$template;
-
-
- $encoding=$repo->get_value("select encoding from pg_database where ".
- " datname=$1",array($template_name));
- if ( $encoding != 6 )
+ /*
+ * If template is not empty
+ */
+ if ( $template != 0 )
{
- alert(_('Désolé vous devez migrer ce modèle en unicode'));
- echo '<span class="error">';
- echo _('le modele ').domaine.'mod'.$_POST["FMOD_ID"]._(" doit être
migré en unicode.");
- echo _('Pour le passer en unicode, faites-en un backup puis restaurez
le fichier reçu').'</span>';
- echo
HtmlInput::button_anchor('Retour','admin_repo.php?action=dossier_mgt');
- return;
- }
+ // compute template name
+ $template_name=domaine.'mod'.$template;
+
+ $encoding=$repo->get_value("select encoding from pg_database where ".
+ " datname=$1",array($template_name));
+ if ( $encoding != 6 )
+ {
+ alert(_('Désolé vous devez migrer ce modèle en unicode'));
+ echo '<span class="error">';
+ echo _('le modele ').domaine.'mod'.$_POST["FMOD_ID"]._(" doit être
migré en unicode.");
+ echo _('Pour le passer en unicode, faites-en un backup puis
restaurez le fichier reçu').'</span>';
+ echo
HtmlInput::button_anchor('Retour','admin_repo.php?action=dossier_mgt');
+ return;
+ }
+ }
/*
* Insert new dossier with description
*/
@@ -106,63 +112,91 @@ if ( isset ($_POST["DATABASE"]) )
if ( $l_id != 0)
{
- //--
- // setting the year
- //--
- $year=sql_string($_POST['YEAR']);
- if ( strlen($year) != 4 || isNumber($year) == 0 || $year > 2100 ||
$year < 2000 || $year != round($year,0))
- {
- echo "$year"._(" est une année invalide");
- $Res=$repo->exec_sql("delete from ac_dossier where dos_id=$l_id");
- }
- else
+ /*
+ * We don't create and empty database
+ */
+ if ($template != 0 )
{
- $Sql=sprintf("CREATE DATABASE %sDOSSIER%d encoding='UTF8' TEMPLATE
%sMOD%d",
- domaine,
- $l_id,
- domaine,
- sql_string($_POST["FMOD_ID"]));
- ob_start();
- if ( $repo->exec_sql($Sql)==false)
+ //--
+ // setting the year
+ //--
+ $year=sql_string($_POST['YEAR']);
+ if ( strlen($year) != 4 || isNumber($year) == 0 || $year > 2100 ||
$year < 2000 || $year != round($year,0))
{
- echo "[".$Sql."]";
-
- //ob_end_clean();
- $repo->exec_sql("delete from ac_dossier where dos_id=$l_id");
- echo "<h2 class=\"error\">"._(" Base de donnée
").domaine."mod".$_POST['FMOD_ID']." ".
- _("est accèdée, déconnectez-vous d'abord")."</h2>";
- exit;
+ echo "$year"._(" est une année invalide");
+ $Res=$repo->exec_sql("delete from ac_dossier where
dos_id=$l_id");
}
- ob_flush();
- // Connect to the new database
- $cn=new Database($l_id);
- //--year --
- $Res=$cn->exec_sql("delete from parm_periode");
- if ( ($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0 )
- $fev=29;
else
- $fev=28;
- $Res=$cn->exec_sql("delete from user_local_pref where
parameter_type='PERIODE'");
- $nb_day=array(31,$fev,31,30,31,30,31,31,30,31,30,31);
- $m=1;
- foreach ($nb_day as $day)
{
- $p_start=sprintf("01-%d-%s",$m,$year);
- $p_end=sprintf("%d-%d-%s",$day,$m,$year);
- $sql=sprintf("insert into parm_periode
(p_start,p_end,p_exercice)
- values
(to_date('%s','DD-MM-YYYY'),to_date('%s','DD-MM-YYYY'),'%s')",
- $p_start,$p_end,$year);
+ $Sql=sprintf("CREATE DATABASE %sDOSSIER%d encoding='UTF8'
TEMPLATE %sMOD%d",
+ domaine,
+ $l_id,
+ domaine,
+ sql_string($_POST["FMOD_ID"]));
+ ob_start();
+ if ( $repo->exec_sql($Sql)==false)
+ {
+ echo "[".$Sql."]";
+
+ //ob_end_clean();
+ $repo->exec_sql("delete from ac_dossier where
dos_id=$l_id");
+ echo "<h2 class=\"error\">"._(" Base de donnée
").domaine."mod".$_POST['FMOD_ID']." ".
+ _("est accèdée, déconnectez-vous d'abord")."</h2>";
+ exit;
+ }
+ ob_flush();
+ // Connect to the new database
+ $cn=new Database($l_id);
+ //--year --
+ $Res=$cn->exec_sql("delete from parm_periode");
+ if ( ($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0 )
+ $fev=29;
+ else
+ $fev=28;
+ $Res=$cn->exec_sql("delete from user_local_pref where
parameter_type='PERIODE'");
+ $nb_day=array(31,$fev,31,30,31,30,31,31,30,31,30,31);
+ $m=1;
+ foreach ($nb_day as $day)
+ {
+ $p_start=sprintf("01-%d-%s",$m,$year);
+ $p_end=sprintf("%d-%d-%s",$day,$m,$year);
+ $sql=sprintf("insert into parm_periode
(p_start,p_end,p_exercice)
+ values
(to_date('%s','DD-MM-YYYY'),to_date('%s','DD-MM-YYYY'),'%s')",
+ $p_start,$p_end,$year);
+ $Res=$cn->exec_sql($sql);
+ $m++;
+ }
+ $sql=" insert into jrn_periode(p_id,jrn_def_id,status) ".
+ "select p_id,jrn_def_id, 'OP'".
+ " from parm_periode cross join jrn_def";
$Res=$cn->exec_sql($sql);
- $m++;
- }
- $sql=" insert into jrn_periode(p_id,jrn_def_id,status) ".
- "select p_id,jrn_def_id, 'OP'".
- " from parm_periode cross join jrn_def";
- $Res=$cn->exec_sql($sql);
- Dossier::synchro_admin($l_id);
+ Dossier::synchro_admin($l_id);
+ }
+ }
+ else {
+ /*
+ * An empty database is asked, it is created
+ */
+ $Sql=sprintf("CREATE DATABASE %sDOSSIER%d encoding='UTF8' ",
+ domaine,
+ $l_id,
+ domaine
+ );
+ ob_start();
+ if ( $repo->exec_sql($Sql)==false)
+ {
+ echo "[".$Sql."]";
+
+ //ob_end_clean();
+ $repo->exec_sql("delete from ac_dossier where
dos_id=$l_id");
+ echo _("Echec création ");
+ exit;
+ }
+ ob_flush();
+
}
} // if $l_id != 0
} // $_POST[DATABASE]
@@ -275,11 +309,13 @@ if ( $sa == 'list' )
else
{
$template='<SELECT NAME=FMOD_ID>';
+
for ($i=0;$i<$count;$i++)
{
$mod=Database::fetch_array($Res,$i);
$template.='<OPTION VALUE="'.$mod['mod_id'].'">
'.h($mod['mod_name']." - ".mb_substr($mod['mod_desc'],0,30));
}// for
+ $template.='<option value="0" >'._('Aucun modèle (dossier vide,
devant être restauré manuellement)');
$template.="</SELECT>";
}// if count = 0
$m_date=date('Y');
- [Noalyss-commit] [noalyss] 23/65: beter size for subject, (continued)
- [Noalyss-commit] [noalyss] 23/65: beter size for subject, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 15/65: bug in redirect, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 24/65: Update documentation, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 22/65: Script SQL à ajouter, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 27/65: Better debugging : add a button to show the request $_POST and $_GET, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 25/65: insert contact, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 29/65: Bug#1158 : sign and side of Analytic accountancy, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 30/65: comment, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 31/65: Fix issue : cannot zoom an operation after saving it., Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 35/65: Esthetic : message is nothing found in menu, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 33/65: Task#1173 : create a empty database to restaure in command line,
Dany De Bontridder <=
- [Noalyss-commit] [noalyss] 36/65: Missing file, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 37/65: Use the profile instead of the login name in the view, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 39/65: Add the side D/C to aged balance, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 38/65: translation, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 34/65: increase size of font in box, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 40/65: Remove ENABLE_CACHE + DB Upgrade, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 42/65: Remove ENABLE_CACHE, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 43/65: set version, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 41/65: database upgrade, Dany De Bontridder, 2015/09/09
- [Noalyss-commit] [noalyss] 47/65: avoid duplicate, Dany De Bontridder, 2015/09/09