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
* \return int <0 si ko, >0 si ok
*/
@ -133,7 +133,7 @@ class EcmDirectory // extends CommonObject
$sql.= " '".$this->fk_parent."',";
$sql.= " '".addslashes($this->description)."',";
$sql.= " ".($this->cachenbofdoc).",";
$sql.= " ".$this->db->idate($this->date_c).",";
$sql.= " '".$this->db->idate($this->date_c)."',";
$sql.= " '".$this->fk_user_c."'";
$sql.= ")";
@ -277,8 +277,8 @@ class EcmDirectory // extends CommonObject
$sql.= " t.cachenbofdoc,";
$sql.= " t.fk_user_c,";
$sql.= " t.fk_user_m,";
$sql.= " ".$this->db->pdate('t.date_c')." as date_c,";
$sql.= " ".$this->db->pdate('t.date_m')." as date_m";
$sql.= " t.date_c as date_c,";
$sql.= " t.date_m as date_m";
$sql.= " FROM ".MAIN_DB_PREFIX."ecm_directories as t";
$sql.= " WHERE t.rowid = ".$id;
@ -298,8 +298,8 @@ class EcmDirectory // extends CommonObject
$this->cachenbofdoc = $obj->cachenbofdoc;
$this->fk_user_m = $obj->fk_user_m;
$this->fk_user_c = $obj->fk_user_c;
$this->date_c = $obj->date_c;
$this->date_m = $obj->date_m;
$this->date_c = $this->db->jdate($obj->date_c);
$this->date_m = $this->db->jdate($obj->date_m);
}
$this->db->free($resql);

View File

@ -1,5 +1,5 @@
<?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
* the Dolibarr email tool.
@ -23,6 +23,12 @@ class mailing_dolibarr_services_expired extends MailingTargets
var $arrayofproducts=array();
/**
* Constructor
*
* @param unknown_type $DB
* @return mailing_dolibarr_services_expired
*/
function mailing_dolibarr_services_expired($DB)
{
$this->db=$DB;
@ -77,13 +83,15 @@ class mailing_dolibarr_services_expired extends MailingTargets
$product=$this->arrayofproducts[$key];
}
$now=dol_now('gmt');
// 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.= " 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.= " 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.date_fin_validite < '".$this->db->idate(gmmktime())."'";
$sql.= " AND cd.date_fin_validite < '".$this->db->idate($now)."'";
$sql.= " ORDER BY s.email";
// Stocke destinataires dans cibles
@ -153,6 +161,7 @@ class mailing_dolibarr_services_expired extends MailingTargets
*/
function getNbOfRecipients($filter=1,$option='')
{
$now=dol_now('gmt');
// Example: return parent::getNbOfRecipients("SELECT count(*) as nb from dolibarr_table");
// 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.= " AND cd.statut= 4 AND cd.fk_product=p.rowid";
$sql.= " AND p.ref in ('".join("','",$this->arrayofproducts)."')";
$sql.= " AND cd.date_fin_validite < '".$this->db->idate(gmmktime())."'";
$sql.= " ORDER BY s.email";
$sql.= " AND cd.date_fin_validite < '".$this->db->idate($now)."'";
//print $sql;
$a=parent::getNbOfRecipients($sql);