Example #1
0
require_once dirname(__FILE__) . '/../../../sources/Afup/AFUP_Mail.php';
$forum_inscriptions = new AFUP_Inscriptions_Forum($bdd);
$forum_facturation = new AFUP_Facturation_Forum($bdd);
$forum_inscriptions->modifierEtatInscription($_GET['cmd'], AFUP_FORUM_ETAT_REGLE);
$forum_facturation->enregistrerInformationsTransaction($_GET['cmd'], $_GET['autorisation'], $_GET['transaction']);
if ($forum_facturation->estFacture($_GET['cmd'])) {
    $facture = $forum_facturation->obtenir($_GET['cmd']);
    // Send the invoice
    $forum_facturation->envoyerFacture($facture);
    // Send register confirmation
    $mail = new AFUP_Mail();
    $registrations = $forum_inscriptions->getRegistrationsByReference($facture['reference']);
    foreach ($registrations as $registration) {
        $receiver = array('email' => $registration['email'], 'name' => sprintf('%s %s', $registration['prenom'], $registration['nom']));
        $data = $registration;
        if (!$mail->send('confirmation-inscription-phptour2015', $receiver, $data)) {
            $message = <<<HTML
Impossible d'envoyer la confirmation d'inscription après paiement pour le forum en cours.<br>
Facture : {$registration['reference']}<br/>
Contact : {$registration['prenom']} {$registration['nom']} &lt;{$registration['email']}&gt;
HTML;
            $mail->sendSimpleMessage("Impossible d'envoyer la confirmation", $message, array(array('name' => 'Trésorier AFUP', 'email' => '*****@*****.**'), array('name' => 'Communication AFUP', 'email' => '*****@*****.**')));
        }
    }
} else {
    // Send error to default
    // @TODO check if this happens or not
    $mail = new AFUP_Mail();
    $mail->sendSimpleMessage("Impossible d'envoyer la facture", 'Impossible de facturer la commande ' . htmlspecialchars($_GET['cmd']) . ' après paiement inscription forum.');
}
$smarty->display('paybox_effectue.html');
Example #2
0
    /**
     * Send the "convocation" email to every people attending to the specified event.
     * @param int $id_forum Forum's ID
     * @param string $template Mandrill template's identifier
     * @return bool Always TRUE (due to legacy code)
     */
    public function envoyerEmailConvocation($id_forum, $template)
    {
        require_once dirname(__FILE__) . '/AFUP_Configuration.php';
        $configuration = $GLOBALS['AFUP_CONF'];
        // Get all visitors with "good" state (good to receive the email)
        // No speakers.
        $requete = <<<SQL
SELECT
  i.*, f.societe, md5(CONCAT(i.id, i.reference)) as md5key, af.path
FROM
  afup_inscription_forum i
LEFT JOIN
  afup_facturation_forum f ON i.reference = f.reference
INNER JOIN
  afup_forum af ON i.id_forum = af.id
WHERE  i.id_forum = {$id_forum}
AND i.type_inscription <> 12
AND i.etat IN (0, 4, 5, 6, 7, 8)
ORDER BY i.date
;
SQL;
        $inscrits = $this->_bdd->obtenirTous($requete);
        require_once dirname(__FILE__) . '/AFUP_Mail.php';
        $mailer = new AFUP_Mail();
        $listSent = array();
        // Send to each visitor
        $total = count($inscrits);
        foreach ($inscrits as $nb => $inscrit) {
            $sent = $mailer->send($template, array('name' => $inscrit['prenom'] . " " . $inscrit['nom'], 'email' => $inscrit['email']), $inscrit, array('bcc_address' => false), true);
            if ($sent) {
                $listSent[] = "{$inscrit['prenom']} {$inscrit['nom']} : {$inscrit['email']}";
            }
        }
        // Send confirmation
        $count = count($listSent);
        $msg = "<p>Voici la liste des convocations envoyées ({$count}/{$total}, template {$template}) :</p>";
        $msg .= "<ol>";
        $msg .= "<li>" . implode("</li>\n<li>", $listSent) . "</li>";
        $msg .= "</ol>";
        $mailer->sendSimpleMessage("Liste des convocations envoyées", $msg);
        return true;
    }
