diff --git a/htdocs/telephonie/communication.class.php b/htdocs/telephonie/communication.class.php
new file mode 100644
index 00000000000..8d213de00af
--- /dev/null
+++ b/htdocs/telephonie/communication.class.php
@@ -0,0 +1,222 @@
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Id$
+ * $Source$
+ *
+ */
+
+class CommunicationTelephonique {
+
+ var $index;
+ var $ligne;
+ var $date;
+ var $duree;
+ var $dest;
+ var $numero;
+ var $montant;
+
+
+ function CommunicationTelephonique()
+ {
+ return 1;
+ }
+
+
+
+ function loghtml($file)
+ {
+ $this->file_details = $file;
+
+
+ $this->_log( '
');
+ $this->_log( "| $this->index");
+ $this->_log( " | $this->ligne");
+ $this->_log( " | ".$this->dest);
+ $this->_log( " | ".$this->duree);
+ $this->_log( " | ".$this->montant);
+ $this->_log( " | ".$cout_calcul);
+
+ if (round($cout_calcul,3) <> $objp->montant)
+ {
+ _log($file_details, " | ".round($cout_calcul,3));
+ $err++;
+ }
+ else
+ {
+ _log($file_details, " | ".round($cout_calcul,3));
+ }
+ _log($file_details, " | $err");
+
+ }
+
+
+ function logxls()
+ {
+
+ /*
+ $worksheet->write_string($i, 0, "$objp->ligne");
+ $worksheet->write($i, 1, "$objp->client");
+ $worksheet->write($i, 2, "$objp->num");
+ $worksheet->write($i, 3, $objp->dest);
+ $worksheet->write($i, 4, $objp->duree);
+ $worksheet->write($i, 5, $objp->montant);
+
+ $worksheet->write($i, 7, $cout_temp_achat, $num1_format);
+ $worksheet->write($i, 8, $cout_temp_vente, $num1_format);
+ $worksheet->write($i, 9, $cout_fixe_achat, $num1_format);
+ $worksheet->write($i, 10, $cout_fixe_vente, $num1_format);
+
+ $j = $i+1;
+
+ $worksheet->write($i, 11, "=(E$j * H$j / 60) + K$j ", $num1_format);
+ */
+ }
+
+ function cout($tarif_achat, $tarif_vente, $ligne)
+ {
+ $error = 0;
+
+ if (substr($this->numero,0,2) == '00') /* International */
+ {
+ $nbinter++;
+ $duree_international += $objp->duree;
+
+ $num = $this->numero;
+
+ $this->remise = 0;
+ }
+
+ elseif (substr($this->numero,0,2) == '06') /* Telephones Mobiles */
+ {
+ $dureemob += $objp->duree;
+ $nbmob++;
+
+ $num = "0033".substr($this->numero,1);
+
+ $this->remise = $ligne->remise;
+ }
+ elseif (substr($this->numero,0,4) == substr($objp->client,0,4) ) /* Tarif Local */
+ {
+ $dureenat += $objp->duree;
+ $nbnat++;
+
+ $num = "0033999".substr($this->numero, 1);
+
+ $this->remise = $ligne->remise;
+ }
+ else
+ {
+ $dureenat += $objp->duree;
+ $nbnat++;
+
+ $num = "0033".substr($this->numero, 1);
+
+ $this->remise = $ligne->remise;
+ }
+
+
+ if (! $tarif_achat->cout($num, $this->cout_temp_achat, $this->cout_fixe_achat, $tarif_libelle_achat))
+ {
+ print "3- Tarif achat manquant pour $num\n";
+ dolibarr_syslog("CommunicationTelephonique::Cout Tarif achat manquant pour $num");
+ $error++;
+ }
+
+ if (! $tarif_vente->cout($num, $this->cout_temp_vente, $this->cout_fixe_vente, $this->tarif_libelle_vente))
+ {
+ print "3- Tarif vente manquant pour $num\n";
+ dolibarr_syslog("CommunicationTelephonique::Cout Tarif vente manquant pour $num");
+ $error++;
+ }
+ else
+ {
+
+ }
+
+ $this->cout_achat = ( ($this->duree * $this->cout_temp_achat / 60) + $this->cout_fixe_achat);
+
+ if ($ligne->facturable == 1)
+ {
+ $this->cout_vente = ( ($this->duree * $this->cout_temp_vente / 60));
+
+ $this->cout_vente = ( $this->cout_vente * ( 1 - ($this->remise / 100)));
+
+ $this->cout_vente = $this->cout_vente + $this->cout_fixe_vente;
+
+ }
+ else
+ {
+ $this->cout_vente = 0;
+ }
+
+ return $error;
+ }
+
+
+ function logsql($db)
+ {
+
+ $this->cout_achat = ereg_replace(",",".", $this->cout_achat);
+ $this->cout_vente = ereg_replace(",",".", $this->cout_vente);
+ $this->remise = ereg_replace(",",".", $this->remise);
+ $this->montant = ereg_replace(",",".", $this->montant);
+
+ $this->dateheure = mktime(substr($this->heure, 0,2),
+ substr($this->heure, 3,2),
+ substr($this->heure, 6,2),
+ substr($this->date, 3,2),
+ substr($this->date, 0,2),
+ substr($this->date, 6,4));
+
+
+ $sql = "INSERT INTO llx_telephonie_communications_details";
+ $sql .= " (ligne, date, numero, duree";
+ $sql .= ", tarif_achat_temp, tarif_achat_fixe, tarif_vente_temp, tarif_vente_fixe";
+ $sql .= ", cout_achat, cout_vente, remise,dest,fourn_montant)";
+
+ $sql .= " VALUES (";
+ $sql .= "'$this->ligne','".$db->idate($this->dateheure)."','$this->numero','$this->duree'";
+
+ $sql .= ", '$this->cout_temp_achat','$this->cout_fixe_achat','$this->cout_temp_vente','$this->cout_fixe_vente'";
+ $sql .= ", '$this->cout_achat','$this->cout_vente', '$this->remise'";
+ $sql .= ",'".addslashes($this->tarif_libelle_vente)."','$this->montant')";
+
+ if (! $db->query($sql))
+ {
+ dolibarr_syslog("CommunicationTelephonique::logsql Erreur");
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+
+
+ function _log( $text)
+ {
+ if ($this->file_details)
+ {
+ fputs($this->file_details, $text);
+ }
+ }
+
+}
+
+?>
|