diff --git a/htdocs/cashdesk/affContenu.php b/htdocs/cashdesk/affContenu.php index 0740f7d6489..b4f90372b00 100644 --- a/htdocs/cashdesk/affContenu.php +++ b/htdocs/cashdesk/affContenu.php @@ -23,7 +23,7 @@ unset ($_SESSION['serObjFacturation']); - $sql->query ('TRUNCATE TABLE llx_tmp_caisse;'); + $sql->query ('DELETE FROM '.MAIN_DB_PREFIX.'tmp_caisse'); } diff --git a/htdocs/cashdesk/classes/Auth.class.php b/htdocs/cashdesk/classes/Auth.class.php index 8cf09307c89..97bf1cbc612 100644 --- a/htdocs/cashdesk/classes/Auth.class.php +++ b/htdocs/cashdesk/classes/Auth.class.php @@ -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(); diff --git a/htdocs/cashdesk/classes/Facturation.class.php b/htdocs/cashdesk/classes/Facturation.class.php index cf3e336b8c8..a56390ef833 100644 --- a/htdocs/cashdesk/classes/Facturation.class.php +++ b/htdocs/cashdesk/classes/Facturation.class.php @@ -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; diff --git a/htdocs/cashdesk/classes/Mysql.class.php b/htdocs/cashdesk/classes/Mysql.class.php index 212c7cdfa50..d31fb97a920 100644 --- a/htdocs/cashdesk/classes/Mysql.class.php +++ b/htdocs/cashdesk/classes/Mysql.class.php @@ -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; + } +} + ?> diff --git a/htdocs/cashdesk/deconnexion.php b/htdocs/cashdesk/deconnexion.php index b1f81878b03..62d0a0b24a1 100644 --- a/htdocs/cashdesk/deconnexion.php +++ b/htdocs/cashdesk/deconnexion.php @@ -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'); ?> \ No newline at end of file diff --git a/htdocs/cashdesk/facturation.php b/htdocs/cashdesk/facturation.php index 21430c8a9aa..1a134be5e58 100644 --- a/htdocs/cashdesk/facturation.php +++ b/htdocs/cashdesk/facturation.php @@ -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)); diff --git a/htdocs/cashdesk/facturation_dhtml.php b/htdocs/cashdesk/facturation_dhtml.php index f25c287ec71..f21e71821a5 100644 --- a/htdocs/cashdesk/facturation_dhtml.php +++ b/htdocs/cashdesk/facturation_dhtml.php @@ -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) ) { diff --git a/htdocs/cashdesk/facturation_verif.php b/htdocs/cashdesk/facturation_verif.php index ce7a0924e49..498e9ecc051 100644 --- a/htdocs/cashdesk/facturation_verif.php +++ b/htdocs/cashdesk/facturation_verif.php @@ -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'].'\' ;'); diff --git a/htdocs/cashdesk/include/environnement.php b/htdocs/cashdesk/include/environnement.php index 228a7e3c1b6..0370a057b79 100644 --- a/htdocs/cashdesk/include/environnement.php +++ b/htdocs/cashdesk/include/environnement.php @@ -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); ?> diff --git a/htdocs/cashdesk/index.php b/htdocs/cashdesk/index.php index 03684e9c766..dc6308338c8 100644 --- a/htdocs/cashdesk/index.php +++ b/htdocs/cashdesk/index.php @@ -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'); + +} ?>
-