1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Script Plus de grade sur votre site :) 2.0

grade, cmw, lekydev', florentlife, moderateur, architecte

  1. Florentlife
    Hey,

    Après un petit moment sans mise à jours sur ce script en voici une qui changera TOUT !
    ( vous pouvez encore sauter les trucs en vert )

    Fonctionnement :

    Ce nouveau système s'appuie sur une table dans votre base de donnée, celle ci à une structure comprenant :
    - Une colonne / permission
    - Une colonne nom pour nommer votre grade
    - Une colonne id_grade qui représentera la valeur du rang de la personne ( la fameuse variable $_SESSION['Player']['rang'] )

    Le script repose donc sur une création de différent grade stocker dans la table précédente avec pour les permissions une valeur de 1 si on est autorisé sinon 0. Ensuite viens une fonction dont le prototype est :
    is_permitted($pseudo, $bdd, $perm); qui vérifie :
    1. le rang du pseudo indiquer
    2. Execute une requête SQL pour récupérer les permissions de ce rang
    3. Vérifie si le pseudo possède la permission demandé en 3eme argument.

    Liste des permissions et abréviations utiliser dans la table et pour le is_permitted :

    • PAC : Permission d'accès Panel
      • ( sous permissions ) PAG : Permissions d'accès à la page générale
      • PAT : "" thèmes
      • PAA: ""Accueil
      • PARS : "" Réglages Serveur
      • PAP : "" Pages
      • PAN : "" News
      • PAB "" Boutique
      • ( si vous avez le script de stats créer par moi-même ) : PAS : "" statistiques
      • PAPAYE : "" Payement
      • PAM : "" Menus
      • PAV : "" Voter
      • PAMEM : "" Membres
      • PAW : "" Widgets
      • PASU : "" Support
      • PAMA : "" Maintenance
      • PAPER : "" Permissions ( nouvelle pages créer par le script )
      • PAMI : "" Mise a jours
    • PRC : Permission de Remove de Commentaire ( si vous avez le script )
    • PET : Permission Edit Ticket ( ouvrir/fermer un ticket support )

    ATTENTION !!! : Les grades avec permissions ont un id de rang POSITIF CONTRAIREMENT au grade n'ayant pas de permissions ( comme les Joueurs, VIP ou VIP+ ) qui ont un id de rang NEGATIF OU NUL !!! L'id de rang est fournit a titre indicatif. IL EST FORTEMENT DECONSEILLER DE LE MODIFIER !!!

    Installation :
    1. Installation Semi-Automatique :
      1. téléchargez cette archive : Merci de vous Connecter/S'inscrire pour voir les liens.
      2. Placez le fichier install.php a la racine de votre site ( avec les dossiers admin/controleur/include etc )
      3. Allez sur l'URL : Merci de vous Connecter/S'inscrire pour voir les liens.
      4. Vous devrez tomber sur une page complètement blanche ou sur votre site ( ça dépend )
      5. Dirigez vous vers le fichier admin.php situer a la racine
      6. Trouvez la ligne :
        PHP:
        if(isset($_SESSION['Player']['pseudo']) AND $_SESSION['Player']['rang'] == 1)
        remplacez le
        PHP:
        $_SESSION['Player']['rang'] == 
        par
        PHP:
         is_permitted($_SESSION['Player']['pseudo'], $bddConnection'PAC')
      7. Fermer le fichier et dirigez vous vers le admin/action.php
      8. A la ligne :
        PHP:
        if(isset($_GET['action']) AND isset($_Joueur_['rang']) AND $_Joueur_['rang'] == 1)
        remplacez le $_Joueur_['rang'] == 1 par $_Joueur_['rang'] > 0 ( c'est une sécurité )
      9. Ouvrez le fichier : theme/votre_theme/entete.php et cherchez la ligne qui est en fin de fichier
        PHP:
         if($_Joueur_['rang'] == 1)
        remplacez la par
        PHP:
        if(is_permitted($_Joueur_['pseudo'], $bddConnection'PAC')
      10. Fermez et allez sur le fichier theme/votre_theme/pages/support.php
      11. Plusieurs modification sur cette page : vers la ligne 81
        PHP:
         <?php if($_Joueur_['rang'] == 1){ echo '<th style="width: 20px;text-align: center;">
        remplacez le $_Joueur_['rang'] == 1 par
        PHP:
        is_permitted($_Joueur_['pseudo'], $bddConnection'PET')
      12. Ligne environ 116
        PHP:
         <?php if($_Joueur_['rang'] == 1) { ?>
        remplacez la même chose que précédemment par
        PHP:
        is_permitted($_Joueur_['pseudo'], $bddConnection'PET')
      13. Et enfin si vous avez le script de suppression de commentaire : ligne 163
        PHP:
        <?php if($_Joueur_['rang'] == 1) { ?><div style="text-align: right;">
        remplacez toujours le $_Joueur_['rang'] == 1 par
        PHP:
        is_permitted($_Joueur_['pseudo'], $bddConnection'PRC')
      14. Enregistrez et fermer PFIOU :p
      15. Allez dans admin/page/membre.php et remplacez ceci :
        PHP:
        <select name="rang<?php echo $i?>" size="1" class="form-control">
        <option <?php if($membres[$i]['rang'] == 0) { echo 'selected'; }?>>Joueur
        <option <?php if($membres[$i]['rang'] == 1) { echo 'selected'; }?>>Administrateur
        </select>
        par :
        PHP:
        <?php 
        $req 
        $bddConnection->query('SELECT * FROM cmw_permissions ORDER BY id_grade');
        while(
        $data $req->fetch()) {
        ?>
        <option <?php if($data['id_grade'] == $membres[$i]['rang']) { echo 'selected'; } ?> value="<?php echo $data['id_grade']; ?>"><?php echo $data['nom']; ?></option><?php
        ?>
    2. Allez dans admin/actions/modifierMembre.php
    3. Supprimez cette ligne :
      PHP:
       if($rang == 'Administrateur') { $rang 1; } else { $rang 0; }
      • Fermez et enfin allez dans theme/votre_theme/pages/profil.php
      • Remplacez :
        PHP:
        <?php echo $gradeSite?>
        par
        PHP:
        <?php $req $bddConnection->prepare('SELECT nom FROM cmw_permissions WHERE id_grade = :rang'); $req->execute(array( 'rang' => $joueurDonnees['rang'] )); $grade $req->fetch(); echo $grade['nom']; ?>
    4. Et voilà normalement c'est fini x)
    • Installation Semi-Manuelle :
    1. téléchargez l'archive
    2. Placez les fichiers de creer_grade/admin ( modif_grade.php, remove_grade.php create_grade.php ) dans admin/actions
    3. les modals.php et panel.php dans admin/
    4. et le permissions.php dans admin/pages
    5. Placez le creer_grade/controleur/ticketEtat.php de l'archive dans controleur/support
    6. et le modele/permissions.php dans modele/joueur
    7. Allez dans votre base de donnée et importer le fichier cmw_permissions.sql : Merci de vous Connecter/S'inscrire pour voir les liens.
    8. puis suivez le tuto de la partie semi-automatique a partir de l'étape 5. !!!
    Pensez à me rapportez vos bugs ;) je viendrais les régler ;)

    Si la méthode semi-auto marche pas et que vous n'avez pas un nouvel onglet "Permissions" dans votre panel alors essayer la version semi-manuelle ;)

Recent Reviews

  1. GhostKiller76
    GhostKiller76
    5/5,
    Version: 2.0
    Fonctionne pour CraftMyWebsite 1.5.0 ?
    1. Florentlife
      Author's Response
      Je pense que oui :D a vérifier