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 :
- Installation Semi-Automatique :
- téléchargez cette archive : Merci de vous Connecter/S'inscrire pour voir les liens.
- Placez le fichier install.php a la racine de votre site ( avec les dossiers admin/controleur/include etc )
- Allez sur l'URL : Merci de vous Connecter/S'inscrire pour voir les liens.
- Vous devrez tomber sur une page complètement blanche ou sur votre site ( ça dépend )
- Dirigez vous vers le fichier admin.php situer a la racine
- Trouvez la ligne :
remplacez lePHP:if(isset($_SESSION['Player']['pseudo']) AND $_SESSION['Player']['rang'] == 1)
parPHP:$_SESSION['Player']['rang'] == 1
PHP:is_permitted($_SESSION['Player']['pseudo'], $bddConnection, 'PAC')
- Fermer le fichier et dirigez vous vers le admin/action.php
- A la ligne :
remplacez le $_Joueur_['rang'] == 1 par $_Joueur_['rang'] > 0 ( c'est une sécurité )PHP:if(isset($_GET['action']) AND isset($_Joueur_['rang']) AND $_Joueur_['rang'] == 1)
- Ouvrez le fichier : theme/votre_theme/entete.php et cherchez la ligne qui est en fin de fichier
remplacez la parPHP:if($_Joueur_['rang'] == 1)
PHP:if(is_permitted($_Joueur_['pseudo'], $bddConnection, 'PAC')
- Fermez et allez sur le fichier theme/votre_theme/pages/support.php
- Plusieurs modification sur cette page : vers la ligne 81
remplacez le $_Joueur_['rang'] == 1 parPHP:<?php if($_Joueur_['rang'] == 1){ echo '<th style="width: 20px;text-align: center;">
PHP:is_permitted($_Joueur_['pseudo'], $bddConnection, 'PET')
- Ligne environ 116
remplacez la même chose que précédemment parPHP:<?php if($_Joueur_['rang'] == 1) { ?>
PHP:is_permitted($_Joueur_['pseudo'], $bddConnection, 'PET')
- Et enfin si vous avez le script de suppression de commentaire : ligne 163
remplacez toujours le $_Joueur_['rang'] == 1 parPHP:<?php if($_Joueur_['rang'] == 1) { ?><div style="text-align: right;">
PHP:is_permitted($_Joueur_['pseudo'], $bddConnection, 'PRC')
- Enregistrez et fermer PFIOU
- Allez dans admin/page/membre.php et remplacez ceci :
par :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>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
} ?>- Allez dans admin/actions/modifierMembre.php
- Supprimez cette ligne :
PHP:if($rang == 'Administrateur') { $rang = 1; } else { $rang = 0; }
- Fermez et enfin allez dans theme/votre_theme/pages/profil.php
- Remplacez :
parPHP:<?php echo $gradeSite; ?>
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']; ?>
- Et voilà normalement c'est fini x)
- Installation Semi-Manuelle :
Pensez à me rapportez vos bugs je viendrais les régler
- téléchargez l'archive
- Placez les fichiers de creer_grade/admin ( modif_grade.php, remove_grade.php create_grade.php ) dans admin/actions
- les modals.php et panel.php dans admin/
- et le permissions.php dans admin/pages
- Placez le creer_grade/controleur/ticketEtat.php de l'archive dans controleur/support
- et le modele/permissions.php dans modele/joueur
- Allez dans votre base de donnée et importer le fichier cmw_permissions.sql : Merci de vous Connecter/S'inscrire pour voir les liens.
- puis suivez le tuto de la partie semi-automatique a partir de l'étape 5. !!!
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
Script Plus de grade sur votre site :) 2.0
grade, cmw, lekydev', florentlife, moderateur, architecte
Recent Updates
- Fix bugs | Changement du système | Ajout de permission | Version 2.0 7 Septembre 2016