[GDRCD 5.3] (Risolto) - Comando Invisibile/Visibile in Presenti
[GDRCD 5.3] (Risolto) - Comando Invisibile/Visibile in Presenti postato il 30/06/2022 16:41:52 nel forum programmazione, open source e hosting e modificato da staff shadowland il 04/07/2022 09:26:52
Ho cercato in forum sperando di trovare una soluzione ma non ne sono venuta a capo.
Vorrei provare a fare in modo che dalla lista presenti, i Master con il permesso di diventare invisibili (e che dunque spariscono dai presenti) siano invece visibili per l'account di Gestione che invece deve risultare non visibile per tutti.
Nella pagina presenti credo bisogna intervenire alla voce "Stampo il Pg"
Ho provato in questa maniera (di sicuro ci sono errori o non è il metodo giusto ma come sapete, non sono un programmatore)
if(($_SESSION['permessi']>=SUPERUSER) && ($record['is_invisible']==1)||($record['nome']==$_SESSION['login'])){
In questo modo però ci sono due Bug. Il Gestore è invisibile per tutti e riesce a vedere gli account Master invisibili ma...
- La lista presenti visualizzata dagli utenti si svuota.
- Per tutti gli utenti, il Master non compare mai nella lista dei presenti (che sia invisibile o meno) ma dalla lista presenti estesi viene visualizzato il luogo in cui si trova qualora si impostasse su "visibile".
Suggerimenti per cercare di implementare questa cosa o non ci sono speranze?
Spero di essere riuscita a spiegare la questione @.@
Grazie per l'attenzione ^.^
Pagine → 1
01/07/2022 00:11:58
A primo acchito, credo che l'errore sia proprio nella gestione delle parentesi dell'if statement che hai allegato.
Se ho ben capito il fine, dovrebbe essere così:
if($record['is_invisible'] == 1 && ($_SESSION['permessi'] >= SUPERUSER || $record['nome'] == $_SESSION['login'])){
// Codice
}
Potresti provare?
Kasa.
01/07/2022 09:39:26
Purtroppo si presenta il medesimo problema ç.ç
01/07/2022 12:21:22
if(($record['is_invisible'] == 1) || ($record['nome'] == $_SESSION['login'])){
// Codice
}
allora intanto vediamo cosi dovresti poter risolvere la questione dei master, prova e fammi sapere.
01/07/2022 12:38:34
darkblade ha scritto:
if(($record['is_invisible'] == 1) || ($record['nome'] == $_SESSION['login'])){
// Codice
}
allora intanto vediamo cosi dovresti poter risolvere la questione dei master, prova e fammi sapere.
è la medesima stringa che si ha nella pagina base dei presenti senza intervenirci, perciò no, non è ciò che vorrei provare a realizzare =(
01/07/2022 16:03:49 e modificato da darkblade il 01/07/2022 16:04:08
ho fatto un'altra prova, testata su un sito di prova, se ho capito bene:
if(($record['is_invisible']==0) || ($record['nomepg']==$_SESSION['login'])||($_SESSION['permessi']>=GAMEMASTER))
{
in pratica io l'ho testato e viene fuori che il giocatore non vede il master, ma il master vede il giocatore, avendo solo due browser ho provato solo 1 test master/pg.
01/07/2022 16:47:12
Farò dei test più approfonditi per vedere se ci sono dei bug ma ci siamo quasi! è già un grosso passo avanti! :D
Manca soltanto il fatto che i Master non dovrebbero vedere l'account del Super nella lista presenti se questi è invisibile, in sintesi il super può vedere tutti.
04/07/2022 09:26:27
Ringrazio chi mi ha aiutata a risolvere questa cosetta dei permessi.
Lascio la soluzione nel caso potesse servire ad altri.
P.s. Ho fatto qualche test ma non ho la certezza che funzioni al 100% poichè andrebbe controllata la lista presenti per gli utenti se hanno problemi di visualizzazione o meno.
if($_SESSION['permessi']>=SUPERUSER || $record['is_invisible']==0 || ($_SESSION['permessi']>=MODERATOR && $record['permessi'] < SUPERUSER) || ($record['nomepg']==$_SESSION['login'])){
04/07/2022 15:51:08 e modificato da kasa il 04/07/2022 16:16:55
if(
// Utenti in lista Visibili
$record['is_invisible']==0
||
// Utenti in lista NON Visibili
(
$record['is_invisible']==1
&&
(
// Utente Loggato è SUPERUSER
$_SESSION['permessi']>=SUPERUSER
||
// Utente in lista è MODERATOR
($_SESSION['permessi']>=MODERATOR && $record['permessi'] < SUPERUSER)
||
// Utente in lista è Utente loggato
($record['nomepg']==$_SESSION['login'])
)
)
){
// CODICE
}
Farei un controllo del genere, giusto per marcare meglio i casi in cui controlli un utente visibile e uno non visibile (ci sarebbero dei tab per migliorare la leggibilità del codice, ma purtroppo non vengono presi dal tag code).
Per il resto, funziona.
Kasa.
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!
Tibia ↗
Neverness to Everness ↗
RAID Shadow Legends ↗
War Thunder ↗
Exclusive Villa GdR ↗
Raja Dunia ↗
World of the Sea Battle ↗
Crossout ↗