mercredi 26 mai 2010 à 19:08
Salut,
Encore une modification, a vous de prendre ou pas si ça vous plait
Voila ce que j'ai changé :
- Ne coupe pas le texte sur un espace, il faut la fonction ici
http://www.kwsphp.org/index.php?mod=forum&ac=voir&id=9631- Affiche "Poster un commentaire" au lieu de 0 commentaire
- Meilleur gestion du lien "Lire la suite" (pas de doublons dans les liens)
- Masque l'image de la news si on n'affiche pas le texte de la news
Bon courage, les développeurs
Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
<?php
-
// ---------------------------------------------------------------
// KwsPHP kOoGar Web System
// $Id: resume.php 900 2010-04-12 21:03:22Z mike007.devpwsphp $
// ---------------------------------------------------------------
// Mise a jour : 30/10/06 par Jack
// ---------------------------------------------------------------
-
if (!(defined('__KWS__'))) {die ('Erreur d\'appel de fichier.');}
-
if (get_grade() >= GRD_VISIT and is_module('news'))
{
$texte = '';
-
$req_news = reqmysql('
SELECT `news`.`id`, `news`.`date`, `news`.`nbr_comment`, `news`.`auteur`, `news`.`type`,
`news`.`contenu`, `news`.`smiley`, `news`.`hit`, `news`.`ref`, `news`.`titre`,
`news`.`edit`, `news`.`validation`, `news`.`envoi_mail`,
`rubriques`.`image`, `rubriques`.`titre` AS cat_titre,
`users`.`id` AS usr_id, `users`.`grade` AS usr_grade, `users`.`avatar`
FROM `news`
JOIN `rubriques`
ON `news`.`ref` = `rubriques`.`id`
LEFT JOIN `users`
ON `users`.`pseudo` = `news`.`auteur`
WHERE `news`.`validation` < 1
AND `news`.`date` <= '.time().'
AND `news`.`ref` IN '.$K_user->rubrique[0].'
ORDER BY `news`.`date` DESC
LIMIT 0 , '.(!empty($resume->parametre2) ? $resume->parametre2 : 5)
);
-
// Au moins une news existe
if (mysql_num_rows($req_news) != 0)
{
$resume3 = explode('-', $resume->parametre3);
$j=0;
-
//Debut boucle de listing des news
while ($news = mysql_fetch_object($req_news))
{
// "validation" des news post-datées. Nécessaire pour l'envoi des mails annonçant la news.
if ($news->validation == -1)
{
define('NEWS_VALIDATION', 1);
@include './modules/news/validation.php';
}
-
$new = ((time()-$news->date) < ($resume->parametre4*24*3600) ? '<img src="themes/'.$K_theme.'/images/resume/new.png" alt="new" style="border:none;" />' : '' );
//Debut boucle de listing des articles
//Contenu du resume et mise en forme du titre
$titre = '
<a href="'.(url_rw('./index.php?mod=news&ac=commentaires&id='.$news->id,array($news->titre))).'" title="Lire la news: «'.ax($news->titre).'»">
<span style="font-weight:bold; font-size:1.1em; font-family:Comic">'.($resume_colonne==2 ? wordwrap(ax($news->titre),(preg_match('#img#i',$new) ? '35':'40'),'<br />',1):ax($news->titre)).'</span>
</a> '.$new;
$texte .='<fieldset class="fieldset_resume"><legend>'.$titre.'</legend>';
list($image_width, $image_height, $image_type, $image_attr) = @getimagesize($news->image);
//Modif LSI : Image réduite à 64px au lieu de 50px et afficher que si on affiche le texte de la news
f ($j<$resume3[0])
{
$texte .='
<a href="./index.php?mod=news&ref='.$news->ref.'">
<img src="'.$news->image.'" alt="Image" style="border:none;'.($image_width>64 ? 'width:64px;' : '').'float:right;padding:5px" />
</a>';
}
//Modification LSI : Suppression d'un BR avant "dans la catégorie"
$texte .= '
<em>News Postée par <a href="'.(url_rw('./index.php?mod=espace_membre&ac=profil&id='.$news->usr_id,array($news->auteur))).'">'.get_grd_symbol($news->usr_grade).ax($news->auteur).' </a>
<br />le '.kws_date('l jS F Y \&\a\g\r\a\v\e\; H:i',$news->date).'
<br />dans la catégorie <a href="./index.php?mod=news&ref='.$news->ref.'"><strong>"'.ax($news->cat_titre).'"</strong></a></em>
<br style="clear:both"/>';
if ($j<$resume3[0])
{
//Correction LSI : Ne pas couper au milieu d'un mot mais sur un espace
$coupe = 0;
if (!empty($resume3[1]) and strlen($news->contenu) > $resume3[1])
{
$news->contenu = df_coupe($news->contenu,0,$resume3[1]);
$coupe = 1;
}
if($news->type==1) //BBCode
{
$texte .= '<hr />'.bbcode($news->contenu,$news->smiley,1);
}
else // HTML
{
$texte .= '<hr />'.bbcode($news->contenu,0,0,1,1);
}
if (strpos($texte,'|{}|')!=FALSE) // Coupure de page
{
$texte = substr($texte,0,strpos($texte,'|{}|')).' [...]';
$coupe = 1;
}
}
//Modif LSI : texte des commentaires plus sympa, supression des width dans les style des div
//Modif LSI : Si pas de commentaire, on affiche "poster un commentaire" et pas "0 commentaire"
$texte .= '<hr />
'.( $news->edit != '' ? '<div style="float:left;font-style:italic;">Édité le : '.ax($news->edit).'</div>':'').'
<div style="float:right;font-style:italic;text-align:right">
<a href="'.(url_rw('./index.php?mod=news&ac=commentaires&id='.$news->id,array($news->titre))).'">
'.($j>=$resume3[0] ? 'Lire cette news<br />' : ($coupe==1? 'Lire la suite<br />' : ''))
.($news->nbr_comment>0 ? $news->nbr_comment.' commentaire'.($news->nbr_comment>1 ? 's':''):'Poster un commentaire')
.' (Lu '.$news->hit.' fois)</a>
</div>
</fieldset>';
$j++;
}
$texte .= '<br /><div style="text-align:right"><a href="'.(url_rw('index.php?mod=news')).'">Toutes les news</a></div>';
}
//Pas de news
else
{
$texte = '<div style="font-style:italic; text-align:center;"><h5>Aucune news n’a encore été postée</h5></div>';
}
-
bloc_head('<a href="'.(url_rw('./index.php?mod='.$resume->module)).'"><strong>'.$resume->parametre1.'</strong></a>');
echo $texte;
close_table();
}
?>
-
LSI
http://www.lsi-dev.com
Merci aux développeurs de KwsPHP pour leur travail