Example #3
0
    $etat = AFUP_FORUM_ETAT_REGLE;
} elseif ($status === '00015') {
    // Designe un paiement deja effectue : on a surement deja eu le retour donc on s'arrete
    die;
} elseif ($status === '00117') {
    $etat = AFUP_FORUM_ETAT_ANNULE;
} elseif (substr($status, 0, 3) === '001') {
    $etat = AFUP_FORUM_ETAT_REFUSE;
}
$forum_inscriptions->modifierEtatInscription($_GET['cmd'], $etat);
$forum_facturation->enregistrerInformationsTransaction($_GET['cmd'], $_GET['autorisation'], $_GET['transaction']);
if ($etat === AFUP_FORUM_ETAT_REGLE && $forum_facturation->estFacture($_GET['cmd'])) {
    $facture = $forum_facturation->obtenir($_GET['cmd']);
    // Send the invoice
    $forum_facturation->envoyerFacture($facture);
    // Send register confirmation
    $mail = new AFUP_Mail();
    $registrations = $forum_inscriptions->getRegistrationsByReference($facture['reference']);
    foreach ($registrations as $registration) {
        $receiver = array('email' => $registration['email'], 'name' => sprintf('%s %s', $registration['prenom'], $registration['nom']));
        $data = $registration;
        if (!$mail->send('confirmation-inscription-php-tour-2016', $receiver, $data)) {
            $message = <<<HTML
Impossible d'envoyer la confirmation d'inscription après paiement pour le forum en cours.<br>
Facture : {$registration['reference']}<br/>
Contact : {$registration['prenom']} {$registration['nom']} &lt;{$registration['email']}&gt;
HTML;
            $mail->sendSimpleMessage("Impossible d'envoyer la confirmation", $message, array(array('name' => 'Trésorier AFUP', 'email' => '*****@*****.**'), array('name' => 'Communication AFUP', 'email' => '*****@*****.**')));
        }
    }
}
Example #4
0
 /**
  * Envoi par mail d'une facture au format PDF
  *
  * @param string|array $reference Invoicing reference as string, or the invoice itself
  * @access public
  * @return bool Succès de l'envoi
  */
 function envoyerFacture($reference, $copyTresorier = true, $facturer = true)
 {
     require_once 'AFUP_Mail.php';
     require_once 'AFUP_Configuration.php';
     $configuration = $GLOBALS['AFUP_CONF'];
     if (is_array($reference)) {
         $personne = $reference;
         $reference = $personne['reference'];
     } else {
         $personne = $this->obtenir($reference, 'email, nom, prenom');
     }
     $mail = new AFUP_Mail();
     $receiver = array('email' => $personne['email'], 'name' => sprintf('%s %s', $personne['prenom'], $personne['nom']));
     $parameters = array();
     if (!$copyTresorier) {
         // Bypass copy tresorier@afup.org
         $parameters['bcc_address'] = null;
     }
     $parameters['subject'] = "Facture événement AFUP";
     $data = array('raison_sociale' => $configuration->obtenir('afup|raison_sociale'), 'adresse' => $configuration->obtenir('afup|adresse'), 'ville' => $configuration->obtenir('afup|code_postal') . " " . $configuration->obtenir('afup|ville'));
     $chemin_facture = AFUP_CHEMIN_RACINE . 'cache' . DIRECTORY_SEPARATOR . 'fact' . $reference . '.pdf';
     $numeroFacture = $this->genererFacture($reference, $chemin_facture);
     $parameters += array("attachments" => array(array("type" => "application/pdf", "name" => 'facture-' . $numeroFacture . '.pdf', "content" => base64_encode(file_get_contents($chemin_facture)))));
     @unlink($chemin_facture);
     $ok = $mail->send('facture-forum', $receiver, $data, $parameters);
     if ($ok && $facturer) {
         $this->estFacture($reference);
     }
     return $ok;
 }