Skip to content
Snippets Groups Projects
Select Git revision
  • 91d3b525e85349c73acdbfa3312d07e5ebbf6c4c
  • 3.9 default
  • develop
  • 6.0
  • 5.0
  • 4.0
  • scrutinizer-patch-4
  • scrutinizer-patch-3
  • scrutinizer-patch-2
  • scrutinizer-patch-1
  • 3.7
  • 3.8
  • 3.6
  • 3.9_backported
  • 3.8_backported
  • 3.7_backported
  • 3.5
  • 3.6_backported
  • 3.5_backported
  • 3.4
  • 3.3_backported
  • 6.0.4
  • 6.0.3
  • 5.0.7
  • 6.0.2
  • 6.0.1
  • 5.0.6
  • 6.0.0
  • 5.0.5
  • 6.0.0-rc
  • 5.0.4
  • 6.0.0-beta
  • 5.0.3
  • 4.0.6
  • 5.0.2
  • 5.0.1
  • 4.0.5
  • 5.0.0
  • 4.0.4
  • 5.0.0-rc2
  • 5.0.0-rc1
41 results

contact.class.php

  • contact.class.php 22.36 KiB
    <?php
    /* Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
     * Copyright (C) 2004      Benoit Mortier       <benoit.mortier@opensides.be>
     * Copyright (C) 2004-2005 Laurent Destailleur  <eldy@users.sourceforge.net>
     * Copyright (C) 2005      Regis Houssin  <regis.houssin@cap-networks.com>
     *
     * 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$
     */
    
    /**
            \file       htdocs/contact.class.php
            \ingroup    societe
            \brief      Fichier de la classe des contacts
            \version    $Revision$
    */
    
    require_once (DOL_DOCUMENT_ROOT."/lib/authldap.lib.php");
    
    
    
    /**
            \class      Contact
            \brief      Classe permettant la gestion des contacts
    */
    
    class Contact 
    {
        var $db;
        var $error;
        
        var $id;
        var $fullname;
        var $nom;
        var $prenom;
        var $name;
        var $firstname;
        var $address;
        var $cp;
        var $ville;
        var $fk_pays;
        
        var $code;
        var $email;
        var $birthday;
    
        var $ref_facturation;       // Nb de reference facture pour lequel il est contact
        var $ref_contrat;           // Nb de reference contrat pour lequel il est contact
        var $ref_commande;          // Nb de reference commande pour lequel il est contact
        var $ref_propal;            // Nb de reference propal pour lequel il est contact
    
        /**
         *      \brief      Constructeur de l'objet contact
         *      \param      DB      Habler d'accs base
         *      \param      id      Id contact
         */
        function Contact($DB, $id=0) 
        {
            $this->db = $DB;
            $this->id = $id;
            
            return 1;
        }
    
        /**
         *      \brief      Ajout d'un contact en base
         *      \param      user        Utilisateur qui effectue l'ajout
         *      \return     int         <0 si ko, >0 si ok
         */
        function create($user)
        {
            $this->name=trim($this->name);
            if (! $this->socid)
            {
                $this->socid = 0;
            }
    
            $sql = "INSERT INTO ".MAIN_DB_PREFIX."socpeople (datec, fk_soc, name, fk_user)";
            $sql.= " VALUES (now(),";
            if ($this->socid > 0) $sql.= " $this->socid,";
            else $sql.= "null,";
            $sql.= "'$this->name',$user->id)";
        
            if ($this->db->query($sql) )
            {
                $id = $this->db->last_insert_id(MAIN_DB_PREFIX."socpeople");
        
                $ret=$this->update($id, $user);
                if ($ret < 0)
                {
                    $this->error=$this->db->error();
                    return -2;
                }                
                return $id;
            }
            else
            {
                $this->error=$this->db->error();
                return -1;
            }
        }
    
        /*
         *      \brief      Mise  jour des infos
         *      \param      id          id du contact  mettre  jour
         *      \param      user        Utilisateur qui effectue la mise  jour
         *      \return     int         <0 si erreur, >0 si ok
         */
        function update($id, $user=0)
        {
            dolibarr_syslog("Contact::Update id=".$id,LOG_DEBUG);
    
            $this->id = $id;
        
            $this->name=trim($this->name);
            $this->firstname=trim($this->firstname);
            $this->email=trim($this->email);
            $this->phone_pro=trim($this->phone_pro);
        
            if ($this->phone_pro && $this->socid > 0)
            {
                $soc = new Societe($this->db);
                $soc->fetch($this->socid);
                $this->phone_pro = $soc->tel;
            }
        
            $sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET ";
            $sql .= "  civilite='".addslashes($this->civilite_id)."'";
            $sql .= ", name='".addslashes($this->name)."'";
            $sql .= ", firstname='".addslashes($this->firstname)."'";
            $sql .= ", address='".addslashes($this->address)."'";
            $sql .= ", cp='".addslashes($this->cp)."'";
            $sql .= ", ville='".addslashes($this->ville)."'";
            $sql .= ", fk_pays='".addslashes($this->fk_pays)."'";
            $sql .= ", poste='".addslashes($this->poste)."'";
            $sql .= ", fax='".addslashes($this->fax)."'";
            $sql .= ", email='".addslashes($this->email)."'";
            $sql .= ", note='".addslashes($this->note)."'";
            $sql .= ", phone = '".addslashes($this->phone_pro)."'";
            $sql .= ", phone_perso = '".addslashes($this->phone_perso)."'";
            $sql .= ", phone_mobile = '".addslashes($this->phone_mobile)."'";
            $sql .= ", jabberid = '".addslashes($this->jabberid)."'";
            if ($user) $sql .= ", fk_user_modif=".$user->id;
            $sql .= " WHERE idp=".$id;
        
            $result = $this->db->query($sql);
            if (! $result)
            {
                $this->error=$this->db->error();
                return -1;
            }
        
            if ($conf->ldap->enabled)
            {
                if ($conf->global->LDAP_CONTACT_ACTIVE)
                {
                    $this->update_ldap($user);
                }
        
            }
            return 1;
        }
      
      /**
       *    \brief      Mise  jour de l'arbre ldap
       *    \param      user        Utilisateur qui effectue la mise  jour
       *
       */
      function update_ldap($user)
      {
        $info = array();
        dolibarr_syslog("Contact::update_ldap",LOG_DEBUG);
        
        $this->fetch($this->id);
        $ldap = New AuthLdap();
        
        if ($ldap->connect())
        {
        	if (bind())
        	{
        		if (LDAP_SERVER_TYPE == 'activedirectory') //enlever utf8 pour etre compatible Windows
        		{
    	       $info["objectclass"][0] = "top";
    	       $info["objectclass"][1] = "person";
    	       $info["objectclass"][2] = "organizationalPerson";
    	       //$info["objectclass"][3] = "inetOrgPerson";
    	       $info["objectclass"][3] = "user";
    	       
    	       $info["cn"] = $this->firstname." ".$this->name;
    	       $info["sn"] = $this->name;
    	       $info["givenName"] = $this->firstname;
    	       
    	       if ($this->poste) $info["title"] = $this->poste;
    	       
    	       if ($this->socid > 0)
    	       {
    	       	$soc = new Societe($this->db);
    	       	$soc->fetch($this->socid);
    	       	$info["o"] = $soc->nom;
    	       	$info["company"] = $soc->nom;
    	       	
    	       	if ($soc->client == 1)
    	       	{
    	       		$info["businessCategory"] = "Clients";
    	       	}
    	       	elseif ($soc->client == 2)
    	       	{
    	       		$info["businessCategory"] = "Prospects";
    	       	}
    	       	
    	       	if ($soc->fournisseur == 1)
    	       	{
    	       		$info["businessCategory"] = "Fournisseurs";
    	       	}
    	       	
    	       	if ($soc->ville)
    	       	{
    	       		if ($soc->adresse)
    	       		{
    	       			$info["streetAddress"] = $soc->adresse;
    	       		}
    	       		if ($soc->cp)
    	       		{
    	       			$info["postalCode"] = $soc->cp;
    	       		}
    	       		
    	       		$info["l"] = $soc->ville;
    		     }
    		 }
    	       
    	       if ($this->phone_pro)
    		 $info["telephoneNumber"] = dolibarr_print_phone($this->phone_pro);
    	       
    	       if ($this->phone_perso)
    		 $info["homePhone"] = dolibarr_print_phone($this->phone_perso);
    	       
    	       if ($this->phone_mobile)
    		 $info["mobile"] = dolibarr_print_phone($this->phone_mobile);
    	       
    	       if ($this->fax)
    		 $info["facsimileTelephoneNumber"] = dolibarr_print_phone($this->fax);
    	       
    	       if ($this->note)
    		 $info["description"] = ($this->note);
    	       if ($this->email)
    		 $info["mail"] = $this->email;
    	       
    	       $dn = "cn=".$info["cn"].",".LDAP_CONTACT_DN;
    	       
    	       $r = @ldap_delete($ds, $dn);	   
    	       
    	       if (! @ldap_add($ds, $dn, $info))
    		 {
    		   $this->error[0] = ldap_err2str(ldap_errno($ds));
    		 }  
    	     }
    	    else
    	      {
    		$info["objectclass"][0] = "top";
    		$info["objectclass"][1] = "person";
    		$info["objectclass"][2] = "organizationalPerson";
    		$info["objectclass"][3] = "inetOrgPerson";
    	       
    		$info["cn"] = utf8_encode($this->firstname." ".$this->name);
    		$info["sn"] = utf8_encode($this->name);
    		$info["givenName"] = utf8_encode($this->firstname);
    		
    		if ($this->poste)
    		  $info["title"] = utf8_encode($this->poste);
    		
    		if ($this->socid > 0)
    		  {
    		    $soc = new Societe($this->db);
    		    $soc->fetch($this->socid);
    		    $info["o"] = utf8_encode($soc->nom);
    		    
    		    if ($soc->client == 1)
    		      $info["businessCategory"] = utf8_encode("Clients");
    		    elseif ($soc->client == 2)
    		      $info["businessCategory"] = utf8_encode("Prospects");
    		    
    		    if ($soc->fournisseur == 1)
    		      $info["businessCategory"] = utf8_encode("Fournisseurs");
    		    
    		    if ($soc->ville)
    		      {
    			if ($soc->adresse)
    			  $info["street"] = utf8_encode($soc->adresse);
    			
    			if ($soc->cp)
    			  $info["postalCode"] = utf8_encode($soc->cp);
    			
    			$info["l"] = utf8_encode($soc->ville);
    		      }
    		  }
    		
    		if ($this->phone_pro)
    		  $info["telephoneNumber"] = dolibarr_print_phone($this->phone_pro);
    		
    		if ($this->phone_perso)
    		  $info["homePhone"] = dolibarr_print_phone($this->phone_perso);
    		
    		if ($this->phone_mobile)
    		  $info["mobile"] = dolibarr_print_phone($this->phone_mobile);
    		
    		if ($this->fax)
    		  $info["facsimileTelephoneNumber"] = dolibarr_print_phone($this->fax);
    		
    		if ($this->note)
    		  $info["description"] = ($this->note);
    		
    		if(LDAP_SERVER_TYPE == 'egroupware')
    		  {		
    		    $info["objectclass"][4] = "phpgwContact"; // compatibilite egroupware
    		    
    		    if ($this->email)
    		      $info["rfc822Mailbox"] = $this->email;
    		    
    		    $info['uidnumber'] = $this->id;
    		    
    		    $info['phpgwTz']      = 0;
    		    $info['phpgwMailType'] = 'INTERNET';
    		    $info['phpgwMailHomeType'] = 'INTERNET';
    		    
    		    $info["uid"] = $this->id. ":".$info["sn"];
    		    $info["phpgwContactTypeId"] = 'n';
    		    $info["phpgwContactCatId"] = 0;
    		    $info["phpgwContactAccess"] = "public";
    		    
    		    if (strlen($user->egroupware_id) == 0)
    		      {
    			$user->egroupware_id = 1;
    		      }
    		    
    		    $info["phpgwContactOwner"] = $user->egroupware_id;
    		    
    		    if ($this->phone_mobile)
    		      $info["phpgwCellTelephoneNumber"] = dolibarr_print_phone($this->phone_mobile);
    		  }
    		else
    		  {
    		    if ($this->email)
    		      $info["mail"] = $this->email;
    		  }
    
    		$dn = "cn=".$info["cn"].",".LDAP_CONTACT_DN;
    		
    		dolibarr_syslog("Contact::update_ldap dn : ".$dn,LOG_DEBUG);
    		
    		$r = @ldap_delete($ds, $dn);	   
    		
    		if (! @ldap_add($ds, $dn, $info))
    		  {
    		    $this->error[0] = ldap_err2str(ldap_errno($ds));
    		    dolibarr_syslog("Contact::update_ldap error : ".$this->error[0],LOG_ERR);
    		  }
    	      }
    	  }
    	else
    	  {
    	    dolibarr_syslog("Contact::update_ldap bind failed",LOG_DEBUG);
    	  }
    	
    	   $ldap->unbind();
    	
          }
        else
          {
    	dolibarr_syslog("Contact::update_ldap Connexion failed",LOG_DEBUG);
    	echo "Impossible de se connecter au serveur LDAP !";
          }
      }
      
      
      /*
       *    \brief      Mise  jour des alertes
       *    \param      id          id du contact
       *    \param      user        Utilisateur qui demande l'alerte
       */
      function update_perso($id, $user=0)
        {
          // Mis a jour contact
          $sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET idp=$id ";
    
          if ($this->birthday>0)
    	{
    	  if (eregi('\-',$this->birthday))
    	    {
    	      // Si date = chaine
    	      $sql .= ", birthday='".$this->birthday."'";
    	    }        
    	  else
    	    {
    	      // Si date = timestamp
    	      $sql .= ", birthday=".$this->db->idate($this->birthday);
    	    }
    	}
          $sql .= " WHERE idp=$id";
    
          $result = $this->db->query($sql);
          if (!$result) 
    	{
    	  $this->error='Echec sql='.$sql;
    	}
          
          // Mis a jour alerte birthday
          if ($this->birthday_alert)
    	{
    	  $sql = "INSERT into ".MAIN_DB_PREFIX."user_alert(type,fk_contact,fk_user) ";
    	  $sql.= "values (1,".$id.",".$user->id.")";
    	}
          else
    	{
    	  $sql = "DELETE from ".MAIN_DB_PREFIX."user_alert ";
    	  $sql.= "where type=1 AND fk_contact=".$id." AND fk_user=".$user->id;
    	}
          $result = $this->db->query($sql);
          if (!$result) 
    	{
    	  $this->error='Echec sql='.$sql;
    	}
     
          return $result;
        }
    
    
        /*
         *    \brief      Charge l'objet contact
         *    \param      id          id du contact
         *    \param      user        Utilisateur li au contact pour une alerte
         *    \return     int         1 si ok, -1 si erreur
         */
        function fetch($id, $user=0)
        {
            $sql = "SELECT c.idp, c.fk_soc, c.civilite civilite_id, c.name, c.firstname,";
            $sql.= " c.address, c.cp, c.ville,";
            $sql.= " c.fk_pays, p.libelle as pays, p.code as pays_code,";
            $sql.= " c.birthday as birthday, c.poste,";
            $sql.= " c.phone, c.phone_perso, c.phone_mobile, c.fax, c.email, c.jabberid, c.note,";
            $sql.= " u.rowid as user_id, u.login as user_login";
            $sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c";
            $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON c.fk_pays = p.rowid";
            $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON c.idp = u.fk_socpeople";
            $sql.= " WHERE c.idp = ". $id;
        
            $resql=$this->db->query($sql);
            if ($resql)
            {
                if ($this->db->num_rows($resql))
                {
                    $obj = $this->db->fetch_object($resql);
        
                    $this->id             = $obj->idp;
                    $this->civilite_id    = $obj->civilite_id;
                    $this->name           = $obj->name;
                    $this->firstname      = $obj->firstname;
                    $this->nom            = $obj->name;
                    $this->prenom         = $obj->firstname;
        
                    $this->address        = $obj->address;
                    $this->cp             = $obj->cp;
                    $this->ville          = $obj->ville;
            	    $this->fk_pays        = $obj->fk_pays;
            	    $this->pays_code      = $obj->fk_pays?$obj->pays_code:'';
            	    $this->pays           = $obj->fk_pays?$obj->pays:'';
        
                    $this->societeid      = $obj->fk_soc;
                    $this->socid          = $obj->fk_soc;
                    $this->poste          = $obj->poste;
        
                    $this->fullname       = $this->firstname . ' ' . $this->name;
        
                    $this->phone_pro      = $obj->phone;
                    $this->fax            = $obj->fax;
                    $this->phone_perso    = $obj->phone_perso;
                    $this->phone_mobile   = $obj->phone_mobile;
        
                    $this->code           = $obj->code;
                    $this->email          = $obj->email;
                    $this->jabberid       = $obj->jabberid;
                    $this->mail           = $obj->email;
        
                    $this->birthday       = $obj->birthday;
                    $this->birthday_alert = $obj->birthday_alert;
                    $this->note           = $obj->note;
    
                    $this->user_id        = $obj->user_id;
                    $this->user_login     = $obj->user_login;
                }
                $this->db->free($resql);
        
        
                // Recherche le user Dolibarr li  ce contact
                $sql = "SELECT u.rowid ";
                $sql .= " FROM ".MAIN_DB_PREFIX."user as u";
                $sql .= " WHERE u.fk_socpeople = ". $id;
        
                $resql=$this->db->query($sql);
                if ($resql)
                {
                    if ($this->db->num_rows($resql))
                    {
                        $uobj = $this->db->fetch_object($resql);
        
                        $this->user_id = $uobj->rowid;
                    }
                    $this->db->free($resql);
                }
                else
                {
                    dolibarr_syslog("Error in Contact::fetch() selectuser sql=$sql");
               	    $this->error="Error in Contact::fetch() selectuser - ".$this->db->error()." - ".$sql;
                    return -1;
                }
        
                // Charge alertes du user
                if ($user)
                {
                    $sql = "SELECT fk_user";
                    $sql .= " FROM ".MAIN_DB_PREFIX."user_alert";
                    $sql .= " WHERE fk_user = $user->id AND fk_contact = ".$id;
        
                    $resql=$this->db->query($sql);
                    if ($resql)
                    {
                        if ($this->db->num_rows($resql))
                        {
                            $obj = $this->db->fetch_object($resql);
        
                            $this->birthday_alert = 1;
                        }
                        $this->db->free($resql);
                     }
                    else
                    {
                        dolibarr_syslog("Error in Contact::fetch() selectuseralert sql=$sql");
                	    $this->error="Error in Contact::fetch() selectuseralert - ".$this->db->error()." - ".$sql;
                        return -1;
                    }
                }
                
                return 1;
            }
            else
            {
                dolibarr_syslog("Error in Contact::fetch() selectsocpeople sql=$sql");
          	    $this->error="Error in Contact::fetch() selectsocpeople - ".$this->db->error()." - ".$sql;
                return -1;
            }
        }
        
        
        /*
         *    \brief        Charge le nombre d'elements auquel est li ce contact
         *                  ref_facturation
         *                  ref_contrat
         *                  ref_commande
         *                  ref_propale
         *    \return       int         0 si ok, -1 si erreur
         */
        function load_ref_elements()
        {
            // Compte les elements pour lesquels il est contact
            $sql ="SELECT tc.element, count(ec.rowid) as nb";
            $sql.=" FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as tc";
            $sql.=" WHERE ec.fk_c_type_contact = tc.rowid";
            $sql.=" AND fk_socpeople = ". $this->id;
            $sql.=" GROUP BY tc.element";
    
            dolibarr_syslog("Contact::load_ref_elements sql=".$sql);
            
            $resql=$this->db->query($sql);
            if ($resql)
            {
    	        while($obj=$this->db->fetch_object($resql))
    	        {
    		        if ($obj->nb)
    		        {
    		            if ($obj->element=='facture')  $this->ref_facturation = $obj->nb;
    		            if ($obj->element=='contrat')  $this->ref_contrat = $obj->nb;
    		            if ($obj->element=='commande') $this->ref_commande = $obj->nb;
    		            if ($obj->element=='propal')   $this->ref_propal = $obj->nb;
    		        }
    			}
    	        $this->db->free($resql);
    	        return 0;
            }
            else
            {
    	        $this->error=$this->db->error()." - ".$sql;
    	        dolibarr_syslog("Contact::load_ref_elements Error ".$this->error);
    	        return -1;
            }
        }
    
      /*
       *    \brief      Efface le contact de la base et ventuellement de l'annuaire LDAP
       *    \param      id      id du contact a effacer
       */
      function delete($id)
        {
        	$sql = "SELECT c.name, c.firstname FROM ".MAIN_DB_PREFIX."socpeople as c";
          $sql .= " WHERE c.idp = ". $id;
          $resql=$this->db->query($sql);
            if ($resql)
            {
                if ($this->db->num_rows($resql))
                {
                    $obj = $this->db->fetch_object($resql);
        
                    $this->old_name           = $obj->name;
                    $this->old_firstname      = $obj->firstname;
                }
             }    
                    
          $sql = "DELETE FROM ".MAIN_DB_PREFIX."socpeople";
          $sql .= " WHERE idp=$id";
    
          $result = $this->db->query($sql);
    
          if (!$result) 
    	{
    	  print $this->db->error() . '<br>' . $sql;
    	}
          
          if (defined('MAIN_MODULE_LDAP')  && MAIN_MODULE_LDAP)
    	{
    	  if (defined('LDAP_CONTACT_ACTIVE')  && LDAP_CONTACT_ACTIVE == 1)
    	    {
    	      $ldap = New AuthLdap();
    	      
    	      if ($ldap->connect())
    	      {
    	      	if ($ldap->bind())
    	      	{
    	      		// delete from ldap directory
    	      		if (LDAP_SERVER_TYPE == 'activedirectory')
    	      		{
    	      			$userdn = $this->old_firstname." ".$this->old_name; //enlever utf8 pour etre compatible Windows
    	      		}
    	      		else
    	      		{
    	      			$userdn = utf8_encode($this->old_firstname." ".$this->old_name);
    	      		}
    	      		
    	      		$dn = "cn=".$userdn.",".LDAP_CONTACT_DN;
    	      		$r = @ldap_delete($ds, $dn);
    	      	}
    	      	else
    	      	{
    	      		echo "LDAP bind failed...";
    	      	}
    	      	
    	      	$ldap->close();
    	      }
    	      else
    	      {
    	      	echo "Unable to connect to LDAP server";
    	      }
    	      
    	      return $result;
    	    }
    	  }
    	}
    
      
        /*
         *    \brief      Charge les informations sur le contact, depuis la base
         *    \param      id      id du contact  charger
         */
        function info($id)
        {
            $sql = "SELECT c.idp, ".$this->db->pdate("datec")." as datec, fk_user";
            $sql .= ", ".$this->db->pdate("tms")." as tms, fk_user_modif";
            $sql .= " FROM ".MAIN_DB_PREFIX."socpeople as c";
            $sql .= " WHERE c.idp = $id";
            
            $resql=$this->db->query($sql);
            if ($resql)
            {
                if ($this->db->num_rows($resql))
                {
                    $obj = $this->db->fetch_object($resql);
        
                    $this->id                = $obj->idp;
        
                    if ($obj->fk_user) {
                        $cuser = new User($this->db, $obj->fk_user);
                        $cuser->fetch();
                        $this->user_creation     = $cuser;
                    }
        
                    if ($obj->fk_user_modif) {
                        $muser = new User($this->db, $obj->fk_user_modif);
                        $muser->fetch();
                        $this->user_modification = $muser;
                    }
        
                    $this->date_creation     = $obj->datec;
                    $this->date_modification = $obj->tms;
        
                }
        
                $this->db->free($resql);
            }
            else
            {
                print $this->db->error();
            }
        }
        
        /*
         *    \brief        Renvoi nombre d'emailings reu par le contact avec son email
         *    \return       int     Nombre d'emailings
         */
        function getNbOfEMailings()
        {
            $sql = "SELECT count(mc.email) as nb";
            $sql.= " FROM ".MAIN_DB_PREFIX."mailing_cibles as mc";
            $sql.= " WHERE mc.email = '".addslashes($this->email)."'";
            $sql.= " AND mc.statut=1";      // -1 erreur, 0 non envoy, 1 envoy avec succs
            $resql=$this->db->query($sql);
            if ($resql)
            {
                $obj = $this->db->fetch_object($resql);
                $nb=$obj->nb;
                 
                $this->db->free($resql);
                return $nb;
            }
            else
            {
                $this->error=$this->db->error();
                return -1;
            }
        }    
        
    }
    ?>