Ultima versione
Versione stabile:
3.1.5
 
Servizi
» Cerca
 
Cerca
Ricerca parole o frasi all’interno del sito.
 
Statistiche
Visite: 198053
 
Donazioni
Flatnuke e' software libero ed e' distribuito grautitamente. Se pensi che flatnuke ti sia stato in qualche modo di aiuto, puoi contribuire con una donazione libera:

Vuoi saperne di piu'?

 
Login





Non sei ancora registrato?
Registrati ora!
Recupera password
Choose your language:
deutsch english espa?ol fran?ais italiano portugu?s
 
Utenti
Persone on-line:
admins 0 amministratori
users 0 utenti
guests 2 ospiti
 
Netsons Ads

Forum



Benvenuto sconosciutoModifica profiloEntraAiuto 1106 utenti registrati

Navigazione:

[ Forum / Flatnuke / Flatnuke dev / revisione permessi visione sezione con view.php e level.php ]


UtenteMessaggio
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Venerdi 12 Aprile 2013 08:57:34

Ultima modifica di bebabi34 (Giovedi 25 Aprile 2013 20:57:49)

revisione permessi visione sezione con view.php e level.php

attualmente funziona così:
solo se ho il livello giusto posso vedere la sezione.
e se c'è un view.php devo comparire in esso.
problema:
se aggiungo un utente a view automaticamente escludo tutti gli altri.

secondo me invece dovrebbe essere il view ad avere precedenza sul level in modo che posso usare view per dare accesso a sezioni cui un utente non avrebbe accesso in base al livello, senza intaccare i permessi di tutti gli altri dello stesso livello.

il codice attuale è (siamo in functions.php)

//se non esistono ne' il file view.php ne' il file level.php
//e la funzione load_user_view_permissions() restituisce NULL
//allora non esistono restrizioni alla visione e l'utente puo' visualizzare
//la sezione indicata da $mod
if (!file_exists("sections/$mod/view.php") and !file_exists("sections/$mod/level.php")) return true;

//se il primo if restituisce false, ovvero se esistono restrizioni, allora devo
//controllare i permessi a livello utente.

//VERIFICARE BENE!
//controllo il livello
if (!file_exists("sections/$mod/level.php")) $level_ok = true;
else if (file_exists("sections/$mod/level.php") and $userlevel >= $sectlevel and versecid(get_username())) $level_ok = true;
else $level_ok = false;

//controllo il permesso a livello utente
if (!file_exists("sections/$mod/view.php")) $user_ok = true;
else if (in_array($user,load_user_view_permissions($mod))) $user_ok = true;
else $user_ok = false;

//tiro le somme...
if ($level_ok == true and $user_ok == true) return true;
else return false;

return false;


tralasciando le ottimizzazioni possibili (per chiarezza)

//se non esistono ne' il file view.php ne' il file level.php
//e la funzione load_user_view_permissions() restituisce NULL
//allora non esistono restrizioni alla visione e l'utente puo' visualizzare
//la sezione indicata da $mod
if (!file_exists("sections/$mod/level.php")) return true; // basta che non esista level per poter vedere la sezione.
// se voglio restringere l'accesso devo impostare perlomeno un level 0


//se il primo if restituisce false, ovvero se esistono restrizioni, allora devo
//controllare i permessi a livello utente.

//VERIFICARE BENE!
//controllo il livello
if ($userlevel >= $sectlevel and versecid(get_username())) $level_ok = true; // controllo soltanto il livello

else $level_ok = false;

//controllo il permesso a livello utente
if (file_exists("sections/$mod/view.php") and in_array($user,load_user_view_permissions($mod))) // se esiste view e contiene l'utente
$user_ok = true; // l'utente è autorizzato esplicitamente
else // altrimenti (non esiste view, o esiste ma non contiene l'utente)
$user_ok = false; // l'utente NON è autorizzato esplicitamente

//tiro le somme...
if ($level_ok == true) return true; // se ha il livello adeguato, vede e basta
else if ($user_ok == true) return true; // altrimenti deve essere autorizzato esplicitamente
else return false; // altrimenti (non ha il livello nè è esplicitamente autorizzato
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Mercoledi 19 Giugno 2013 10:23:02

Re: revisione permessi visione sezione con view.php e level.php

prima di fare questa modifica, devo controllare bene il funzionamento (e soprattutto dove e come viene utilizzata) load_user_view_permissions.
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Mercoledi 19 Giugno 2013 13:12:35

Re: revisione permessi visione sezione con view.php e level.php

ho deciso per il momento di non applicare questa modifica. siccome personalmente non uso view.php ma soltanto level.php, non mi sembra il caso di rovinare i settaggi di utenti che invece lo usa intensivamente.

poi si era anche parlato di gruppi, quindi tutto il discorso dei privilegi è da concordare.

una volta stabilito qual è il sistema preferito di gestione dei permessi e quali criteri di priorità deve seguire, si potrà passare ad eventuali modifiche tecniche.

resta quindi la precedenza al file view.php mentre in sua assenza viene usato il level.php.

quanto al file edit.php penso funzioni correttamente adesso in quanto level.php non influisce sui permessi di modifica se non per il valore 10 del "master of known universe".


print

Freely inspired to Mollio template