[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!
Imperion ↗
Crossout ↗
The Coven ↗
New Orleans ↗
CRSED: F.O.A.D. ↗
War Thunder ↗