[Risolto - GDRCD 5] Permessi e pannello gestione
[Risolto - GDRCD 5] Permessi e pannello gestione postato il 06/02/2017 20:02:02 nel forum programmazione, open source e hosting e modificato da damnedqueen89 il 09/02/2017 13:40:38
Sera a tutti, avrei bisogno del vostro aiuto per comprendere questo bug che non riesco a risolvere.La questione riguarda i permessi dello staff e la possibilità di vedere determinati comandi nel pannello della Gestione.Inizialmente nel file constant_values.inc.php le cariche dello staff erano così sistemate:
define('DELETED',-1);define('USER', 0);define('GUIDE', 1);define('GAMEMASTER', 2);define('GUILDMODERATOR', 3);define('RACEMODERATOR', 4);define('ORGMODERATOR', 5);define('MODERATOR', 6);define('SUPERUSER', 7);
Questo però causava la visualizzazione ai capirazza, capicorporazione e capiclan della bacheca Master nel forum.Ho cambiato quindi le cariche in questo modo:define('DELETED',-1);define('USER', 0);define('GUIDE', 1);define('GUILDMODERATOR', 2);define('RACEMODERATOR', 3);define('ORGMODERATOR', 4);define('GAMEMASTER', 5);define('MODERATOR', 6);define('SUPERUSER', 7);
Così da non permettere alle tre cariche citate prima di poter visualizzare la bacheca dei Master e fin qui va tutto bene, dove sta il problema? Il pannello gestione.Praticamente così facendo il capocorporazione (guildmoderator) non è più in grado di poter gestire la sua corporazione assumendo o licenziandone i membri e non viene proprio visualizzato il link per poter accedere quindi alla pagina.Nel file config.inc il passaggio per le gilde è stato strutturato così (copio giusto la parte "incriminata":$PARAMETERS['administration_page_name']='Gestione'; $PARAMETERS['administration']['image_file']=''; if ($_SESSION['permessi']==GAMEMASTER){ $PARAMETERS['administration']['exp']['text']='Assegna esperienza'; $PARAMETERS['administration']['exp']['url']='main.php?page=esperienzamultipla'; $PARAMETERS['administration']['exp']['access_level']=GAMEMASTER; $PARAMETERS['administration']['evn']['text']='Gestione Eventi'; $PARAMETERS['administration']['evn']['url']='main.php?page=gestione_eventi'; $PARAMETERS['administration']['evn']['access_level']=GAMEMASTER; } if ($_SESSION['permessi']==GUILDMODERATOR){ $PARAMETERS['administration']['guil']['text']='Amministra Corporazione'; $PARAMETERS['administration']['guil']['url']='main.php?page=servizi_adm_gilde'; $PARAMETERS['administration']['guil']['access_level']=GUILDMODERATOR; } if ($_SESSION['permessi']==ORGMODERATOR){ $PARAMETERS['administration']['clan']['text']='Amministra Clan'; $PARAMETERS['administration']['clan']['url']='main.php?page=servizi_adm_organizzazioni'; $PARAMETERS['administration']['clan']['access_level']=ORGMODERATOR; }
come posso far si che venga visualizzato il pannello per l'amministraizone della gilda?
Pagine → 1
06/02/2017 20:25:18 e modificato da rematore il 06/02/2017 20:26:46
Ciao, hai modificato la condizione sulla stampa della voce "gestione" nel menu? (riga 537 circa)
if ($_SESSION['permessi'] >= MODERATOR) { $PARAMETERS['menu']['backend']['text'] = 'Gestione'; $PARAMETERS['menu']['backend']['url'] = 'main.php?page=gestione'; $PARAMETERS['menu']['backend']['image_file'] = ''; $PARAMETERS['menu']['backend']['image_file_onclick'] = '';}
Questa condizione specifica che la voce gestione è visibile solo per gli utenti che hanno i permessi da moderatore in avanti. Visto e considerato che GUILDMODERATOR (tuo) ha grado 2 la modifica di questa condizione sicuramente risolverà qualcosa
06/02/2017 20:30:06
Ho dovuto riscaricare il pacchetto di GDRCD 5, quindi probabilmente mi perdo qualcosa, ma questo dovrebbe essere il pezzo originale del config:
$PARAMETERS['administration']['guilds']['text']='Gestione gilde e ruoli';$PARAMETERS['administration']['guilds']['url']='main.php?page=gestione_gilde';$PARAMETERS['administration']['guilds']['access_level']=SUPERUSER;
Il tuo invece riporta:$PARAMETERS['administration']['guil']['text']='Amministra Corporazione';$PARAMETERS['administration']['guil']['url']='main.php?page=servizi_adm_gilde';$PARAMETERS['administration']['guil']['access_level']=GUILDMODERATOR;
Prova quindi così:$PARAMETERS['administration']['guilds']['text']='Amministra Corporazione';$PARAMETERS['administration']['guilds']['url']='main.php?page=servizi_adm_gilde';$PARAMETERS['administration']['guilds']['access_level']=GUILDMODERATOR;
06/02/2017 20:41:30 e modificato da damnedqueen89 il 06/02/2017 20:45:24
Uhm la pagina di gestione è cliccabile a tutti perchè al suo interno ci sono le statistiche del sito e la visualizzazione dei nuovi iscritti della settimana. In base al permesso che tu hai puoi vedere i menù sottostanti del pannello gestione, difatti il pezzo di codice che ho copiato io parte proprio dall'inizio di esso.
/* PANNELLO GESTIONE */ $PARAMETERS['administration_page_name']='Gestione'; $PARAMETERS['administration']['image_file']=''; if ($_SESSION['permessi']==GAMEMASTER){ $PARAMETERS['administration']['exp']['text']='Assegna esperienza'; $PARAMETERS['administration']['exp']['url']='main.php?page=esperienzamultipla'; $PARAMETERS['administration']['exp']['access_level']=GAMEMASTER; $PARAMETERS['administration']['evn']['text']='Gestione Eventi'; $PARAMETERS['administration']['evn']['url']='main.php?page=gestione_eventi'; $PARAMETERS['administration']['evn']['access_level']=GAMEMASTER; } if ($_SESSION['permessi']==GUILDMODERATOR){ $PARAMETERS['administration']['guil']['text']='Amministra Corporazione'; $PARAMETERS['administration']['guil']['url']='main.php?page=servizi_adm_gilde'; $PARAMETERS['administration']['guil']['access_level']=GUILDMODERATOR; } if ($_SESSION['permessi']==ORGMODERATOR){ $PARAMETERS['administration']['clan']['text']='Amministra Clan'; $PARAMETERS['administration']['clan']['url']='main.php?page=servizi_adm_organizzazioni'; $PARAMETERS['administration']['clan']['access_level']=ORGMODERATOR; }
Così forse è più chiaro, ovvio che poi continua parlando del moderator eccetera ma quelli non sono stati toccati.EDIT per Maclay: ho provato a fare come hai detto tu ma non è cambiato nulla lo stesso. Le righe diciamo che io non le ho proprio toccate, quindi non so proprio spiegarmi il motivo.
09/02/2017 13:40:03
A furia di smanettare ho trovato il problema e ho risolto, ringrazio comunque tutti quelli che mi hanno dato una zampa <3
09/02/2017 17:30:33
Per curiosità, posso chiederti dov'era l'inghippo?
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!