SMItalia WebinWeb.net
24 Maggio 12, 12:53:20 *
Benvenuto, Visitatore. Per favore, effettua il login o registrati.
Hai perso la tua email di attivazione?

Login con username, password e lunghezza della sessione
News: SMItalia, la risposta Italiana a SMF
 
  Home   Forum   Help Login Registrati  
Pagine: [1]   Vai Giù
  Stampa  |  Bookmarks  
Autore Topic: Tracciamento utenti SMF  (Letto 97 volte)
0 Utenti e 2 Visitatori stanno guardando questo topic.
kasparh
Newbie
*
Offline Offline

Sesso: Maschile
Posts: 7



Guarda Profilo
« il: 17 Gennaio 12, 17:50:55 »

Ciao a tutti, sono un novizio del php e lo ammetto fin da subito.
Con alcuni amici abbiamo aperto un forum dove ci stiamo divertendo a discutere un pò.
Uno dei problemi più grossi è capire quali siano gli utenti validi e quelli meno validi.
A volte ti trovi con un sacco di utenti, dei quali però l'80 % ha meno di 10 messaggi.
Quando li degradi o li metti in warning cominciano gli mp, uno dopo l'altro con scuse varie che non sono stati molto presenti per i più disparati motivi, ma che torneranno presto a farsi vivi sul forum.
Stavo cercando qualcosa che mi aiutasse a capire che mi prende in giro (quasi tutti) e chi no, e gironzolando in internet ho trovato lo script che vedete in allegato e che non è una mod di SMF, ma si aggancia al database di SMF attraverso le estensioni SSI (se non ho capito male) e che fà comparire una maschera di ricerca, tramite cui cercare l'utente su cui si vuol fare qualche indagine.
Questo script è in grado di collegarsi al DB e restituire tutti i post VISITATI dall'utente (non quelli che ha scritto, cosa già possibile con SMF).
In questo caso credo vada a cercare il flag "topicseen" che viene impostato per singolo utente (quello per intenderci che fà comparire o no se abbiamo letto il topic) e poi restituisce l'elenco dei post visitati dall'utente.
Questo senza andare a toccare il forum SMF.
Lo trovo di un'utilità incredibile ai fini amministrativi, ma il tizio che l'ha scritto non lo si vede più e lo script ha qualche problema.
Il primo è l'autenticazione, non ho capito come fà, però permette solo agli admin di collegarsi.
O meglio ho trovato le righe di codice dove è implementata la funzione, che sono queste:

Citazione
// Set this to restrict access. Currently only admins are allowed.
   $isstaff = $context['user']['is_admin'];

adesso ho cambiato il codice da "is_admin" a "is_guest" per poterlo far girare senza essere amministratore.
Volevo però creare un gruppo di utenti a cui permettere l'uso di questo script senza dargli i privilegi di amministratore.
Qualche anima pia può darmi una mano ?  angel
Un'altro problema è la definizione di alcune variabili, dall'immagine allegata potete vedere che dà qualche errore sulla riga 61 , 74 e 101. Lo script sembra funzionare lo stesso, ma mi piacerebbe sistemarlo definitivamente.
Qualcuno che ha voglia di perderci una mezz'oretta e sistemarlo definitivamente ?
Un grazie in anticipo a tutti quelli che avranno voglia o tempo di aiutarmi
Loggato
Emanuele
Supporter
***
Offline Offline

Posts: 2.640

SMI Staff


Guarda Profilo
« Risposta #1 il: 17 Gennaio 12, 18:17:36 »

A volte ti trovi con un sacco di utenti, dei quali però l'80 % ha meno di 10 messaggi.
In tutti i forum che ho visto, la distribuzione è questa. Quindi la ritengo del tutto normale.
Di solito io guardo la data dell'ultimo accesso al forum, se è più vecchia di "tot" (6 mesei/1 anno) delete e passa la paura (se sono in giornata buona gli mando un pm per avvisare).

adesso ho cambiato il codice da "is_admin" a "is_guest" per poterlo far girare senza essere amministratore.
Tecnicamente così solo chi non è loggato può vedere questa pagina...onestamente non è cosa buona.
Almeno usa "is_mod" che restringe l'accesso ai moderatori.

Volevo però creare un gruppo di utenti a cui permettere l'uso di questo script senza dargli i privilegi di amministratore.
Un mod può essere:
Codice:
$isstaff = in_array(5, $context['groups']);
dove 5 lo sostituisci con l'id del gruppo che vuoi.
Per vedere l'id vai nella pagina dei gruppi, e guarda l'url del link "modifica" di fianco al gruppo che ti interessa.

