FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

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

#1 06-02-2014 08:22:07

pacific
Membre
Inscription : 01-07-2011
Messages : 93
Site Web

[Résolu] Liens et/ou images uniquement accessibles par les membres

Bonjour,

Tout est dans le titre : y a-t-il un moyen de rendre les liens clicables uniquement par les membres connectés ?
et éventuellement que les images aussi ne soient vues que par les membres connectés ?

Merci.

Dernière modification par pacific (18-02-2014 21:40:18)

Hors ligne

#2 06-02-2014 15:48:37

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Liens et/ou images uniquement accessibles par les membres

Bonjour,

Pour que les invités ne voient aucune url, donc aucun lien cliquable :
Dans le fichier include/parser.php remplacer :

function handle_url_tag($url, $link = '', $bbcode = false)
{
	$url = pun_trim($url);

par

function handle_url_tag($url, $link = '', $bbcode = false)
{
	//[modif oto] - No url for guest
	global $pun_user;
	if($pun_user['is_guest'])
		return '';
	$url = pun_trim($url);

Pour que les images ne soient pas vues par les invités, toujours dans le fichier include/parser.php remplacer

function handle_img_tag($url, $is_signature = false, $alt = null)
{
	global $lang_common, $pun_user;

	if (is_null($alt))

par

function handle_img_tag($url, $is_signature = false, $alt = null)
{
	global $lang_common, $pun_user;
 //[modif oto] - No url for guest
	if($pun_user['is_guest'])
		return '';
	if (is_null($alt))

Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#3 06-02-2014 17:39:38

pacific
Membre
Inscription : 01-07-2011
Messages : 93
Site Web

Re : [Résolu] Liens et/ou images uniquement accessibles par les membres

Merci Otomatic.

Cette modification allège-t-elle le travail du serveur (s'il y avait pas mal d'images par exemple dans les messages) ? Non pas que j'ai des problèmes de lenteur mais simplement par curiosité.

Hors ligne

#4 06-02-2014 18:38:27

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Liens et/ou images uniquement accessibles par les membres

Bonjour,

C'est sûr que ça va « alléger » les tâches du serveur car ni les url, ni les images ne seront traitées dans les affichages des messages pour les Invités ; dans quelles proportions... ?


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#5 17-02-2014 16:11:11

pacific
Membre
Inscription : 01-07-2011
Messages : 93
Site Web

Re : [Résolu] Liens et/ou images uniquement accessibles par les membres

Bonjour,

Les vidéos insérées dans les messages (via la toolbar) peuvent-être elles aussi n'être vues que des membres ?

Je n'y connais rien au php mais ne faudrait-il pas ajouter cela :

if($pun_user['is_guest'])
		return '';

après :

//
// Convert BBCodes to their HTML equivalent
//
function do_bbcode($text, $is_signature = false)
{
	global $lang_common, $pun_user, $pun_config, $re_list;

dans le parser.php ?

Mais dans ce cas les invités ne verraient ni couleur, ni caractères gras .... etc ?

Dernière modification par pacific (17-02-2014 16:18:33)

Hors ligne

#6 17-02-2014 17:08:14

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Liens et/ou images uniquement accessibles par les membres

Bonjour,

Pour supprimer les videos pour les invités - sans aucune garantie, je ne peux pas tester.
Dans le fichier include/parser.php, dans la fonction do_bbcodes, l'installation de FluxToolBar step 27 à ajouté des lignes dont les quatre suivantes

	$replace[] = '<object type="application/x-shockwave-flash" data="http://www.dailymotion.com/swf/video/$2" width="480" height="384"><param name="movie" value="http://www.dailymotion.com/swf/video/$2" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><p>Flash required</p></object>';
	$replace[] = '<object type="application/x-shockwave-flash" data="http://www.dailymotion.com/swf/video/$4" width="$1" height="$2"><param name="movie" value="http://www.dailymotion.com/swf/video/$4" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><p>Flash required</p></object>';
	$replace[] = '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/$3" width="425" height="344"><param name="movie" value="http://www.youtube.com/v/$3" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><p>Flash required</p></object>';
	$replace[] = '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/$5" width="$1" height="$2"><param name="movie" value="http://www.youtube.com/v/$5" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><p>Flash required</p></object>';

que l'on va remplacer par

  if($pun_user['is_guest']) {
  	$replace[] = '';
  	$replace[] = '';
  	$replace[] = '';
  	$replace[] = '';
  }
  else {
	$replace[] = '<object type="application/x-shockwave-flash" data="http://www.dailymotion.com/swf/video/$2" width="480" height="384"><param name="movie" value="http://www.dailymotion.com/swf/video/$2" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><p>Flash required</p></object>';
	$replace[] = '<object type="application/x-shockwave-flash" data="http://www.dailymotion.com/swf/video/$4" width="$1" height="$2"><param name="movie" value="http://www.dailymotion.com/swf/video/$4" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><p>Flash required</p></object>';
	$replace[] = '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/$3" width="425" height="344"><param name="movie" value="http://www.youtube.com/v/$3" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><p>Flash required</p></object>';
	$replace[] = '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/$5" width="$1" height="$2"><param name="movie" value="http://www.youtube.com/v/$5" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><p>Flash required</p></object>';
  }

Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#7 17-02-2014 17:15:45

pacific
Membre
Inscription : 01-07-2011
Messages : 93
Site Web

Re : [Résolu] Liens et/ou images uniquement accessibles par les membres

Merci Otomatic pour la réponse rapide. Cela fonctionne (et je commence un peu à comprendre le fonctionnement et surtout la syntaxe de la boucle if else !).

Hors ligne

#8 17-02-2014 18:09:56

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Liens et/ou images uniquement accessibles par les membres

pacific a écrit :

... et je commence un peu à comprendre le fonctionnement et surtout la syntaxe de la boucle if else ...

Re-bonjour,

Ça tombe sur toi, mais c'est valable pour tous : LISEZ, RELISEZ la doc officielle PHP en français, vous y trouverez tout un tas d'explications et d'exemples. (Pour if, c'est ici)
De même pour ceux qui utilisent un serveur local avec Apache, pour MySQL, c'est moins simple.
Notez ces trois url et mettez-les dans vos favoris.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

Pied de page des forums