<?php // On ouvre la mission $data = new Mission($_GET['code']); // On vérifie que la mission a bien été ouverte if ($data->err) { Core::goPage('porte', true); } // On récupère tous les items de l'immeuble et la rue en question et la ville concernée $rue = Carto::rue($_GET['rue']); $immeuble = Carto::immeuble($_GET['immeuble']); // typologie $typologie = $data->get('mission_type') == 'porte' ? 'porte' : 'boite'; // On charge le header Core::loadHeader(); ?> <h2>Mission « <?php echo $data->get('mission_nom'); ?> »</h2> <h3 style="margin: 20px;"><?php echo $immeuble['immeuble_numero']; ?> <?php echo $rue['rue_nom']; ?> </h3> <a href="<?php
// On récupère uniquement les données du premier résultat data = data[0]; // On prépare la boundingbox var loc1 = new L.LatLng(data.boundingbox[0], data.boundingbox[2]); var loc2 = new L.LatLng(data.boundingbox[1], data.boundingbox[3]); var bounds = new L.LatLngBounds(loc1, loc2); // On fabrique une vue qui contient l'ensemble du secteur demandé map.fitBounds(bounds, { maxZoom: 17 }); // On ajoute un marker au milieu de la rue L.marker([data.lat, data.lon], { clicable: false, title: "<?php Carto::afficherImmeuble($immeuble); echo $nomRue; ?> " }).addTo(map); }); <?php } ?> </script> <?php } } } } Core::loadFooter();
echo ' '; } ?> </span> <?php echo $rue['rue_nom']; ?> </li> </a> <?php } } else { // Pour chaque immeuble trouvé, on regarde quel est son réel numéro $numeros = array(); $numeros_sauv = array(); foreach ($items as $immeuble) { $infos = Carto::immeuble($immeuble['immeuble_id']); $numeros[$immeuble['immeuble_id']] = preg_replace('#[^0-9]+#', '', $infos['immeuble_numero']); $numeros_sauv[$immeuble['immeuble_id']] = $infos['immeuble_numero']; } // On tri les immeubles asort($numeros); // On fait la boucle des immeubles foreach ($numeros as $immeuble => $numero) { ?> <a class="nostyle" href="<?php Core::goPage('mission', array('code' => $_GET['code'], 'rue' => $_GET['rue'], 'immeuble' => $immeuble)); ?> "> <li id="element-<?php echo $immeuble; ?>
/** * 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; }
/** * Liste des immeubles d'une opération de boîtage * * PHP version 5 * * @category Ajax * @package LeQG * @author Damien Senger <*****@*****.**> * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License 3.0 * @link http://leqg.info */ $infos = $_GET; // On récupère des informations sur la mission $mission = Boite::informations($infos['mission'])[0]; // On récupère les rues de la mission avec leurs immeubles $rues = Boite::liste($mission['mission_id'], 0); // On récupère les immeubles à faire de notre rue $immeubles = $rues[$infos['rue']]; // Pour chaque immeuble, on modifie l'ID en son numéro foreach ($immeubles as $key => $immeuble) { $i = Carto::immeuble($immeuble); $immeubles[$key] = $i['immeuble_numero']; } // On tri les résultats natsort($immeubles); $liste = array(); foreach ($immeubles as $i) { $liste[] = $i; } // On exporte le tout en JSON echo json_encode($liste);
<?php require_once 'includes.php'; // Script de conversion de l'ancien système géographique au nouveau (carto => map) // On va tout d'abord rechercher une portion d'utilisateur à transférer d'une ligne à l'autre $query = $link->query('SELECT `contact_id`, `adresse_id`, `immeuble_id`, `contact_nom`, `contact_nom_usage`, `contact_prenoms` FROM `contacts` WHERE `living_place_id` = 0 AND `official_place_id` = 0 ORDER BY `contact_id` ASC LIMIT 0, 1000'); $contacts = $query->fetchAll(PDO::FETCH_ASSOC); // Pour chaque contact, on va passer de l'ancien système au nouveau système pour les deux entrées foreach ($contacts as $contact) { // On récupère d'abord les adresse actuelles $adresse = Carto::immeuble($contact['adresse_id']); $vote = Carto::immeuble($contact['immeuble_id']); // On récupère des composants pour chacune des deux $adresse = array('numero' => trim($adresse['immeuble_numero']), 'adresse' => trim(Carto::afficherRue($adresse['rue_id'], true)), 'ville' => trim(Carto::afficherVille(Carto::villeParRue($adresse['rue_id']), true))); $vote = array('numero' => trim($vote['immeuble_numero']), 'adresse' => trim(Carto::afficherRue($vote['rue_id'], true)), 'ville' => trim(Carto::afficherVille(Carto::villeParRue($vote['rue_id']), true))); // On récupère les informations issues du Nominatim OSM pour l'adresse déclarée if ($contact['adresse_id']) { $data = Map::geocoder($adresse); // On enregistre les informations dans la fiche du contact $query = $link->prepare('UPDATE `contacts` SET `living_place_id` = :place WHERE `contact_id` = :contact'); $query->bindParam(':place', $data['place_id'], PDO::PARAM_INT); $query->bindParam(':contact', $contact['contact_id'], PDO::PARAM_INT); $query->execute(); } // On récupère les informations issues du Nominatim OSM pour l'adresse électorale if ($contact['immeuble_id']) { $data = Map::geocoder($vote); // On enregistre les informations dans la fiche du contact $query = $link->prepare('UPDATE `contacts` SET `official_place_id` = :place WHERE `contact_id` = :contact'); $query->bindParam(':place', $data['place_id'], PDO::PARAM_INT); $query->bindParam(':contact', $contact['contact_id'], PDO::PARAM_INT);
?> </em></span></li> </ul> </section> <section id="mapbox-carto"></section> </div> <div class="colonne demi droite"> <section class="contenu demi"> <h4>Contacts connus du bureau</h4> <ul class="listeContacts"> <?php $adresses = array(); $contacts = Carto::listeElecteursParBureau($bureau['bureau_id'], true); foreach ($contacts as $contact) { $classSexe = array('M' => 'homme', 'F' => 'femme', 'i' => 'isexe'); $c = new Contact($contact['code']); $adresses[] = explode('|', $c->adresse('electorale', '|')); ?> <a href="<?php Core::goPage('contact', array('contact' => $contact['code'])); ?> " class="nostyle"> <li class="contact <?php echo $classSexe[$contact['contact_sexe']]; ?> "> <?php if (!empty($contact['contact_nom']) || !empty($contact['contact_nom_usage']) || !empty($contact['contact_prenoms'])) {
?> (<?php echo $contact->age(); ?> )</p> </li> <?php } ?> <li class="adresse"> <?php if ($contact->get('adresse_id')) { $adresse = Carto::detailAdresse($contact->get('adresse_id')); echo $adresse['immeuble_numero'] . ' ' . mb_convert_case(trim($adresse['rue_nom']), MB_CASE_TITLE) . '<br>' . $adresse['code_postal'] . ' ' . mb_convert_case($adresse['commune_nom'], MB_CASE_UPPER); } elseif ($contact->get('immeuble_id')) { $adresse = Carto::detailAdresse($contact->get('immeuble_id')); echo $adresse['immeuble_numero'] . ' ' . mb_convert_case(trim($adresse['rue_nom']), MB_CASE_TITLE) . '<br>' . $adresse['code_postal'] . ' ' . mb_convert_case($adresse['commune_nom'], MB_CASE_UPPER); } else { echo 'Aucune adresse renseignée'; } ?> </li> <?php if ($contact->get('contact_email')) { ?> <li class="email"> <?php echo $contact->get('email'); ?> </li> <?php
$rue; ?> "> <button class="voirRue gris" data-rue="<?php echo $rue; ?> " data-nom="<?php echo $nom; ?> ">Consulter</button> <span><?php echo $nom; ?> </span> <span><?php Carto::afficherVille(Carto::villeParRue($rue)); ?> </span> </li> <?php } ?> </ul> <?php if (count($indexRues) >= 20) { ?> <div class="coteAcote"> <button class="ajouterRue">Ajouter une rue</button> <button class="ajouterBureau">Ajouter un bureau</button> </div>
</ul> </section> <section id="mapbox-carto" class="contenu demi grande"></section> </div> <div class="colonne demi droite"> <section class="contenu demi"> <h4>Immeubles connus dans cette rue</h4> <ul class="listeDesImmeubles form-liste"> <?php $immeubles = Carto::listeImmeubles($rue['rue_id']); foreach ($immeubles as $immeuble) { $contactsDansImmeuble = Carto::coordonneesDansImmeuble($immeuble['immeuble_id']); ?> <li <?php if ($contactsDansImmeuble) { echo 'class="presenceContacts"'; } ?> > <span><strong class="immeuble"><?php echo $immeuble['numero']; ?> </strong> <?php echo mb_convert_case($rue['rue_nom'], MB_CASE_TITLE); ?> </span> <a href="<?php
?> </em></span></li> </ul> </section> <section id="mapbox-carto" class="contenu demi grande"></section> </div> <div class="colonne demi droite"> <section class="contenu demi"> <h4>Électeurs déclarés dans l'immeuble</h4> <ul class="listeContacts"> <?php $contacts = Carto::listeElecteurs($immeuble['immeuble_id']); foreach ($contacts as $contact) { $classSexe = array('M' => 'homme', 'F' => 'femme', 'i' => 'isexe'); ?> <a href="<?php Core::goPage('contact', array('contact' => $contact['code'])); ?> " class="nostyle"> <li class="contact <?php echo $classSexe[$contact['contact_sexe']]; ?> <?php if ($contact['contact_email'] == 0 && $contact['contact_fixe'] == 0 && $contact['contact_mobile'] == 0) { echo 'icoclair'; } ?>
<?php // On ouvre la mission $data = new Mission($_GET['code']); // On vérifie que la mission a bien été ouverte if ($data->err) { Core::goPage('porte', true); } // On récupère tous les items de l'immeuble et la rue en question et la ville concernée $rue = Carto::rue($_GET['rue']); $contact = new Contact(md5($_GET['electeur'])); if (!isset($_GET['electeur'])) { Core::goPage('reporting', array('mission' => $_GET['mission']), true); } // typologie $typologie = $data->get('mission_type') == 'porte' ? 'porte' : 'boite'; // On charge le header Core::loadHeader(); ?> <h2>Mission « <?php echo $data->get('mission_nom'); ?> »</h2> <h3 style="margin: 20px;"><?php echo mb_convert_case($contact->get('contact_nom'), MB_CASE_UPPER) . ' ' . mb_convert_case($contact->get('contact_nom_usage'), MB_CASE_UPPER) . ' ' . mb_convert_case($contact->get('contact_prenoms'), MB_CASE_TITLE); ?> </h3> <a href="<?php