MyBB.support, le portail francophone de MyBB

Version complète : Un système de news sur son site lié au forum
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour à tous

J'ai fais une recherche mais je n'ais rien trouvé.
Je voudrais savoir si il est possible de faire une liaison du forum avec le site pour créer un système de news.

Par exemple:
Une catégorie nommée News, à chaque fois qu'un sujet sera créer il y aura le contenu présent sur le sujet sur la page d'accueil du site.

Merci.
PS: excusez moi si ce n'est pas très clair
Le système n'éxiste pas en plugin c'est 100 % sure mais peut-être que un script existe
Hi ,
Je ne suis pas sur , mais peut etre ce plugin : http://mods.mybboard.net/view/site-news-plugin-designed-for-14
Ok je vous remercie
Est ce que vous pouvez m'expliquer comment le faire fonctionner, je comprends pas trop comment il fonctionne
Merci
Je refais un petit up.
Je ne comprends pas comment faire pour qu'il fonctionne

Code PHP :
            <?php

define
("IN_MYBB"1);
define("KILL_GLOBALS"1);
define("NO_ONLINE"1);

// The Directory to the forum you are using this on. 
// You do not need a beggining or trailing slash
$directory_to_forum ""

require 
dirname(__FILE__)."/".$directory_to_forum."/global.php";

$plugins->run_hooks("site_news_plugin_run");

?>
Je dois changer quoi dans ce code, et je dois faire quoi sur le forum ?
Merci de votre coup de main
Salut,
Ben logiquement pas besoin de plugin pour ça... il te suffirait de faire un script avec des requêtes en Select From, en précisant bien les limites de recherche dans le "where" (premier message du sujet, pour les sujets se trouvant dans tel ou tel forum (donc dans telle catégorie)), et en faisant des modifications pour que les balises s'affichent sous forme de code php...
Si tu sais pas faire ça je peux te faire ça demain quand j'aurai le temps, ça va beaucoup plus vite et c'est beaucoup plus simple qu'un plugin (pas besoin de modifier le forum)...

@+
Bah si ça peut me simplifier la tache, je veux bien merci.
Mes compétences en PHP sont médiocres et s'arrêtent aux bases
Ben je te fais ça demain, j'en profiterai pour le refaire pour moi en même temps ^^
Parfait merci à toi
Désolé pour le retard Tongue
Quelques petits soucis at home, je commence ^^

EDIT:
Voilà, je l'ai fait vite fait donc certains noms de variables sont très semblables (date, daate et daaate xD) mais ça marche Wink
Je le referai surement plus tard, en mieux:
C'est corrigé:
Code :
<?php

$hotedb = "localhost"; // Host
$utilisateurdb = "forum"; // utilisateur mysql
$passdb = "s9rwt6AZdTEGWcAas9rwt6AZdTEGWcAa"; // pass de l'utilisateur
$db = "forum"; //nom de la db
$prefixe = "mybb_"; //Prefixe des tables dans mybb

mysql_connect($hotedb, $utilisateurdb, $passdb, $db);

