Top commentatori del mese versione 1.1

di SimoneRodriguez il 1 ottobre 2007

in dBlog

topusers Una volta tanto rilascio un aggiornamento senza bugfix, sto decisamente migliorando.

Si tratta di un aggiornamento per il plugin (per dBlog) Top commentatori del mese che devo ammettere ha avuto un discreto successo, veniamo alla novità:

Nella precedente versione utilizzavo la mancanza del link dell’autore come discriminante per essere esclusi dalla classifica. Ciò era utile per esempio per autoescluderli ma ineffetti era scomodo ed insufficiente.

Scomodo perché molti webmaster/autori sono abituati ad inserire il link anche quando commentato nel proprio blog, e si sà le abitudini sono difficili da cambiare.

perché si potrebbe avere la necessità di escludere, a prescidere dalla presenza del link, uno o più nick specifici… magari per scoraggiare commenti spammosi o vero e proprio spam.

Eccovi accontentati: ho aggiunto una variabile in cui inserire i nick (separati da virgola) da escludere dalla classifica.

http://www.simonerodriguez.com/wp-content/plugins/downloads-manager/img/icons/download.png Download: Plugin dBlog Top commentatori (4.67KB)
Data: 14/09/2007
Click: 241
Descrizione:

Per l’installazione, oltre alle indicazioni presenti nello zip, vi rimando al primo articolo.

Per chi invece avesse già installato la versione 1.0 queste solo le semplici modifiche da apportare:

1. Aggiungere la seguente costante alle altre: Const Exclude = “”. Tra le virgolette vanno messi i nick (separati da virgola) da escludere. (Es. Const Exclude = “carlo,marco,maria rosaria”)

2. Sostituite la seguente riga:

SQLCommAutori = "SELECT TOP " & MaxTopUsers & ", commenti.Autore, commenti.Link, Count(commenti.Autore) AS conta FROM commenti GROUP BY commenti.Autore, commenti.Link, Mid([commenti.Data],5,2), commenti.Autore HAVING (((commenti.Link)<>'') AND ((CInt(Mid([commenti.Data],5,2)))=CInt(Month(Date())))) ORDER BY Count(commenti.Autore) DESC"

con questa:

If Exclude<>"" Then ExcludeTemp= Split(Exclude,",") For i=0 To Ubound(ExcludeTemp) ExcludeQueryPart = ExcludeQueryPart & "AND ((commenti.Autore)<>'" & ExcludeTemp(i) & "')" Next End If SQLCommAutori = "SELECT TOP " & MaxTopUsers & ", commenti.Autore, commenti.Link, Count(commenti.Autore) AS conta " &_ "FROM commenti " &_ "GROUP BY commenti.Autore, commenti.Link, Mid([commenti.Data],5,2), Mid([commenti.Data],1,4), commenti.Autore, commenti.Autore, commenti.Autore " &_ "HAVING (((commenti.Link)<>'') AND ((CInt(Mid([commenti.Data],5,2)))=CInt(Month(Date()))) AND ((CInt(Mid([commenti.Data],1,4)))=CInt(Year(Date()))) " & ExcludeQueryPart & ") " &_ "ORDER BY Count(commenti.Autore) DESC"

Niente di più semplice.

Sicuro che questa piccola modifica farà felici in molti, vi saluto!

UPDATE
Grazie a Gionni che me lo ha segnalato, ho scoperti un piccolo bug che faceva ripescare i commenti dello stesso mese ma degli anni precedenti! Cmq è stato già risolto.

Condividi:
  • Print
  • Digg
  • Diggita
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Netvibes
  • Twitter

Articoli correlati:

  1. Top Commentatori del mese, plugin per dBlog
  2. dBlog Mod Pukos: alcuni BugFix

{ 36 commenti… leggili aggiungine uno }

Gionni 1 ottobre 2007 alle 15:25

