It is currently Sat 1 Oct 2016 - 14:06 - créer un forum

Faire apparaître bouton en fonction groupe ou variable

Skip to content

Post new topic Reply to topic Goto page: <  1, 2, 3  >

Faire apparaître bouton en fonction groupe ou variable
Author Message
cuisto


Joined: 26 Jan 2008
Posts: 157

PostPosted: Tue 22 Mar 2016 - 14:25    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

PublicitéSupprimer les publicités ?
Previous post review:

Guig Esprit du Sage wrote:
Si vous avez des groupes à adhésion automatique, c'est que vous les avez créé et donc vous pouvez les modifier.
Si le problème ne conserve qu'une seule sous-section, pour que vous préfériez avoir un groupe qui interdit ce dernier plutôt qu'un seul groupe qui lui donne l'accès, c'est que vous devez avoir une rotation énorme des membres.

Je ne savais pas qu'il y avait des forums xooit qui n'autorisent pas les permissions avancées, je croyais que tout les forums xooit avaient un panneau de configuration identique. C’est peut-être en rapport avec le thème?



j'ai bien sur accès aux permissions avancées, mais je vais réduire le problème plus simplement:

nous sommes dans un forum ouvert, tu t'inscris, tu peux poster, sauf dans certains sous forums ou l'accès se fait à la demande.
comment interdire a quelqu'un de poster dans ce cas la ? en gardant le forum ouvert ?
comme je le disais dans mon message précédent, ça implique de tout passer en mode privé ! et donc de donner des droits manuellement aux nouveaux.
Forum
Author Message
cuisto
Membre


Offline
Membre

Joined: 26 Jan 2008
Posts: 157
Point(s): 135
Moyenne: 0.86
Windows XP (ou plus ancien) Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Tue 22 Mar 2016 - 14:26    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