$topics = "SELECT * FROM `".$db."`.`".$prefixe."threads` WHERE `fid` = '3' ORDER BY `dateline` DESC;";
$rtopics = mysql_query($topics) or die('Erreur: '.$topics.'<br />'.mysql_error());


    if (mysql_num_rows($rtopics) == 0) //Vérifie si des News existent. Si oui, on les affiche; sinon, on affiche un message
        {
        echo("Aucune News n'a été rédigée pour le moment.");
        mysql_free_result($rtopics);
        }
    else
        {
        while ($data = mysql_fetch_array($rtopics)) {
        
            $idtopic = $data['tid'];
            $posts = "SELECT * FROM `".$db."`.`".$prefixe."posts` WHERE `tid` = '".$idtopic."' ORDER BY `dateline` ASC LIMIT 1;";
            $rposts = mysql_query($posts) or die('Erreur: '.$posts.'<br />'.mysql_error());
            $affichernews = mysql_fetch_array($rposts);
            
            $titre = $data['subject'];
            $auteur = $affichernews['username'];
            $date = $affichernews['dateline'];
            $message = $affichernews['message'];
            $dateconvertie = date("r",$date);
            $datanglais = array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Dec", "Mon,", "Tue,", "Wed,", "Thu,", "Fri,", "Sat,", "Sun,");
            $datfrancais   = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche");
            $dateok = str_replace($datanglais, $datfrancais, $dateconvertie);
            echo("<table rules=\"rows\" frame=\"box\" width=\"500\"><tr><td>Sujet: <u>".$titre."</u></td></tr><tr><td width=\"200\" align=left>Rédigée par <font color=\"green\">".$auteur."</font></td><td width=\"300\" align=right>Le ".$dateok."GMT</td></tr></table><table rules=\"rows\" frame=\"box\" width=\"500\"><tr><td>");
            
            $bbcode = array("\n", "[color=", "]", "[/color", "[b", "[/b", "[u", "[/u");
            $codehtml   = array("<br>", "<font color=", ">", "</font", "<b", "</b", "<u", "</u");
            
            echo $newphrase = str_replace($bbcode, $codehtml, $message);
            echo("<br><a href=\"./forum/showthread.php?tid=".$idtopic."\">Voir les commentaires sur le forum.</a></td></tr></table><br>");
            mysql_free_result($rposts);
            mysql_feee_result($rtopics);
            }
        mysql_free_result($rtopics);
        }
    mysql_close();    
?>

Ici, il faut éditer la ligne 11:
Code :
$topics = "SELECT * FROM `".$db."`.`".$prefixe."threads` WHERE `fid` = '3' ORDER BY `dateline` DESC;";
En changeant `fid` = '3' par `fid` = 'id du forum'
Si les news sont dans plusieurs forums différents, il suffit de mettre:
Code :
`fid` = 'id du forum 1' OR `fid` = 'id du forum 2' .... etc

Il est aussi possible de changer la taille du tableau en éditant les balises table, td et tr... je l'ai adapté à mon site Wink

EDIT2: Il faudra surement éditer la ligne 43:
Code :
echo("<br><a href=\"./forum/showthread.php?tid=".$idtopic."\">Voir les commentaires sur le forum.</a></td></tr></table><br>");
en mettant le chemin correct vers showthread.php par rapport à la page où ce code sera inséré.
Pas grave pour le retard, merci à toi
Mais j'ai quelques problèmes, si tu pouvais venir voir sur mon site http://ghwt-fr.net/
ça c'est dû à un problème de charset.
Modifie le code en remplaçant :
é => &eacute;
è => &egrave;
à => &agrave;
ê => &ecirc;

Si jamais il y a le même problème une fois que des news sont rédigées, il faudra corriger.
Le mieux serait de carrément modifier le code pour que ça le fasse tout seul dans les données de la base de données (pas modifier, mais convertir en lecture), je vais voir =)

EDIT: Après vérification, tout le site a ce problème.
Ce n'est pas seulement mon code, il suffit de regarder le titre de la page par exemple...


Le serveur t'appartient ? Si oui il faudrait modifier le charset au niveau du serveur httpd.

De même, as-tu modifié "fid" à 8 ? pour afficher les news de ton forum ? (je suis allé sur le forum, le fid de "news" est 8)
Oui je l'ais fait, j'ai mis l'id à 8.
Pour ce qi est du serveur, ce n'est pas le mien, je suis hébergé chez OVH, comment je peux faire pour que la conversion se fasse toute seule ?

Et pourquoi il n'y a rien qui s'affiche alors qu'il y a une news sur le fofo ?
C'est justement ce qui m'étonne... tu as bien rempli en haut ? hote, nom d'utilisateur, base, etc ?
Sinon... pour le charset, logiquement il y a moyen de régler ça directement sur la page de configuration de OVH
Oui j'ai bien tout rempli, y a pas de problèmes
Par contre je ne vois pas trop ce qu'il faut éditer à la ligne 43
 Utilitaire de traduction fourni par Regentronique