Nouveau sujet Répondre Imprimer Syndication RSS 2.0

Affichage des messages sur le portail

d'un forum donné
Brasier
Avatar de Faer Onaur
  • Age : 28 ans
  • Messages : 830
  • Inscrit : 18 Septembre 2005
  Lien vers ce message 26 Octobre 2006, 0:07
Bonsoir ^^

j'ai fouillez le forum de fond en comble et essayer de bricoler à partir du portail de Piranas mais pas réussi :(, et ce que j'ai trouvé ne me convient pas.

J'aimerai afficher le contenu des messages avec l'auteur, date & heure sur mon portail, qui est à la racine de mon ftp et pas le forum.

J'aimerai aussi la possibilité de mettre une limite au nombre de caractère modifiable de même le nombre de news modifiable et de spécifier l'id du forum.

J'aimerai aussi qu'un lien soit généré vers les messages dans le forum...

Merci de m'aider ou de me mâcher grandement le travail pour ce script.


<a href="http://www.nintendo-europe.com/NOE/fr/FR/register/index.jsp?a=Faer Onaur&m=b" target="_blank"> <img src="http://www.nintendo-europe.com/NOE/fr/FR/images/ambassador/banner_1_full.gif" /></a><a href="http://www.nintendo-europe.com/NOE/fr/FR/register/index.jsp?m=l&a=Faer Onaur" target="_blank"> <img src="http://media.nintendo-europe.com/NOE/images/profile/mod_stars_catalogue.jpg" /></a>
 
Brasier
Avatar de Faer Onaur
  • Age : 28 ans
  • Messages : 830
  • Inscrit : 18 Septembre 2005
Message édité 1 fois, dernière édition par Faer Onaur, 26 Octobre 2006, 12:20     Lien vers ce message 26 Octobre 2006, 12:20
Je me suis servi de ce code au départ, mais j'arrive à rien avec j'ai pas assez de connaissance en php :'(
<?php
///
/// PARTIE A CONFIGURER
///
/* Configuration forum */
$URL_FORUM = 'http://www.maitres-cartographes.com/nwn2';
$PATH_FORUM = './nwn2/';

/* Chargement des paramètres de configuration */
define('FORUM' , true);
$racine = $PATH_FORUM;
include($PATH_FORUM . 'demarrage.php');
include($PATH_FORUM . 'includes/class/class_cache_parser.php');
/* Récupération des forum_id à partir du cache */
$pcache = new pcache($PATH_FORUM . 'cache/');
$res = $pcache->query('SELECT forum forum_id WHERE droit_voir `` 1') or die("Erreur requête CACHE");
$data = $pcache->fetch_array($res);
// On libère la mémoire alouée pour ce résultat
$pcache->free_result($result);
/* On formate le resultat contenant la liste des forum_id visible pour l'exploiter dans la clause WHERE de la requete SQL */
$res = '';
for ($i = 0;; $i++)
{
$res .= $data[$i]['forum_id'];
if ($i + 1 < count($data))
$res .= ',';
else
break;
}

/* On récupère les 5 derniers sujets*/
$sql = "SELECT `sujet_nom`, `sujet_id` FROM `".$prefixe_tables."sujets` WHERE `forum_id` IN (".$res.") ORDER BY `sujet_id` DESC LIMIT 0 , 5";
if( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'dernier sujets'), __LINE__, __FILE__, $sql);
}
while($data = $bdd->tableau($result))
echo "<a href='$URL_FORUM/sujet.php?sujet=".$data['sujet_id']."'>".$data['sujet_nom']."</a><br>";
$bdd->free($result);


///
/// Statistiques
///
/* On compte le nombre de message */
$sql = "SELECT count(message_id) AS NB from `".$prefixe_tables."messages`";
if( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'nombre messages'), __LINE__, __FILE__, $sql);
}
$data = $bdd->tableau($result);
$bdd->free($result);
$nb_messages = $data['NB'];

