FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Recherche rapide

Vous n'êtes pas identifié(e).

Version 1.4.13 : [.tar.gz][.zip] (maj 20/10/2014)
Pack langue française pour 1.4.x : [.zip] (maj 06/01/2012)

Branche 1.5.x : fluxbb.org
Pack langue française pour 1.5.x : [.zip] (maj 14/01/2016)

Ancienne Version 1.2.24 fr : [.zip] (maj 26/08/2011)

Vous avez un problème ?
Avant de poser votre question sur les forums d'entraide nous vous invitons à consulter :

#26 16-07-2011 12:38:03

Xtrem-AW
Habitué actif
Inscription : 19-08-2009
Messages : 339

Re : [Mod] Show last topics - 1.3

Pour ma part je suis admin d'un forum d'entraide et je voudrais afficher sur le portail créer avec l'astuce mini portail

les 5 dernieres demandes d'aide ? de ma catégorie "Entraide Windows" uniquement

est-il possible de faire cela ?

Hors ligne

#27 24-07-2011 22:09:00

Xtrem-AW
Habitué actif
Inscription : 19-08-2009
Messages : 339

Re : [Mod] Show last topics - 1.3

UP ! smile

Hors ligne

#28 25-07-2011 07:40:26

fanf73
Wik-wiki
Lieu : Lyon
Inscription : 12-09-2006
Messages : 4 432
Site Web

Re : [Mod] Show last topics - 1.3

C'est possible oui, il te faut préciser l'id de la catégorie dont les topics doivent être récupérés.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#29 25-07-2011 13:31:42

Xtrem-AW
Habitué actif
Inscription : 19-08-2009
Messages : 339

Re : [Mod] Show last topics - 1.3

dans quel fichier et comment précisé ceci ?

Hors ligne

#30 25-07-2011 19:19:06

fanf73
Wik-wiki
Lieu : Lyon
Inscription : 12-09-2006
Messages : 4 432
Site Web

Re : [Mod] Show last topics - 1.3

Dans le fichier "/include/last-topic.php", tu ajoutes le code suivant juste avant le "ORDER BY" des 3 requêtes lignes 23, 27 et 31, en remplaçant le X par l'id de la catégorie

AND cat_id = X

Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#31 27-07-2011 12:00:25

Xtrem-AW
Habitué actif
Inscription : 19-08-2009
Messages : 339

Re : [Mod] Show last topics - 1.3

sa ne fonctionne pas je veut uniquement pour un forum...

Hors ligne

#32 27-07-2011 12:08:58

fanf73
Wik-wiki
Lieu : Lyon
Inscription : 12-09-2006
Messages : 4 432
Site Web

Re : [Mod] Show last topics - 1.3

"Ça marche pas" comment ? Ça n'affiche rien ou ça t'affiche pour la catégorie au lieu du forum ? Ton message indiquait "de ma catégorie "Entraide Windows"", d'où la proposition postée...

Inspire toi de ce que j'ai mis mais en faisant la condition sur l'id du forum dans la requête, au lieu de l'id de la catégorie.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#33 27-07-2011 12:15:36

Xtrem-AW
Habitué actif
Inscription : 19-08-2009
Messages : 339

Re : [Mod] Show last topics - 1.3

j'ai justement tenté : AND forum_id = X

qui n'a pas fonctionné mieux, j'ai toujours tout les sujet...

désolé, abus de language de ma part je voulais dire Forum et non catégorie...

Hors ligne

#34 27-07-2011 12:26:00

fanf73
Wik-wiki
Lieu : Lyon
Inscription : 12-09-2006
Messages : 4 432
Site Web

Re : [Mod] Show last topics - 1.3

J'ai mis

 AND t.forum_id = 132

juste avant les 3 ORDER des requêtes, et ça fonctionne nickel chez moi...


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#35 27-07-2011 18:07:11

Xtrem-AW
Habitué actif
Inscription : 19-08-2009
Messages : 339

Re : [Mod] Show last topics - 1.3

Sa fonctionne merci Bien smile

j'avais oublié le "t."

Hors ligne

#36 06-09-2011 21:00:59

ozz
Membre
Inscription : 16-07-2011
Messages : 36
Site Web

Re : [Mod] Show last topics - 1.3

