Placer des annonces dans un forum fluxBB ou punBB

En général, les forums ne procurent pas beaucoup de revenu, a moins d'avoir un trafic important parceque les visiteurs sont des habitués qui ignorent les publicités. Si votre forum est suffisamment important vous pouvez placer des annonces dans le template, dès lors que certaines précautions sont prises, ce qu'on verra plus loin.

Insérer le code Adsense

L'idée vient du forum punBB.

Créer un fichier PHP avec un code Adsense à l'intérieur.

  1. Le nom pourrait être ads.php.
  2. Ce fichier doit être placé dans le répertoire include/user.

Le code peut être créé avec une instruction echo:

echo '<script type="text/javascript">...contenu Adsense...</script>";

Maintenant, allez dans le répertoire include/template et éditez le fichier main.tpl.
Ajouter cette ligne (on peut essayer différents emplacements):

<pun_include "ads.php">

Comment bloquer les mots interdits

Il est interdit par les règles du programme d'utiliser Adsense sur une page qui affiche des mots en rapport avec la "p_rn_graphy" ou les "casin_s" par exemple. Or dans un forum, il n'est pas toujours facile de contrôler le contenu des billets puisqu'ils ne sont pas lus dès qu'ils sont postés.
Par conséquent les publicités pourraient être affichées sur des pages où les spammeurs auront introduit ces termes interdits.

Mais on peut facilement empêcher les spammeurs d'utiliser certains mots avec punBB.

En premier, on définit une liste des mots interdits et on les place dans un tableau:

$words = array(
     "premier mot",
     "second mot",
     "etc." );

Puis on crée un code qui bloque ces mots:

foreach($words as $word)
{
  if($stristr($message, $word) !== false)) 
     $errors[] = 'Mots interdits dans le message. Accès refusé';
} 

On peut aussi afficher le message en anglais puisque la plupart des spams sont dans cette langue:

"Words forbidded in the post. Access denied."

Ce code doit être inséré dans le fichier post.php, après le code qui parse le contenu dans ces lignes:

if ($pun_config['p_message_bbcode'] == '1' && strpos($message, '[') !== false && strpos($message, ']') !== false)
{
  require PUN_ROOT.'include/parser.php';
  $message = preparse_bbcode($message, $errors);
}

et avant que le message ne soit envoyé dans la base de données dans le bloc qui commence par:

require PUN_ROOT.'include/search_idx.php';

Vous pouvez permettre à l'administrateur d'outrepasser le blocage en insérant le code dans une condition comme:

if (!$is_admmod)

Ceci fonctionne sur punBB.
Pour d'autre CMS tels que phpBB, SMF, IPB, le code à insérer est similaire mais le nom des variables change.

Plus d'informations