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']);
$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->sql = "SELECT rowid, pass_crypted, statut
FROM llx_user
WHERE login = '".$this->login."'
;";
FROM ".MAIN_DB_PREFIX."user
WHERE login = '".$this->login."'";
$this->verif_utilisateurs();

View File

@ -83,7 +83,7 @@
$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
$total_ht = ( $this->qte * $this->prix() );
@ -106,7 +106,7 @@
$total_ttc = ($total_ht - $montant_remise) * (($tab_tva['taux'] / 100) + 1);
$sql->query('
INSERT INTO llx_tmp_caisse (
INSERT INTO '.MAIN_DB_PREFIX.'tmp_caisse (
fk_article,
qte,
fk_tva,
@ -119,10 +119,9 @@
'.$this->qte().',
'.$this->tva().',
'.$remise_percent.',
'.$montant_remise.',
'.$total_ht.',
'.$total_ttc.')
;');
'.price2num($montant_remise).',
'.price2num($total_ht).',
'.price2num($total_ttc).')');
// On modifie les totaux
$this->calculTotaux();
@ -139,7 +138,7 @@
$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);
// Incrémentation des compteurs
$res = $sql->query ('SELECT remise, total_ht, taux FROM `llx_tmp_caisse` as c
LEFT JOIN llx_c_tva as t ON c.fk_tva = t.rowid
ORDER BY id
;');
$res = $sql->query ('SELECT remise, total_ht, taux FROM '.MAIN_DB_PREFIX.'tmp_caisse as c
LEFT JOIN '.MAIN_DB_PREFIX.'c_tva as t ON c.fk_tva = t.rowid
ORDER BY id');
$total_tva_19_6 = 0;
$total_tva_5_5 = 0;

View File

@ -15,98 +15,100 @@
* along with this program; if not, write to the Free Software
* 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
* @param $aHost Domaine ou adresse IP du serveur de base de données (ex : localhost ou db.monsite.fr)
* @param $aUser Utilisateur de la base de données
* @param $aPass Mot de passe de l'utilisateur de la base de données
* @param $aBase Nom de la base de données à utiliser
*/
public function __construct ($aHost, $aUser, $aPass, $aBase) {
public function __construct ($aHost, $aUser, $aPass, $aBase) {
$db = mysql_connect ($aHost, $aUser, $aPass);
mysql_select_db ($aBase, $db);
$db = mysql_connect ($aHost, $aUser, $aPass);
mysql_select_db ($aBase, $db);
}
}
/**
/**
* Destructeur : ferme la connection à la base de données
*/
// Désactivation pour cause bug avec 1and1
// public function __destruct () {
//
// mysql_close ();
//
// }
// Désactivation pour cause bug avec 1and1
// public function __destruct () {
//
// mysql_close ();
//
// }
/**
/**
* Effectue une requête sur la base de données, et renvoi la ressource correspondante
* @param $aRequete Requête SQL (ex : SELECT nom, prenom FROM table1 WHERE id = 127)
* @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);
}
}
/**
/**
* Renvoi le nombre de résultats d'une requête
* @param $aRes Ressource d'une requête effectuée précédemment
* @return Entier : nombre de résultats de la requête
*/
public function numRows ($aRes) {
public function numRows ($aRes) {
return mysql_num_rows($aRes);
return mysql_num_rows($aRes);
}
}
/**
/**
* Enregistre tous les résultats d'une requête dans un tableau à deux dimensions
* @param $aRes Ressource d'une requête effectuée précédemment
* @return Tableau à deux dimensions : $tab[indice_resultat(integer)][indice_champ(integer) / nom_champ(string)]
*/
public function fetchAll ($aRes) {
public function fetchAll ($aRes) {
$i = 0;
while ( $tab = mysql_fetch_array($aRes) ) {
$i = 0;
while ( $tab = mysql_fetch_array($aRes) ) {
foreach ( $tab as $cle => $valeur ) {
foreach ( $tab as $cle => $valeur ) {
$ret[$i][$cle] = $valeur;
}
$i++;
$ret[$i][$cle] = $valeur;
}
return $ret;
$i++;
}
/**
return $ret;
}
/**
* Enregistre seulement le premier résultat d'une requête dans un tableau à une dimension
* @param $aRes Ressource d'une requête effectuée précédemment
* @return Tableau à une dimension : $tab[indice_champ(integer) / nom_champ(string)]
*/
public function fetchFirst ($aRes) {
public function fetchFirst ($aRes) {
$tab = mysql_fetch_array($aRes);
$tab = mysql_fetch_array($aRes);
foreach ( $tab as $cle => $valeur ) {
foreach ( $tab as $cle => $valeur ) {
$ret[$cle] = $valeur;
}
return $ret;
$ret[$cle] = $valeur;
}
return $ret;
}
}
?>

View File

@ -15,8 +15,22 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
session_start ();
session_destroy ();
include('../master.inc.php');
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'] ) {
// Avec filtre
$tab_designations = $sql->fetchAll ( $sql->query ('
SELECT llx_product.rowid, ref, label, tva_tx
FROM llx_product
LEFT JOIN llx_product_stock ON llx_product.rowid = llx_product_stock.fk_product
$tab_designations = $sql->fetchAll ( $sql->query (
'SELECT '.MAIN_DB_PREFIX.'product.rowid, ref, label, tva_tx
FROM '.MAIN_DB_PREFIX.'product
LEFT JOIN '.MAIN_DB_PREFIX.'product_stock ON '.MAIN_DB_PREFIX.'product.rowid = '.MAIN_DB_PREFIX.'product_stock.fk_product
WHERE envente = 1
AND fk_product_type = 0
AND fk_entrepot = '.$conf_fkentrepot.'
@ -36,9 +36,9 @@
// Sans filtre
$tab_designations = $sql->fetchAll ( $sql->query ('
SELECT llx_product.rowid, ref, label, tva_tx
FROM llx_product
LEFT JOIN llx_product_stock ON llx_product.rowid = llx_product_stock.fk_product
SELECT '.MAIN_DB_PREFIX.'product.rowid, ref, label, tva_tx
FROM '.MAIN_DB_PREFIX.'product
LEFT JOIN '.MAIN_DB_PREFIX.'product_stock ON '.MAIN_DB_PREFIX.'product.rowid = '.MAIN_DB_PREFIX.'product_stock.fk_product
WHERE envente = 1
AND fk_product_type = 0
AND fk_entrepot = '.$conf_fkentrepot.'
@ -75,7 +75,7 @@
// Récupération des taux de tva
global $mysoc;
$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."'";
//print $request;
$tab_tva = $sql->fetchAll ($sql->query ($request));

View File

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

View File

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

View File

@ -15,38 +15,45 @@
* along with this program; if not, write to the Free Software
* 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;
// 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;
// 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 généraux
$conf_url_racine = $dolibarr_main_url_root.'/cashdesk';
// Identifiant unique correspondant au tiers generique pour la vente
$conf_fksoc = empty($conf->global->CASHDESK_ID_THIRDPARTY)?1:$conf->global->CASHDESK_ID_THIRDPARTY;
$conf_db_type = $dolibarr_main_db_type;
// 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 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;
$conf_fk_account = 2;
$conf_fkentrepot = 1;
// Paramètres d'affichage
$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
$new_conf_db_type=$conf_db_type;
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);
// Paramètres généraux
$conf_url_racine = $dolibarr_main_url_root.'/cashdesk';
// Identifiant unique correspondant au tiers generique pour la vente
$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"];
// Check if setup ok
if (empty($conf_fksoc)) dolibarr_print_error("Setup of CashDesk module not complete. Third party not defined.");
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.");
// Paramètres d'affichage
$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
$new_conf_db_type=$conf_db_type;
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
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
include('../master.inc.php');
session_start ();
include('../master.inc.php');
if ( $_SESSION['uid'] > 0 ) {
// 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"));
header ('Location: affIndex.php');
if ( $_SESSION['uid'] > 0 ) {
}
header ('Location: affIndex.php');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
@ -31,67 +36,74 @@
<html>
<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="Generator" content="Kwrite, Gimp, Inkscape" />
<meta name="author" content="Jérémie Ollivier - jeremie.o@laposte.net" />
<meta name="Generator" content="Kwrite, Gimp, Inkscape" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="Content-Language" content="fr" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="Content-Language" content="fr" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div class="conteneur">
<div class="conteneur_img_gauche">
<div class="conteneur_img_droite">
<div class="conteneur">
<div class="conteneur_img_gauche">
<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>
<div class="menu_principal"></div>
<div class="contenu">
<div class="principal_login">
<fieldset class="cadre_facturation"><legend class="titre1">Identification</legend>
<form class="formulaire_login" id="frmLogin" method="post" action="index_verif.php">
<div class="contenu">
<div class="principal_login">
<fieldset class="cadre_facturation"><legend class="titre1">Identification</legend>
<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><td class="label1">Mot de passe</td><td><input name="pwdPassword" class="texte_login" type="password" value="" /></td></tr>
<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>
</fieldset>
</form>
</fieldset>
<?php
if ($_GET['err'] < 0) {
<?php
if ($_GET['err'] < 0) {
echo ('<script type="text/javascript">');
echo (' document.getElementById(\'frmLogin\').pwdPassword.focus();');
echo ('</script>');
echo ('<script type="text/javascript">');
echo (' document.getElementById(\'frmLogin\').pwdPassword.focus();');
echo ('</script>');
} else {
} else {
echo ('<script type="text/javascript">');
echo (' document.getElementById(\'frmLogin\').txtUsername.focus();');
echo ('</script>');
echo ('<script type="text/javascript">');
echo (' document.getElementById(\'frmLogin\').txtUsername.focus();');
echo ('</script>');
}
?>
</div>
</div>
}
?></div>
</div>
<?php include ('affPied.php'); ?>
</div>
</div>
</div>
</body>
<?php include ('affPied.php'); ?></div>
</div>
</div>
</body>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1700,7 +1700,7 @@ class Form
* \brief Retourne la liste des comptes
* \param selected Id compte pré-sélectionné
* \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 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.
ErrorOnlyPngJpgSupported=Error, only .png and .jpg image format file are supported.
ErrorImageFormatNotSupported=Your PHP does not support functions to convert images of this format.
RecordSaved=Record saved
LevelOfFeature=Level of features
NotDefined=Not defined
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é.
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.
RecordSaved=Enregistrement sauvegardé
LevelOfFeature=Niveau de fonctionnalités
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.

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);
session_name($sessionname);
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();
// 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);
session_name($sessionname);
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

View File

@ -21,10 +21,10 @@
*/
/**
\file htdocs/product/price.php
\ingroup product
\brief Page de la fiche produit
\version $Id$
* \file htdocs/product/price.php
* \ingroup product
* \brief Page de la fiche produit
* \version $Id$
*/
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)
{
$_GET["action"] = '';
$mesg = $langs->trans("RecordSaved");
$mesg = '<div class="ok">'.$langs->trans("RecordSaved").'</div>';
}
else
{
@ -125,8 +125,6 @@ if ($_GET["id"]) $result = $product->fetch($_GET["id"]);
llxHeader("","",$langs->trans("CardProduct".$product->type));
if ($mesg) print $mesg;
$head=product_prepare_head($product, $user);
$titre=$langs->trans("CardProduct".$product->type);
dolibarr_fiche_head($head, 'price', $titre);
@ -211,6 +209,7 @@ print "</table>\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, "/");
}
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();
dolibarr_syslog("End session in DOLSESSID_".$dolibarr_main_db_name);
// 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"]);
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");

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);
session_name($sessionname);
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');