Bonjour voila j'aimerai un peu d'aide concernant cetee mod si possible


Voila j'ai installé le Mod Colorize_groups et j'aimerai que la couleur des posteurs apparaissent aussi dans les topics actifs.

Après plusieurs tentatives ratés pourriez-vous m'aider s'il vous plaît?

Second souci j(aimerai indiqué le nombres de pages des topics

malheuresement je n'arrive pas a mettre la main sur la fonctions qui indique le nombres de pages.

Pourriez vous encore une fois m'aidez

Je vous remercie

Hors ligne

#37 07-09-2011 14:37:39

adaur
Habitué très actif
Lieu : Derrière Notepad ++ !
Inscription : 25-09-2008
Messages : 1 937
Site Web

Re : [Mod] Show last topics - 1.3

Salut, essaye ceci wink [voir post#39]

Dernière modification par adaur (07-09-2011 19:32:43)


"As code is more often read than written it's really important to write clean code." - Franz
Twitter: @adaurfr
Mon fork de FluxBB: FeatherBB

Hors ligne

#38 07-09-2011 18:50:44

ozz
Membre
Inscription : 16-07-2011
Messages : 36
Site Web

Re : [Mod] Show last topics - 1.3

Bonjour

Tout d'abord merci de prendre le temps de m'apporter une réponse

Malheuresement votre correction n'est pas valable sur mon forum

Voici l'indication :


Fatal error: Call to undefined function makeurl() in /home/nomdusite/public_html/include/last-topics.php on line 51

Or à la ligne 51 apparait


$subject = '<a href="'.makeurl("topic-", $cur_topic['id'] ,$cur_topic['subject']).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.$col_group.'</span>';

qui bien sur n'a rien de commun avec la fonction de base  ce qui donc me semble compliqué aà comprendre :

$subject = '<a href="viewtopic.php?id='.$cur_topic['id'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';

Voila merci encore

Dernière modification par ozz (07-09-2011 18:59:09)

Hors ligne

#39 07-09-2011 19:32:09

adaur
Habitué très actif
Lieu : Derrière Notepad ++ !
Inscription : 25-09-2008
Messages : 1 937
Site Web

Re : [Mod] Show last topics - 1.3

Arg je t'ai donné le code du fichier de WS avec le rewrite activé.

Version corrigée:


<?php

//
// Last Topics mod by adaur
//

// Make sure no one attempts to run this script "directly"... it would be bad
if (!defined('PUN'))
	exit;
	
// Load the viewforum.php language file
if (file_exists(PUN_ROOT.'lang/'.$pun_user['language'].'/forum.php'))
       require PUN_ROOT.'lang/'.$pun_user['language'].'/forum.php';
else
       require PUN_ROOT.'lang/English/forum.php';
	   
	$show = isset($show) ? $show : NULL;

    if ($show < '1' || $show > '50' || $show == '') $show = '5'; // Don't mess up with the numbers :P
    
	if ($pun_user['g_id'] == PUN_ADMIN)
		$result = $db->query('SELECT u.id AS uid, u.group_id, up.id AS up_id, up.group_id AS up_group_id, t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.num_views, t.moved_to, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'users AS u ON (t.last_poster=u.username) LEFT JOIN '.$db->prefix.'users AS up ON (t.poster=up.username) LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$show) or error('Unable to get the admin\'s topic list', __FILE__, __LINE__, $db->error()); 
	elseif ($pun_user['is_guest'])
		$result = $db->query('SELECT u.id AS uid, u.group_id, up.id AS up_id, up.group_id AS up_group_id, t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.num_views, t.moved_to, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'users AS u ON (t.last_poster=u.username) LEFT JOIN '.$db->prefix.'users AS up ON (t.poster=up.username) LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$show) or error('Unable to get the guest\'s topic list', __FILE__, __LINE__, $db->error());
    else
		$result = $db->query('SELECT u.id AS uid, u.group_id, up.id AS up_id, up.group_id AS up_group_id, t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.num_views, t.moved_to, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'users AS u ON (t.last_poster=u.username) LEFT JOIN '.$db->prefix.'users AS up ON (t.poster=up.username) LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$show) or error('Unable to get the member\'s topic list', __FILE__, __LINE__, $db->error());
	?>			
		<div class="blocktable">
		<h2><span>Topics actifs</span></h2>
		<div class="box">
		<div class="inbox">
    			<table cellspacing="0">
			<thead>
				<tr>
					<th class="tcl" scope="col"><?php echo $lang_common['Topic']; ?></th>
					<th class="tc2" scope="col"><?php echo $lang_common['Replies'] ?></th>
					<th class="tc3" scope="col"><?php echo $lang_forum['Views'] ?></th>
					<th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
				</tr>
			</thead>
			<tbody>
		<?php
		while ($cur_topic = $db->fetch_assoc($result)) {
		
			if ($pun_config['o_censoring'] == '1')
				$cur_topic['subject'] = censor_words($cur_topic['subject']);

			$date = format_time($cur_topic['posted']);
			
			$col_group = colorize_group($cur_topic['poster'], $cur_topic['up_group_id'], $cur_topic['up_id']);
			$subject = '<a href="viewtopic.php?id='.$cur_topic['id'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.$col_group.'</span>';
			
			$num_pages_topic = ceil(($cur_topic['num_replies'] + 1) / $pun_user['disp_posts']);
			
			if ($num_pages_topic > 1)
				$subject_multipage = '<span class="pagestext">[ '.paginate($num_pages_topic, -1, 'viewtopic.php?id='.$cur_topic['id']).' ]</span>';
			else
				$subject_multipage = null;
			
			$last_post = '<a href="viewtopic.php?pid='.$cur_topic['last_post_id'].'#p'.$cur_topic['last_post_id'].'">'.format_time($cur_topic['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.colorize_group($cur_topic['last_poster'], $cur_topic['group_id'], $cur_topic['uid']).'</span>';
			
			if (!$pun_user['is_guest'])
			{
				$tracked_topics = get_tracked_topics();
			}
			
			if (!$pun_user['is_guest'] && $cur_topic['last_post'] > $pun_user['last_visit'] && (!isset($tracked_topics['topics'][$cur_topic['id']]) || $tracked_topics['topics'][$cur_topic['id']] < $cur_topic['last_post']) && (!isset($tracked_topics['forums'][$cur_topic['forum_id']]) || $tracked_topics['forums'][$cur_topic['forum_id']] < $cur_topic['last_post']) && $cur_topic['moved_to'] == null)
			{
				$item_status = ' inew';
				$icon_type = 'icon icon-new';
				$subject = '<strong>'.$subject.'</strong>';
				$subject_new_posts = '<span class="newtext">[ <a href="viewtopic.php?id='.$cur_topic['id'].'&amp;action=new" title="'.$lang_common['New posts info'].'">'.$lang_common['New posts'].'</a> ]</span>';
			}
			else
			{
				$item_status = '';
				$icon_type = 'icon';
				$subject_new_posts = null;
			}
			
			// 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 : '';
			}
			
			++$forum_count;
			$item_status = ($forum_count % 2 == 0) ? 'roweven '.$item_status : 'rowodd '.$item_status;
			?>
					<tr<?php if ($item_status != '') echo ' class="'.trim($item_status).'"'; ?>>
						<td class="tcl">
							<div class="intd">
								<div class="<?php echo $icon_type ?>"><div class="nosize"></div></div>
								<div class="tclcon">
									<?php echo $subject."\n\t\t" ?>
								</div>
							</div>
						</td>
						<td class="tc2"><?php echo $cur_topic['num_replies'] ?></td>
						<td class="tc3"><?php echo $cur_topic['num_views'] ?></td>
						<td class="tcr"><?php echo $last_post ?></td>
					</tr>
		<?php
		} // That's all folks!
		?>
   </tbody></table></div></div></div>

Dernière modification par adaur (07-09-2011 19:33:33)


"As code is more often read than written it's really important to write clean code." - Franz
Twitter: @adaurfr
Mon fork de FluxBB: FeatherBB

Hors ligne

#40 07-09-2011 20:30:21

ozz
Membre
Inscription : 16-07-2011
Messages : 36
Site Web

Re : [Mod] Show last topics - 1.3

Et ba un énorme Merci à toi

J'aurais été incapable d'arriver à faire ces modifications moi même

Sa fonctionne nikel !!

Je suis aux anges

Hors ligne

#41 12-09-2011 17:55:02

Defaz
Habitué très actif
Inscription : 30-11-2006
Messages : 700
Site Web

Re : [Mod] Show last topics - 1.3

Bonsoir,

Petite question : je désire afficher deux petites choses de plus que celles proposées par ce script déjà génial, à savoir le corps du premier message du sujet ainsi que l'avatar du posteur smile

J'ai tenté de reprendre le code de viewtopic mais ça ne me méne nulle part... je me suis également dit qu'il faudrait que je récupère les infos par la requête sql mais malheureusement je suis largué tongue

Je continue de chercher mais si vous avez une solution simple je ne serais pas contre wink

En tout cas merci Adaur pour cette mod simple et efficace big_smile

Hors ligne

#42 12-09-2011 19:11:16

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Re : [Mod] Show last topics - 1.3

Par posteur tu sous entends auteur du topic, ou dernier posteur?
J'te demande ça car généralement (sur les forums que je cotoie), il s'agit du dernier posteur.

Et qu'entends tu par corps du message? Un ptit bout du topic? Comment tu comptes caser ça O__o

Hors ligne

#43 12-09-2011 23:38:20

Defaz
Habitué très actif
Inscription : 30-11-2006
Messages : 700
Site Web

Re : [Mod] Show last topics - 1.3

Je voudrais afficher l'auteur du post d'origine ainsi que son avatar, après pour placer ça comme tu dis tout est question de mise en page wink

Hors ligne

#44 13-09-2011 16:25:30

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Re : [Mod] Show last topics - 1.3

Dans le fichier include/last-topics.php

Chercher :

if ($pun_user['g_id'] == PUN_ADMIN)
    {
		$result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.num_views, t.moved_to, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$show) or error('Unable to get the admin\'s topic list', __FILE__, __LINE__, $db->error());
    }   
	elseif ($pun_user['is_guest'])
	{
		$result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.num_views, t.moved_to, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$show) or error('Unable to get the guest\'s topic list', __FILE__, __LINE__, $db->error());
	}
    else
    {
		$result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.num_views, t.moved_to, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$show) or error('Unable to get the member\'s topic list', __FILE__, __LINE__, $db->error());
    }

Remplacer par :

	if ($pun_user['g_id'] == PUN_ADMIN)
    {
		$result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.num_views, t.moved_to, t.forum_id, u.id AS uid, p.message FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) LEFT JOIN '.$db->prefix.'users AS u ON u.username = t.poster LEFT JOIN '.$db->prefix.'posts AS p ON p.id = t.first_post_id WHERE t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$show) or error('Unable to get the admin\'s topic list', __FILE__, __LINE__, $db->error());
    }   
	elseif ($pun_user['is_guest'])
	{
		$result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.num_views, t.moved_to, t.forum_id, u.id AS uid, p.message FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) LEFT JOIN '.$db->prefix.'users AS u ON u.username = t.poster LEFT JOIN '.$db->prefix.'posts AS p ON p.id = t.first_post_id WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$show) or error('Unable to get the guest\'s topic list', __FILE__, __LINE__, $db->error());
	}
    else
    {
		$result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.num_views, t.moved_to, t.forum_id, u.id AS uid, p.message FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') LEFT JOIN '.$db->prefix.'users AS u ON u.username = t.poster LEFT JOIN '.$db->prefix.'posts AS p ON p.id = t.first_post_id WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$show) or error('Unable to get the member\'s topic list', __FILE__, __LINE__, $db->error());
    }