Inauguro i commenti con due note.
1. Non ci sono più i top 5 sul sito… o forse sono il primo del mese : - )
2. Probabile bug, non so se la nuova versione lo risolve, ma sul mio sito il top-user sbarella, mi va a ripescare i commentatori di… un anno fa!!!

SimoneRodriguez 1 ottobre 2007 alle 15:31

Riguardo alla mia classifica, esatto è vuota visto che siamo ad inizio mese.
Riguardo all’altro problema… c’hai proprio ragione visto che confronto solo il mese… ops!
Ritiro gli autocomplimenti che mi ero fatto.
5 minuti risolvo.

SimoneRodriguez 1 ottobre 2007 alle 15:42

Apposto. Riscaricate o sostituite la query.

Gionni 1 ottobre 2007 alle 15:54

Stasera me lo aggiorno.
Da questo deduco che il blog è giovincello?
Sai da cosa me ne sono accorto? Che sul mio sono spuntati commentatori quando ancora nessuno aveva commentato… e io stavo già a 5 commenti (nn mi autoescludo dalla lista, manie di protagonismo)

SimoneRodriguez 1 ottobre 2007 alle 16:35

Il blog è molto giovane: marzo 2007!
Anche io mio autoescludo, poi con la modifica di questa versione sarà ancora più facile farlo ; - )

acor3 1 ottobre 2007 alle 16:41

spammmmmm… ehehehe

SimoneRodriguez 1 ottobre 2007 alle 16:43

Sempre in cerca di link!!! Però l’hai messo male : - P
Vabbé, con calma te lo correggo a manina…

donachy 1 ottobre 2007 alle 22:31

Mmmhmmm…chissà chi ti avrà dato l’ida per questa mnodifica!!! 8 - ) : - D
E poi pensa che ero venuto proprio a scrivere del problema della Top di inizio mese, che mi dava lo stesso degli utenti… ; - )

webfruits 2 ottobre 2007 alle 15:28

Ciao Simone, ho installato il tuo plugin. Ho visto che sei passato da me, quindi mi hai preceduto e non ho fatto in tempo a dirti che ti avevo citato in un post e linkato nel blogroll. Mi sembra il minimo che si possa fare, considerando l’enorme lavoro che hai fatto per permettere a tutti di migliorare il proprio dBLog. : - ) Grazie… e complimenti!

SimoneRodriguez 2 ottobre 2007 alle 15:34

Ciao Sonia, felice di vederti qui.
Sei troppo buona, alla fine non faccio altro che mettere a disposizione quello che sviluppo per me.
In questo periodo sono impegnato, ma in futuro mi piacerebbe aiutarti a sviluppare qualcosa di carino per il blog… sempre se ne hai voglia. Saluti 8 - )

webfruits 2 ottobre 2007 alle 17:43

Sì che ne ho voglia, anzi magari : - ) Anche a me erano venute delle idee, se ti va ne possiamo parlare quando entrambi siamo meno impegnati. A presto

donachy 3 ottobre 2007 alle 14:21

se ti può interessare io ho aggiunto questa riga alla fine dell loop, per dare un’indicazione in caso non ci sia ancora nessuno in classifica
if i=0 then
Response.write “Nessun autore trovato”
end if

SimoneRodriguez 4 ottobre 2007 alle 09:35

Ottimo, ineffetti ci voleva.
Il prima possibile lo aggiungo.

ozonic 5 ottobre 2007 alle 21:41

Ciao sul mio dblog ho installato top 10 users, i commenti nel blog sono moderati. Collegandomi stasera col mio sito su ogni articolo c’era un commento in attesa di approvazione ma su top 10 erano visibili i link ai siti (peraltro porno). Ho sbagliato qualcosa nella configurazione?
Ciao e grazie X - |

SimoneRodriguez 5 ottobre 2007 alle 21:50

Allora, il plugin così com’è, è fatto per il dBlog standard, quindi senza moderazione.
Gestire le moderazioni non è poi così complicato ma diventerebbe “non funzionante” per i blog con moderazione. D’altronde dipende anche da che moderazione hai (plugin vari o fai da te).
Insomma mi è sembrato più logico accontentare la stragrande maggioranza dei dBlog che non hanno la moderazione.
Ergo, misà che te lo devi modificare da solo… : - ?

