Fix: Postgresql compatibility

This commit is contained in:
Laurent Destailleur 2010-05-07 18:45:22 +00:00
parent 6e06c82bb4
commit 50dcf00414
2 changed files with 18 additions and 10 deletions

View File

@ -64,7 +64,7 @@ class EcmDirectory // extends CommonObject
/** /**
* \brief Create in database * \brief Create record into database
* \param user User that create * \param user User that create
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
@ -133,7 +133,7 @@ class EcmDirectory // extends CommonObject
$sql.= " '".$this->fk_parent."',"; $sql.= " '".$this->fk_parent."',";
$sql.= " '".addslashes($this->description)."',"; $sql.= " '".addslashes($this->description)."',";
$sql.= " ".($this->cachenbofdoc).","; $sql.= " ".($this->cachenbofdoc).",";
$sql.= " ".$this->db->idate($this->date_c).","; $sql.= " '".$this->db->idate($this->date_c)."',";
$sql.= " '".$this->fk_user_c."'"; $sql.= " '".$this->fk_user_c."'";
$sql.= ")"; $sql.= ")";
@ -277,8 +277,8 @@ class EcmDirectory // extends CommonObject
$sql.= " t.cachenbofdoc,"; $sql.= " t.cachenbofdoc,";
$sql.= " t.fk_user_c,"; $sql.= " t.fk_user_c,";
$sql.= " t.fk_user_m,"; $sql.= " t.fk_user_m,";
$sql.= " ".$this->db->pdate('t.date_c')." as date_c,"; $sql.= " t.date_c as date_c,";
$sql.= " ".$this->db->pdate('t.date_m')." as date_m"; $sql.= " t.date_m as date_m";
$sql.= " FROM ".MAIN_DB_PREFIX."ecm_directories as t"; $sql.= " FROM ".MAIN_DB_PREFIX."ecm_directories as t";
$sql.= " WHERE t.rowid = ".$id; $sql.= " WHERE t.rowid = ".$id;
@ -298,8 +298,8 @@ class EcmDirectory // extends CommonObject
$this->cachenbofdoc = $obj->cachenbofdoc; $this->cachenbofdoc = $obj->cachenbofdoc;
$this->fk_user_m = $obj->fk_user_m; $this->fk_user_m = $obj->fk_user_m;
$this->fk_user_c = $obj->fk_user_c; $this->fk_user_c = $obj->fk_user_c;
$this->date_c = $obj->date_c; $this->date_c = $this->db->jdate($obj->date_c);
$this->date_m = $obj->date_m; $this->date_m = $this->db->jdate($obj->date_m);
} }
$this->db->free($resql); $this->db->free($resql);

View File

@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2005-2009 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This file is an example to follow to add your own email selector inside * This file is an example to follow to add your own email selector inside
* the Dolibarr email tool. * the Dolibarr email tool.
@ -23,6 +23,12 @@ class mailing_dolibarr_services_expired extends MailingTargets
var $arrayofproducts=array(); var $arrayofproducts=array();
/**
* Constructor
*
* @param unknown_type $DB
* @return mailing_dolibarr_services_expired
*/
function mailing_dolibarr_services_expired($DB) function mailing_dolibarr_services_expired($DB)
{ {
$this->db=$DB; $this->db=$DB;
@ -77,13 +83,15 @@ class mailing_dolibarr_services_expired extends MailingTargets
$product=$this->arrayofproducts[$key]; $product=$this->arrayofproducts[$key];
} }
$now=dol_now('gmt');
// La requete doit retourner: id, email, name // La requete doit retourner: id, email, name
$sql = " select s.rowid, s.email, s.nom as name, cd.rowid as cdid, cd.date_ouverture, cd.date_fin_validite, cd.fk_contrat"; $sql = " select s.rowid, s.email, s.nom as name, cd.rowid as cdid, cd.date_ouverture, cd.date_fin_validite, cd.fk_contrat";
$sql.= " from ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."contrat as c,"; $sql.= " from ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."contrat as c,";
$sql.= " ".MAIN_DB_PREFIX."contratdet as cd, ".MAIN_DB_PREFIX."product as p"; $sql.= " ".MAIN_DB_PREFIX."contratdet as cd, ".MAIN_DB_PREFIX."product as p";
$sql.= " where s.rowid = c.fk_soc AND cd.fk_contrat = c.rowid AND s.email != ''"; $sql.= " where s.rowid = c.fk_soc AND cd.fk_contrat = c.rowid AND s.email != ''";
$sql.= " AND cd.statut= 4 AND cd.fk_product=p.rowid AND p.ref = '".$product."'"; $sql.= " AND cd.statut= 4 AND cd.fk_product=p.rowid AND p.ref = '".$product."'";
$sql.= " AND cd.date_fin_validite < '".$this->db->idate(gmmktime())."'"; $sql.= " AND cd.date_fin_validite < '".$this->db->idate($now)."'";
$sql.= " ORDER BY s.email"; $sql.= " ORDER BY s.email";
// Stocke destinataires dans cibles // Stocke destinataires dans cibles
@ -153,6 +161,7 @@ class mailing_dolibarr_services_expired extends MailingTargets
*/ */
function getNbOfRecipients($filter=1,$option='') function getNbOfRecipients($filter=1,$option='')
{ {
$now=dol_now('gmt');
// Example: return parent::getNbOfRecipients("SELECT count(*) as nb from dolibarr_table"); // Example: return parent::getNbOfRecipients("SELECT count(*) as nb from dolibarr_table");
// Example: return 500; // Example: return 500;
@ -162,8 +171,7 @@ class mailing_dolibarr_services_expired extends MailingTargets
$sql.= " where s.rowid = c.fk_soc AND cd.fk_contrat = c.rowid AND s.email != ''"; $sql.= " where s.rowid = c.fk_soc AND cd.fk_contrat = c.rowid AND s.email != ''";
$sql.= " AND cd.statut= 4 AND cd.fk_product=p.rowid"; $sql.= " AND cd.statut= 4 AND cd.fk_product=p.rowid";
$sql.= " AND p.ref in ('".join("','",$this->arrayofproducts)."')"; $sql.= " AND p.ref in ('".join("','",$this->arrayofproducts)."')";
$sql.= " AND cd.date_fin_validite < '".$this->db->idate(gmmktime())."'"; $sql.= " AND cd.date_fin_validite < '".$this->db->idate($now)."'";
$sql.= " ORDER BY s.email";
//print $sql; //print $sql;
$a=parent::getNbOfRecipients($sql); $a=parent::getNbOfRecipients($sql);