Beispiel #1
0
function action_editer_signatures_relance($id_article)
{
	include_spip('formulaires/signature');
	include_spip('inc/texte');
	$url = generer_url_entite_absolue($id_article, 'article','','',true);
	list($titre, $url) = signature_langue($id_article, $url);

	$envoyer_mail = charger_fonction('envoyer_mail','inc');

	$query = sql_select('*', 'spip_signatures', "id_article=$id_article AND NOT (statut='publie' OR statut='poubelle') AND date_time <  DATE_SUB(NOW(), INTERVAL 1 DAY)", 'ad_email');
	$n = 0;
	while ($r = sql_fetch($query)) {
	  list($sujet, $corps) = signature_demande_confirmation($id_article, $url, $r['nom_email'], $r['nom_site'], $r['url_site'], $r['message'], $titre, $r['statut']);
	  if ($envoyer_mail($mail, $sujet, $corps)) $n++;
	}
	spip_log("$n signatures relancees pour $titre");
}
Beispiel #2
0
function signatures_edit_mail($id_article, $ad_email, $row) {

	$email = attribut_html($ad_email);
	if (email_valide($ad_email)) {
		if ($row['statut'] != 'publie'
		AND autoriser('modererpetition', 'article', $id_article)) {
			include_spip('formulaires/signature');
			$url = generer_url_entite_absolue($id_article, 'article','','',true);
			list($titre, $url) = signature_langue($id_article, $url);

			list($sujet, $corps) = signature_demande_confirmation($id_article, $url, $row['nom_email'], $row['nom_site'], $row['url_site'], $row['message'], $titre, $row['statut']);

			include_spip('inc/filtres');
			$sujet = rawurlencode(filtrer_entites($sujet));
			$corps = rawurlencode(filtrer_entites($corps));
			$corps = "?subject=$sujet&amp;body=$corps";
		} else $corps = '';
		$email = "<a href=\"mailto:$ad_email$corps\">$email</a>";
	}
	return "<div class='ad_email'><span class='spip_x-small'>"
			._T('info_adresse_email')
			."</span> "
			. $email
			. "</div>\n";

}
Beispiel #3
0
function signature_a_confirmer($id_article, $url_page, $nom, $mail, $site, $url, $msg, $lang, &$statut)
{

	// Si on est deja connecte et que notre mail a ete valide d'une maniere
	// ou d'une autre, on entre directement la signature dans la base, sans
	// envoyer d'email. Sinon email de verification
	if (
		// Cas 1: on est loge et on signe avec son vrai email
		(
		isset($GLOBALS['visiteur_session']['statut'])
		AND $GLOBALS['visiteur_session']['session_email'] == $GLOBALS['visiteur_session']['email']
		AND strlen($GLOBALS['visiteur_session']['email'])
		)

		// Cas 2: on a deja signe une petition, et on conserve le meme email
		OR (
		isset($GLOBALS['visiteur_session']['email_confirme'])
		AND $GLOBALS['visiteur_session']['session_email'] == $GLOBALS['visiteur_session']['email_confirme']
		AND strlen($GLOBALS['visiteur_session']['session_email'])
		)
	) {
		// Si on est en ajax on demande a reposter sans ajax, car il faut
		// recharger toute la page pour afficher la signature
		refuser_traiter_formulaire_ajax();

		$statut = 'publie';
		// invalider le cache !
		include_spip('inc/invalideur');
		suivre_invalideur("id='varia/pet$id_article'");

		// message de reussite : en ajax, preciser qu'il faut recharger la page
		// pour voir le resultat
		return
			_T('form_pet_signature_validee');
	}

	//
	// Cas normal : envoi d'une demande de confirmation
	//

	list($titre, $url_page) = signature_langue($id_article, $url_page);

	if (!strlen($statut))
		$statut = signature_test_pass();

	list($sujet, $corps) =  signature_demande_confirmation($id_article, $url_page, $nom, $site, $url, $msg, $titre, $statut);

	$envoyer_mail = charger_fonction('envoyer_mail','inc');
	if ($envoyer_mail($mail, $sujet, $corps))
		return _T('form_pet_envoi_mail_confirmation',array('email'=>$mail));
	return false; # erreur d'envoi de l'email
}