PHP-Astux.info

DarkVador à Tux Skywalker : "Je suis ton PEAR ..."

Outils NewsletTux 2

Outil de réinitialisation du mot de passe

Cet utilitaire permet de hasher un mot de passe en MD5 pour restaurer un mot de passe dans NewsletTux 2. Mettez votre mot de passe en clair dans ce champ de formulaire et validez-le pour avoir l'équivalent MD5.

Une notice est jointe à cet outil.

Utilitaire de conversion de temps

Dès qu'une erreur se produit (et que vous recevez le rapport par mail) un code d'erreur est généré. Celui-ci est en fait un timestamp c'est à dire une date et heure en 10 chiffres. Utilisez l'outil ci-dessous pour insérer le code d'erreur et ainsi trouver la date à laquelle s'est produite d'erreur :

Formulaire de récupération de date et heure
Code d'erreur

Insertion de code antispam

Ce tutorial explique comment insérer un système anti spam (= anti inscriptions frauduleuses) sur votre NewsletTux v.2. Pour ce faire, nous aurons besoin du fichier antispam.php dans le même dossier que form-newslettux.php. Ce fichier antispam.php est indiqué dans l'article Système anti spam pour formulaire.

Ouvrir form-newslettux.php, et aller ligne ~57 :

require_once(NTUX2_ROOT.'lib/admin_functions_smileys.php'); // adding smileys

Juste après cette ligne, insérez le code suivant :

	// on inclue le fichier des questions/réponses
	require_once(NTUX2_ROOT.'antispam.php');

Selon le formulaire que vous utilisez (simple ou type NewsletTux 1.X) le principe est le même mais les lignes diffèrent.

Si vous utilisez le formulaire simple

Allez ligne ~515 pour localiser if (DEF_REG_FORM == 'simple')

Juste en dessous de :

// just an input, other params are hidden

ajoutez :

	// on tire au sort une question
	$img_nospam = NoSpamQuestion();

Puis, quelques lignes plus bas (après le ul/li) soit env. l. 525, remplacez :

	echo '    <div style="clear:left;"></div>'.CR;

par :

	echo '    <div style="clear:left;"><label for="code">Ecrivez en LETTRES le résultat :</label><img src="images/'.$img_nospam['img'].'" width="88" height="31" alt="'.$img_nospam['question'].'" title="'.$img_nospam['question'].'" /><input type="text" name="code" id="code" /><input type="hidden" id="image" name="image" value="'.$img_nospam['num'].'" /></div>'.CR;

Si vous utilisez le formulaire type NewsletTux 1.X

Allez env. ligne 529 et localisez :

// display like NewsletTux 1.X

Juste après, ajoutez :

	// on tire au sort une question
	$img_nospam = NoSpamQuestion();

Puis, env. l. 588 remplacez :

	echo '    <div style="clear:left;"></div>'.CR;

par :

	echo '    <div style="clear:left;"><label for="code">Ecrivez en LETTRES le résultat :</label><img src="images/'.$img_nospam['img'].'" width="88" height="31" alt="'.$img_nospam['question'].'" title="'.$img_nospam['question'].'" /><input type="text" name="code" id="code" /><input type="hidden" id="image" name="image" value="'.$img_nospam['num'].'" /></div>'.CR;

Fin de la mise en place

Quelle qu'ait été votre manipulation, le traitement est le même à la fin. Remontez ligne 283 puis localisez :

if (isset($_POST['submit']))

Juste après son accolade ouvrante, ajoutez ce code :

		$code = (isset($_POST['code'])) ? strtolower($_POST['code']) : ''; // contient la réponse du visiteur
		$image = (isset($_POST['image'])) ? $_POST['image'] : ''; // contient un nombre : le numéro de la vraie réponse
		$verif_img = NoSpamQuestion('ans', $image);
		if ($code != strtolower($verif_img['answer']))
		{
			// le formulaire s'arrête ici
			echo "<p>Vous n'avez pas répondu correctement à la question ....</p>";
		}
		else
		{

Maintenant descendez ligne env. 505 et localisez :

			}; // end of if (count($array_regs) > 0)
		}; // end of if (isset($_POST['submit']))

Remplacez par :

				}; // end of if (count($array_regs) > 0)
			}; // end of if ($code != strtolower($verif_img['answer']))
		}; // end of if (isset($_POST['submit']))