7 <META http-equiv=
"Content-Type" content=
"text/html; charset=UTF8">
10<link rel=
"icon" type=
"image/ico" href=
"favicon.ico" />
11 <META http-equiv=
"Content-Type" content=
"text/html; charset=UTF8">
12 <script
type=
"text/javascript" charset=
"utf-8" language=
"javascript" src=
"js/prototype.js"></script>
13 <link
type=
"text/css" REL=
"stylesheet" href=
"css/style-classic7.css"/>
14 <LINK
id=
"pagestyle" REL=
"stylesheet" type=
"text/css" href=
"css/font/fontello/css/fontello.css" media=
"screen"/>
21 background-color: #F8F8FF;
26 background-color: darkblue;
28 text-transform: uppercase;
33 text-decoration: none;
51 font-family: helvetica,arial,sans-serif;
52 background-image: url(
"image/bg-submit2.gif");
53 background-repeat: repeat-x;
54 background-position:
left;
56 font-family: helvetica,arial,sans-serif;
60 -moz-border-radius:2px 2px;
72 background-image: url(
"image/bg-submit2.gif");
73 background-repeat: repeat-x;
74 background-position:
left;
81 background-color: inherit;
91 <IMG SRC=
"image/logo9000.png" style=
"width: 30%;z-index:-1;position:fixed;top:30%;margin-left: 20%;opacity: 0.2" alt=
"NOALYSS">
93<
h1>NOALYSS : comptabilité - accountancy </
h1>
125 Choisissez votre langue ,pour MacOS utilisez
"Not Used"
128 Select your language,
for MacOS
user please use
"Not Used"
131 Language : <select
name=
"lang">
132 <OPTION
value=
"fr_FR.utf8">Français</option>
133 <OPTION
value=
"en_US.utf8">English</option>
134 <OPTION
value=
"none">Not Used</option>
141require_once
'../include/constant.php';
142include_once NOALYSS_INCLUDE.
'/lib/ac_common.php';
143include_once NOALYSS_INCLUDE.
'/lib/html_input.class.php';
144include_once NOALYSS_INCLUDE.
'/lib/function_javascript.php';
150echo
'<div id="info_div"></div>';
151if (
$_GET[
'lang'] ==
"en_US.utf8" ||
$_GET[
'lang']==
'fr_FR.utf8')
153 $_SESSION[SESSION_KEY.
'g_lang']=
$_GET[
'lang'];
157 <script
type=
"text/javascript" charset=
"utf-8" language=
"javascript" src=
"js/infobulle.js">
160 include_once NOALYSS_INCLUDE.
'/lib/message_javascript.php';
164content[200]=
"<?php echo _("Indiquez ici le répertoire où les documents temporaires peuvent être sauvés exemple c:/temp, /tmp
")?>";
165content[201]=
"<?php echo _("Désactiver le changement de langue (requis pour MacOSX)
")?>";
166content[202]=
"<?php echo _("Le chemin vers le repertoire contenant psql, pg_dump...
")?>";
167content[203]=
"<?php echo _("Utilisateur de la base de donnée postgresql
")?>";
168content[204]=
"<?php echo _("Mot de passe de l
'utilisateur de Postgresql")?>";
169content[205]="<?php echo _("Port pour postgresql")?>";
170content[206]="<?php echo _("En version mono dossier, le nom de la base de données doit être mentionné")?>";
171content[207]="<?php echo _("Vous devez choisir si NOALYSS est installé sur l'un de vos servers ou sur un server mutualisé qui ne donne qu
'une seule base de données")?>";
172content[208]="<?php echo _("Serveur postgresql")?>";
173content[209]="<?php echo _("Mot de passe administrateur, il peut être changé ensuite dans les préférences")?>";
174content[210]="<?php echo _("login administrateur")?>";
178<DIV id="bulle" class="infobulle"></DIV>
182$failed="<span style=\"font-size:18px;color:red\">✖</span>";
183$succeed="<span style=\"font-size:18px;color:green\">✓</span>";
184$inc_path=get_include_path();
186$inc_path=get_include_path();
188if ( strpos($inc_path,";") != 0 ) {
189 $new_path=$inc_path.';../../include;addon
';
190 $os=0; /* $os is 0 for windoz */
192 $new_path=$inc_path.':../../include:addon
';
193 $os=1; /* $os is 1 for unix */
195// Retrieve informations from the screen
197$http=new HttpInput();
198$db_user=$http->request("cuser","string", "");
199$db_password=$http->request("cpasswd","string", "");
200$db_host=$http->request("chost","string", "");
201$db_port=$http->request("cport","string", "");
202$multi=$http->request("multi","string", "N");
203$locale=$http->request("clocale","string", "1");
204$ctmp=$http->request("ctmp","string", "/tmp");
205$cpath=$http->request("cpath","string", "/usr/bin");
206$db_name=$http->request("cdbname", "string","");
207$cadmin=$http->request("cadmin","string", "admin");
208$cpassword_admin=$http->request("cpassword_admin","string", "phpcompta");
209$cadmin=strtolower($cadmin);
210//-------------------------------------------------------------------------
211// warn only if we can not write in include
212//-------------------------------------------------------------------------
213if ( is_writable ('install.php
') == false ) {
214 echo '<
h2 class=
"notice">
'._("Ecriture non possible").' </
h2>
'.
215 '<
p class=
"warning">
'.
216 _("On ne peut pas écrire dans le répertoire de NOALYSS, changez-en les droits ")
219//----------------------------------------------------------------------------
220// We try to connect with the supplied information
221// If we succeed we continue the check
222// otherwise we turn back to the first screen
223// The config file is created here
224//----------------------------------------------------------------------------
226if (isset($_POST['save_config
'])) {
227 require_once NOALYSS_INCLUDE.'/lib/config_file.php
';
229 // check password and admin not empty
231 if ( strlen(trim($cpassword_admin))== 0 ||
232 strlen(trim($cadmin))== 0
234 echo '<
h2 class=
"warning">
';
235 echo _('Le mot de passe du super admin et le login ne peuvent être vides
');
240 // check strenght password admin
241 $passw_error=check_password_strength($cpassword_admin);
242 if ( count($passw_error['msg
'])>0) {
243 echo '<
h2 class=
"warning">
';
244 echo _("Mot de passe trop faible");
247 foreach ($passw_error['msg
'] as $error) {
248 echo "<li>",$error,"</li>";
253 // check password and admin not containing quote or double quote
255 if ( strpos($cpassword_admin,'"') !== false
256 || strpos($cadmin,'"') !== false
257 || strpos($cpassword_admin,"'") !== false
258 || strpos($cadmin,"'") !== false
259 || strpos($cpassword_admin," ") !== false
260 || strpos($cadmin," ") !== false
261 || strpos($cadmin,"@mobile") !== false
263 echo '<
h2 class=
"warning">
';
264 echo _('Le mot de passe du super admin et le superadmin ne peut pas contenir des guillemets ou espaces, ni @mobile
');
270 // Try to connect , if it doesn't work that
do not create the config file
278 }
catch (Exception
$ex) {
284 if (
$err == 0 && $cnx !==
false ) {
285 echo
'<div style="border:red 1px solid">';
286 echo
'<h1 style="padding-top:0px;margin-top:0px;background-color:orangered">'._(
'Important').
'</h1>';
287 echo
'<p style="padding:10px">',_(
"Voici l'utilisateur et mot de passe de l'utilisateur administrateur de Noalyss , "
288 .
" il a tous les droits et a accès à tout."
289 .
" Connectez-vous avec ses identifiants et changer le mot de passe dans préférence (en haut à droite)"),
291 echo
'<p style="padding:10px;font-size:120%">'._(
'Utilisateur administrateur'),
' ',
'<span style="color:red"> ',
$cadmin,
'</span>',
'</p>';
292 echo
'<p style="padding:10px;font-size:120%">',_(
'Mot de passe'),
'<span style="color:red"> '.$cpassword_admin.
' </span>',
'</p>';
295 if (is_writable(NOALYSS_INCLUDE)) {
298 <form method="post" action="?lang='.$_GET[
'lang'].
'" >'.
299 _(
'Les informations sont sauvées vous pouvez continuer').
300 '<input type="submit" class="button" value="'._(
'Continuer').
'">
304 echo
'<p class="warning">';
305 echo _(
'Fichier non sauvé');
308 printf ( _(
'Créez ce fichier %s avec les informations suivantes '),
309 NOALYSS_INCLUDE.
'/config.inc.php');
312 print (_(
'Puis cliquez sur ce lien')).
" ";
313 echo
'<a href="install.php?lang='.$_GET[
'lang'].
'">'._(
'Installation').
"</a>";
316 echo
'<textarea cols="80" rows="50" style="height:auto">';
322 echo
'<h2 class="warning">';
323 echo _(
'Impossible de se connecter à Postgresql, vérifiez les informations de connection');
334if ( ! file_exists(NOALYSS_INCLUDE.
'/config.inc.php')) {
336 echo
'<h1 class="info">'._(
'Entrez les informations nécessaires à noalyss').
'</h1>';
337 echo
'<form method="post">';
338 require_once NOALYSS_INCLUDE.
'/lib/config_file.php';
341 echo
'<div style="float:left;"></div>';
342 echo
'<p style="text-align:center">',
360require_once NOALYSS_INCLUDE.
'/config.inc.php';
361require_once NOALYSS_INCLUDE.
'/lib/config_file.php';
362require_once NOALYSS_INCLUDE.
'/class/database.class.php';
367echo
'<h1>'._(
'Configuration').
'</h1>';
370<?php echo _(
'Vous utilisez le domaine'),
" ",
domaine; ?>
379if (!defined(
'PHP_VERSION_ID')) {
380 $version = explode(
'.',PHP_VERSION);
385if ( PHP_VERSION_ID < 80000) {
386 echo
$g_failed.
" ".phpversion().
" ". _(
"Version PHP trop basse , minimum 8.0");
387 echo
'<p style="color:grey;margin-left:20px">';
388 printf(_(
"Cette version nécessite au moins une version supérieure ou égale à 8.0"));
392 echo
$g_succeed.
" Version PHP ".phpversion();
395echo
"<ul style=\"list-style-type: square;\">";
396foreach (array(
'magic_quotes_gpc',
'magic_quotes_runtime') as
$a) {
401 print (
"<h2 class=\"error\">$a "._(
'a une mauvaise valeur').
" !</h2>");
412$str_error_message=_(
'Vous devez installer ou activer l\'extension').
'<span style="font-weight:bold"> %s </span>';
414$a_need_module=array(
"mbstring",
"pgsql",
"bcmath",
"gettext",
"zip",
"gd",
"dom",
"xml",
"SimpleXML",
"xmlwriter",
"xmlreader");
423 echo
'module '.$a_need_module[
$m].$failed;
424 echo
'<span class="warning">',
429 }
else echo
'module '.$a_need_module[
$m].$succeed;
435if ( ini_get(
"max_execution_time") < 60 ) {
437 echo _(
'Avertissement').
' : '.$failed;
438 echo
'<span class="info"> ',
439 _(
"max_execution_time devrait être de 60 minimum"),
444if ( ini_get(
"register_globals") ==
true) {
446 echo _(
'Avertissement').
' : '.$failed;
447 print '<span class="warning"> '._(
'register_globals doit être à off').
'</span>';
453if ( ini_get(
"open_basedir") !=
"") {
455 echo _(
'Avertissement').
' : '.$failed;
456 print '<span class="warning"> '._(
'open_basedir empêche certaines fonctions de Noalyss,mettez-le à vide ').
'</span>';
464 echo
'<p class="info"> '._(
'php.ini est bien configuré ').$succeed.
'</p>';
466 echo
'<p class="warning"> '._(
'php mal configuré ').$failed.
' </p>';
470if (! function_exists(
"pg_connect")) {
471 echo _(
"Module php-pgsql n'est pas installé");
475if ( (defined(
"MULTI") && MULTI==1)|| !defined(
"MULTI"))
485<
h2><?php echo _(
'Base de données')?></
h2>
489$sql=
"select setting from pg_settings where name='server_version'";
492echo _(
"Version base de données :"),
$version;
497 <
p><?php echo $failed . _(
" Vous devez absolument utiliser au minimum une version 10 de PostGresql, si votre distribution n'en
498offre pas, installez-en une en la compilant. Lisez attentivement la notice sur postgresql.org pour migrer
499vos bases de données")?>
507<h3><?php echo _(
'Paramètre base de données')?></h3>
511$sql=
"select lanname from pg_language where lanname='plpgsql'";
514<
p><?php echo $failed._(
"Vous devez installer le langage plpgsql pour permettre aux fonctions SQL de fonctionner.")?></
p>
515<
p><?php echo _(
"Pour cela, sur la ligne de commande en tant qu\'utilisateur postgres, faites createlang plpgsql template1")?>
521include_once(
'lib/ac_common.php');
522require_once(
'class/dossier.class.php');
529 name in ('effective_cache_size','shared_buffers')";
535 case 'effective_cache_size':
536 if (
$a[
'setting'] < 1000 ){
538 printf (
'<p class="warning">'.$failed._(
'Attention le paramètre effective_cache_size est de %s'.
539 " au lieu de 1000").
"</p>",
$a[
'setting']);
543 case 'shared_buffers':
544 if (
$a[
'setting'] < 640 ){
545 print '<p class="warning">'.$failed;
546 printf(
'Attention le paramètre shared_buffer est de %s
547 au lieu de 640',
$a[
'setting']);
555 echo
'<p class="info">'._(
'La base de données est bien configurée ').$succeed.
'</p>';
557 echo
'<p class="warning">'.$failed;
558 printf (_(
'Il y a %s paramètre qui sont trop bas'),
$flag);
563 print (
'<span class="warning">');
564 printf(_(
"Désolé, votre installation ne permet à NOALYSS de fonctionner"));
568if ( ! isset(
$_POST[
'go']) ) {
571 <FORM METHOD=
"post" action=
"install.php?lang=<?php echo $_GET['lang']?>" onsubmit=
"waiting_box();return true;">
572<input
type=
"submit" class=
"button" name=
"go" value=
"<?php echo _("Commencer la mise à jour ou l
'installation");?>">
577if (!isset($_POST['go
']))
581// Check if account_repository exists
582if (!defined("MULTI")||(defined("MULTI")&&MULTI==1))
584 $account=$cn->count_sql("select * from pg_database where datname=lower('".domaine."account_repository
')");
591// Create the account_repository
594 echo "Creation of ".domaine."account_repository";
595 if ( DEBUGNOALYSS == 0 ) ob_start();
596 $cn->exec_sql("create database ".domaine."account_repository encoding='utf8
'");
599 $cn->execute_script(NOALYSS_INCLUDE."/sql/account_repository/schema.sql");
600 $cn->execute_script(NOALYSS_INCLUDE."/sql/account_repository/data.sql");
601 $cn->execute_script(NOALYSS_INCLUDE."/sql/account_repository/constraint.sql");
602 /* update name administrator */
603 $cadmin=NOALYSS_ADMINISTRATOR;
604 $cpassword_admin=NOALYSS_ADMIN_PASSWORD;
605 $cn->exec_sql("update ac_users set use_login=$1,use_pass=md5($2),use_active=1 where use_id=1",
606 array(strtolower($cadmin),$cpassword_admin));
610 if ( DEBUGNOALYSS == 0 )
615 echo _("Creation of Modele 1");
616 if ( DEBUGNOALYSS == 0 )
620 $cn->exec_sql("create database ".domaine."mod1 encoding='utf8
'");
622 $cn=new Database(1,'mod
');
624 $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/schema.sql
');
625 $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/data.sql
');
626 $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/constraint.sql
');
629 if ( DEBUGNOALYSS == 0 )
634 echo _("Creation of Modele 2");
635 $cn->exec_sql("create database ".domaine."mod2 encoding='utf8
'");
636 $cn=new Database(2,'mod
');
638 if ( DEBUGNOALYSS == 0 ) { ob_start(); }
639 $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/schema.sql
');
640 $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod2/data.sql
');
641 $cn->execute_script(NOALYSS_INCLUDE.'/sql/mod1/constraint.sql
');
644 if ( DEBUGNOALYSS == 0 ) ob_end_clean();
645echo '<
h1>
'._('Important
').'</
h1>
';
646echo '<
p>
'._('Utilisateur administrateur
'),' ',NOALYSS_ADMINISTRATOR,'</
p>
';
647echo '<
p>
',_('Mot de passe
')," ",NOALYSS_ADMIN_PASSWORD,'</
p>
';
649// Add a french accountancy model
653echo "<h1>"._('Mise à jour du systeme
')."</h1>";
654echo "<h2 >"._("Mise à jour dossier")."</h2>";
658if (defined("MULTI") && MULTI == 0)
660 $db = new Database();
661 if ($db->exist_table("repo_version") == false)
663 if ( DEBUGNOALYSS > 0 ) { ob_start(); }
664 $db->execute_script(NOALYSS_INCLUDE.'/sql/mono/mono.sql
');
666 if ( DEBUGNOALYSS > 0 ) ob_end_clean();
670 if ($db->exist_table("version") == false)
672 echo '<
p class=
"warning">
' . $failed ;
673 printf (_('La base de donnée %s est vide,
674 veuillez vous y connecter
675 avec phpPgAdmin ou pgAdmin3 ou en commande en ligne
676 puis faites un seul de ces choix :
'),dbname);
678 echo '<li>
'._("soit noalyss/contrib/mono-dossier/mono-france.sql pour la comptabilité française").'</li>
';
679 echo '<li>
'._("soit noalyss/contrib/mono-dossier/mono-belge.sql pour la comptabilité belge").'</li>
';
680 echo '<li>
'._("soit y restaurer un backup ou un modèle")."</li>
682 echo _("Puis refaites la procédure d'installation pour mettre la base de données à jour
"),
686 echo "<h3>Patching
" . dbname . '</h3>';
687 $db->apply_patch(dbname);
688 echo "<
p class=\
"info\">"._(
"Tout est installé").
$succeed;
690 echo
"<h2>"._(
"Mise à jour Repository").
"</h2>";
691 if ( DEBUGNOALYSS == 0 ) ob_start();
693 for (
$i=4;
$i<= $MaxVersion;
$i++)
695 if ( $db->get_value (
' select val from repo_version') <=
$i ) {
696 $db->execute_script(NOALYSS_INCLUDE.
'/sql/patch/ac-upgrade'.
$i.
'.sql');
700 $db->exec_sql(
"update ac_users set use_login=$1,use_pass=md5($2) where use_id=1",
703 if ( DEBUGNOALYSS == 0 ) ob_end_clean();
705 echo
'<h1>'._(
'Important').
'</h1>';
708 echo
"<h2 class=\"warning\">";
709 printf (
" VOUS DEVEZ EFFACER CE FICHIER %s",__FILE__);
712<
p style=
"text-align: center">
713 <A
style=
"" class=
"button" HREF=
"./index.php"><?php echo _(
'Connectez-vous à NOALYSS')?></A>
723define (
'ALLOWED_ADMIN',1);
726if (defined(
"NOALYSS_ADMINISTRATOR") && defined (
"NOALYSS_ADMIN_PASSWORD"))
728 $rep->exec_sql(
"update ac_users set use_login=$1 ,use_pass=md5($2)
731 NOALYSS_ADMIN_PASSWORD));
734echo
'<h1>'._(
'Important').
'</h1>';
737echo
"<h2 class=\"warning\">";
738printf (_(
"VOUS DEVEZ EFFACER CE FICHIER %s"),__FILE__);
741 echo
"<p class=\"info\">"._(
"Tout est installé").
" ".
$succeed;
744<
p style=
"text-align: center">
745<A
style=
"display:inline;margin:10px;padding:10px;" class=
"button" HREF=
"index.php?remove_install"><?php echo _(
"Essai effacement install.php et se connecter à NOALYSS")?></A>
h2($p_string, $p_class="", $raw="")
span($p_string, $p_extra='')
h1($p_string, $p_class="")
set_language()
set the lang thanks the _SESSION['g_lang'] var.
return false Description text align
else $card content[$j]['j_montant']
This class allow you to connect to the postgresql database, execute sql, retrieve data.
contains the class for connecting to Noalyss
static upgrade()
Upgrade check if the folder ACCOUNT_REPOSITORY needs to be upgrade thanks the variable DBVERSIONREPO ...
display_file_config($p_array, $from_setup=1, $p_os=1)
Display the content of the config.inc.php with variables.
config_file_form($p_array=null)
config_file_create($p_array, $from_setup, $p_os=1)
create the config file
for($e=0; $e< count($afiche); $e++) exit
load_all_script()
load all the javascript only one time
foreach(array('magic_quotes_gpc', 'magic_quotes_runtime') as $a) $module
if( $delta< 0) elseif( $delta==0)