[Réglé] Topic Title Highlighter pour phpBB3

Ce forum vous servira à trouver de l'aide uniquement en ce qui concerne le développement d'un de vos MODs, ou l'adaptation d'un MOD phpBB2 pour phpBB3.

Modérateur : Équipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com
Auteur
pal
Apprenti-posteur
Apprenti-posteur
Messages : 114
Enregistré le : 09 déc. 2007 à 09:50
Contact :

Topic Title Highlighter pour phpBB3

Message par pal »

salut

quelqu'un sait où trouver ou comment adapter ce mod à phpBB3 ? j'ai cherché ce mod dans phpbb.com mais il semble qu'il est abondonné par son auteur ( dommage ... )

voila les instructions du mod pour phpBB2 :


dans viewforum.php

Code : Tout sélectionner

#
#-----[ FIND ]------------------------------------------
#
if( $total_topics )
{
#
#-----[ AFTER, ADD ]------------------------------------
#
   //words surronded by brackets []
   $type = "<span style=\"background-color:white;color:green;border:green 1px solid\">";
   $search_type = "#(\[.*?\])(.*)#";
   $end_style = "</span>";

   //Propositions, surronded by asteriscs *
   $propositions = "<span style=\"background-color:white;color:red;border:red 1px solid\">";
   $search_propositions = "#(\*.*?\*)(.*)#";

   //Important Announces, starting by vertical bar |
   $notifications = "<span style=\"background-color:white;color:blue;border:blue 1px solid\">";
   $search_notifications = "#(\|.*?\|)#";

   //News, starting by sharp #
   $news = "<span style=\"background-color:darkblue;color:white;border:white 1px solid\">";
   $search_news = "#(\#.*?\#)(.*)#";

   $end_style = "</span>";
#
#-----[ FIND ]------------------------------------------
#
$topic_title = ( count($orig_word) ) ? preg_replace($orig_word, $replacement_word, $topic_rowset[$i]['topic_title']) : $topic_rowset[$i]['topic_title'];
#
#-----[ AFTER, ADD ]------------------------------------
#
      $replace = $topic_title;

      //words surronded by brackets []
      if ( $replace == $topic_title )
      {
         $replace = preg_replace( $search_type, $type . "\${1}" . $end_style . "\${2}", $topic_title );
         $replace = ereg_replace("$type\[","$type&nbsp;",$replace);
         $replace = ereg_replace("\]$end_style","&nbsp;$end_style",$replace);
      }

      //Propositions, surronded by asteriscs *
      if ( $replace == $topic_title )
      {
         $replace = preg_replace( $search_propositions, $propositions . "\${1}" . $end_style . "\${2}", $topic_title );
         $replace = ereg_replace("$propositions\*","$propositions&nbsp;",$replace);
         $replace = ereg_replace("\*$end_style","&nbsp;$end_style",$replace);
      }

      //Important Announces, starting by vertical bar |
      if ( $replace == $topic_title )
      {
         $replace = preg_replace( $search_notifications, $notifications . "\${1}" . $end_style . "\${2}", $topic_title );
         $replace = ereg_replace("$notifications\|","$notifications&nbsp;",$replace);
         $replace = ereg_replace("\|$end_style","&nbsp;$end_style",$replace);
      }

      //News, starting by sharp #
      if ( $replace == $topic_title )
      {
         $replace = preg_replace( $search_news, $news . "\${1}" . $end_style . "\${2}", $topic_title );
         $replace = ereg_replace("$news#","$news&nbsp;",$replace);
         $replace = ereg_replace("#$end_style","&nbsp;$end_style",$replace);
      }

      $topic_title = $replace;
    
merci d'avance pour votre aide :wink:
ErnadoO

Re: Topic Title Highlighter pour phpBB3

Message par ErnadoO »

Il sert à quoi ce mod (histoire queje sache si mon adaptation est correcte :mrgreen: )?
Avatar du membre
sub60
Floodeur universel
Floodeur universel
Messages : 9461
Enregistré le : 19 juin 2006 à 15:14
Localisation : oise

Re: Topic Title Highlighter pour phpBB3

Message par sub60 »

ErnadoO a écrit :Il sert à quoi ce mod (histoire queje sache si mon adaptation est correcte :mrgreen: )?
couleur dans les titre :arrow: http://forum.phpbb.biz/viewtopic.php?p=953862 :wink:

Code : Tout sélectionner

Pour mettre une couleur dans vos titre, vous devez utiliser une balise composer soit de
[votre titre], soit |votre titre|, soit #votre titre#, soit *votre titre* 
en retraite sur le woueb :mrgreen:
ErnadoO

Re: Topic Title Highlighter pour phpBB3

Message par ErnadoO »

Ok, docnc le 1er code tu le places après

Code : Tout sélectionner

if (sizeof($topic_list))
{
Et avant

Code : Tout sélectionner

		// Send vars to template
		$template->assign_block_vars('topicrow', array(
tu rajoutes

Code : Tout sélectionner

		$topic_title = censor_text($row['topic_title']);
		$replace = $topic_title;

		//words surronded by brackets []
		if ( $replace == $topic_title )
		{
			$replace = preg_replace( $search_type, $type . "\${1}" . $end_style . "\${2}", censor_text($row['topic_title']) );
			$replace = ereg_replace("$type\[","$type&nbsp;",$replace);
			$replace = ereg_replace("\]$end_style","&nbsp;$end_style",$replace);
		}

		//Propositions, surronded by asteriscs *
		if ( $replace == $topic_title )
		{
			$replace = preg_replace( $search_propositions, $propositions . "\${1}" . $end_style . "\${2}", $topic_title );
			$replace = ereg_replace("$propositions\*","$propositions&nbsp;",$replace);
			$replace = ereg_replace("\*$end_style","&nbsp;$end_style",$replace);
		}

		//Important Announces, starting by vertical bar |
		if ( $replace == $topic_title )
		{
			$replace = preg_replace( $search_notifications, $notifications . "\${1}" . $end_style . "\${2}", $topic_title );
			$replace = ereg_replace("$notifications\|","$notifications&nbsp;",$replace);
			$replace = ereg_replace("\|$end_style","&nbsp;$end_style",$replace);
		}

		//News, starting by sharp #
		if ( $replace == $topic_title )
		{
			$replace = preg_replace( $search_news, $news . "\${1}" . $end_style . "\${2}", $topic_title );
			$replace = ereg_replace("$news#","$news&nbsp;",$replace);
			$replace = ereg_replace("#$end_style","&nbsp;$end_style",$replace);
		}

		$row['topic_title'] = $replace;
Avatar du membre
elazard
Apprenti-posteur
Apprenti-posteur
Messages : 195
Enregistré le : 19 mars 2006 à 13:52
Contact :

Re: Topic Title Highlighter pour phpBB3

Message par elazard »

beuh ca se fait pas en version non modifiée ca? j'ai cru voir un topic avec un titre pas assez explicite où un modo avait mis un truc du genre titre pas assez clair en rouge.

bonne soirée
Elazard
site en construction
ErnadoO

Re: Topic Title Highlighter pour phpBB3

Message par ErnadoO »

Non ça ne se fait pas d'origine

Bonne soirée
Auteur
pal
Apprenti-posteur
Apprenti-posteur
Messages : 114
Enregistré le : 09 déc. 2007 à 09:50
Contact :

Re: Topic Title Highlighter pour phpBB3

Message par pal »

salut

merci ernadoo d'avoir adapté ce mod, ça marche nikel :wink:

juste une petite question : pourquoi avoir mis censor_text($row['topic_title']) );

++

edit : j'ai modifié le mod de façon que seuls les titres [annonce] soient modifiés

Code : Tout sélectionner

//words surronded by brackets [] 
	$type = "<span style=\"background-color:white;color:green;border:green 1px solid\">"; 
	$search_type = "#(\[.*?annonce.*?\])(.*)#"; 
	$end_style = "</span>"; 
serait possible d'ajouter un autre titre genre important ? j'ai pensé à || à coté de search type mais ça n'a pas marché

Code : Tout sélectionner

//words surronded by brackets [] 
	$type = "<span style=\"background-color:white;color:green;border:green 1px solid\">"; 
	$search_type = "#(\[.*?annonce.*?\])(.*)#" || "#(\[.*?important.*?\])(.*)#" ; 
	$end_style = "</span>"; 
merci d'avance
ErnadoO

Re: Topic Title Highlighter pour phpBB3

Message par ErnadoO »

pal a écrit :juste une petite question : pourquoi avoir mis censor_text($row['topic_title']) );

Pour que le regex travaille sur un titre de topic dont les mots que tu as décidé de censurer soit remplacés
Windfury
Posteur néophyte
Posteur néophyte
Messages : 18
Enregistré le : 07 mai 2005 à 16:39

Re: Topic Title Highlighter pour phpBB3

Message par Windfury »

dans quelle fichier s'effectue la modif ?
Merci davance
Avatar du membre
ABDev
Programmationateur
Programmationateur
Messages : 14676
Enregistré le : 12 mai 2005 à 23:54

Re: Topic Title Highlighter pour phpBB3

Message par ABDev »

Dans viewforum.php, c'est précisé dans le premier message d'ailleurs.
++
Pour se payer le luxe d'être feignant, il faut sans cesse faire travailler ses méninges ! (Korben)

On clique sur le bouton Répondre plutôt que le bouton Citer ...
Un problème avec une extension ? Pas de lien vers celle-ci ? Sujet ignoré !
Windfury
Posteur néophyte
Posteur néophyte
Messages : 18
Enregistré le : 07 mai 2005 à 16:39

Re: Topic Title Highlighter pour phpBB3

Message par Windfury »

ok merci, mais cette modif n'agit que sur le titre des topic non ?
Avatar du membre
ABDev
Programmationateur
Programmationateur
Messages : 14676
Enregistré le : 12 mai 2005 à 23:54

Re: Topic Title Highlighter pour phpBB3

Message par ABDev »

Oui.
Pour se payer le luxe d'être feignant, il faut sans cesse faire travailler ses méninges ! (Korben)

On clique sur le bouton Répondre plutôt que le bouton Citer ...
Un problème avec une extension ? Pas de lien vers celle-ci ? Sujet ignoré !
Auteur
pal
Apprenti-posteur
Apprenti-posteur
Messages : 114
Enregistré le : 09 déc. 2007 à 09:50
Contact :

Re: Topic Title Highlighter pour phpBB3

Message par pal »

quelqu'un aurait la gentillesse de completer le fichier install du mod :oops:

Code : Tout sélectionner

 
# 
#-----[ OPEN ]------------------------------------------ 
# 

search.php 

# 
#-----[ FIND ]------------------------------------------ 
# 
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array(); 

# 
#-----[ AFTER, ADD ]------------------------------------ 
#  
        //words surronded by brackets [] 
        $type = "<span style=\"background-color:white;color:green;border:green 1px solid\">"; 
        $search_type = "#(\[.*?\])(.*)#"; 
        $end_style = "</span>"; 

        //Propositions, surronded by asteriscs * 
        $propositions = "<span style=\"background-color:white;color:red;border:red 1px solid\">"; 
        $search_propositions = "#(\*.*?\*)(.*)#"; 

        //Important Announces, starting by vertical bar | 
        $notifications = "<span style=\"background-color:white;color:blue;border:blue 1px solid\">"; 
        $search_notifications = "#(\|.*?\|)#"; 

        //News, starting by sharp # 
        $news = "<span style=\"background-color:darkblue;color:white;border:white 1px solid\">"; 
        $search_news = "#(\#.*?\#)(.*)#"; 

        $end_style = "</span>";
# 
#-----[ FIND ]------------------------------------------ 
#
$topic_author = ( $searchset[$i]['user_id'] != ANONYMOUS ) ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $searchset[$i]['user_id']) . '">' : '';
# 
#-----[ BEFORE, ADD ]----------------------------------- 
#
                $replace = $topic_title; 

                //words surronded by brackets [] 
                if ( $replace == $topic_title ) 
                { 
                    $replace = preg_replace( $search_type, $type . "\${1}" . $end_style . "\${2}", $topic_title ); 
                    $replace = ereg_replace("$type\[","$type&nbsp;",$replace); 
                    $replace = ereg_replace("\]$end_style","&nbsp;$end_style",$replace); 
                } 

                //Propositions, surronded by asteriscs * 
                if ( $replace == $topic_title ) 
                { 
                    $replace = preg_replace( $search_propositions, $propositions . "\${1}" . $end_style . "\${2}", $topic_title ); 
                    $replace = ereg_replace("$propositions\*","$propositions&nbsp;",$replace); 
                    $replace = ereg_replace("\*$end_style","&nbsp;$end_style",$replace); 
                } 

                //Important Announces, starting by vertical bar | 
                if ( $replace == $topic_title ) 
                { 
                    $replace = preg_replace( $search_notifications, $notifications . "\${1}" . $end_style . "\${2}", $topic_title ); 
                    $replace = ereg_replace("$notifications\|","$notifications&nbsp;",$replace); 
                    $replace = ereg_replace("\|$end_style","&nbsp;$end_style",$replace); 
                }
 
                //News, starting by sharp # 
                if ( $replace == $topic_title ) 
                { 
                    $replace = preg_replace( $search_news, $news . "\${1}" . $end_style . "\${2}", $topic_title ); 
                    $replace = ereg_replace("$news#","$news&nbsp;",$replace); 
                    $replace = ereg_replace("#$end_style","&nbsp;$end_style",$replace); 
                }
 
$topic_title = $replace;
# 
#-----[ OPEN ]------------------------------------------ 
# 

viewtopic.php 


# 
#-----[ FIND ]------------------------------------------ 
#
// 
// Censor topic title 
// 
if ( count($orig_word) ) 
{ 
    $topic_title = preg_replace($orig_word, $replacement_word, $topic_title); 
}
# 
#-----[ AFTER, ADD ]------------------------------------ 
#
//words surronded by brackets [] 
$type = "<span style=\"background-color:white;color:green;border:green 1px solid\">"; 
$search_type = "#(\[.*?\])(.*)#"; 
$end_style = "</span>"; 

//Propositions, surronded by asteriscs * 
$propositions = "<span style=\"background-color:white;color:red;border:red 1px solid\">"; 
$search_propositions = "#(\*.*?\*)(.*)#"; 

//Important Announces, starting by vertical bar | 
$notifications = "<span style=\"background-color:white;color:blue;border:blue 1px solid\">"; 
$search_notifications = "#(\|.*?\|)#"; 

//News, starting by sharp # 
$news = "<span style=\"background-color:darkblue;color:white;border:white 1px solid\">"; 
$search_news = "#(\#.*?\#)(.*)#"; 

$end_style = "</span>"; 

$replace = $topic_title; 

//words surronded by brackets [] 
if ( $replace == $topic_title ) 
{ 
    $replace = preg_replace( $search_type, $type . "\${1}" . $end_style . "\${2}", $topic_title ); 
    $replace = ereg_replace("$type\[","$type&nbsp;",$replace); 
    $replace = ereg_replace("\]$end_style","&nbsp;$end_style",$replace);
} 

//Propositions, surronded by asteriscs * 
if ( $replace == $topic_title ) 
{ 
    $replace = preg_replace( $search_propositions, $propositions . "\${1}" . $end_style . "\${2}", $topic_title ); 
    $replace = ereg_replace("$propositions\*","$propositions&nbsp;",$replace); 
    $replace = ereg_replace("\*$end_style","&nbsp;$end_style",$replace); 
} 

//Important Announces, starting by vertical bar | 
if ( $replace == $topic_title ) 
{ 
    $replace = preg_replace( $search_notifications, $notifications . "\${1}" . $end_style . "\${2}", $topic_title ); 
    $replace = ereg_replace("$notifications\|","$notifications&nbsp;",$replace); 
    $replace = ereg_replace("\|$end_style","&nbsp;$end_style",$replace); 
} 

//News, starting by sharp # 
if ( $replace == $topic_title ) 
{ 
    $replace = preg_replace( $search_news, $news . "\${1}" . $end_style . "\${2}", $topic_title ); 
    $replace = ereg_replace("$news#","$news&nbsp;",$replace); 
    $replace = ereg_replace("#$end_style","&nbsp;$end_style",$replace); 
}
 
$topic_title = $replace;
# 
#-----[ FIND ]------------------------------------------ 
#
$page_title = $lang['View_topic'] .' - ' . $topic_title;
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
$page_title = $lang['View_topic'] .' - ' . $topic_title_without_tth; //modified by Topic Title Highlighter mod 
# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
 
par avance merci

++
Dakin Quelia
Floodeur universel
Floodeur universel
Messages : 20993
Enregistré le : 31 oct. 2006 à 18:33
Localisation : Belgique
Contact :

Re: Topic Title Highlighter pour phpBB3

Message par Dakin Quelia »

Re,

Désolé, de remonter le sujet mais je pense que c'est utile.

Pour que les titres de sujets soient en couleurs dans les fora et dans les sujets:

Ouvrez viewforum.php.

Cherchez:

Code : Tout sélectionner

 // Send vars to template
      $template->assign_block_vars('topicrow', array(
Avant, ajoutez:

Code : Tout sélectionner

      $topic_title = censor_text($row['topic_title']);
          $replace = $topic_title;

          //words surronded by brackets []
          if ( $replace == $topic_title )
          {
             $replace = preg_replace( $search_type, $type . "\${1}" . $end_style . "\${2}", censor_text($row['topic_title']) );
             $replace = ereg_replace("$type\[","$type&nbsp;",$replace);
             $replace = ereg_replace("\]$end_style","&nbsp;$end_style",$replace);
          }

          //Propositions, surronded by asteriscs *
          if ( $replace == $topic_title )
          {
             $replace = preg_replace( $search_propositions, $propositions . "\${1}" . $end_style . "\${2}", $topic_title );
             $replace = ereg_replace("$propositions\*","$propositions&nbsp;",$replace);
             $replace = ereg_replace("\*$end_style","&nbsp;$end_style",$replace);
          }

          //Important Announces, starting by vertical bar |
          if ( $replace == $topic_title )
          {
             $replace = preg_replace( $search_notifications, $notifications . "\${1}" . $end_style . "\${2}", $topic_title );
             $replace = ereg_replace("$notifications\|","$notifications&nbsp;",$replace);
             $replace = ereg_replace("\|$end_style","&nbsp;$end_style",$replace);
          }

          //News, starting by sharp #
          if ( $replace == $topic_title )
          {
             $replace = preg_replace( $search_news, $news . "\${1}" . $end_style . "\${2}", $topic_title );
             $replace = ereg_replace("$news#","$news&nbsp;",$replace);
             $replace = ereg_replace("#$end_style","&nbsp;$end_style",$replace);
          }

          $row['topic_title'] = $replace;
Puis, cherchez:

Code : Tout sélectionner

if (sizeof($topic_list))
{
Après, ajoutez:

Code : Tout sélectionner

//words surronded by brackets [] 
	$type = "<span style=\"background-color:white;color:green;border:green 1px solid\">"; 
	$search_type = "#(\[.*?\])(.*)#"; 
	$end_style = "</span>"; 

	//Propositions, surronded by asteriscs * 
	$propositions = "<span style=\"background-color:white;color:red;border:red 1px solid\">"; 
	$search_propositions = "#(\*.*?\*)(.*)#"; 

	//Important Announces, starting by vertical bar | 
	$notifications = "<span style=\"background-color:white;color:blue;border:blue 1px solid\">"; 
	$search_notifications = "#(\|.*?\|)#"; 

	//News, starting by sharp # 
	$news = "<span style=\"background-color:darkblue;color:white;border:white 1px solid\">"; 
	$search_news = "#(\#.*?\#)(.*)#"; 

	$end_style = "</span>";

Première partie faite par ErnadoO.


Ensuite, ouvrez viewtopic.php.

Cherchez:

Code : Tout sélectionner

$topic_data['topic_title'] = censor_text($topic_data['topic_title']);
Après, ajoutez:

Code : Tout sélectionner

//words surronded by brackets [] 
$type = "<span style=\"background-color:white;color:green;border:green 1px solid\">"; 
$search_type = "#(\[.*?\])(.*)#"; 
$end_style = "</span>"; 

//Propositions, surronded by asteriscs * 
$propositions = "<span style=\"background-color:white;color:red;border:red 1px solid\">"; 
$search_propositions = "#(\*.*?\*)(.*)#"; 

//Important Announces, starting by vertical bar | 
$notifications = "<span style=\"background-color:white;color:blue;border:blue 1px solid\">"; 
$search_notifications = "#(\|.*?\|)#"; 

//News, starting by sharp # 
$news = "<span style=\"background-color:darkblue;color:white;border:white 1px solid\">"; 
$search_news = "#(\#.*?\#)(.*)#"; 

$end_style = "</span>"; 

$replace = $topic_data['topic_title']; 

//words surronded by brackets [] 
if ( $replace == $topic_data['topic_title'] ) 
{ 
    $replace = preg_replace( $search_type, $type . "\${1}" . $end_style . "\${2}", $topic_data['topic_title'] ); 
    $replace = ereg_replace("$type\[","$type&nbsp;",$replace); 
    $replace = ereg_replace("\]$end_style","&nbsp;$end_style",$replace);
} 

//Propositions, surronded by asteriscs * 
if ( $replace == $topic_data['topic_title'] ) 
{ 
    $replace = preg_replace( $search_propositions, $propositions . "\${1}" . $end_style . "\${2}", $topic_data['topic_title'] ); 
    $replace = ereg_replace("$propositions\*","$propositions&nbsp;",$replace); 
    $replace = ereg_replace("\*$end_style","&nbsp;$end_style",$replace); 
} 

//Important Announces, starting by vertical bar | 
if ( $replace == $topic_data['topic_title'] ) 
{ 
    $replace = preg_replace( $search_notifications, $notifications . "\${1}" . $end_style . "\${2}", $topic_data['topic_title'] ); 
    $replace = ereg_replace("$notifications\|","$notifications&nbsp;",$replace); 
    $replace = ereg_replace("\|$end_style","&nbsp;$end_style",$replace); 
} 

//News, starting by sharp # 
if ( $replace == $topic_data['topic_title'] ) 
{ 
    $replace = preg_replace( $search_news, $news . "\${1}" . $end_style . "\${2}", $topic_data['topic_title'] ); 
    $replace = ereg_replace("$news#","$news&nbsp;",$replace); 
    $replace = ereg_replace("#$end_style","&nbsp;$end_style",$replace); 
}
 
$topic_data['topic_title'] = $replace;
J'ai pu tester et cela fonctionne. :)

Cordialement,
Dakin Quelia
Aucun support par mail, MP ou msn.
Mes MODs: ici | Mon blogue: Mon blogue | DeviantArt: cliquez ici
Auteur
pal
Apprenti-posteur
Apprenti-posteur
Messages : 114
Enregistré le : 09 déc. 2007 à 09:50
Contact :

Re: Topic Title Highlighter pour phpBB3

Message par pal »

salut

merci d'avoir completé le module, tres sympa de ta part ^^

si ça te dérange pas j'aurai besoin d'un coup de main pour ajouter "ou" pour les titres, je m'explique :

j'ai modifié le mod de façon que seuls les titres [annonce] soient modifiés

Code : Tout sélectionner

    //words surronded by brackets []
       $type = "<span style=\"background-color:white;color:green;border:green 1px solid\">";
       $search_type = "#(\[annonce.*?\])(.*)#";
       $end_style = "</span>"; 

serait possible d'ajouter un autre titre genre important ? j'ai pensé à || à coté de search type mais ça n'a pas marché

Code : Tout sélectionner

    //words surronded by brackets []
       $type = "<span style=\"background-color:white;color:green;border:green 1px solid\">";
       $search_type = "#(\[.*?annonce.*?\])(.*)#" || "#(\[.*?important.*?\])(.*)#" ;
       $end_style = "</span>"; 
merci encore une fois :wink:
Verrouillé

Retourner vers « Aide au développement »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité