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 |
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,"; |
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; |
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"; |
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 |