/* On compte le nombre de membre */
$sql = "SELECT count(membre_id) AS NB FROM `".$prefixe_tables."membres` WHERE membre_id <> '0'";

if( ! $result = $bdd->requete($sql))
{
info($langue['er_titre'], sprintf($langue['er_select'], 'nombre membres'), __LINE__, __FILE__, $sql);
}
$data = $bdd->tableau($result);
$bdd->free($result);
$nb_members = $data['NB'];

/* On compte le nombre d'utilisateur connecté */
$sql = "SELECT count(session_sid) AS NB FROM `".$prefixe_tables."sessions` WHERE session_temps > '".(time() - $config['session_temps'])."'";

if( ! $result = $bdd->requete($sql))
{
info($langue['er_titre'], sprintf($langue['er_select'], 'nombre user connect'), __LINE__, __FILE__, $sql);
}
$data = $bdd->tableau($result);
$bdd->free($result);
$nb_user_connect = $data['NB'];

/* On ferme Mysql */
$bdd->fermer_sql();

/* Test d'affichage */
echo 'Il y a '.$nb_members.' membres d\'enregistr&eacute;s qui ont post&eacute; '.$nb_messages.' messages<br>';
echo 'Actuellement, '.$nb_user_connect.' membres sont pr&eacute;sent(s)';

?>


J'ai récupérer ce code dans le forum, je sais plus ou et je sais plus qui l'avait pondu... en tout cas j'ai fouillez tout le forun fsb 1.0x ^^


<a href="http://www.nintendo-europe.com/NOE/fr/FR/register/index.jsp?a=Faer Onaur&m=b" target="_blank"> <img src="http://www.nintendo-europe.com/NOE/fr/FR/images/ambassador/banner_1_full.gif" /></a><a href="http://www.nintendo-europe.com/NOE/fr/FR/register/index.jsp?m=l&a=Faer Onaur" target="_blank"> <img src="http://media.nintendo-europe.com/NOE/images/profile/mod_stars_catalogue.jpg" /></a>
 
Brasier
Avatar de Faer Onaur
  • Age : 28 ans
  • Messages : 830
  • Inscrit : 18 Septembre 2005
Message édité 1 fois, dernière édition par Faer Onaur, 30 Octobre 2006, 18:06     Lien vers ce message 27 Octobre 2006, 0:47
Quelqu'un pourrais m'aider pour limiter le nombre de caractère, et permettre la sélection d'un seul forum :fsb2_cry:

<?php

define('FORUM', TRUE);
// racine de ton forum par rapport au dossier du site
$racine = './nwn2/';

include( $racine . 'demarrage.php' );
include_once( $racine . 'cache/fichier_moderation.php' );
include_once( $racine . 'cache/fichier_forum.php' );
include_once( $racine . 'cache/fichier_smiley.php' );
include_once( $racine . 'includes/functions/fonctions_message.php' );

// On lance les sessions
$membre = recuperer_session();

// limite des messages :
$limite = 5;

$tpl->set_filenames(array('last_msg' => 'dernier_message_corps.tpl'));

