Esempio n. 1
0
 /**
  * Récupère des informations sur les contacts concernés
  *
  * @return array
  */
 public function contacts()
 {
     // On liste les éléments d'historique concernés
     $query = 'SELECT * FROM `historique` WHERE `campagne_id` = :id';
     $query = $this->_link->prepare($query);
     $query->bindParam(':id', $this->get('campagne_id'), PDO::PARAM_INT);
     $query->execute();
     $historique = $query->fetchAll(PDO::FETCH_ASSOC);
     // On fait le tableau des différents contacts concernés
     $contacts = [];
     foreach ($historique as $h) {
         $contacts[] = $h['contact_id'];
     }
     // On retraite le tableau des ids
     $ids = implode(',', $contacts);
     // On cherche tous les contacts concernés par l'envoi
     $query = 'SELECT *,
                      MD5(`contact_id`) AS `contact_md5`
               FROM `contacts`
               WHERE `contact_id` IN (' . $ids . ')';
     $query = $this->_link->query($query);
     if ($query->rowCount()) {
         $contacts = $query->fetchAll(PDO::FETCH_ASSOC);
         // Pour chaque contact, on rajoute le nom de la ville
         // et on traite le nom d'affichage
         foreach ($contacts as $key => $contact) {
             if ($contact['adresse_id']) {
                 $ville = Carto::villeParImmeuble($contact['adresse_id']);
             } elseif ($contact['immeuble_id']) {
                 $ville = Carto::villeParImmeuble($contact['immeuble_id']);
             } else {
                 $ville = 'Ville inconnue';
             }
             $contacts[$key]['ville'] = $ville;
             $contacts[$key]['nom_affichage'] = mb_convert_case($contact['contact_nom'], MB_CASE_UPPER) . ' ' . mb_convert_case($contact['contact_nom_usage'], MB_CASE_UPPER) . ' ' . mb_convert_case($contact['contact_prenoms'], MB_CASE_TITLE);
         }
     } else {
         $contacts = array();
     }
     return $contacts;
 }