Un'altro problema è la definizione di alcune variabili, dall'immagine allegata potete vedere che dà qualche errore sulla riga 61 , 74 e 101. Lo script sembra funzionare lo stesso, ma mi piacerebbe sistemarlo definitivamente.
Aggiungi
Codice:
$function = '';
appena prima di
Codice:
// download variables
Loggato

Se vedo "urgente" nell'oggetto rispondo il giorno dopo.
Se ricevo un PM per sollecitare rispondo due giorni dopo. (e chi mi manda il PM finisce nella ignore list)

Aiutateci ad aiutarvi: spiegate bene il vostro problema!! (no, "non funziona" non è una spiegazione!)
kasparh
Newbie
*
Offline Offline

Sesso: Maschile
Posts: 7



Guarda Profilo
« Risposta #2 il: 17 Gennaio 12, 18:51:45 »

ti ringrazio tantissimo della risposta. Gli errori che mi dava sulla home page sono spariti, ma la mod che mi hai indicato per l'autenticazione dell'utente non funziona:

Citazione
$isstaff = in_array(5, $context['groups']);

Ho provato inserendo anche il gruppo 1 (che è quello degli amministratori), ma il risultato lo vedi in allegato...  Sad
Loggato
Emanuele
Supporter
***
Offline Offline

Posts: 2.640

SMI Staff


Guarda Profilo
« Risposta #3 il: 17 Gennaio 12, 19:05:09 »

Sorry, dimenticato un pezzo:
$context['user']['groups']
Loggato

Se vedo "urgente" nell'oggetto rispondo il giorno dopo.
Se ricevo un PM per sollecitare rispondo due giorni dopo. (e chi mi manda il PM finisce nella ignore list)

Aiutateci ad aiutarvi: spiegate bene il vostro problema!! (no, "non funziona" non è una spiegazione!)
kasparh
Newbie
*
Offline Offline

Sesso: Maschile
Posts: 7



Guarda Profilo
« Risposta #4 il: 17 Gennaio 12, 19:09:48 »

provato ad inserire la mod in questo modo:

Citazione
   $isstaff = in_array(1, $context['user']['groups']);

ma il risultato è lo stesso, mi dà sempre errore  Sad
Loggato
Emanuele
Supporter
***
Offline Offline

Posts: 2.640

SMI Staff


Guarda Profilo
« Risposta #5 il: 17 Gennaio 12, 19:30:11 »

Codice:
global $user_info;

// Set this to restrict access. Currently only admins are allowed.
$isstaff = in_array(1, $user_info['groups']);
* Emanuele preferiva l'altro metodo, ma groups viene caricato in context solo in un caso particolare... Undecided
Loggato

Se vedo "urgente" nell'oggetto rispondo il giorno dopo.
Se ricevo un PM per sollecitare rispondo due giorni dopo. (e chi mi manda il PM finisce nella ignore list)

Aiutateci ad aiutarvi: spiegate bene il vostro problema!! (no, "non funziona" non è una spiegazione!)
kasparh
Newbie
*
Offline Offline

Sesso: Maschile
Posts: 7



Guarda Profilo
« Risposta #6 il: 17 Gennaio 12, 20:02:04 »

così funziona alla grande, grazie dell'aiuto.
Davvero bravissimi
Allego il file definitivo tradotto per chi lo volesse usare per la propria board
Loggato
Pagine: [1]   Vai Su
  Stampa  |  Bookmarks  
 
Salta a:  


+ Thread Correlati o Similari
Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines | TinyPortal v0.9.7 © Bloc XHTML 1.0 Valido! CSS Valido!

Tutti i contenuti di SMItalia sono pubblicati secondo la licenza di utilizzo di Creative Commons, salvo diverse indicazioni. Lo Staff non assume alcuna responsabilità nel caso di eventuali errori contenuti negli articoli o di errori in cui fosse incorso nella loro riproduzione sul sito. Tutte le pubblicazioni su SMItalia avvengono senza eventuali protezioni di brevetti d'invenzione; inoltre, i nomi coperti da eventuale marchio registrato vengono utilizzati senza tenerne conto.

Pagina creata in 0.156 secondi con 25 queries.| ServerUptime: 289 days, 14 hours, 22 minutes