FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Vous n'êtes pas identifié(e).

#1 27-06-2012 02:57:24

Fifa Managers
Membre
Inscription : 27-06-2012
Messages : 2

[Résolu] Annonce uniquement sur la page d'accueil

Bonjour, je souhaiterais intégrer sur mon forum un message au dessus des catégories (comme par exemple sur ce forum, les liens pour télécharger les version de FluxBB). J'ai d'abord penser à l'annonce mais celle-ci s'affiche sur chaque page alors que je voudrais qu'il ne s'affiche que sur la page d'accueil.
Comment puis-je faire pour réaliser ceci ?

Merci

Hors ligne

#2 27-06-2012 10:46:39

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Annonce uniquement sur la page d'accueil

Bonjour,

Au départ, j'ai pensé pouvoir utiliser une constante qui est définie dans la page index.php :

define('PUN_ACTIVE_PAGE', 'index');

Mais, le problème est que cette constante PUN_ACTIVE_PAGE est aussi définie avec la valeur 'index' pour beaucoup d'autres fichiers comme edit.php, viewforum.php, viewtopic.php, etc..
Il faut donc trouver quelque-chose qui ne soit défini QUE dans la page index.php ; le fichier de langue index.php n'est chargé QUE dans la page index.php ; on va donc vérifier qu'un des éléments du tableau $lang_index[] est défini avant afficher l'annonce, ce qui se passe dans le fichier header.php.
Donc, dans le fichier header.php, remplacer :

// START SUBST - <pun_announcement>
if ($pun_user['g_read_board'] == '1' && $pun_config['o_announcement'] == '1')

par

// START SUBST - <pun_announcement>
if ($pun_user['g_read_board'] == '1' && $pun_config['o_announcement'] == '1' && isset($lang_index['Empty board']))

Aparté : Je vais faire une demande d'amélioration pour qu'une autre constante soit ajoutée pour donner le nom réel de la page chargée. On pourrait utiliser $_SERVER['REQUEST_URI'], mais cette constante système prédéfinie n'est pas fiable et est facilement modifiable.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#3 27-06-2012 12:27:46

kristoch
Membre
Inscription : 02-06-2012
Messages : 52

Re : [Résolu] Annonce uniquement sur la page d'accueil

bonjour,

J'avais cru comprendre que ça n'affichait qu'à l'entrée mais plus ensuite dans les forums!
En fait ça affiche sur la page d'accueil, sur tous les forums mais plus dans les sujets...
En fait sur ce principe on pourrait n'afficher qu'en accueil ou accueil+forums ou accueil+forum+sujets (partout)

Ce qui sous entend qu'il pourrait y avoir plusieurs type d'annonces!
L'annonce générale partout, l'annonce sur accueil et forums, l'annonce sur le seul accueil.
selon l'importance et l'utilité du contenu...

Très pratique! Grand merci! smile
pour la question et surtout pour la réponse! wink

Dernière modification par kristoch (27-06-2012 12:28:36)

Hors ligne

#4 27-06-2012 17:27:46

Fifa Managers
Membre
Inscription : 27-06-2012
Messages : 2

Re : [Résolu] Annonce uniquement sur la page d'accueil

Merci beaucoup pour votre réponse smile

Hors ligne

#5 28-06-2012 23:58:12

Mpok
Néo Admin
Inscription : 10-08-2006
Messages : 2 950
Site Web

Re : [Résolu] Annonce uniquement sur la page d'accueil

Otomatic a écrit :

Aparté : Je vais faire une demande d'amélioration pour qu'une autre constante soit ajoutée pour donner le nom réel de la page chargée. On pourrait utiliser $_SERVER['REQUEST_URI'], mais cette constante système prédéfinie n'est pas fiable et est facilement modifiable.

Il n'y a pas besoin d'une autre constante. Seulement que celle-ci soit PLUS DETERMINANTE qu'actuellement.
Une variable identique dans 'index', 'viewforum' et 'viewtopic' est effectivement une MAUVAISE chose.
À l'inverse, une variable du genre 'REQUEST_URI' ou 'SCRIPT' (c'est à dire liée au nom du fichier php) serait TROP déterminante (et impliquerait de nombreux "OU" dans les clauses).

=> il faudrait un "mix" : index, forum, topic, admin (etc…), mais PAS liée au fichier PHP.
(rappel : cette variable ne sert initialement qu'au header et/ou footer de la page).

Hors ligne

#6 22-12-2012 19:22:06

bibiyanki
Membre
Inscription : 20-08-2011
Messages : 45
Site Web

Re : [Résolu] Annonce uniquement sur la page d'accueil

if ($pun_config['o_announcement'] == '1')
    {
        ob_start();
       
        if ($pun_user['is_guest']) {
    ?>
<div id="B1"><span><a href="./register.php">Inscription gratuite</a> | Progressez avec de la methode |</span><br /><p>Bienvenue sur le forum de .. ou nous traitons de nombreux sujets, des analyses precises sur les paris sportifs en passant par la traduction d articles et de l'actualite.</p>
</div>
<?php


       } else if (basename($_SERVER['PHP_SELF']) == 'viewtopic.php') {  
    ?>
	<div id="B2"><span><a href="./register.php">ATTENTION!</a> | Recrutement |</span><br /><br /><p>Cher fans de paris sportifs, nous sommes a la recherche de personnes pour nous aider au niveau des sujets..<br /><br /></p>
</div>
   
<?php
                       }

        $tpl_temp = trim(ob_get_contents());
        $tpl_main = str_replace('<pun_announcement>', $tpl_temp, $tpl_main);
        ob_end_clean();
    }
    else
        $tpl_main = str_replace('<pun_announcement>', '', $tpl_main);

Dernière modification par bibiyanki (22-12-2012 19:22:27)

Hors ligne

Pied de page des forums