PunBalise est une modification de PunBB vous permettant de gérer des couleurs dans les titres de vos posts avec un système de balise.
Balise coloré
Ajout/suppression de balise très simple comme si on utilisé la fonction "épinglé"
Selecteur de couleur dans le plugin
## ## ## Titre mod : PunBalise ## ## Version mod : 2.7 ## Pour PunBB : 1.2.x ## Date : 13/09/2007 ## ## Auteur : Thorze a.k.a. Tcheval (www.tcheval.net) ## ## Description : PunBalise est une mod vous permettant de gérer des couleurs dans les titres de vos posts avec un système de balise. ## Tout se passe dans le plugin Balise de l'administration de punBB. Vous pourrez de plus ajouter ou supprimer très ## simplement les balises dans vos titres en un seul clique ! ## ## Fichiers affectés : viewforum.php ## moderate.php ## footer.php ## viewtopic.php ## search.php ## ## Affecte la BD : oui ## ## ## DISCLAIMER : Veuillez noter que ces mods ne sont pas ## officiellement supportés par PunBB. L'installation ## de ces modifications est à vos risques et périls. ## N'oubliez pas de sauvegarder la base de données et ## les fichiers affectés avant de procéder à ## l'installation de cette modification. ## # #---------[ 1. UPLOADER LES FICHIERS ]------------------------------------- # balises.php à la racine de vos forums plugins/AP_Balises.php dans /plugins/ plugins/punbalises/color_select.css dans /plugins/punbalises/ plugins/punbalises/color_select.js dans /plugins/punbalises/ plugins/punbalises/color_select_icon.jpg dans /plugins/punbalises/ plugins/punbalises/colorpicker.php dans /plugins/punbalises/ plugins/punbalises/hue_blend.png dans /plugins/punbalises/ plugins/punbalises/index.html dans /plugins/punbalises/ plugins/punbalises/sv_blend.png dans /plugins/punbalises/ lang/French/balises.php dans /lang/French/ # #---------[ 2. LANCEZ LE PLUGIN BALISES DEPUIS L'ADMINISTRATION ]-------------------- # Lancez le plugin depuis l'adminstration de punBB : Administration-->Plugins-->Balises Laissez vous guider en cliquant sur installer. # #---------[ 3. OUVRIR ]------------------------------------------------------- # viewforum.php # #---------[ 4. TROUVER ]----------------------------------------------------- # // Should we display the dot or not? :) if (!$pun_user['is_guest'] && $pun_config['o_show_dot'] == '1') { if ($cur_topic['has_posted'] == $pun_user['id']) $subject = '<strong>·</strong> '.$subject; else $subject = ' '.$subject; } # #---------[ 5. AJOUTER AVANT ]----------------------------------------------------- # // Mod PunBalise 2.5 par Thorze (http://www.tcheval.net) $liste_balise = array(); $result_list = $db->query('SELECT id,nom,baltype FROM '.$db->prefix.'balises ORDER BY position ASC') or error('Impossible de retrouver la liste des balises', __FILE__, __LINE__, $db->error()); $liste_balise_modo = array(); while ($pun_liste_balise = $db->fetch_assoc($result_list)) { $result20 = $db->query('SELECT bal'.$pun_liste_balise['id'].' FROM '.$db->prefix.'balises_modo WHERE npost=\''.$cur_topic['id'].'\' ORDER BY npost ASC') or error('Impossible de retrouver la liste des posts qui contiennent des balises', __FILE__, __LINE__, $db->error()); $bal = $db->result($result20); if ($bal == '1') { if ($pun_liste_balise['baltype']=="0") { $subject = '['.$pun_liste_balise['nom'].'] '.$subject; } if ($pun_liste_balise['baltype']=="1") { $subject = '*'.$pun_liste_balise['nom'].'* '.$subject; } if ($pun_liste_balise['baltype']=="2") { $subject = '#'.$pun_liste_balise['nom'].'# '.$subject; } } } // Fin mod PunBalise 2.5 par Thorze (http://www.tcheval.net) # #---------[ 6. TROUVER ]----------------------------------------------------- # $num_pages_topic = ceil(($cur_topic['num_replies'] + 1) / $pun_user['disp_posts']); # #---------[ 7. AJOUTER APRES ]----------------------------------------------------- # include "balises.php"; # #---------[ 8. OUVRIR ]------------------------------------------------------- # moderate.php # #---------[ 9. TROUVER ]----------------------------------------------------- # // Load the misc.php language file require PUN_ROOT.'lang/'.$pun_user['language'].'/misc.php'; # #---------[ 10. AJOUTER APRES ]----------------------------------------------------- # // Mod PunBalise 2.5 par Thorze (http://www.tcheval.net) require PUN_ROOT.'lang/'.$pun_user['language'].'/balises.php'; // Fin mod PunBalise 2.5 par Thorze (http://www.tcheval.net) # #---------[ 11. TROUVER ]----------------------------------------------------- # // Unstick a topic else if (isset($_GET['unstick'])) { confirm_referrer('viewtopic.php'); $unstick = intval($_GET['unstick']); if ($unstick < 1) message($lang_common['Bad request']); $db->query('UPDATE '.$db->prefix.'topics SET sticky=\'0\' WHERE id='.$unstick.' AND forum_id='.$fid) or error('Unable to unstick topic', __FILE__, __LINE__, $db->error()); redirect('viewtopic.php?id='.$unstick, $lang_misc['Unstick topic redirect']); } # #---------[ 12. AJOUTER APRES ]----------------------------------------------------- # // Mod PunBalise 2.5 par Thorze (http://www.tcheval.net) // ajout balise dans le titre else if (isset($_GET['balise'])) { confirm_referrer('viewtopic.php'); $balise = ($_GET['balise']); $npost = ($_GET['npost']); // on stocke le resultat d'une requete pour savoir si on créer ou non la ligne correspondant à notre numéro de post $testtablemoerate = $db->query('SELECT npost FROM '.$db->prefix.'balises_modo WHERE npost=\''.$npost.'\'') or error('Impossible de retrouver la liste des posts qui contiennent des balises', __FILE__, __LINE__, $db->error()); $tablemoderate = $db->result($testtablemoerate); // Si la ligne n'héxiste pas on la créé en plus if ($tablemoderate == 0) { $db->query('INSERT INTO '.$db->prefix.'balises_modo (npost) VALUES(\''.$npost.'\')') or error('Impossible d\'ajouter la balise dans le titre', __FILE__, __LINE__, $db->error()); $db->query('UPDATE '.$db->prefix.'balises_modo SET bal'.$balise.'=\'1\' WHERE npost='.$npost) or error('Impossible d\'ajouter la balise dans le titre', __FILE__, __LINE__, $db->error()); redirect('viewtopic.php?id='.$npost, $lang_balises['add_bal_bdd']); } else { $db->query('UPDATE '.$db->prefix.'balises_modo SET bal'.$balise.'=\'1\' WHERE npost='.$npost) or error('Impossible d\'ajouter la balise dans le titre', __FILE__, __LINE__, $db->error()); redirect('viewtopic.php?id='.$npost, $lang_balises['add_bal_bdd']); } } // suppression de balise dans le titre else if (isset($_GET['nobalise'])) { confirm_referrer('viewtopic.php'); $nobalise = ($_GET['nobalise']); $npost = ($_GET['npost']); $db->query('UPDATE '.$db->prefix.'balises_modo SET bal'.$nobalise.'=\'0\' WHERE npost='.$npost) or error('Impossible de supprimer la balise du titre', __FILE__, __LINE__, $db->error()); redirect('viewtopic.php?id='.$npost, $lang_balises['del_bal_bdd']); } // Fin mod PunBalise 2.5 par Thorze (http://www.tcheval.net) # #---------[ 13. TROUVER ]----------------------------------------------------- # if ($cur_topic['sticky'] == '1') { $subject = '<span class="stickytext">'.$lang_forum['Sticky'].': </span>'.$subject; $item_status .= ' isticky'; $icon_text .= ' '.$lang_forum['Sticky']; } # #---------[ 14. AJOUTER APRES ]----------------------------------------------------- # // Mod PunBalise 2.5 par Thorze (http://www.tcheval.net) $liste_balise = array(); $result_list = $db->query('SELECT id,nom FROM '.$db->prefix.'balises ORDER BY position ASC') or error('Impossible de retrouver la liste des balises', __FILE__, __LINE__, $db->error()); $liste_balise_modo = array(); while ($pun_liste_balise = $db->fetch_assoc($result_list)) { $result20 = $db->query('SELECT bal'.$pun_liste_balise['id'].' FROM '.$db->prefix.'balises_modo WHERE npost=\''.$cur_topic['id'].'\' ORDER BY npost ASC') or error('Impossible de retrouver la liste des posts qui contiennent des balises', __FILE__, __LINE__, $db->error()); $bal = $db->result($result20); if ($bal == '1') { $subject = '['.$pun_liste_balise['nom'].'] '.$subject; } } // Fin mod PunBalise 2.5 par Thorze (http://www.tcheval.net) # #---------[ 15. OUVRIR ]------------------------------------------------------- # footer.php # #---------[ 16. TROUVER ]----------------------------------------------------- # if ($cur_topic['sticky'] == '1') echo "\t\t\t".'<dd><a href="moderate.php?fid='.$forum_id.'&unstick='.$id.'">'.$lang_common['Unstick topic'].'</a></dd></dl>'."\n"; else echo "\t\t\t".'<dd><a href="moderate.php?fid='.$forum_id.'&stick='.$id.'">'.$lang_common['Stick topic'].'</a></dd></dl>'."\n"; # #---------[ 17. AJOUTER APRES ]----------------------------------------------------- # // Mod PunBalise 2.5 par Thorze (http://www.tcheval.net) $liste_balise = array(); $result_list = $db->query('SELECT id,nom,baltype,affich FROM '.$db->prefix.'balises ORDER BY position ASC') or error('Impossible de retrouver la liste des balises', __FILE__, __LINE__, $db->error()); $liste_balise_modo = array(); echo "\t\t\t".'<dl>'; while ($pun_liste_balise = $db->fetch_assoc($result_list)) { // Si la balise est affiché pour les modo on execute ceci (Mod PunBalise 2.6) if ($pun_liste_balise['affich']=="1") { if ($pun_liste_balise['baltype']=="0") { $type = "[".$pun_liste_balise['nom']."]"; } if ($pun_liste_balise['baltype']=="1") { $type = "*".$pun_liste_balise['nom']."*"; } if ($pun_liste_balise['baltype']=="2") { $type = "#".$pun_liste_balise['nom']."#"; } $result = $db->query('SELECT bal'.$pun_liste_balise['id'].' FROM '.$db->prefix.'balises_modo WHERE npost=\''.$id.'\' ORDER BY npost ASC') or error('Impossible de retrouver la liste des posts qui contiennent des balises', __FILE__, __LINE__, $db->error()); $bal = $db->result($result); if ($bal == '1') { echo "\t\t\t".'<dd><a href="moderate.php?fid='.$forum_id.'&nobalise='.$pun_liste_balise['id'].'&npost='.$id.'">Supprimer '.$type.'</a></dd>'."\n"; } else { echo "\t\t\t".'<dd><a href="moderate.php?fid='.$forum_id.'&balise='.$pun_liste_balise['id'].'&npost='.$id.'">Ajouter '.$type.'</a></dd>'."\n"; } } } echo "\t\t\t".'</dl>'; // Fin mod PunBalise 2.5 par Thorze (http://www.tcheval.net) # #---------[ 18. OUVRIR ]------------------------------------------------------- # viewtopic.php # #---------[ 19. TROUVER ]----------------------------------------------------- # // Determine the post offset (based on $_GET['p']) $num_pages = ceil(($cur_topic['num_replies'] + 1) / $pun_user['disp_posts']); $p = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $num_pages) ? 1 : $_GET['p']; $start_from = $pun_user['disp_posts'] * ($p - 1); # #---------[ 20. AJOUTER APRES ]----------------------------------------------------- # // Mod PunBalise 2.5 par Thorze (http://www.tcheval.net) $liste_balise = array(); $result_list = $db->query('SELECT id,nom,baltype FROM '.$db->prefix.'balises ORDER BY position ASC') or error('Impossible de retrouver la liste des balises', __FILE__, __LINE__, $db->error()); $liste_balise_modo = array(); while ($pun_liste_balise = $db->fetch_assoc($result_list)) { $result20 = $db->query('SELECT bal'.$pun_liste_balise['id'].' FROM '.$db->prefix.'balises_modo WHERE npost=\''.$id.'\' ORDER BY npost ASC') or error('Impossible de retrouver la liste des posts qui contiennent des balises', __FILE__, __LINE__, $db->error()); $bal = $db->result($result20); if ($bal == '1') { if ($pun_liste_balise['baltype']=="0") { $cur_topic['subject'] = '['.$pun_liste_balise['nom'].'] '.$cur_topic['subject']; } if ($pun_liste_balise['baltype']=="1") { $cur_topic['subject'] = '*'.$pun_liste_balise['nom'].'* '.$cur_topic['subject']; } if ($pun_liste_balise['baltype']=="2") { $cur_topic['subject'] = '#'.$pun_liste_balise['nom'].'# '.$cur_topic['subject']; } } } // Fin mod PunBalise 2.5 par Thorze (http://www.tcheval.net) # #---------[ 21. OUVRIR ]------------------------------------------------------- # search.php # #---------[ 22. TROUVER ]----------------------------------------------------- # if (!$pun_user['is_guest'] && $search_set[$i]['last_post'] > $pun_user['last_visit']) { $icon_text .= ' '.$lang_common['New icon']; $item_status .= ' inew'; $icon_type = 'icon inew'; $subject = '<strong>'.$subject.'</strong>'; # #---------[ 23. AJOUTER APRES ]----------------------------------------------------- # // Mod PunBalise 2.6 par Thorze (http://www.tcheval.net) $liste_balise = array(); $result_list = $db->query('SELECT id,nom,baltype FROM '.$db->prefix.'balises ORDER BY position ASC') or error('Impossible de retrouver la liste des balises', __FILE__, __LINE__, $db->error()); $liste_balise_modo = array(); while ($pun_liste_balise = $db->fetch_assoc($result_list)) { $result20 = $db->query('SELECT bal'.$pun_liste_balise['id'].' FROM '.$db->prefix.'balises_modo WHERE npost=\''.$search_set[$i]['tid'].'\' ORDER BY npost ASC') or error('Impossible de retrouver la liste des posts qui contiennent des balises', __FILE__, __LINE__, $db->error()); $bal = $db->result($result20); if ($bal == '1') { if ($pun_liste_balise['baltype']=="0") { $subject = '['.$pun_liste_balise['nom'].'] '.$subject; } if ($pun_liste_balise['baltype']=="1") { $subject = '*'.$pun_liste_balise['nom'].'* '.$subject; } if ($pun_liste_balise['baltype']=="2") { $subject = '#'.$pun_liste_balise['nom'].'# '.$subject; } } } // Fin mod PunBalise 2.6 par Thorze (http://www.tcheval.net) # #---------[ 24. TROUVER ]----------------------------------------------------- # // Should we show the "New posts" and/or the multipage links? if (!empty($subject_new_posts) || !empty($subject_multipage)) { $subject .= ' '.(!empty($subject_new_posts) ? $subject_new_posts : ''); $subject .= !empty($subject_multipage) ? ' '.$subject_multipage : ''; } # #---------[ 25. AJOUTER APRES ]----------------------------------------------------- # // Mod PunBalise 2.6 par Thorze (http://www.tcheval.net) $liste_balise = array(); $result_list = $db->query('SELECT id,nom,baltype FROM '.$db->prefix.'balises ORDER BY position ASC') or error('Impossible de retrouver la liste des balises', __FILE__, __LINE__, $db->error()); $liste_balise_modo = array(); while ($pun_liste_balise = $db->fetch_assoc($result_list)) { $result20 = $db->query('SELECT bal'.$pun_liste_balise['id'].' FROM '.$db->prefix.'balises_modo WHERE npost=\''.$search_set[$i]['last_post_id'].'\' ORDER BY npost ASC') or error('Impossible de retrouver la liste des posts qui contiennent des balises', __FILE__, __LINE__, $db->error()); $bal = $db->result($result20); if ($bal == '1') { if ($pun_liste_balise['baltype']=="0") { $subject = '['.$pun_liste_balise['nom'].'] '.$subject; } if ($pun_liste_balise['baltype']=="1") { $subject = '*'.$pun_liste_balise['nom'].'* '.$subject; } if ($pun_liste_balise['baltype']=="2") { $subject = '#'.$pun_liste_balise['nom'].'# '.$subject; } } } include "balises.php"; // Fin mod PunBalise 2.6 par Thorze (http://www.tcheval.net) # #---------[ 26. ENREGSITRER/ENVOYER SUR LE SERVEUR ]---------------------------- # viewforum.php moderate.php footer.php viewtopic.php search.php # #---------[ 27. FIN ]---------------------------------------------- #
Vous pourrez trouver les fichiers nécessaires à l'installation de cette modification ici : http://www.tcheval.net/ressources/modpunbb/punbalisev2.7.rar