Dolibarr and cashdesk module shares the same cookie

This commit is contained in:
Laurent Destailleur 2008-10-26 12:59:56 +00:00
parent 6a6318a58c
commit 055c4411ff
23 changed files with 273 additions and 252 deletions

View File

@ -23,7 +23,7 @@
unset ($_SESSION['serObjFacturation']); unset ($_SESSION['serObjFacturation']);
$sql->query ('TRUNCATE TABLE llx_tmp_caisse;'); $sql->query ('DELETE FROM '.MAIN_DB_PREFIX.'tmp_caisse');
} }

View File

@ -137,9 +137,8 @@
$this->passwd ($aPasswd); $this->passwd ($aPasswd);
$this->sql = "SELECT rowid, pass_crypted, statut $this->sql = "SELECT rowid, pass_crypted, statut
FROM llx_user FROM ".MAIN_DB_PREFIX."user
WHERE login = '".$this->login."' WHERE login = '".$this->login."'";
;";
$this->verif_utilisateurs(); $this->verif_utilisateurs();

View File

@ -83,7 +83,7 @@
$sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base); $sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base);
$tab_tva = $sql->fetchFirst ( $sql->query ('SELECT taux FROM llx_c_tva WHERE rowid = '.$this->tva().';') ); $tab_tva = $sql->fetchFirst ( $sql->query ('SELECT taux FROM '.MAIN_DB_PREFIX.'c_tva WHERE rowid = '.$this->tva().';') );
// Calcul du total ht sans remise // Calcul du total ht sans remise
$total_ht = ( $this->qte * $this->prix() ); $total_ht = ( $this->qte * $this->prix() );
@ -106,7 +106,7 @@
$total_ttc = ($total_ht - $montant_remise) * (($tab_tva['taux'] / 100) + 1); $total_ttc = ($total_ht - $montant_remise) * (($tab_tva['taux'] / 100) + 1);
$sql->query(' $sql->query('
INSERT INTO llx_tmp_caisse ( INSERT INTO '.MAIN_DB_PREFIX.'tmp_caisse (
fk_article, fk_article,
qte, qte,
fk_tva, fk_tva,
@ -119,10 +119,9 @@
'.$this->qte().', '.$this->qte().',
'.$this->tva().', '.$this->tva().',
'.$remise_percent.', '.$remise_percent.',
'.$montant_remise.', '.price2num($montant_remise).',
'.$total_ht.', '.price2num($total_ht).',
'.$total_ttc.') '.price2num($total_ttc).')');
;');
// On modifie les totaux // On modifie les totaux
$this->calculTotaux(); $this->calculTotaux();
@ -139,7 +138,7 @@
$sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base); $sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base);
$sql->query('DELETE FROM llx_tmp_caisse WHERE id = '.$aArticle.' LIMIT 1;'); $sql->query('DELETE FROM '.MAIN_DB_PREFIX.'tmp_caisse WHERE id = '.$aArticle.' LIMIT 1');
} }
@ -152,10 +151,9 @@
$sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base); $sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base);
// Incrémentation des compteurs // Incrémentation des compteurs
$res = $sql->query ('SELECT remise, total_ht, taux FROM `llx_tmp_caisse` as c $res = $sql->query ('SELECT remise, total_ht, taux FROM '.MAIN_DB_PREFIX.'tmp_caisse as c
LEFT JOIN llx_c_tva as t ON c.fk_tva = t.rowid LEFT JOIN '.MAIN_DB_PREFIX.'c_tva as t ON c.fk_tva = t.rowid
ORDER BY id ORDER BY id');
;');
$total_tva_19_6 = 0; $total_tva_19_6 = 0;
$total_tva_5_5 = 0; $total_tva_5_5 = 0;

View File

@ -15,9 +15,11 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
require_once ('Sql.interface.php');
class Sql implements intSql { require_once ('Sql.interface.php');
class Sql implements intSql {
/** /**
* Constructeur : initialise la connection à la base de données * Constructeur : initialise la connection à la base de données
@ -37,11 +39,11 @@
* Destructeur : ferme la connection à la base de données * Destructeur : ferme la connection à la base de données
*/ */
// Désactivation pour cause bug avec 1and1 // Désactivation pour cause bug avec 1and1
// public function __destruct () { // public function __destruct () {
// //
// mysql_close (); // mysql_close ();
// //
// } // }
/** /**
* Effectue une requête sur la base de données, et renvoi la ressource correspondante * Effectue une requête sur la base de données, et renvoi la ressource correspondante
@ -49,7 +51,7 @@
* @return Ressource vers la requête venant d'être effectuée * @return Ressource vers la requête venant d'être effectuée
*/ */
public function query ($aRequete) { public function query ($aRequete) {
dolibarr_syslog("cashdesk query sql=".$aRequete, LOG_DEBUG);
return mysql_query($aRequete); return mysql_query($aRequete);
} }
@ -107,6 +109,6 @@
} }
} }
?> ?>