Kyosuke wrote:
cuisto wrote:
et pour des raisons de facilité avec le topic de test (le tien Wink,
je peux tout simplement interdire l'utilisation de ce thème en testant les groupes de la même façon, ?


Tu parles du thème mobile ?


yesse


Forum
Author Message
Kyosuke
Contributeurs


Offline
Contributeurs

Joined: 30 Mar 2009
Posts: 438
Niveau:
Point(s): 534
Moyenne: 1.22
Windows 8 ou 10 Chrome (ou l'un de ses dérivés : Chromium/Iron/...) Masculin

PostPosted: Tue 22 Mar 2016 - 15:21    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

Alors, premièrement il te faut supprimer les modifications effectuées dans le template VIEWTOPIC_BODY.TPL.

Dans un second temps, supprime cette ligne dans le template OVERALL_HEADER.TPL :

Code: Sélectionner - Agrandir
<script src="https://dl.dropboxusercontent.com/s/imptid1e5k9nw7w/xooitMobileCheck.js"></script>


pour finir, ajoute ceci juste avant </head> dans le template OVERALL_HEADER.TPL :

Code: Sélectionner - Agrandir
<script>
(function() {
   var checkPermissions = {
      /**
       * @type {Array} unauthorizedGroup Groupes non autorisés à répondre ou créer un nouveau sujet
       */
      unauthorizedGroups: ['Groupe non autorisé n°1', 'Groupe non autorisé n°2'],
      /**
       * Initialisation du script
       */
      init: function () {
         var url = document.location.protocol + '//' + document.location.hostname + '/groupcp.php?ajax=1';
         this.sendRequest(url, this.getGroups.bind(this));
      },
      /**
       * Récupère la liste des groupes du membre connecté
       * @param  {Object} response réponse de la requête AJAX
       */
      getGroups: function (response) {
         try {
            var temp       = document.createElement('div'), select;
            temp.innerHTML    = response.responseText;
            select          = temp.querySelector('select[name="g"]');
            if (select) {
               var groups    = select.options, regex, matches;
               if (groups) {
                  groups    = [].slice.call(groups);
                  regex    = /<([a-z][a-z0-9]*)\b[^>]*>(.*?)<\/\1>/;
                  groups.forEach(function(option, i) {
                     matches = option.outerHTML.match(regex);
                     if (matches) groups[i] = matches[2];
                     else groups.splice(i, 1);
                  });
                  this.groups = groups;
                  this.checkGroups();
               }
            }
         } catch (ex) {
            console && console.errror(ex);
         }
      },
      /**
       * Vérifie si le(s) groupe(s) du membre connecté fait partie des groupes non autorisés
       */
      checkGroups: function () {
         try {
            var unauthorized = false;
            this.groups.forEach(function (group) {
               this.unauthorizedGroups.some(function (unauthorizedGroup) {
                  if (group === unauthorizedGroup) unauthorized = true;
               }.bind(this));
            }.bind(this));
            if (unauthorized)
               this.hideReply();
            else
               this.injectXooitMobile();
         } catch (ex) {
            console && console.errror(ex);
         }
      },
      /**
       * Envoie une requête AJAX
       * @param  {String}   url      URL de la page de destination
       * @param  {Function} callback callback à lancer en cas de succès de la requête AJAX
       */
      sendRequest: function(url, callback) {
         new Ajax.Request(url, {
            method: 'get',
            onSuccess: function (response) {
               callback(response);
            },
            onFailure: function (error) {
               console && console.error(error);
            }
         });
      },
      /**
       * Cache les boutons "Nouveau" et "Répondre" ainsi que la réponse rapide
       */
      hideReply: function() {
         if (this.checkMatch(/\/t[\d]+|\/f[\d]+/)) {
            var buttons = document.querySelectorAll('a[href*="?mode=newtopic"], a[href*="?mode=reply"]');
            for (var i = 0; i < buttons.length; i++) {
               if (buttons[i].style !== 'none')
                  buttons[i].style.display = 'none';
            }
         }
         if (this.checkMatch(/\/t[\d]+/)) {
            var quickReply = document.querySelector('div#quickreply');
            if (quickReply) {
               while ((quickReply.parentNode)) {
                  quickReply = quickReply.parentNode;
                  if (quickReply.tagName === 'TABLE') {
                     quickReply = quickReply.parentNode.parentNode;
                     if (quickReply.tagName === 'TR') {
                        quickReply.nextSiblings('tr')[0] && quickReply.nextSiblings('tr')[0].remove();
                        quickReply.nextSiblings('tr')[0] && quickReply.nextSiblings('tr')[0].remove();
                        quickReply.remove();
                     }
                     break;
                  }
               }
            }
         }
         if (this.checkMatch(/\?mode=newtopic|\?mode=reply/)) {
            document.location.href = document.location.protocol + '//' + document.location.hostname;
         }
      },
      /**
       * Test d'expression régulière
       * @return {Boolean} vrai ou faux
       */
      checkMatch: function(regExp) {
         var location    = document.location.href,
            match       = false;
         if (location.match(regExp)) match = true;
         return match;
      },
      /**
       * Insertion du script xooitMobile
       */
      injectXooitMobile: function() {
         var script = document.createElement('script');
         script.setAttribute('src', 'https://dl.dropboxusercontent.com/s/imptid1e5k9nw7w/xooitMobileCheck.js');
         document.querySelector('head').appendChild(script);
      }
   };
   <!-- IF S_USER_LOGGED_IN -->
   document.addEventListener('DOMContentLoaded', checkPermissions.init.bind(checkPermissions));
   <!-- ELSE -->
   document.addEventListener('DOMContentLoaded', checkPermissions.injectXooitMobile.bind(checkPermissions));
   <!-- ENDIF -->
})();
</script>


et comme précédemment, ajoute les groupes non autorisés.

Les boutons "nouveau" et "répondre" seront cachés, la réponse rapide sera cachée, le membre du ou des groupes non autorisés qui tente de créer un nouveau sujet ou de répondre à un sujet existant sera redirigé vers l'index du forum et il n'aura pas accès au thème mobile.

Étant donné que c'est basé sur du JavaScript, il est très facile de le contourner, mais pour une grande majorité d'utilisateurs, cela fera l'affaire.
_______________________


Forum
Author Message
cuisto
Membre


Offline
Membre

Joined: 26 Jan 2008
Posts: 157
Point(s): 135
Moyenne: 0.86
Windows XP (ou plus ancien) Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Tue 22 Mar 2016 - 16:13    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

encore du tout fait Wink superbe, merci
je sentais bien que ça allait passer sur le overall header, je teste ça dans la journée.

petite question, je désespère de trouver une doc sur les templates !
les variables, les conditions etc (USER_LOGGED_IN , <!-- IF) etc
je n'ai peut être pas les bon mots clefs, mais je ne trouve rien sur phpbb2


Forum
Author Message
Kyosuke
Contributeurs


Offline
Contributeurs

Joined: 30 Mar 2009
Posts: 438
Niveau:
Point(s): 534
Moyenne: 1.22
Windows 8 ou 10 Chrome (ou l'un de ses dérivés : Chromium/Iron/...) Masculin

PostPosted: Tue 22 Mar 2016 - 17:02    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

Notre ami RotorMan a rédigé une liste sur le forum d'entraide :

http://xooit.xooit.com/t73463-Lexique-Variables-fonctions-les-plus-utilis-e…

Jeapper a également créé un sujet :

http://xooit.xooit.com/t34974-Les-variables-de-templates.htm
_______________________


Forum
Author Message
cuisto
Membre


Offline
Membre

Joined: 26 Jan 2008
Posts: 157
Point(s): 135
Moyenne: 0.86
Windows XP (ou plus ancien) Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Tue 22 Mar 2016 - 17:13    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

merci,
j'avais loupé celui de rotorman.
on peut tester sur une partie d'une variable ? debut du sujet par ex ?


Forum
Author Message
Kyosuke
Contributeurs


Offline
Contributeurs

Joined: 30 Mar 2009
Posts: 438
Niveau:
Point(s): 534
Moyenne: 1.22
Windows 8 ou 10 Chrome (ou l'un de ses dérivés : Chromium/Iron/...) Masculin

PostPosted: Tue 22 Mar 2016 - 17:37    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

cuisto wrote:
on peut tester sur une partie d'une variable ? debut du sujet par ex ?


Je ne comprends pas ta question, sur une partie d'une variable, c'est à dire ? Smile
_______________________


Forum
Author Message
cuisto
Membre


Offline
Membre

Joined: 26 Jan 2008
Posts: 157
Point(s): 135
Moyenne: 0.86
Windows XP (ou plus ancien) Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Tue 22 Mar 2016 - 17:42    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

si une variable contient par ex "contenu"
je peux ne tester que les 2 premiers caractères par ex ? "co "

un truc de ce genre par ex
<!IF VARIABLE(0,2) == "co" -->


Forum
Author Message
Kyosuke
Contributeurs


Offline
Contributeurs

Joined: 30 Mar 2009
Posts: 438
Niveau:
Point(s): 534
Moyenne: 1.22
Windows 8 ou 10 Chrome (ou l'un de ses dérivés : Chromium/Iron/...) Masculin

PostPosted: Tue 22 Mar 2016 - 17:51    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

cuisto wrote:
si une variable contient par ex "contenu"
je peux ne tester que les 2 premiers caractères par ex ? "co "


Malheureusement non.

JEAPPER wrote:
Vous pouvez utiliser les signes suivants dans les <!-- IF … -->:
a == b (a égal à b)
a != b (a est différent de b). Synonyme: <>
a > b (a est plus grand que b). <, <=, >= fonctionnent aussi.
a > b && a > c (&& veut dire et)
a > b || a > c (|| veut dire ou)
!a > b (le ! inverse le résultat. Si le résultat est oui, ça fait non)
a % 2 (le résultat est le reste de a divisé par 2. Ça donne 1 par exemple si a est égal à 5 dans ce cas, 5/2=2, et il reste 1.)
a+b-c*d/e (les signes +, -, *, et / peuvent être utilisés pour faire des opérations)
<<, >>, |, ^, &, ~ (opération binaires)
a is even (a est pair)
a is odd (a est impair)
(a > 2 && b > 3) || (a > 3) (Les parenthèses fonctionnent)

_______________________


Forum
Author Message
cuisto
Membre


Offline
Membre

Joined: 26 Jan 2008
Posts: 157
Point(s): 135
Moyenne: 0.86
Windows XP (ou plus ancien) Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Tue 22 Mar 2016 - 18:02    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

okay merci pour tout,
je teste et te dis quand Wink


Forum
Author Message
Guig Esprit du Sage
Membre


Offline
Membre

Joined: 06 Feb 2015
Posts: 35
Niveau:
Point(s): 35
Moyenne: 1.00
Windows Vista ou 7 Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Tue 22 Mar 2016 - 23:12    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

1°) Si actuellement, l'accès à tout les forums par les personnes inscrites, est dû aux permissions de forums (c.a.d permission réglé sur "membres" dans messages --> permissions), alors il n'y a que les forums où vous voulez un accès restreint qui doivent passer en privé.

2°) Si actuellement, l'accès de votre forum est donné via un groupes à accès automatique aux inscrits (dans utilisateurs --> liste des groupes), alors c’est ce groupe qui a trop de droits.

3°) Si comme je le soupçonne, vous avez fait les deux à la fois, c'est normal que vous ne vous en sortiez pas et que vous vous retrouviez avec une usine à gaz, les deux façons de faire sont redondantes, enlever les droits d'un côté ne sers à rien vu qu'ils sont donnés aussi de l'autre.
Dans ce cas là, le plus simple, c'est carrément supprimer ce groupe à accès automatique, car il ne sers à rien.
Au pire, si vous voulez que les utilisateurs soient dans un groupe "pour faire joli", l’appartenance au groupe étant alors une simple récompense, vous en recréez un avec les mêmes conditions d'accès dans la foulée. Par défaut ce groupe aura 0 permissions, il n'aura donc aucun impact sur les droits d'utilisateurs.

Ceci n'est à faire qu'une seule fois, 15 minutes et c'est réglé.

Puis de toute façon, à la fin, il te faut un groupe qui va soit donner les droits aux forums d'accès restreint (façon normale) soit les enlever (si u fait comme tu veux le faire avec du code ). Où il te faudra y ajouter où enlever des membres. Peut importe dans quel sens c'est, cela te fera le même nombre de membre à changer de status par jour ou par semaine.

Franchement, combien de temps ça t'as pris de temps rien qu'en recherche pour essayer de faire les choses dans le sens contraire à ce que l'outil est prévu pour?
Sans compter que tu doit faire appel à une personne externe, qui te ponds gentiment du code sur son temps libre (Kyosuke) que ensuite tu risque être amené à modifier plus tard et avec personne comme admin capable de s'en occuper?


Forum
Author Message
cuisto
Membre


Offline
Membre

Joined: 26 Jan 2008
Posts: 157
Point(s): 135
Moyenne: 0.86
Windows XP (ou plus ancien) Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Wed 23 Mar 2016 - 09:49    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

@Kyosuke
ca marche, merci encore
le seul pb est que le modérateur du groupe est automatiquement puni, je vais creer un groupe d'autorisation pour lui, a moins que je puisse trouver son nom ?

@Guig

tu sais, c'est bien gentil de dire que c'est mal fait et qu'on fait n'importe quoi, mais essaye de comprendre les problèmes que nous avons pour la gestion et les questions posées.
Au lieu de supposer la facon dont le forum est fait, en etant un poil a coté de la plaque, si tu m'explique comment garder un forum ouvert : tu t'inscris tu peux poster sans aucune intervention et pouvoir empêcher le même membre de poster a un instant T en l’inscrivant dans un groupe, je suis ton homme. pour l'instant tu n'explique pas commet faire et tu ne fait que critiquer.

sinon le temps cherché pour compenser quelque chose qui n'est pas possible sur xooit mais possible sur un autre forum, m'a permis de trouver pas mal de choses, m'a instruit, Kyosuke a pondu le code, je l'en remercie et il me semble que ça le regarde, il m'aurait donner le moyen de faire, je l'aurai pondu aussi (en bcp plus de temps je l'avoue) .Il est d'ailleurs intégré, modifié et amélioré pour d'autres besoins.
et quand les admins auront des problémes, je serais la pour les aider.


Forum
Author Message
Guig Esprit du Sage
Membre


Offline
Membre

Joined: 06 Feb 2015
Posts: 35
Niveau:
Point(s): 35
Moyenne: 1.00
Windows Vista ou 7 Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Wed 23 Mar 2016 - 17:02    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

J'essaye de donner un solution le plus possible standard et pérenne au problème que j'ai compris que vous avez, en fonction des explications que tu as donné.

Alors, effectivement si vous voulez absolument donner automatiquement, les droits de poster dans les, comme tu l'a dit, quelques forums d'accès restreint que vous avez, puis ensuite, au cas par cas, revenir en arrière après coup, là je ne sais pas faire.


Forum
Author Message
cuisto
Membre


Offline
Membre

Joined: 26 Jan 2008
Posts: 157
Point(s): 135
Moyenne: 0.86
Windows XP (ou plus ancien) Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Wed 23 Mar 2016 - 18:25    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

voila, c'est bien ce que je dis depuis le début Wink ça n'est pas possible.
c'est "malheureusement" possible sur les autres forums, et "trop simple" ici


Forum
Author Message
cuisto
Membre


Offline
Membre

Joined: 26 Jan 2008
Posts: 157
Point(s): 135
Moyenne: 0.86
Windows XP (ou plus ancien) Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Wed 30 Mar 2016 - 18:31    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

concernant le code de Kyosuke

Code: Sélectionner - Agrandir
    <script>
    (function() {
       var checkPermissions = {
          /**
           * @type {Array} unauthorizedGroup Groupes non autorisés à répondre ou créer un nouveau sujet
           */
          unauthorizedGroups: ['Groupe non autorisé n°1', 'Groupe non autorisé n°2'],
          /**
           * Initialisation du script
           */
          init: function () {
             var url = document.location.protocol + '//' + document.location.hostname + '/groupcp.php?ajax=1';
             this.sendRequest(url, this.getGroups.bind(this));
          },
          /**
           * Récupère la liste des groupes du membre connecté
           * @param  {Object} response réponse de la requête AJAX
           */
          getGroups: function (response) {
             try {
                var temp       = document.createElement('div'), select;
                temp.innerHTML    = response.responseText;
                select          = temp.querySelector('select[name="g"]');
                if (select) {
                   var groups    = select.options, regex, matches;
                   if (groups) {
                      groups    = [].slice.call(groups);
                      regex    = /<([a-z][a-z0-9]*)\b[^>]*>(.*?)<\/\1>/;
                      groups.forEach(function(option, i) {
                         matches = option.outerHTML.match(regex);
                         if (matches) groups[i] = matches[2];
                         else groups.splice(i, 1);
                      });
                      this.groups = groups;
                      this.checkGroups();
                   }
                }
             } catch (ex) {
                console && console.errror(ex);
             }
          },
          /**
           * Vérifie si le(s) groupe(s) du membre connecté fait partie des groupes non autorisés
           */
          checkGroups: function () {
             try {
                var unauthorized = false;
                this.groups.forEach(function (group) {
                   this.unauthorizedGroups.some(function (unauthorizedGroup) {
                      if (group === unauthorizedGroup) unauthorized = true;
                   }.bind(this));
                }.bind(this));
                if (unauthorized)
                   this.hideReply();
                else
                   this.injectXooitMobile();
             } catch (ex) {
                console && console.errror(ex);
             }
          },
          /**
           * Envoie une requête AJAX
           * @param  {String}   url      URL de la page de destination
           * @param  {Function} callback callback à lancer en cas de succès de la requête AJAX
           */
          sendRequest: function(url, callback) {
             new Ajax.Request(url, {
                method: 'get',
                onSuccess: function (response) {
                   callback(response);
                },
                onFailure: function (error) {
                   console && console.error(error);
                }
             });
          },
          /**
           * Cache les boutons "Nouveau" et "Répondre" ainsi que la réponse rapide
           */
          hideReply: function() {
             if (this.checkMatch(/\/t[\d]+|\/f[\d]+/)) {
                var buttons = document.querySelectorAll('a[href*="?mode=newtopic"], a[href*="?mode=reply"]');
                for (var i = 0; i < buttons.length; i++) {
                   if (buttons[i].style !== 'none')
                      buttons[i].style.display = 'none';
                }
             }
             if (this.checkMatch(/\/t[\d]+/)) {
                var quickReply = document.querySelector('div#quickreply');
                if (quickReply) {
                   while ((quickReply.parentNode)) {
                      quickReply = quickReply.parentNode;
                      if (quickReply.tagName === 'TABLE') {
                         quickReply = quickReply.parentNode.parentNode;
                         if (quickReply.tagName === 'TR') {
                            quickReply.nextSiblings('tr')[0] && quickReply.nextSiblings('tr')[0].remove();
                            quickReply.nextSiblings('tr')[0] && quickReply.nextSiblings('tr')[0].remove();
                            quickReply.remove();
                         }
                         break;
                      }
                   }
                }
             }
             if (this.checkMatch(/\?mode=newtopic|\?mode=reply/)) {
                document.location.href = document.location.protocol + '//' + document.location.hostname;
             }
          },
          /**
           * Test d'expression régulière
           * @return {Boolean} vrai ou faux
           */
          checkMatch: function(regExp) {
             var location    = document.location.href,
                match       = false;
             if (location.match(regExp)) match = true;
             return match;
          },
          /**
           * Insertion du script xooitMobile
           */
          injectXooitMobile: function() {
             var script = document.createElement('script');
             script.setAttribute('src', 'https://dl.dropboxusercontent.com/s/imptid1e5k9nw7w/xooitMobileCheck.js');
             document.querySelector('head').appendChild(script);
          }
       };
       <!-- IF S_USER_LOGGED_IN -->
       document.addEventListener('DOMContentLoaded', checkPermissions.init.bind(checkPermissions));
       <!-- ELSE -->
       document.addEventListener('DOMContentLoaded', checkPermissions.injectXooitMobile.bind(checkPermissions));
       <!-- ENDIF -->
    })();
    </script>


et qui peut être résumé a ceci :

Code: Sélectionner - Agrandir
    (function () {
      var checkPermissions = {         
        unauthorizedGroups: ['Groupe non autorisé n°1','Groupe non autorisé n°2'],
        init: function () {},
        getGroups: function (response) { },
        sendRequest: function (url, callback) {},
        checkMatch: function (regExp) {}
      };
      document.addEventListener('DOMContentLoaded', checkPermissions .init.bind(checkPermissions ));
    }) ();



ce code est appelé lors du "DOMContentLoaded", mais je voudrais pouvoir l'appeler dans du code javascript
je ne suis pas familier avec sa syntaxe, quelqu'un sait comment je peux l'appeler ou comment je dois le modifier pour pouvoir l’appeler ?

merci a vous


Forum
Author Message
cuisto
Membre


Offline
Membre

Joined: 26 Jan 2008
Posts: 157
Point(s): 135
Moyenne: 0.86
Windows XP (ou plus ancien) Firefox (ou l'un de ses dérivés : Minefield/Pale Moon/...) Masculin

PostPosted: Fri 1 Apr 2016 - 20:59    Post subject: Faire apparaître bouton en fonction groupe ou variable Reply with quote

personne ne sait faire ?

Forum
Author Message
Contenu Sponsorisé





PostPosted: Today at 14:06    Post subject: Faire apparaître bouton en fonction groupe ou variable

Display posts from previous:   
Reply to topic Page 2 of 3 Goto page: <  1, 2, 3  >




Portal | Index | Administration Panel | Create a forum | Free support forum | Free forums directory | Report a violation | Conditions générales d'utilisation
Propulsé par p h p B B © 2016 p h p B B Group |
 
© 2003-2013 Xooit.com - Contact - Mentions légales - CGU - Charte - CNIL : 1381401