/[dolibarr]/dolibarr/htdocs/contact.class.php
ViewVC logotype

Diff of /dolibarr/htdocs/contact.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.70 by eldy, Sun Sep 18 18:23:12 2005 UTC revision 1.71 by eldy, Sat Dec 3 22:08:09 2005 UTC
# Line 58  class Contact Line 58  class Contact
58      var $email;      var $email;
59      var $birthday;      var $birthday;
60    
61        var $ref_facturation;       // Nb de reference facture pour lequel il est contact
62        var $ref_contrat;           // Nb de reference contrat pour lequel il est contact
63        var $ref_commande;          // Nb de reference commande pour lequel il est contact
64        var $ref_propal;            // Nb de reference propal pour lequel il est contact
65    
66      /**      /**
67       *      \brief      Constructeur de l'objet contact       *      \brief      Constructeur de l'objet contact
68       *      \param      DB      Habler d'accès base       *      \param      DB      Habler d'accès base
# Line 428  class Contact Line 433  class Contact
433      }      }
434    
435    
436    /*      /*
437     *    \brief      Charge l'objet contact       *    \brief      Charge l'objet contact
438     *    \param      id          id du contact       *    \param      id          id du contact
439     *    \param      user        Utilisateur lié au contact pour une alerte       *    \param      user        Utilisateur lié au contact pour une alerte
440     *    \return     int         1 si ok, -1 si erreur       *    \return     int         1 si ok, -1 si erreur
441     */       */
442    function fetch($id, $user=0)      function fetch($id, $user=0)
443      {      {
444          $sql = "SELECT c.idp, c.fk_soc, c.civilite civilite_id, c.name, c.firstname,";          $sql = "SELECT c.idp, c.fk_soc, c.civilite civilite_id, c.name, c.firstname,";
445          $sql.= " c.address, c.cp, c.ville,";          $sql.= " c.address, c.cp, c.ville,";
# Line 494  class Contact Line 499  class Contact
499              $this->db->free($resql);              $this->db->free($resql);
500            
501            
502                // Recherche le user Dolibarr lié à ce contact
503              $sql = "SELECT u.rowid ";              $sql = "SELECT u.rowid ";
504              $sql .= " FROM ".MAIN_DB_PREFIX."user as u";              $sql .= " FROM ".MAIN_DB_PREFIX."user as u";
505              $sql .= " WHERE u.fk_socpeople = ". $id;              $sql .= " WHERE u.fk_socpeople = ". $id;
# Line 516  class Contact Line 522  class Contact
522                  return -1;                  return -1;
523              }              }
524            
525                    // Charge alertes du user
             $sql = "SELECT count(*) as nb";  
             $sql .= " FROM ".MAIN_DB_PREFIX."contact_facture";  
             $sql .= " WHERE fk_contact = ". $id;  
       
             $resql=$this->db->query($sql);  
             if ($resql)  
             {  
                 $obj=$this->db->fetch_object($resql);  
                 if ($obj->nb)  
                 {  
                     $this->facturation = 1;  
                 }  
                 else  
                 {  
                     $this->facturation = 0;  
                 }  
                 $this->db->free($resql);  
             }  
             else  
             {  
                 dolibarr_syslog("Error in Contact::fetch() selectcontactfacture sql=$sql");  
                     $this->error="Error in Contact::fetch() selectcontactfacture - ".$this->db->error()." - ".$sql;  
                 return -1;  
             }  
       
526              if ($user)              if ($user)
527              {              {
528                  $sql = "SELECT fk_user";                  $sql = "SELECT fk_user";
# Line 577  class Contact Line 558  class Contact
558          }          }
559      }      }
560            
561        
562        /*
563         *    \brief        Charge le nombre d'elements auquel est lié ce contact
564         *                  ref_facturation
565         *                  ref_contrat
566         *                  ref_commande
567         *                  ref_propale
568         *    \return       int         1 si ok, -1 si erreur
569         */
570        function load_ref_elements()
571        {
572            // Compte les elements pour lesquels il est contact
573            $sql ="SELECT tc.element, count(ec.rowid) as nb";
574            $sql.=" FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as tc";
575            $sql.=" WHERE ec.fk_c_type_contact = tc.rowid";
576            $sql.=" AND element_id = ". $id;
577            $sql.=" GROUP BY tc.element";
578            
579            $resql=$this->db->query($sql);
580            if ($resql)
581            {
582            $obj=$this->db->fetch_object($resql);
583            if ($obj->nb)
584            {
585                if ($obj->element=='facture')  $this->ref_facturation = $obj->nb;
586                if ($obj->element=='contrat')  $this->ref_contrat = $obj->nb;
587                if ($obj->element=='commande') $this->ref_commande = $obj->nb;
588                if ($obj->element=='propal')   $this->ref_propal = $obj->nb;
589            }
590            $this->db->free($resql);
591            }
592            else
593            {
594            dolibarr_syslog("Error in Contact::fetch() selectcontactfacture sql=$sql");
595            $this->error="Error in Contact::fetch() selectcontactfacture - ".$this->db->error()." - ".$sql;
596            return -1;
597            }
598                
599        }
600    
601    /*    /*
602     *    \brief      Efface le contact de la base et éventuellement de l'annuaire LDAP     *    \brief      Efface le contact de la base et éventuellement de l'annuaire LDAP

Legend:
Removed from v.1.70  
changed lines
  Added in v.1.71

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26