$sql = 'SELECT mes.*, s.sujet_nom, s.forum_id FROM ' . SUJETS_TABLE . ' s LEFT JOIN ' .
MESSAGES_TABLE . ' mes ON s.dernier_message_id = mes.message_id ORDER BY s.dernier_message_temps DESC LIMIT ' . $limite;
if ( !$result = $bdd->requete($sql) )
{
$tpl->assign_block_vars('dernier_message', array('MESSAGE' => 'Derniers messages indisponibles' ));
}
else
{
while ( $mes = $bdd->tableau($result))
{
$f = forum_tableau($mes['forum_id']);
$droits = droits($membre, $forum[$f['cle_forum']], $moderation, $droit_forum);
if ( $droits['droit_voir'] && $droits['droit_lire'] )
{
//
// On parse le texte du message pour afficher correctement lesFS,
// ne pas afficher le HTML, etc...
//
$message_txt = $mes['message_texte'];
$message_txt = anti_html($message_txt);
$message_txt = nl2br($message_txt);
$message_txt = fscode_parse($message_txt);
$message_txt = smileys($message_txt, $smiley);
$tpl->assign_block_vars('dernier_message', array(
'U_DERNIER_MESSAGE' => ajout_sid($racine . 'sujet.php?message=' . $mes['message_id']) . '#' . $mes['message_id'],
'TITRE' => $mes['sujet_nom'],
'DATE' => aff_date($mes['message_temps']),
'MESSAGE' => $message_txt,
'AUTEUR' => $mes['pseudo_posteur'],
)
);
}
}
}
$last_msg_tpl = $tpl->pparse('last_msg',GET_CODE);

function portail_news($texte, $limite, $url)
{
	global $langue;
	
	if ($limite && (strlen($texte) > $limite))
	{
		$texte = substr($texte,0,$limite) . ' ... <br /><br /> <a href="' . $url . '">' . $langue['lire_la_suite'] . '</a>';
	}

	return $texte;
}

// on affiche les messages ....
echo $last_msg_tpl;

?>


<a href="http://www.nintendo-europe.com/NOE/fr/FR/register/index.jsp?a=Faer Onaur&m=b" target="_blank"> <img src="http://www.nintendo-europe.com/NOE/fr/FR/images/ambassador/banner_1_full.gif" /></a><a href="http://www.nintendo-europe.com/NOE/fr/FR/register/index.jsp?m=l&a=Faer Onaur" target="_blank"> <img src="http://media.nintendo-europe.com/NOE/images/profile/mod_stars_catalogue.jpg" /></a>
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14556
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 27 Octobre 2006, 7:00
Pour limiter le nombre de caractère :
remplace
'MESSAGE' => $message_txt,

par
'MESSAGE' => portail_news($message_txt, 100, 'url'),

en remplacant 100 par le nb de caractère max de la news, et url par l'url pour "lire la suite".

Pour limiter a un forum ajoute :
WHERE mes.forum_id = ID_DE_TON_FORUM

après
ON s.dernier_message_id = mes.message_id


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Brasier
Avatar de Faer Onaur
  • Age : 28 ans
  • Messages : 830
  • Inscrit : 18 Septembre 2005
Message édité 1 fois, dernière édition par Faer Onaur, 30 Octobre 2006, 18:06     Lien vers ce message 27 Octobre 2006, 9:47
Merci beaucoup ça marche au poil ^^
mais n'empêche quel horreur le php, j'ai du mal à comprendre :p


<a href="http://www.nintendo-europe.com/NOE/fr/FR/register/index.jsp?a=Faer Onaur&m=b" target="_blank"> <img src="http://www.nintendo-europe.com/NOE/fr/FR/images/ambassador/banner_1_full.gif" /></a><a href="http://www.nintendo-europe.com/NOE/fr/FR/register/index.jsp?m=l&a=Faer Onaur" target="_blank"> <img src="http://media.nintendo-europe.com/NOE/images/profile/mod_stars_catalogue.jpg" /></a>
 
Volcan
Avatar de Sékiltoyai
  • Age : 21 ans
  • Messages : 1054
  • Inscrit : 19 Septembre 2006
  Lien vers ce message 27 Octobre 2006, 23:33
C'est pas le langage le plus galère, au contraire...


http://www.phpfrance.com : Support francophone PHP et Web.
 
Brasier
Avatar de Tekarihoken
  • Messages : 947
  • Inscrit : 11 Juin 2005
  Lien vers ce message 28 Octobre 2006, 11:00
J'ai le même probleme en fait j'ai un bloquage avec le php j'ai jamais compris pourquoi


http://www.antcrusade.com/images/ac_banner_486x60.gif
 
Répondre


.