ozonic 5 ottobre 2007 alle 22:00

ok grazie, allora per adesso lascio perdere.
Ciao

Gionni 5 ottobre 2007 alle 22:18

Io l’ho moddato con il plug di davidonzo… anche a me faceva venire fuori tutti i link moderati (e porno). Se interessa, te lo giro.

Ma è possibile che anche col Captcha… i boot porno riescono a lasciare commenti? ufff E - )

SimoneRodriguez 5 ottobre 2007 alle 22:55

Ottimo, allora ozonic è il caso che contatti Gionni.
Riguardo allo spam, apparte acrobazie spammistiche, è probabile che sia qualcuno che a manina si sta facendo tutti i blog!
Sccccc… quì non è ancora arrivato : - Z

Gionni 5 ottobre 2007 alle 23:20

Si sta facendo tutti i blog? Ummm pare troppo un boot… S - (

Gionni 5 ottobre 2007 alle 23:21

Si sta facendo a mano tutti i blog? Ummm pare troppo un boot… S - (

SimoneRodriguez 5 ottobre 2007 alle 23:26

Apparte che si dice bot (diminutivo di robot) ma difficilmente credo che lo sia.
Ho letto di alcuni bot che sono specializzati nel superare il CAPTCHA ma parliamo di qualcosa di molto sofisticato che, giustamente, si concentra su realtà moooolto più grandi tipi yahoo e ms.

ozonic 6 ottobre 2007 alle 14:13

Ok Gionni girami il plug ti ringrazio.
Dopo il fatto che mi è successo ho tolto i top 10, trascorso un po di tempo sono ritornato nuovamente sul sito ed ho avuto un’altra sorpresa e cioè negli ultimi commenti inseriti ho notato un altra volta sti cacchio di link preticamente il blog secondo me non dovdovrebbe mettere l’ultimo commento su -ultimi commenti inseriti- se non prima approvato. Ora il blog in attesa di soluzione l’ho tolto non posso mica tenere link che danno a siti porno.
Ciao ragazzi

SimoneRodriguez 6 ottobre 2007 alle 14:15

Basta sostituire la query con questa:
SQLCommAutori = “SELECT TOP ” & MaxTopUsers & “, commenti.Autore, commenti.Link, Count(commenti.Autore) AS conta ” &_
“FROM commenti ” &_
“GROUP BY commenti.Autore, commenti.Link, commenti.modera, Mid([commenti.Data],5,2), Mid([commenti.Data],1,4), commenti.Autore, commenti.Autore, commenti.Autore ” &_
“HAVING (((commenti.Link)<>”) AND ((commenti.modera)=1) AND ((CInt(Mid([commenti.Data],5,2)))=CInt(Month(Date()))) AND ((CInt(Mid([commenti.Data],1,4)))=CInt(Year(Date()))) ” & ExcludeQueryPart & “) ” &_
“ORDER BY Count(commenti.Autore) DESC”

ozonic 6 ottobre 2007 alle 14:25

Che si trova su -inc_modulo_articoli- verso sulla riga 53 del tuo mod?

SimoneRodriguez 6 ottobre 2007 alle 14:48

No, no è proprio la query che si trova su inc_modulo_topusers.asp!
P.S. Parto ORA per l’egitto, ci si vede lunedì!

Gionni 6 ottobre 2007 alle 15:55

Buon viaggio Simone!

@Ozonic, io avevo invece fatto questa modifica, che alla fine sono identiche e funziona tranquillamente.

SQLCommAutori = “SELECT TOP ” & MaxTopUsers & “, commenti.Autore, commenti.Link, Count(commenti.Autore) AS conta ” &_
“FROM commenti ” &_
“GROUP BY commenti.Autore, commenti.Link, commenti.Modera, Mid([commenti.Data],5,2), Mid([commenti.Data],1,4), commenti.Autore, commenti.Autore, commenti.Autore ” &_
“HAVING ((((CInt(Mid([commenti.Data],5,2)))=CInt(Month(Date()))) AND ((CInt(Mid([commenti.Data],1,4)))=CInt(Year(Date()))) AND ((commenti.Modera) = 1))) ” &_
“ORDER BY Count(commenti.Autore) DESC”

ozonic 6 ottobre 2007 alle 18:22

Buon viaggio Simo.
Ciao Gionni grazie lo provo subito.
Comunque top user lo posso anche lasciar perdere quello che più mi interessa e che quando un utente fa un commento sul blog moderato non appaia il commento stesso in inc_modulo_articoli se non è prima approvato. Io credo che come è adesso sia un controsenso.

Gionni 6 ottobre 2007 alle 18:33

AAAHHH ma il problema è che ti appaiono i commenti moderati tra gli ultimi commenti inseriti? Beh, se non hai fatto grandi modifiche alla piattaforma, ed utilizzi inc_modulo_articolo della mod di Simone, allora sostituisci la query dei commenti (riga 55 all’incirca) con questa:

SQLUltimiCommenti = ” SELECT TOP ” & Num_Max_UltimiCommenti & ” Commenti.ID, Commenti.IDArticolo, Commenti.IDFotografia, Commenti.Testo, Commenti.Autore, Commenti.Data, Commenti.Ora, Articoli.Titolo as Titolo FROM Commenti LEFT JOIN Articoli ON Commenti.IDArticolo = Articoli.ID WHERE modera = 1 ORDER BY Commenti.Data DESC , Commenti.Ora DESC “

Dovrebbe funzionare (io veramente c’ho rimesso mano per altri motivi)

ozonic 6 ottobre 2007 alle 21:35

Grazie Gionni funziona e anche top user.
Vediamo cosa succede adesso, tanto credo che il mio blog sia stato preso di mira.
Ciao e grazie ancora

Gionni 6 ottobre 2007 alle 21:47

Ok ozonic, l’attacco ieri l’avevo anche io, ma pare si sia fermato.

SimoneRodriguez 15 ottobre 2007 alle 12:21

Eccomi appena tornato già vi penso… ineffetti a causa di quet’ondata di spam (che fortunatamente mi ha risparmiato) sono emersi alcuni bug e migliorie da implementare.
Al più presto me ne occuperò.
Intanto… rieccomi! : - D

donachy 30 ottobre 2007 alle 11:01

Ciao pukos, ho notato che a parità di commenti l’ordinamento è aleatorio, sarebbe carino mettere prima chi ha scritto prima ovvero commenti.data ASC, ma non riesco a costruire la query a causa dell’orde by. Ci fai un pensierino?

SimoneRodriguez 30 ottobre 2007 alle 11:13

Non sono convinto che chi abbia scritto prima meriti posizioni più alte… cmq appena ho un’istante faccio un’altra versione della query poi chi la vuole la implementa.

donachy 30 ottobre 2007 alle 16:26

mmmhmm…ok, cmq lascia perdere perchè mi sa che è un casino, se ho più di un commento diventa troppo complesso selezionare la data più vecchia etc …
Va bene cosi ; - ) 8 - )

Silgmaris 22 novembre 2007 alle 16:01

E’ normale che ti compaiano 11 commentatori nella Top 5 Commentatori del mese?
Ciao! (e complimenti sempre per l’ottimo lavoro!!)

SimoneRodriguez 22 novembre 2007 alle 18:45

Dicevamo appunto che Access è molto democratico, in Top 5 in cui l’ultima posizione ha dei parimerito, vengono inclusi anche le altre entry con lo stesso “punteggio”.
Ovviamente con un contatore puoi comunque tagliare la classifica, ma ho deciso di mantenere la “democraticità” ; - )

Lascia un commento

Puoi usare questi tags HTML ed attibuti: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Articolo precedente:

prossimo articolo: