Comment faire un topic/spoiler privé ?

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Comment faire un topic/spoiler privé ?

Message par Territory8 le Dim 22 Mai 2016 - 11:42

Détails techniques


Version du forum : phpBB2
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : http://histoiredunmonde.forumofficiel.fr/

Description du problème

Bonjour,
je suis titulaire d'un forum centré sur un jeu de roll-play encore en cours de développement. C'est un jeu de stratégie géopolitique en temps réel, sur forum évidemment. Il fonctionne avec un système de fiche-nation : chaque état possède une fiche remplie de multitudes informations le concernant et permettant au membre du forum qui le possède de gérer son pays.
Mais voilà le problème : Nous souhaitons rendre privé l'accès à chaque fiche nation (par le biais d'un code, les permissions dans le panneau d'administration permettent de le faire uniquement avec des forums ou des catégories entières).

Je viens donc ici pour savoir s'il est possible, et si oui comment faire un spoiler ou un topic privé (à la lecture et à l'écriture) à tout les membres du forum sauf les administrateurs et certains membres définis. Ainsi, seuls les administrateurs et le joueur possédant la dite nation pourrait voir et modifier sa fiche, ce qui éviterai une tricherie évidente. Je souhaite aussi savoir si la même opération est réalisable sur un spoiler : tout le monde pourrai lire un post mais le spoiler s'y trouvant serait uniquement visible par les administrateurs et les joueurs concernés.

Je vous remercie de votre attention, et bonne journée ! Smile


Dernière édition par Territory8 le Mer 25 Mai 2016 - 19:59, édité 1 fois

Territory8
Nouveau membre

Messages : 4
Inscrit(e) le : 22/05/2016

http://histoiredunmonde.forumofficiel.fr/
Territory8 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Comment faire un topic/spoiler privé ?

Message par yao le Dim 22 Mai 2016 - 18:53

Bonjour,

À ma connaissance, ce que vous demandez n'est malheureusement pas possible (après, peut-être que je me trompe et quelqu'un d'autre pourra mieux vous répondre).

Ce que je peux toutefois vous conseiller est d'utiliser le système de permissions afin de donner accès à ces infos. Ça risque cependant d'être embêtant si vous avez plusieurs topics cachés puisque, pour chaque topic, il faudra une "section" et un groupe Surprised (puis il faudra à chaque fois ajouter manuellement le membre à ce groupe (quoi que, selon votre système pour accéder à ces topics cachés, on pourrait faire un groupe invisible et une adhésion automatique ce qui simplifiera la vie des administrateurs mais qui a une légère faille. Je peux vous expliquer un peu plus en détail si ça vous intéresse)).

Concernant les spoilers privés, toujours selon votre système, vous pourriez utiliser les balises "hide" et donner le droit de répondre au topic qu'à un groupe précis Surprised

yao
***

Masculin
Messages : 112
Inscrit(e) le : 13/11/2013

http://www.frenchnerd-fanclub.com/
yao a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Comment faire un topic/spoiler privé ?

Message par Territory8 le Lun 23 Mai 2016 - 18:50

Merci de votre réponse,

Je crains que créer une section pour chaque topic risque d'être beaucoup trop long et d'alourdir le forum, je suis cependant à l'écoute de votre astuce sur l'adhésion automatique dans un groupe invisible.

L'idée du hide me plait davantage, car j'ai pensé à en utilisé sur chaque fiche, ainsi seul le joueur et nous, les administrateurs, pourraient en voir le contenu (ce qui est exactement l'effet que je recherche). Mais de nouvelles questions me viennent à l'esprit : les hides ont-ils une taille limite ? Peut-on modifier plus tard les membres pouvant le lire (si la fiche change de joueur) ?

Merci de vos attention ! Smile

Territory8
Nouveau membre

Messages : 4
Inscrit(e) le : 22/05/2016

http://histoiredunmonde.forumofficiel.fr/
Territory8 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Comment faire un topic/spoiler privé ?

Message par Milouze14 le Lun 23 Mai 2016 - 19:58

Salut Territory8,

grâce à ce script, on peut déposer un bouton sur l'éditeur visible qu'aux admins dans un premier temps qui au clic affichera
un spoiler personnalisé:

Les admins verront:



Tous les autres membres en dehors des admins verront :




On va créer deux scripts ,
un pour ajouter le bouton dans l'éditeur:

Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript

Coches sur toutes les pages.

Déposes ceci:
Code:

$(function(){if (_userdata["user_level"] ==1)
$(function(){
$('<a class="sceditor-button" unselectable="on" title="Bouton spoiler">
<div unselectable="on" style="background-image:url(http://i86.servimg.com/u/f86/11/26/21/37/loop-s10.png)">Bouton spoiler</div></a>').insertAfter('a.sceditor-button.sceditor-button-faspoiler').click(function(){
$('#text_editor_textarea').sceditor("instance").insert('[spoiler="M14_spoilerAdmin"]VOTRE CONTENU[/spoiler]');
});})});



Penses à cliquer sur le bouton


Ensuite l'autre script modifiera l'apparence et le contenu.

Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript


Coches Sur les sujets

Déposes ceci:

Code:

$(function(){if (_userdata["user_level"] !==1)
$(function(){
$('dt span.genmed b:contains("M14_spoilerAdmin")').closest('dl').html('<dl class="codebox spoiler"><dt style="cursor: pointer;">Spoiler</dt>
<dd class="spoiler_closed">&nbsp;</dd><dd><div class="spoiler_content hidden">Contenu caché</div></dd></dl>');
})});




Penses à cliquer sur le bouton



L'image dans l'éditeur peut être changée ici dans le premier script en prenant soir de mettre une image avec les dimensions suivantes:
16px par 16px

Code:
<div unselectable="on" style="background-image:url(http://i86.servimg.com/u/f86/11/26/21/37/loop-s10.png)">Bouton spoiler</div>


a++

Milouze14
+ Hyperactif +

Masculin
Messages : 4564
Inscrit(e) le : 18/04/2005

http://www.milouze14.com/
Milouze14 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Comment faire un topic/spoiler privé ?

Message par Territory8 le Mar 24 Mai 2016 - 13:59

"visible qu'aux admins dans un premier temps", cela veut dire qu'on peut rendre visible ces spoilers aux autres membres/groupes ? Si oui comment faire ?

Merci pour le code en tout cas, je l’essayerai bientôt Smile

Territory8
Nouveau membre

Messages : 4
Inscrit(e) le : 22/05/2016

http://histoiredunmonde.forumofficiel.fr/
Territory8 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Comment faire un topic/spoiler privé ?

Message par Milouze14 le Mar 24 Mai 2016 - 18:20

Salut Territory8,

@Territory8 a écrit:"visible qu'aux admins dans un premier temps", cela veut dire qu'on peut rendre visible ces spoilers aux autres membres/groupes ? Si oui comment faire ?

Oui mais il faut mieux passer par les IDs des membres que par les groupes car tu peux avoir des membres figurant dans le groupe 3 et que certains ne pourront pas avoir cet accès spécial:


Pour l'ajout du bouton:

Il faudra modifier la condition (if) ainsi:
Code:

if (_userdata["user_level"] ==1)
Code:
if(_userdata["user_level"] ==1||_userdata["user_id"] ==5||_userdata["user_id"] ==2)



Le groupe 1 admin et les membres ayant l'id 5 et 2 verront le bouton sur l'éditeur.

Le script dans sa totalité:
Code:
$(function(){
if(_userdata["user_level"] ==1||_userdata["user_id"] ==5||_userdata["user_id"] ==2)
$(function(){
$('<a class="sceditor-button" unselectable="on" title="Bouton spoiler">
<div unselectable="on" style="background-image:url(http://i86.servimg.com/u/f86/11/26/21/37/loop-s10.png)">Bouton spoiler</div></a>').insertAfter('a.sceditor-button.sceditor-button-faspoiler').click(function(){
$('#text_editor_textarea').sceditor("instance").insert('[spoiler="M14_spoilerAdmin"]VOTRE CONTENU[/spoiler]');
});})});


Pour l'affichage du spoiler pour tous les autres membres
Le if sera ainsi:
Code:

if (_userdata["user_level"] !==1||_userdata["user_id"] !==5||_userdata["user_id"] !==2)

Le script dans sa totalité:

Code:

$(function(){if (_userdata["user_level"] !==1||_userdata["user_id"] !==5||_userdata["user_id"] !==2)
$(function(){
$('dt span.genmed b:contains("M14_spoilerAdmin")').closest('dl').html('<dl class="codebox spoiler"><dt style="cursor: pointer;">Spoiler</dt>
<dd class="spoiler_closed">&nbsp;</dd><dd><div class="spoiler_content hidden">Contenu caché</div></dd></dl>');
})});




Si tu es certain pour tes groupes , tu peux modifier le user-id par user-level
Code:
if (_userdata["user_level"] !==1||_userdata["user_level"] !==2||_userdata["user_level"] !==3)

Donc groupe 1, groupe 2 et groupe 3.

a++


Milouze14
+ Hyperactif +

Masculin
Messages : 4564
Inscrit(e) le : 18/04/2005

http://www.milouze14.com/
Milouze14 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Comment faire un topic/spoiler privé ?

Message par Territory8 le Mer 25 Mai 2016 - 19:58

Merci pour vos réponses Milouze 14, cela m'a l'air de résoudre le problème, même si je n'ai pas encore testé le code.
Je reviendrai en cas de besoin,
A bientôt et bonne journée ! ^^

Territory8
Nouveau membre

Messages : 4
Inscrit(e) le : 22/05/2016

http://histoiredunmonde.forumofficiel.fr/
Territory8 a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum