PDA

View Full Version : WPSubscribers + MailPress = trouble



aurelienpierre
10-19-2012, 04:32 PM
Hi,

I just downloaded WPSubscribers, and I find it very powerfull.

But with MailPress, it doesn't work Properly.

So, original MailPress form is this :


<!-- start of code generated by MailPress (5.3) -->
<style type='text/css'>
div.MailPress div.mp-container, div.MailPress div.mp-formdiv {
position:relative;
}

div.MailPress div.mp-loading, div.MailPress div.mp-message {
position:absolute;
filter:alpha(opacity=0); // IE
-moz-opacity:0;
-khtml-opacity: 0;
opacity:0;
}
</style>
<script type='text/javascript' src='http://aurelienpierre.com/wp-includes/js/jquery/jquery.js'></script>
<script type='text/javascript'>
/* <![CDATA[ */
var MP_Widget = {
url: 'http://aurelienpierre.com/wp-content/plugins/mailpress/mp-includes/action.php'
};
/* ]]> */
</script>
<script type='text/javascript' src='http://aurelienpierre.com/wp-content/plugins/mailpress/mp-includes/js/mp_form.js'></script>
<div class='MailPress' id='_MP_mailpress-2'>
<div class='mp-container'>
<div class='mp-message'></div>
<div class='mp-loading'><img src='http://aurelienpierre.com/wp-content/plugins/mailpress/mp-includes/images/loading.gif' alt='Chargement' title='Chargement' />Chargement</div>
<div class='mp-formdiv'>
<form class='mp-form' method='post' action=''>
<input type='hidden' name='action' value='add_user_fo' />
<input type='hidden' name='id' value='_MP_mailpress-2' />
<input type='text' name='_MP_email' value="Votre email" class='MailPressFormEmail' size='25' onfocus="if(this.value=='Votre email') this.value='';" onblur="if(this.value=='') this.value='Votre email';" /><br />
<input type='text' name='_MP_name' value="Votre nom" class='MailPressFormName' size='25' onfocus="if(this.value=='Votre nom') this.value='';" onblur="if(this.value=='') this.value='Votre nom';" /><br />
<input class='MailPressFormSubmit mp_submit' type='submit' name='MailPress_submit' value="M'abonner" />
</form>
</div>
</div>
<div id='mp-urlsubmgt'><a href='http://aurelienpierre.com/wp-content/plugins/mailpress/mp-includes/action.php?action=mail_link&del=c4ae1e43315ea62039206d048e205315'>Gestion de votre abonnement</a></div>
</div>
<!-- end of code generated by MailPress (5.3) -->

I set this as opt-in code :


Action : http://aurelienpierre.com/wp-content/plugins/mailpress/mp-includes/action.php
Name : _MP_name
Email : _MP_email
Hidden :
<input type="hidden" name="action" value="add_user_fo">
<input type='hidden' name='id' value='_MP_mailpress-2' />


The popup runs, as well as MailPress subscription. The problem is that, after subscribing, visitors are redirected to http://aurelienpierre.com/wp-content/plugins/mailpress/mp-includes/action.php, which return :

<wp_ajax>
<message><span class='success'>En attente de votre confirmation</span><br /></message>
<id>_MP_mailpress-2</id>
<email>test@yoursite.com</email><name>Test</name>
</wp_ajax>

In original form, MailPress uses javascript, so I think it's a clue for the solution, but I can't solve it myself.

Any idea ?

Thanks !

Jean-Christophe Bisoux
10-19-2012, 05:29 PM
Bonjour Aurelien,

A premiere vue le formulaire est genere par rapport a un plugin wordpress, est-ce qu'il y a moyen d'avoir le form directement sur le site de mailpress ?

de ce que je vois, le plugin utilise ajax pour envoyer le formulaire et en l'appellant directement dans le form via
Action : http://aurelienpierre.com/wp-content/plugins/mailpress/mp-includes/action.php
il renvoi un message qui doit etre gere par l'ajax et n'est pas prevu a etre affiche tel quel, donc si on arrive a trouver l'url reel on sera bon
Je pense qu'on pourrait avoir l'info dans le fichier http://aurelienpierre.com/wp-content/plugins/mailpress/mp-includes/action.php

a bientot,

aurelienpierre
10-22-2012, 10:41 AM
Bonjour,

C'est cela, MailPress est une plugin directement intégré à WordPress. Le site de documentation du plugin est actuellement down, suite à un piratage de sa base de données...

Le fichier ".../action.php" contient ceci :


//
include('../../../../wp-load.php');
//
include('../../../../wp-admin/includes/admin.php');
//
new MP_Actions();

J'ai trouvé une solution temporaire (et pas propre) en rajoutant au début de ce même fichier :


if (isset($_SERVER["HTTP_REFERER"])) $url = $_SERVER["HTTP_REFERER"];
else $url = "http://aurelienpierre.com/merci-pour-votre-abonnement/";
header("location:$url");

(en fait le test visait à recharger la page précédente, mais en pratique, c'est toujours l'url par défaut qui est retournée)

De plus, j'ai configuré WPSubscribers pour qu'il ouvre une nouvelle fenêtre au clic sur le bouton subscribe (c'est l'option tout en bas de la page Settings).

Donc concrètement, ces manips génèrent le résultat suivant :

1. La popup s'ouvre normalement
2. Le visiteur entre ses coordonnées normalement
3. Lorsqu'il clique valide son inscription (bouton subscribe), une nouvelle fenêtre/un nouvel onglet s'ouvre
4. Dans cet onglet s'affiche la page action.php (les données sont entrées dans la base) qui redirige automatiquement le visiteur vers une page de confirmation du succès de l'abonnement (http://aurelienpierre.com/merci-pour-votre-abonnement/)
5. L'utilisateur peut alors fermer cette fenêtre et revenir à sa fenêtre précédente qui n'a pas été altérée.

Ce n'est pas top mais ça marche, en attendant une solution plus élégante.

Merci pour votre réponse.

Jean-Christophe Bisoux
10-23-2012, 08:17 AM
Bonjour,

Comme on dit si ca fonctionne c'est deja ca ;)
quand le site de doc est a nouveau en ligne, contactez moi et je regarderais ce que l'on peut faire de mieux.

a bientot,