View File

@ -15,8 +15,22 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
session_start (); include('../master.inc.php');
session_destroy ();
header ('Location: index.php'); // Init session
$sessionname="DOLSESSID_".$dolibarr_main_db_name;
if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT);
session_name($sessionname);
session_start();
dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"].", ".ini_get("session.gc_maxlifetime"));
// Destroy session
$sessionname="DOLSESSID_".$dolibarr_main_db_name;
if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT);
session_name($sessionname);
session_destroy();
dolibarr_syslog("End session in DOLSESSID_".$dolibarr_main_db_name);
header ('Location: index.php');
?> ?>

View File

@ -20,10 +20,10 @@
if ( $_GET['filtre'] ) { if ( $_GET['filtre'] ) {
// Avec filtre // Avec filtre
$tab_designations = $sql->fetchAll ( $sql->query (' $tab_designations = $sql->fetchAll ( $sql->query (
SELECT llx_product.rowid, ref, label, tva_tx 'SELECT '.MAIN_DB_PREFIX.'product.rowid, ref, label, tva_tx
FROM llx_product FROM '.MAIN_DB_PREFIX.'product
LEFT JOIN llx_product_stock ON llx_product.rowid = llx_product_stock.fk_product LEFT JOIN '.MAIN_DB_PREFIX.'product_stock ON '.MAIN_DB_PREFIX.'product.rowid = '.MAIN_DB_PREFIX.'product_stock.fk_product
WHERE envente = 1 WHERE envente = 1
AND fk_product_type = 0 AND fk_product_type = 0
AND fk_entrepot = '.$conf_fkentrepot.' AND fk_entrepot = '.$conf_fkentrepot.'
@ -36,9 +36,9 @@
// Sans filtre // Sans filtre
$tab_designations = $sql->fetchAll ( $sql->query (' $tab_designations = $sql->fetchAll ( $sql->query ('
SELECT llx_product.rowid, ref, label, tva_tx SELECT '.MAIN_DB_PREFIX.'product.rowid, ref, label, tva_tx
FROM llx_product FROM '.MAIN_DB_PREFIX.'product
LEFT JOIN llx_product_stock ON llx_product.rowid = llx_product_stock.fk_product LEFT JOIN '.MAIN_DB_PREFIX.'product_stock ON '.MAIN_DB_PREFIX.'product.rowid = '.MAIN_DB_PREFIX.'product_stock.fk_product
WHERE envente = 1 WHERE envente = 1
AND fk_product_type = 0 AND fk_product_type = 0
AND fk_entrepot = '.$conf_fkentrepot.' AND fk_entrepot = '.$conf_fkentrepot.'
@ -75,7 +75,7 @@
// Récupération des taux de tva // Récupération des taux de tva
global $mysoc; global $mysoc;
$request="SELECT t.rowid, t.taux $request="SELECT t.rowid, t.taux
FROM llx_c_tva as t, llx_c_pays as p FROM ".MAIN_DB_PREFIX."c_tva as t, llx_c_pays as p
WHERE t.fk_pays = p.rowid AND t.active = 1 AND p.code = '".$mysoc->pays_code."'"; WHERE t.fk_pays = p.rowid AND t.active = 1 AND p.code = '".$mysoc->pays_code."'";
//print $request; //print $request;
$tab_tva = $sql->fetchAll ($sql->query ($request)); $tab_tva = $sql->fetchAll ($sql->query ($request));

View File

@ -21,17 +21,16 @@
// Verification // Verification
if ( strlen ($_GET["code"]) > 1 ) { if ( strlen ($_GET["code"]) > 1 ) {
$res = $sql->query (" $res = $sql->query (
SELECT llx_product.rowid, ref, label, tva_tx "SELECT ".MAIN_DB_PREFIX."product.rowid, ref, label, tva_tx
FROM llx_product FROM ".MAIN_DB_PREFIX."product
LEFT JOIN llx_product_stock ON llx_product.rowid = llx_product_stock.fk_product LEFT JOIN ".MAIN_DB_PREFIX."product_stock ON ".MAIN_DB_PREFIX."product.rowid = ".MAIN_DB_PREFIX."product_stock.fk_product
WHERE envente = 1 WHERE envente = 1
AND fk_product_type = 0 AND fk_product_type = 0
AND fk_entrepot = '".$conf_fkentrepot."' AND fk_entrepot = '".$conf_fkentrepot."'
AND ref LIKE '%".$_GET['code']."%' AND ref LIKE '%".$_GET['code']."%'
OR label LIKE '%".$_GET['code']."%' OR label LIKE '%".$_GET['code']."%'
ORDER BY label ORDER BY label");
;");
if ( $nbr = $sql->numRows($res) ) { if ( $nbr = $sql->numRows($res) ) {

View File

@ -31,16 +31,16 @@
if ( $_POST['hdnSource'] == 'LISTE' ) { if ( $_POST['hdnSource'] == 'LISTE' ) {
$res = $sql->query('SELECT fk_product, ref, stock_propale, stock_commande, price, reel, tva_tx $res = $sql->query('SELECT fk_product, ref, stock_propale, stock_commande, price, reel, tva_tx
FROM llx_product FROM '.MAIN_DB_PREFIX.'product
LEFT JOIN llx_product_stock ON llx_product.rowid = llx_product_stock.fk_product LEFT JOIN '.MAIN_DB_PREFIX.'product_stock ON '.MAIN_DB_PREFIX.'product.rowid = '.MAIN_DB_PREFIX.'product_stock.fk_product
WHERE fk_product = '.$_POST['selProduit'].' WHERE fk_product = '.$_POST['selProduit'].'
;'); ;');
} else if ( $_POST['hdnSource'] == 'REF' ) { } else if ( $_POST['hdnSource'] == 'REF' ) {
$res = $sql->query('SELECT fk_product, ref, stock_propale, stock_commande, price, reel, tva_tx $res = $sql->query('SELECT fk_product, ref, stock_propale, stock_commande, price, reel, tva_tx
FROM llx_product FROM '.MAIN_DB_PREFIX.'product
LEFT JOIN llx_product_stock ON llx_product.rowid = llx_product_stock.fk_product LEFT JOIN '.MAIN_DB_PREFIX.'product_stock ON '.MAIN_DB_PREFIX.'product.rowid = '.MAIN_DB_PREFIX.'product_stock.fk_product
WHERE ref = \''.$_POST['txtRef'].'\' WHERE ref = \''.$_POST['txtRef'].'\'
;'); ;');

View File

@ -15,38 +15,45 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
ini_set('session.gc_maxlifetime', 3600);
session_start ();
$conf_db_type = $dolibarr_main_db_type; // Init session
$sessionname="DOLSESSID_".$dolibarr_main_db_name;
if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT);
session_name($sessionname);
session_start();
dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"].", ".ini_get("session.gc_maxlifetime"));
// Paramètres de connexion à la base
$conf_db_host = $dolibarr_main_db_host;
$conf_db_user = $dolibarr_main_db_user;
$conf_db_pass = $dolibarr_main_db_pass;
$conf_db_base = $dolibarr_main_db_name;
// Paramètres généraux $conf_db_type = $dolibarr_main_db_type;
$conf_url_racine = $dolibarr_main_url_root.'/cashdesk';
// Identifiant unique correspondant au tiers generique pour la vente // Paramètres de connexion à la base
$conf_fksoc = empty($conf->global->CASHDESK_ID_THIRDPARTY)?1:$conf->global->CASHDESK_ID_THIRDPARTY; $conf_db_host = $dolibarr_main_db_host;
$conf_db_user = $dolibarr_main_db_user;
$conf_db_pass = $dolibarr_main_db_pass;
$conf_db_base = $dolibarr_main_db_name;
// Identifiant unique correspondant au compte caisse / liquide // Paramètres généraux
$conf_fkaccount = $conf->global->CASHDESK_ID_BANKACCOUNT > 0?$conf->global->CASHDESK_ID_BANKACCOUNT:$_SESSION["CASHDESK_ID_BANKACCOUNT"]; $conf_url_racine = $dolibarr_main_url_root.'/cashdesk';
// Identifiant unique correspondant à l'entrepôt associé à la caisse
$conf_fkentrepot = $conf->global->CASHDESK_ID_WAREHOUSE > 0?$conf->global->CASHDESK_ID_WAREHOUSE:$_SESSION["CASHDESK_ID_WAREHOUSE"];
$conf_fk_account = 2; // Identifiant unique correspondant au tiers generique pour la vente
$conf_fkentrepot = 1; $conf_fksoc = $conf->global->CASHDESK_ID_THIRDPARTY;
// Identifiant unique correspondant au compte caisse / liquide
$conf_fkaccount = $conf->global->CASHDESK_ID_BANKACCOUNT > 0?$conf->global->CASHDESK_ID_BANKACCOUNT:$_SESSION["CASHDESK_ID_BANKACCOUNT"];
// Identifiant unique correspondant à l'entrepôt associé à la caisse
$conf_fkentrepot = $conf->global->CASHDESK_ID_WAREHOUSE > 0?$conf->global->CASHDESK_ID_WAREHOUSE:$_SESSION["CASHDESK_ID_WAREHOUSE"];
// Paramètres d'affichage // Check if setup ok
$conf_taille_listes = 200; // Nombre max de lignes à afficher dans les listes if (empty($conf_fksoc)) dolibarr_print_error("Setup of CashDesk module not complete. Third party not defined.");
$conf_nbr_car_listes = 60; // Nombre max de caractères par ligne dans les listes if ($conf->bank->enabled && empty($conf_fkaccount)) dolibarr_print_error("Setup of CashDesk module not complete. Bank account not defined.");
if ($conf->stock->enabled && empty($conf_fkentrepot)) dolibarr_print_error("Setup of CashDesk module not complete. Warehous not defined.");
$new_conf_db_type=$conf_db_type; // Paramètres d'affichage
if (eregi('mysql',$new_conf_db_type)) $new_conf_db_type='Mysql'; $conf_taille_listes = 200; // Nombre max de lignes à afficher dans les listes
$conf_nbr_car_listes = 60; // Nombre max de caractères par ligne dans les listes
require ('classes/'.$new_conf_db_type.'.class.php'); $new_conf_db_type=$conf_db_type;
$sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base); if (eregi('mysql',$new_conf_db_type)) $new_conf_db_type='Mysql';
require ('classes/'.$new_conf_db_type.'.class.php');
$sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base);
?> ?>

View File

@ -15,15 +15,20 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
include('../master.inc.php'); include('../master.inc.php');
session_start (); // Init session
$sessionname="DOLSESSID_".$dolibarr_main_db_name;
if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT);
session_name($sessionname);
session_start();
dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"].", ".ini_get("session.gc_maxlifetime"));
if ( $_SESSION['uid'] > 0 ) { if ( $_SESSION['uid'] > 0 ) {
header ('Location: affIndex.php'); header ('Location: affIndex.php');
} }
?> ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
@ -31,67 +36,74 @@
<html> <html>
<head> <head>
<title>Caisse : identification</title> <title>Caisse : identification</title>
<meta name="robots" content="none" /> <meta name="robots" content="none" />
<meta name="author" content="Jérémie Ollivier - jeremie.o@laposte.net" /> <meta name="author" content="Jérémie Ollivier - jeremie.o@laposte.net" />
<meta name="Generator" content="Kwrite, Gimp, Inkscape" /> <meta name="Generator" content="Kwrite, Gimp, Inkscape" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="Content-Language" content="fr" /> <meta http-equiv="Content-Language" content="fr" />
<meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Style-Type" content="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" /> <link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head> </head>
<body> <body>
<div class="conteneur"> <div class="conteneur">
<div class="conteneur_img_gauche"> <div class="conteneur_img_gauche">
<div class="conteneur_img_droite"> <div class="conteneur_img_droite">
<h1 class="entete"><span>CAISSE : identification</span></h1> <h1 class="entete"><span>CAISSE : identification</span></h1>
<div class="menu_principal"> <div class="menu_principal"></div>
</div>
<div class="contenu"> <div class="contenu">
<div class="principal_login"> <div class="principal_login">
<fieldset class="cadre_facturation"><legend class="titre1">Identification</legend> <fieldset class="cadre_facturation"><legend class="titre1">Identification</legend>
<form class="formulaire_login" id="frmLogin" method="post" action="index_verif.php"> <form class="formulaire_login" id="frmLogin" method="post"
action="index_verif.php">
<table> <table>
<tr><td class="label1">Nom d'utilisateur</td><td><input name="txtUsername" class="texte_login" type="text" value="<?php echo $_GET['user']; ?>" /></td></tr> <tr>
<tr><td class="label1">Mot de passe</td><td><input name="pwdPassword" class="texte_login" type="password" value="" /></td></tr> <td class="label1">Nom d'utilisateur</td>
<td><input name="txtUsername" class="texte_login" type="text"
value="<?php echo $_GET['user']; ?>" /></td>
</tr>
<tr>
<td class="label1">Mot de passe</td>
<td><input name="pwdPassword" class="texte_login" type="password"
value="" /></td>
</tr>
</table> </table>
<span class="bouton_login"><input name="sbmtConnexion" type="submit" value="Connexion" /></span> <span class="bouton_login"><input name="sbmtConnexion" type="submit"
value="Connexion" /></span>
</form> </form>
</fieldset> </fieldset>
<?php <?php
if ($_GET['err'] < 0) { if ($_GET['err'] < 0) {
echo ('<script type="text/javascript">'); echo ('<script type="text/javascript">');
echo (' document.getElementById(\'frmLogin\').pwdPassword.focus();'); echo (' document.getElementById(\'frmLogin\').pwdPassword.focus();');
echo ('</script>'); echo ('</script>');
} else { } else {
echo ('<script type="text/javascript">'); echo ('<script type="text/javascript">');
echo (' document.getElementById(\'frmLogin\').txtUsername.focus();'); echo (' document.getElementById(\'frmLogin\').txtUsername.focus();');
echo ('</script>'); echo ('</script>');
} }
?> ?></div>
</div> </div>
</div>
<?php include ('affPied.php'); ?> <?php include ('affPied.php'); ?></div>
</div> </div>
</div> </div>
</div>
</body> </body>

View File

@ -32,11 +32,10 @@
$db = mysql_connect ($conf_db_host,$conf_db_user, $conf_db_pass); $db = mysql_connect ($conf_db_host,$conf_db_user, $conf_db_pass);
mysql_select_db ($conf_db_base, $db); mysql_select_db ($conf_db_base, $db);
$tab = $sql->fetchFirst ($sql->query (" $tab = $sql->fetchFirst ($sql->query (
SELECT rowid, name, firstname "SELECT rowid, name, firstname
FROM llx_user FROM ".MAIN_DB_PREFIX."user
WHERE login = '".$username."' WHERE login = '".$username."'"));
;"));
$_SESSION['uid'] = $tab['rowid']; $_SESSION['uid'] = $tab['rowid'];
$_SESSION['uname'] = $username; $_SESSION['uname'] = $username;

View File

@ -21,10 +21,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
<?php <?php
// Récupération du contenu de la vente // Récupération du contenu de la vente
$res = $sql->query ('SELECT id, ref, label, qte, price, remise_percent, remise, total_ht, total_ttc FROM `llx_tmp_caisse` as c $res = $sql->query (
LEFT JOIN llx_product as p ON c.fk_article = p.rowid 'SELECT id, ref, label, qte, price, remise_percent, remise, total_ht, total_ttc FROM '.MAIN_DB_PREFIX.'tmp_caisse as c
ORDER BY id LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON c.fk_article = p.rowid
;'); ORDER BY id');
if ( $sql->numRows($res) ) { if ( $sql->numRows($res) ) {
@ -54,7 +54,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
} }
$total_ttc = $obj_facturation->prix_total_ttc(); $total_ttc = $obj_facturation->prix_total_ttc();
echo ('<p class="cadre_prix_total">TOTAL : '.number_format ($total_ttc, 2, '.', '').' &#8364;<br /><span style="font-size: 0.8em;" >('.number_format ( ($total_ttc * 6.55957), 2, '.', '').' F)</span></p>'."\n"); echo ('<p class="cadre_prix_total">TOTAL : '.number_format ($total_ttc, 2, '.', '').' '.$conf->monnaie.'<br /></p>'."\n");
} else { } else {

View File

@ -117,11 +117,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
<?php <?php
// Variables // Variables
$res = $sql->query (' $res = $sql->query (
SELECT id, ref, label, qte, price, remise_percent, remise, total_ht, total_ttc, tva_tx FROM `llx_tmp_caisse` as c 'SELECT id, ref, label, qte, price, remise_percent, remise, total_ht, total_ttc, tva_tx FROM '.MAIN_DB_PREFIX.'tmp_caisse as c
LEFT JOIN llx_product as p ON c.fk_article = p.rowid LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON c.fk_article = p.rowid
ORDER BY id ORDER BY id');
;');
if ( $sql->numRows($res) ) { if ( $sql->numRows($res) ) {

View File

@ -32,12 +32,11 @@
case 'valide_achat': case 'valide_achat':
// Récupération du dernier numéro de facture // Récupération du dernier numéro de facture
$res = $sql->query (" $res = $sql->query (
SELECT facnumber "SELECT facnumber
FROM llx_facture FROM ".MAIN_DB_PREFIX."facture
WHERE facnumber LIKE 'FA%' WHERE facnumber LIKE 'FA%'
ORDER BY rowid DESC ORDER BY rowid DESC");
;");
if ( $sql->numRows ($res) ) { if ( $sql->numRows ($res) ) {
@ -137,8 +136,8 @@
if ( $obj_facturation->mode_reglement() == 'DIF' ) { if ( $obj_facturation->mode_reglement() == 'DIF' ) {
// ... ajout d'une facture sans mode de réglement, avec la date d'échéance // ... ajout d'une facture sans mode de réglement, avec la date d'échéance
$sql->query (" $sql->query (
INSERT INTO llx_facture ( "INSERT INTO ".MAIN_DB_PREFIX."facture (
facnumber, facnumber,
type, type,
ref_client, ref_client,
@ -200,12 +199,11 @@
// Récupération de l'id de la facture nouvellement créée // Récupération de l'id de la facture nouvellement créée
$tab_id_facture = $sql->fetchFirst ( $sql->query (" $tab_id_facture = $sql->fetchFirst ( $sql->query (
SELECT rowid "SELECT rowid
FROM llx_facture FROM ".MAIN_DB_PREFIX."facture
WHERE 1 WHERE 1
ORDER BY rowid DESC ORDER BY rowid DESC") );
;") );
$id = $tab_id_facture['rowid']; $id = $tab_id_facture['rowid'];
@ -214,8 +212,7 @@
} else { } else {
// ... ajout d'une facture et d'un paiement // ... ajout d'une facture et d'un paiement
$sql->query (" $sql->query ("INSERT INTO ".MAIN_DB_PREFIX."facture (
INSERT INTO llx_facture (
facnumber, facnumber,
type, type,
ref_client, ref_client,
@ -278,12 +275,11 @@
// Récupération de l'id de la facture nouvellement créée // Récupération de l'id de la facture nouvellement créée
$tab_id_facture = $sql->fetchFirst ( $sql->query (" $tab_id_facture = $sql->fetchFirst ( $sql->query (
SELECT rowid "SELECT rowid
FROM llx_facture FROM ".MAIN_DB_PREFIX."facture
WHERE 1 WHERE 1
ORDER BY rowid DESC ORDER BY rowid DESC") );
;") );
$id = $tab_id_facture['rowid']; $id = $tab_id_facture['rowid'];
@ -292,8 +288,8 @@
// Ajout d'une opération sur le compte de caisse, uniquement si le paiement est en espèces // Ajout d'une opération sur le compte de caisse, uniquement si le paiement est en espèces
if ( $obj_facturation->mode_reglement() == 'ESP' ) { if ( $obj_facturation->mode_reglement() == 'ESP' ) {
$sql->query (" $sql->query (
INSERT INTO llx_bank ( "INSERT INTO ".MAIN_DB_PREFIX."bank (
datec, datec,
datev, datev,
dateo, dateo,
@ -323,19 +319,18 @@
} }
// Récupération de l'id de l'opération nouvellement créée // Récupération de l'id de l'opération nouvellement créée
$tab_id_operation = $sql->fetchFirst ( $sql->query (" $tab_id_operation = $sql->fetchFirst ( $sql->query (
SELECT rowid "SELECT rowid
FROM llx_bank FROM ".MAIN_DB_PREFIX."bank
WHERE 1 WHERE 1
ORDER BY rowid DESC ORDER BY rowid DESC") );
;") );
$id_op = $tab_id_operation['rowid']; $id_op = $tab_id_operation['rowid'];
// Ajout d'un nouveau paiement // Ajout d'un nouveau paiement
$sql->query (" $sql->query (
INSERT INTO llx_paiement ( "INSERT INTO ".MAIN_DB_PREFIX."paiement (
fk_facture, fk_facture,
datec, datec,
datep, datep,
@ -363,23 +358,21 @@
NULL, NULL,
1, 1,
0 0
) )");
;");
// Récupération de l'id du paiement nouvellement créé // Récupération de l'id du paiement nouvellement créé
$tab_id_paiement = $sql->fetchFirst ( $sql->query (" $tab_id_paiement = $sql->fetchFirst ( $sql->query (
SELECT rowid "SELECT rowid
FROM llx_paiement FROM ".MAIN_DB_PREFIX."paiement
WHERE 1 WHERE 1
ORDER BY rowid DESC ORDER BY rowid DESC") );
;") );
$id_paiement = $tab_id_paiement['rowid']; $id_paiement = $tab_id_paiement['rowid'];
$sql->query (" $sql->query (
INSERT INTO llx_paiement_facture ( "INSERT INTO ".MAIN_DB_PREFIX."paiement_facture (
fk_paiement, fk_paiement,
fk_facture, fk_facture,
amount amount
@ -395,8 +388,8 @@
} }
// Ajout d'un réglement tva // Ajout d'un réglement tva
$sql->query (" $sql->query (
INSERT INTO llx_facture_tva_sum ( "INSERT INTO llx_facture_tva_sum (
fk_facture, fk_facture,
amount, amount,
tva_tx tva_tx
@ -411,27 +404,24 @@
// Récupération de la liste des articles du panier // Récupération de la liste des articles du panier
$tab_liste = $sql->fetchAll ( $sql->query (" $tab_liste = $sql->fetchAll ( $sql->query ('
SELECT fk_article, qte, fk_tva, remise_percent, remise, total_ht, total_ttc, reel SELECT fk_article, qte, fk_tva, remise_percent, remise, total_ht, total_ttc, reel
FROM llx_tmp_caisse FROM '.MAIN_DB_PREFIX.'tmp_caisse
LEFT JOIN llx_product_stock ON llx_tmp_caisse.fk_article = llx_product_stock.fk_product LEFT JOIN '.MAIN_DB_PREFIX.'product_stock ON '.MAIN_DB_PREFIX.'tmp_caisse.fk_article = '.MAIN_DB_PREFIX.'product_stock.fk_product
WHERE 1 WHERE 1') );
;") );
for ($i = 0; $i < count ($tab_liste); $i++) { for ($i = 0; $i < count ($tab_liste); $i++) {
// Récupération de l'article // Récupération de l'article
$tab_article = $sql->fetchFirst ( $sql->query (" $tab_article = $sql->fetchFirst ( $sql->query (
SELECT label, tva_tx, price 'SELECT label, tva_tx, price
FROM llx_product FROM '.MAIN_DB_PREFIX.'product
WHERE rowid = ".$tab_liste[$i]['fk_article']." WHERE rowid = '.$tab_liste[$i]['fk_article']) );
;") );
$tab_tva = $sql->fetchFirst ( $sql->query (" $tab_tva = $sql->fetchFirst ( $sql->query (
SELECT taux 'SELECT taux
FROM llx_c_tva FROM '.MAIN_DB_PREFIX.'c_tva
WHERE rowid = ".$tab_liste[$i]['fk_tva']." WHERE rowid = '.$tab_liste[$i]['fk_tva']) );
;") );
// Calcul du montant de la TVA // Calcul du montant de la TVA
$montant_tva = $tab_liste[$i]['total_ttc'] - $tab_liste[$i]['total_ht']; $montant_tva = $tab_liste[$i]['total_ttc'] - $tab_liste[$i]['total_ht'];
@ -445,17 +435,16 @@
$stock = $reel - $qte; $stock = $reel - $qte;
// Mise à jour du stock // Mise à jour du stock
$sql->query (" $sql->query (
UPDATE llx_product_stock 'UPDATE '.MAIN_DB_PREFIX.'product_stock
SET reel = ".$stock." SET reel = '.$stock."
WHERE fk_product = ".$tab_liste[$i]['fk_article']." WHERE fk_product = ".$tab_liste[$i]['fk_article']."
LIMIT 1 LIMIT 1");
;");
// Ajout d'une entrée dans le détail de la facture // Ajout d'une entrée dans le détail de la facture
$sql->query (" $sql->query (
INSERT INTO llx_facturedet ( 'INSERT INTO '.MAIN_DB_PREFIX.'facturedet (
fk_facture, fk_facture,
fk_product, fk_product,
description, description,
@ -478,7 +467,7 @@
) )
VALUES ( VALUES (
".$id.", '.$id.",
".$tab_liste[$i]['fk_article'].", ".$tab_liste[$i]['fk_article'].",
'".$tab_article['label']."', '".$tab_article['label']."',
".$tab_tva['taux'].", ".$tab_tva['taux'].",
@ -496,9 +485,7 @@
0, 0,
0, 0,
0, 0,
".$position." ".$position.")");
)
;");
} }

View File

@ -65,6 +65,7 @@ class Conf
var $propal; var $propal;
var $categorie; var $categorie;
var $oscommerce2; var $oscommerce2;
var $monnaie;
var $css; var $css;
var $css_modules=array(); var $css_modules=array();

View File

@ -1700,7 +1700,7 @@ class Form
* \brief Retourne la liste des comptes * \brief Retourne la liste des comptes
* \param selected Id compte pré-sélectionné * \param selected Id compte pré-sélectionné
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param statut Statut des comptes recherchés * \param statut Statut des comptes recherchés (0=open, 1=closed)
* \param filtre Pour filtre sur la liste * \param filtre Pour filtre sur la liste
* \param useempty Affiche valeur vide dans liste * \param useempty Affiche valeur vide dans liste
*/ */

View File

@ -36,6 +36,7 @@ ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%
ErrorFailedToSaveFile=Error, failed to save file. ErrorFailedToSaveFile=Error, failed to save file.
ErrorOnlyPngJpgSupported=Error, only .png and .jpg image format file are supported. ErrorOnlyPngJpgSupported=Error, only .png and .jpg image format file are supported.
ErrorImageFormatNotSupported=Your PHP does not support functions to convert images of this format. ErrorImageFormatNotSupported=Your PHP does not support functions to convert images of this format.
RecordSaved=Record saved
LevelOfFeature=Level of features LevelOfFeature=Level of features
NotDefined=Not defined NotDefined=Not defined
DefinedAndHasThisValue=Defined and value to DefinedAndHasThisValue=Defined and value to

View File

@ -36,6 +36,7 @@ ErrorNoVATRateDefinedForSellerCountry=Erreur, aucun taux tva d
ErrorFailedToSaveFile=Erreur, l'enregistrement du fichier a échoué. ErrorFailedToSaveFile=Erreur, l'enregistrement du fichier a échoué.
ErrorOnlyPngJpgSupported=Erreur, seuls les formats images .jpg et .png sont supportés. ErrorOnlyPngJpgSupported=Erreur, seuls les formats images .jpg et .png sont supportés.
ErrorImageFormatNotSupported=Votre PHP ne supporte pas les fonctions de conversion de ce format d'image. ErrorImageFormatNotSupported=Votre PHP ne supporte pas les fonctions de conversion de ce format d'image.
RecordSaved=Enregistrement sauvegardé
LevelOfFeature=Niveau de fonctionnalités LevelOfFeature=Niveau de fonctionnalités
NotDefined=Non défini NotDefined=Non défini
DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr est configuré en mode authentification <b>%s</b> dans son fichier de configuration <b>conf.php</b>.<br>Cela signifie que la base des mots de passe est externe à Dolibarr, aussi toute modification de ce champ peut s'avérer sans effet. DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr est configuré en mode authentification <b>%s</b> dans son fichier de configuration <b>conf.php</b>.<br>Cela signifie que la base des mots de passe est externe à Dolibarr, aussi toute modification de ce champ peut s'avérer sans effet.

View File

@ -40,10 +40,10 @@ $sessionname="DOLSESSID_".$dolibarr_main_db_name;
if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT); if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT);
session_name($sessionname); session_name($sessionname);
session_start(); session_start();
dolibarr_syslog("Session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"]); dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"].", ".ini_get("session.gc_maxlifetime"));
// On créé l'objet anti-spam // On cree l'objet anti-spam
$object = new AntiSpam(); $object = new AntiSpam();
// La valeur affichée sur l'image aura 5 lettres // La valeur affichée sur l'image aura 5 lettres

View File

@ -142,7 +142,7 @@ $sessionname="DOLSESSID_".$dolibarr_main_db_name;
if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT); if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT);
session_name($sessionname); session_name($sessionname);
session_start(); session_start();
dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"]); dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"].", ".ini_get("session.gc_maxlifetime"));
/* /*
* Phase identification * Phase identification

View File

@ -21,10 +21,10 @@
*/ */
/** /**
\file htdocs/product/price.php * \file htdocs/product/price.php
\ingroup product * \ingroup product
\brief Page de la fiche produit * \brief Page de la fiche produit
\version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("./pre.inc.php");
@ -96,7 +96,7 @@ if ($_POST["action"] == 'update_price' && ! $_POST["cancel"] && $user->rights->p
if ($product->update_price($product->id, $newprice, $newpricebase, $user, $newvat,$newprice_min) > 0) if ($product->update_price($product->id, $newprice, $newpricebase, $user, $newvat,$newprice_min) > 0)
{ {
$_GET["action"] = ''; $_GET["action"] = '';
$mesg = $langs->trans("RecordSaved"); $mesg = '<div class="ok">'.$langs->trans("RecordSaved").'</div>';
} }
else else
{ {
@ -125,8 +125,6 @@ if ($_GET["id"]) $result = $product->fetch($_GET["id"]);
llxHeader("","",$langs->trans("CardProduct".$product->type)); llxHeader("","",$langs->trans("CardProduct".$product->type));
if ($mesg) print $mesg;
$head=product_prepare_head($product, $user); $head=product_prepare_head($product, $user);
$titre=$langs->trans("CardProduct".$product->type); $titre=$langs->trans("CardProduct".$product->type);
dolibarr_fiche_head($head, 'price', $titre); dolibarr_fiche_head($head, 'price', $titre);
@ -211,6 +209,7 @@ print "</table>\n";
print "</div>\n"; print "</div>\n";
if ($mesg) print $mesg;
/* ************************************************************************** */ /* ************************************************************************** */

View File

@ -40,16 +40,19 @@ if ($conf->phenix->enabled && $conf->phenix->cookie)
setcookie($conf->phenix->cookie, '', 1, "/"); setcookie($conf->phenix->cookie, '', 1, "/");
} }
dolibarr_syslog("End session in DOLSESSID_".$dolibarr_main_db_name); // Destroy session
$sessionname="DOLSESSID_".$dolibarr_main_db_name;
if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT);
session_name($sessionname);
session_destroy(); session_destroy();
dolibarr_syslog("End session in DOLSESSID_".$dolibarr_main_db_name);
// Init session // Init session
$sessionname="DOLSESSID_".$dolibarr_main_db_name; $sessionname="DOLSESSID_".$dolibarr_main_db_name;
if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT); if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT);
session_name($sessionname); session_name($sessionname);
session_start(); session_start();
dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"]); dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"].", ".ini_get("session.gc_maxlifetime"));
session_unregister("dol_login"); session_unregister("dol_login");

View File

@ -35,7 +35,7 @@ $sessionname="DOLSESSID_".$dolibarr_main_db_name;
if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT); if (! empty($conf->global->MAIN_SESSION_TIMEOUT)) ini_set('session.gc_maxlifetime',$conf->global->MAIN_SESSION_TIMEOUT);
session_name($sessionname); session_name($sessionname);
session_start(); session_start();
dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"]); dolibarr_syslog("Start session name=".$sessionname." Session id()=".session_id().", _SESSION['dol_login']=".$_SESSION["dol_login"].", ".ini_get("session.gc_maxlifetime"));
$user->getrights('user'); $user->getrights('user');