Пример #1
0
    } else {
        $address['street'] = null;
    }
    if (!is_null($adresse['building'])) {
        $building = Maps::buildingSearch($adresse['building'], $address['street']);
        if (count($building)) {
            $address['building'] = $building[0]['id'];
        } else {
            $building = Maps::buildingNew($adresse['building'], $address['street']);
            $address['building'] = $building;
        }
    } else {
        $address['building'] = null;
    }
    // On lance la création de l'adresse
    Maps::addressNew($person->get('id'), $address['ville'], $address['zip'], $address['street'], $address['building'], 'reel');
    $person->contact_details_add($contact['MAIL']);
    $person->tag_add('Sénateur PS');
    $person->tag_add($contact['REGION']);
    $query = $link->prepare('DELETE FROM `TABLE 30` WHERE `id` = :id');
    $query->bindValue(':id', $contact['id'], PDO::PARAM_INT);
    $query->execute();
}
$query = $link->query('SELECT COUNT(*) FROM `TABLE 30`');
$nb = $query->fetch(PDO::FETCH_NUM);
if ($nb[0]) {
    ?>
<script>
    var url = 'transfert.php';
    document.location.href = url;
</script>
Пример #2
0
				<li class="evenement <?php 
        echo $e->get('type');
        ?>
 <?php 
        if ($e->link()) {
            ?>
clic<?php 
        }
        ?>
">
					<small><span><?php 
        echo Event::displayType($e->get('type'));
        ?>
</span></small>
					<strong><a href="<?php 
        echo Core::goPage('contact', array('contact' => $c->get('id'), 'evenement' => $e->get('id')));
        ?>
"><?php 
        echo !empty($e->get('objet')) ? $e->get('objet') : 'Événement sans titre';
        ?>
</a></strong>
					<ul class="infosAnnexes">
						<li class="contact"><a href="<?php 
        echo Core::goPage('contact', array('contact' => $c->get('id')));
        ?>
"><?php 
        echo $c->display_name();
        ?>
</a></li>
						<li class="date"><?php 
        echo date('d/m/Y', strtotime($e->get('date')));
Пример #3
0
 * On récupère les fiches à contacter d'une mission de rappels
 *
 * 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
 */
// On fait le lien à la BDD
$link = Configuration::read('db.link');
// On récupère les informations sur la mission
if (isset($_GET['mission'])) {
    // On récupère la liste des rappels fait ou à effectuer
    $query = 'SELECT `contact_id`
              FROM `rappels`
              WHERE `argumentaire_id` = :mission';
    $query = $link->prepare($query);
    $query->bindParam(':mission', $_GET['mission']);
    $query->execute();
    $contacts = $query->fetchAll(PDO::FETCH_ASSOC);
    // On récupère les informations sur les fiches
    $fiches = array();
    foreach ($contacts as $contact) {
        $fiche = new People($contact['contact_id']);
        $fiches[$fiche->get('contact_id')] = $fiche->data();
    }
    // On retourne toutes les informations sur les fiches trouvées
    echo json_encode($fiches);
}
Пример #4
0
"><button>Revenir au module Contacts</button></a>
	</section>
	
<?php 
} else {
    ?>
	
	<section class="contenu">
		<ul class="listeContacts">
			<?php 
    foreach ($resultats as $resultat) {
        $contact = new People($resultat[0]);
        ?>
<!--
		 --><a class="nostyle" href="<?php 
        Core::goPage('contact', array('contact' => $contact->get('id')));
        ?>
"><!--
			 --><li class="demi contact <?php 
        if ($contact->get('sexe') == 'H') {
            echo 'homme';
        } elseif ($contact->get('contact_sexe') == 'F') {
            echo 'femme';
        } else {
            echo 'isexe';
        }
        ?>
">
					<strong><?php 
        echo $contact->get('nom_complet');
        ?>
Пример #5
0
?>
</nav>

<div class="colonne demi gauche">
    <section class="contenu demi">
        <h4>Électeurs souhaitant être recontactés</h4>
		
		<ul class="listeContacts">
    	<?php 
if ($data->newContactsNumber()) {
    // On fait la liste des contacts concernés
    $contacts = $data->contactsList(4);
    foreach ($contacts as $contact) {
        // On ouvre la fiche du contact concerné
        $fiche = new People($contact[0]);
        if ($fiche->get('sexe') == 'H') {
            $sexe = 'homme';
        } elseif ($fiche->get('sexe') == 'F') {
            $sexe = 'femme';
        } else {
            $sexe = 'isexe';
        }
        if (!empty($fiche->display_name())) {
            $nomAffichage = $fiche->display_name();
        } elseif (!empty($fiche->get('organisme'))) {
            $nomAffichage = $fiche->get('organisme');
        } else {
            $nomAffichage = 'Fiche sans nom';
        }
        ?>
		<a href="<?php 
Пример #6
0
        
        <table class="reporting">
	        <thead>
		        <tr>
    		        <th>Électeur</th>
    		        <th style="width: 300px">Email</th>
    		        <th style="width: 200px">Téléphone</th>
		        </tr>
	        </thead>
	        <tbody>
            <?php 
foreach ($coordonnees as $electeur) {
    $contact = new People($electeur);
    ?>
		        <tr class="ligne-electeur-<?php 
    echo $contact->get('id');
    ?>
">
    		        <td><?php 
    echo $contact->display_name();
    ?>
</td>
    		        <td><input type="text" name="email-<?php 
    echo $electeur;
    ?>
" placeholder="email" style="border: none; width: 100%; text-align: center;"></td>
    		        <td><input type="text" name="phone-<?php 
    echo $electeur;
    ?>
" placeholder="numéro" style="border: none; width: 100%; text-align: center;"></td>
		        </tr>
Пример #7
0
"><button>Revenir au module Contacts</button></a>
	</section>

<?php 
} else {
    ?>

	<section class="contenu">
		<ul class="listeContacts">
    <?php 
    foreach ($results as $element) {
        $contact = new People($element[0]);
        ?>
<!--
		 --><a class="nostyle" href="<?php 
        Core::goPage('contact', array('contact' => $contact->get('id')));
        ?>
"><!--
			 --><li class="demi contact <?php 
        if ($contact->get('sexe') == 'H') {
            echo 'homme';
        } elseif ($contact->get('sexe') == 'F') {
            echo 'femme';
        } else {
            echo 'isexe';
        }
        ?>
">
					<strong><?php 
        echo $contact->display_name();
        ?>
Пример #8
0
 * @author   Damien Senger <*****@*****.**>
 * @license  https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License 3.0
 * @link     http://leqg.info
 */
$var = $_GET;
$var['criteres'] = trim($var['criteres'], ';');
$contacts = People::listing($var, 0, false);
$fichier = array();
$nomFichier = 'export-' . User::ID() . '-' . uniqid() . '.csv';
$file = fopen('exports/' . $nomFichier, 'w+');
$entete = ['nom', 'nom_usage', 'prenoms', 'sexe', 'date_naissance', 'age', 'adresse declaree', 'adresse electorale', 'bureau', 'ville', 'electeur', 'electeur_europeen', 'electeur_municipales', 'organisme', 'fonction', 'tags'];
fputcsv($file, $entete, ';', '"');
foreach ($contacts as $_contact) {
    $contact = new People($_contact);
    $address = $contact->postal_address();
    $poll = Maps::pollData($contact->get('bureau'));
    $birthdate = new DateTime($contact->get('date_naissance'));
    $_fichier = array($contact->get('nom'), $contact->get('nom_usage'), $contact->get('prenoms'), $contact->get('sexe'), $birthdate->format('d/m/Y'), $contact->age(), $address['reel'], $address['officiel'], $poll['number'], $poll['city'], $contact->get('electeur'), $contact->get('electeur_europeen'), $contact->get('electeur_municipales'), $contact->get('organisme'), $contact->get('fonction'), implode(',', $contact->get('tags')));
    fputcsv($file, $_fichier, ';', '"');
}
// On retraite le nom du fichier
$f = 'exports/' . $nomFichier;
if ($f) {
    $email = file_get_contents('tpl/mail/export-reussi.tpl.html');
    $objet = '[LeQG] Votre export est prêt à être téléchargé';
    $email = strtr($email, array('{URL}' => 'http://' . Configuration::read('url') . $f));
} else {
    $email = file_get_contents('tpl/mail/export-echec.tpl.html');
    $objet = '[LeQG] Votre export a provoqué un erreur';
}
$query = Core::query('user-data', 'core');
Пример #9
0
                <?php 
        foreach ($destinataires as $destinataire) {
            $contact = new People($destinataire['contact']);
            ?>
                <tbody>
                    <tr>
                        <td><?php 
            if ($data->get('status') == 'open') {
                echo $destinataire[0];
            } else {
                echo $destinataire['email'];
            }
            ?>
</td>
                        <td><a href="<?php 
            echo Core::goPage('contact', array('contact' => $contact->get('id')));
            ?>
"><?php 
            echo $contact->display_name();
            ?>
</a></td>
                        <td><?php 
            echo Campaign::displayStatus($destinataire['status']);
            ?>
</td>
                    </tr>
                </tbody>
                <?php 
        }
        ?>
            </table>
Пример #10
0
$campaign->update('titre', $campagne['titre']);
$campaign->update('message', $campagne['message']);
$var = $_GET;
$var['criteres'] = trim($var['criteres'], ';');
$contacts = People::listing($var, 0, false);
$fichier = array();
$nomFichier = 'publi-' . md5($campaign->get('id')) . '.csv';
$file = fopen('exports/' . $nomFichier, 'w+');
$entete = array('nom', 'nom_usage', 'prenoms', 'numero', 'rue', 'cp', 'ville', 'pays', 'origine');
fputcsv($file, $entete, ';', '"');
foreach ($contacts as $contact) {
    $person = new People($contact);
    $address = $person->postal_array();
    if (isset($address['reel'])) {
        $address = $address['reel'];
        $origine = 'declaree';
    } else {
        $address = $address['officiel'];
        $origine = 'liste-electorale';
    }
    $_fichier = array($person->get('nom'), $person->get('nom_usage'), $person->get('prenoms'), $address['building'], $address['street'], $address['zipcode'], $address['city'], $address['country'], $origine);
    if (fputcsv($file, $_fichier, ';', '"')) {
        $event = Event::create($person->get('id'));
        $event = new Event($event);
        $event->update('historique_type', 'publi');
        $event->update('historique_objet', $campaign->get('titre'));
        $event->update('historique_notes', $campaign->get('message'));
        $event->update('historique_date', date('Y-m-d'));
        $event->update('campagne_id', $campaign->get('id'));
    }
}
Пример #11
0
 /**
  * Number of phonecall to do in a mission
  *
  * @param array $args sorting methods
  *
  * @return integer
  * @static
  */
 public static function estimation(array $args)
 {
     // On commence par paramétrer les données PDO
     $link = Configuration::read('db.link');
     // On prépare la requête de récupération de tous les numéros
     // connus par le système
     $sql = 'SELECT *
             FROM `coordonnees`
             WHERE `coordonnee_type` != "email"';
     $query = $link->prepare($sql);
     $query->execute();
     $numeros = $query->fetchAll(PDO::FETCH_ASSOC);
     // On prépare le tableau des résultats du tri $num
     $num = array();
     // On retraite les arguments entrés
     if (isset($args['age']) && !empty($args['age'])) {
         $age = array();
         $age['usr'] = explode(':', $args['age']);
         $age['min'] = $age['usr'][0];
         $age['max'] = $age['usr'][1];
     } else {
         $age = false;
     }
     if (isset($args['bureaux']) && !empty($args['bureaux'])) {
         $bureaux = explode(',', $args['bureaux']);
     } else {
         $bureaux = false;
     }
     if (isset($args['thema']) && !empty($args['thema'])) {
         $thema = $args['thema'];
     } else {
         $thema = false;
     }
     // On fait la boucle de tous les numéros,
     // et on charge les informations pour chacun
     foreach ($numeros as $numero) {
         // On réinitialise le test
         $test = true;
         // On ouvre la fiche correspondante
         $contact = new People($numero['contact_id']);
         // On récupère son bureau de vote, son âge et ses tags
         $ageContact = $contact->age();
         $bureau = $contact->get('bureau');
         $tags = $contact->get('tags');
         // On vérifie si la fiche correspond aux arguments entrés
         if ($age && $test) {
             if ($ageContact <= $age['max'] && $ageContact >= $age['min']) {
                 // On le rajoute au test
                 $test = true;
                 $testAge = true;
             } else {
                 $test = false;
                 $testAge = false;
             }
         }
         // On fait les vérifications concernant le bureau de vote
         if ($bureaux && $test) {
             if (in_array($bureau, $bureaux)) {
                 $test = true;
                 $testBureau = true;
             } else {
                 $test = false;
                 $testBureau = false;
             }
         }
         // On fait les vérifications concernant les thématiques
         if ($thema && $test) {
             if (in_array($thema, $tags)) {
                 $test = true;
             } else {
                 $test = false;
             }
         }
         // Si le test est concluant, on l'ajoute à la liste des numéros
         // en utilisant comme key l'ID du contact pour éviter les doublons
         if ($test) {
             $id = $contact->get('id');
             $num[$id] = $numero['coordonnee_id'];
         }
     }
     // On calcule maintenant le nombre de numéros concluant
     $nombre = count($num);
     // On retourne cette estimation
     return $nombre;
 }
Пример #12
0
          <tr>
              <th>Électeur</th>
              <th class="petit">Absent</th>
              <th class="petit">Ouvert</th>
              <th class="petit">Procuration</th>
              <th class="petit">À contacter</th>
              <th class="petit">NPAI</th>
          </tr>
         </thead>
         <tbody>
            <?php 
        foreach ($electeurs as $electeur) {
            $contact = new People($electeur);
            ?>
    		        <tr class="ligne-electeur-<?php 
            echo md5($contact->get('id'));
            ?>
">
        		        <td><?php 
            echo $contact->display_name();
            ?>
</td>
        		        <td class="petit"><div class="radio bouton-reporting"><input data-contact="<?php 
            echo $contact->get('id');
            ?>
" data-val="1" type="radio" id="electeur-<?php 
            echo $contact->get('id');
            ?>
-a" name="electeur-<?php 
            echo $contact->get('id');
            ?>
Пример #13
0
<?php

// On protège le module
User::protection(5);
// Chargement de l'objet contact
$data = new People($_GET['contact']);
$address = $data->postal_address();
// Chargement de l'entête
Core::loadHeader();
?>

<h2 class="titre" id="nomContact" data-fiche="<?php 
echo $data->get('id');
?>
"><?php 
if (!empty($data->display_name())) {
    echo $data->display_name();
} else {
    echo 'Cliquez pour ajouter un nom';
}
?>
</h2>

<div class="colonne demi gauche">
	<section id="fiche-details" class="contenu demi">
		<ul class="icones-etatcivil">
			<li class="sexe <?php 
echo strtolower($data->display_sex());
?>
 ?>"><?php 
echo $data->display_sex(true);
Пример #14
0
 $type = "email";
 // On récupère l'adresse email
 $query = 'SELECT `coordonnee_email`
            FROM `coordonnees`
            WHERE `coordonnee_id` = :id';
 $query = $link->prepare($query);
 $query->bindParam(':id', $_POST['adresse']);
 $query->execute();
 $adresse = $query->fetch(PDO::FETCH_ASSOC);
 $adresse = $adresse['coordonnee_email'];
 // On ouvre la fiche du contact concerné
 $contact = new People($_POST['contact']);
 // On charge le système de mail
 $mail = Configuration::read('mail');
 // On prépare le message
 $message = array('html' => nl2br($_POST['message']), 'subject' => $_POST['objet'], 'from_email' => Configuration::read('mail.sender.mail'), 'from_name' => Configuration::read('mail.sender.name'), 'to' => array(array('email' => $adresse, 'name' => $contact->get('nom_complet'), 'type' => 'to')), 'headers' => array('Reply-To' => Configuration::read('mail.replyto')), 'track_opens' => true, 'auto_text' => true, 'subaccount' => Configuration::read('client'));
 // mode asynchrone d'envoi du mail
 $async = true;
 // on lance l'envoi du mail
 $result = $mail->messages->send($message, $async);
 // On met à jour le tracking avec les informations retournées
 $campaign = 0;
 $query = Core::query('campaign-tracking');
 $query->bindValue(':campaign', $campaign, PDO::PARAM_INT);
 $query->bindValue(':id', $result[0]['_id']);
 $query->bindValue(':email', $result[0]['email']);
 $query->bindValue(':status', $result[0]['status']);
 $query->execute();
 $event = Event::create($contact->get('id'));
 $event = new Event($event);
 $event->update('historique_type', 'courriel');
Пример #15
0
    $query = $link->prepare('UPDATE `rappels` SET `user_id` = :user, `rappel_statut` = 1 WHERE `argumentaire_id` = :argumentaire AND `contact_id` = :contact');
    $query->bindParam(':user', $userId, PDO::PARAM_INT);
    $query->bindParam(':argumentaire', $rappel['argumentaire_id'], PDO::PARAM_INT);
    $query->bindParam(':contact', $rappel['contact_id'], PDO::PARAM_INT);
    $query->execute();
    // On ouvre l'argumentaire
    $query = $link->prepare('SELECT * FROM `argumentaires` WHERE `argumentaire_id` = :argumentaire');
    $query->bindParam(':argumentaire', $rappel['argumentaire_id'], PDO::PARAM_INT);
    $query->execute();
    $argumentaire = $query->fetch(PDO::FETCH_ASSOC);
    // On ouvre la fiche du contact
    $contact = new People($rappel['contact_id']);
    // On cherche le nom à afficher
    if (!empty($contact->display_name())) {
        $nomAffichage = $contact->display_name();
    } elseif (!empty($contact->get('organisme'))) {
        $nomAffichage = $contact->get('organisme');
    } else {
        $nomAffichage = 'Fiche sans nom';
    }
}
// On charge le template
Core::loadHeader();
?>
	<h2 class="titre" data-argumentaire="<?php 
echo $argumentaire['argumentaire_id'];
?>
" data-contact="<?php 
echo $contact->get('id');
?>
">Appel militant</h2>