Pour afficher l'avatar, j'te conseille de faire :

if(file_exists('img/avatars/'.$cur_topic['uid'].'.png))
        $avatar = '<img alt="Avatar de '.$cur_topic['poster'].'" src="img/avatars/'.$cur_topic['uid'].'.png">';
elseif(file_exists('img/avatars/'.$cur_topic['uid'].'.gif))
        $avatar = '<img alt="Avatar de '.$cur_topic['poster'].'" src="img/avatars/'.$cur_topic['uid'].'.gif">';
elseif(file_exists('img/avatars/'.$cur_topic['uid'].'.jpg))
        $avatar = '<img alt="Avatar de '.$cur_topic['poster'].'" src="img/avatars/'.$cur_topic['uid'].'.jpg">';
else
        $avatar = '<img alt="Avatar de '.$cur_topic['poster'].'" src="img/avatars/defaut.jpg">';

Ensuite tu afficheras l'avatar depuis la variable $avatar.

Quant au texte, il te suffit de faire un echo $cur_topic['message'].

Ps : J'te conseille de prévoir un avatar par defaut (comme le propose le code)

Hors ligne

#45 13-09-2011 17:14:06

adaur
Habitué très actif
Lieu : Derrière Notepad ++ !
Inscription : 25-09-2008
Messages : 1 937
Site Web

Re : [Mod] Show last topics - 1.3

$avatar = '<img alt="Avatar de '.$cur_topic['poster'].'

Alerte faille! wink

$avatar = '<img alt="Avatar de '.pun_htmlspecialchars($cur_topic['poster']).'

"As code is more often read than written it's really important to write clean code." - Franz
Twitter: @adaurfr
Mon fork de FluxBB: FeatherBB

Hors ligne

#46 13-09-2011 17:38:55

Defaz
Habitué très actif
Inscription : 30-11-2006
Messages : 700
Site Web

Re : [Mod] Show last topics - 1.3

Merci à vous deux, je teste ça ce soir wink

Hors ligne

#47 13-09-2011 18:18:35

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Re : [Mod] Show last topics - 1.3

adaur a écrit :
$avatar = '<img alt="Avatar de '.$cur_topic['poster'].'

Alerte faille! wink

$avatar = '<img alt="Avatar de '.pun_htmlspecialchars($cur_topic['poster']).'

Pourquoi faille? Les données enregistrées en BDD sont censé être infaillible non?

J'vois pas l'intérêt de vérifier les entrées et sorties des données sql happy

(sauf s'il s'agit d'une autre faille encore)

Hors ligne

#48 13-09-2011 19:48:43

adaur
Habitué très actif
Lieu : Derrière Notepad ++ !
Inscription : 25-09-2008
Messages : 1 937
Site Web

Re : [Mod] Show last topics - 1.3

Si un utilisateur a pour nom <script machin, celui ci doit être affiché en tant que texte et pas interprété (voir le code partout où on affiche un username extrait de la BDD).


"As code is more often read than written it's really important to write clean code." - Franz
Twitter: @adaurfr
Mon fork de FluxBB: FeatherBB

Hors ligne

#49 14-09-2011 06:53:26

Defaz
Habitué très actif
Inscription : 30-11-2006
Messages : 700
Site Web

Re : [Mod] Show last topics - 1.3

Testé et approuvé wink
J'ai fait la modification pour ajouter le premier message du post et ça fonctionne parfaitement, c'est ce à quoi j'avais pensé sans pour autant avoir su le faire tongue
Par contre pour l'avatar j'ai une erreur, mais comme je compte utiliser l'image en background css je vais modifier ça tranquillement wink

Merci encore wink

Hors ligne

#50 14-09-2011 08:26:59

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Re : [Mod] Show last topics - 1.3

adaur a écrit :

Si un utilisateur a pour nom <script machin, celui ci doit être affiché en tant que texte et pas interprété (voir le code partout où on affiche un username extrait de la BDD).

Mais justement, normalement un tel pseudo en BDD est impossible à enregistrer. Du moins, lors de l'inscription (ou même d'un changement de pseudo), le pseudo enregistré voit ses caractères spéciaux remplacé avant d'être mis en BDD.

Donc à la sortie, il est censé être déjà sécurisé, non?

Normalement on a un truc dans ce genre :

// Lors de l'inscription

$pseudo = pun_htmlspecialchars($_POST(['pseudo']));
// Insertion en BDD

Et si on récupère le pseudo via une requête, on tombe sur la valeur de $pseudo et non la valeur de $_POST['pseudo'].

Bref, tout ça pour dire que si on vérifie un pseudo avant de l'enregistrer en bdd, il est totalement inutile de le revérifier quand on va aller le chercher via une requête sql.

(Bien entendu tout ce que j'dis suppose que les variables sont "nettoyé" avant l'enregistrement en bdd)

@Defaz : tu as quelle erreur pour l'avatar?

Hors ligne

Pied de page des forums