Forum 

Forum AspNuke.it - Il tuo Portale OpenSource in ASP

user "role Img" può cancellare qualsiasi immagini

Autore Messaggio
The-BiT

Esperto
Esperto
344 Discussioni



Profilo - The-BiT
08 giugno 2007 alle 22:22:28 Profilo - The-BiTInvia un messaggio privato Rispondi quotando
Buona sera,
dopo esser riuscito a far si che gli utenti con "role Img" potessero uploadare immagini, mi sono però accorto (creandomi un account ad hoc) che utenti con tale ruolo possono benissimo cancellare tutte le immagini presenti sul portale. Ovviamente parlo di eliminazione accidentale, ma è pur sempre un rischio che non vorrei correre visto che ho più di 200 immagini personali.
Per questo vorrei chiedervi se esiste/conoscete un modo per far si che ogni utente possa eliminare solo le foto inserite da egli stesso, oppure -se troppo complicato- solo tutte le foto eccetto quelle pubblcatr dall'amministratore.
A mio parere sarebbe annche una buoa idea per la versione 2.1.
Attendo vostre risposte.
Grazie.
---------------
Ci sono 10 tipi di persone al mondo: quelli che conoscono il linguaggio binario e quelli che non lo conoscono
The-BiT

Esperto
Esperto
344 Discussioni



Profilo - The-BiT
09 giugno 2007 alle 11:02:10 Profilo - The-BiTInvia un messaggio privato Rispondi quotando
Modificato il 09 giugno 2007 alle 19:28:36

up!
---------------
Ci sono 10 tipi di persone al mondo: quelli che conoscono il linguaggio binario e quelli che non lo conoscono
The-BiT

Esperto
Esperto
344 Discussioni



Profilo - The-BiT
09 giugno 2007 alle 19:29:48 Profilo - The-BiTInvia un messaggio privato Rispondi quotando
up
---------------
Ci sono 10 tipi di persone al mondo: quelli che conoscono il linguaggio binario e quelli che non lo conoscono
djveleno

Amministratore

Esperto
Esperto
1025 Discussioni



Profilo - djveleno
09 giugno 2007 alle 22:01:18 Profilo - djvelenoInvia un messaggio privato Rispondi quotando
Sarebbe semplice se, nella tabella IMAGES vi fosse anche il campo autore, in quanto basterebbe discriminare con una stringa del tipo:
If sPseudo = oRs("iAuthor") OR IsAuthorizedBin(ROLE_ADMIN) THEN
........> codice asp per la cancellazione
Else
CreateTable "Author", "", GetTranslation("LANG_MUST_AUTHOR_PSEUDO"), ""
End If
Quindi l'unica soluzione è, riscrivere le pagine IMAGES-INC.ASP e ADMIN_IMAGES-INC.ASP, inserendo dove serve la richiesta dell'autore, modificare il db main - tabella images aggiungendo il campo iAuthor, in modo da poter eseguire l'IF e la funzione.
---------------
A lavare la testa ai somari, ci si rimette l'acqua e il sapone!

http://aspnuke208.somee.com/Default.asp

The-BiT

Esperto
Esperto
344 Discussioni



Profilo - The-BiT
10 giugno 2007 alle 03:00:04 Profilo - The-BiTInvia un messaggio privato Rispondi quotando
Io ti ringrazio, Dj, per la cotinua disponibilità, ma devo ammettere che non ho le idee ben chiare.

l'unica soluzione è, riscrivere le pagine IMAGES-INC.ASP e ADMIN_IMAGES-INC.ASP

nel senso che dvorebbero essere riscritte di sana pianta? Perchè se è così...non saprei da dve iniziare. Modificare il db credo di riuscirci, però - ecco- vorrei avere delle informazioni più precise su come procedere, sempre se ritieni tutto ciò fattibile.
Grazie,
A presto.
---------------
Ci sono 10 tipi di persone al mondo: quelli che conoscono il linguaggio binario e quelli che non lo conoscono
piosky_to2003

Esperto
Esperto
2291 Discussioni



Profilo - piosky_to2003
10 giugno 2007 alle 11:32:45 Profilo - piosky_to2003Invia un messaggio privato chat_silvio@hotmail.com Rispondi quotando
Modificato il 10 giugno 2007 alle 11:36:19

no non devi riscriverle di sana pianta , ma modificare alcune procedure aggiungendo solo il campo aggiuntivo

file:admin_images-inc.asp
sicuramente devi aggiungere il campo iauthor alle la procedura prendedo cme esempio uno dei campi presenti in ogni procedura (come stitle)

Sub EditImage(iID)
Function ModifyImage(iID, sTitle, sDate, sDescription, sSourceSmall, sSourceNormal, iHits, iCategory, iVersion, bValid)
Function AddImage(sTitle, sDate, sDescription, sSourceSmall, sSourceNormal, iHits, iCategory, iVersion, bValid)

p.s.
Originariamente inviato da The-BiT:
Ovviamente parlo di eliminazione accidentale, ma è pur sempre un rischio che non vorrei correre visto che ho più di 200 immagini personali.

il rischio si evita non tenendo le immagini solo su Web ma anche in locale facendosi backup regolari del portale
---------------
Silvio Andrighetti Formaggini (Piosky) [lo]

http://www.roadrunners.to.it
Sito Prove
http://www.piosky.somee.com
msn : chat_silvio@hotmail.com
The-BiT

Esperto
Esperto
344 Discussioni



Profilo - The-BiT
10 giugno 2007 alle 12:28:10 Profilo - The-BiTInvia un messaggio privato Rispondi quotando
Allora, vediamo di capirci chiaro.
Nel file admin_images-inc.asp, ho modificato la riga come segue:

line 601 Function ModifyImage(iID, sTitle, sDate, sDescription, sSourceSmall, sSourceNormal, iHits, iCategory, iVersion, bValid, iAuthor)

Successivamente, ho agigunto un nuovo record nel db (mysql), nel campo images, così:

Nome iID; Tipo: int(10); Null:no
Nome........................
Nome:iAuthor; Tipo: ???; Null:???;

E adesso, come dovrei procedere?
---------------
Ci sono 10 tipi di persone al mondo: quelli che conoscono il linguaggio binario e quelli che non lo conoscono
piosky_to2003

Esperto
Esperto
2291 Discussioni



Profilo - piosky_to2003
10 giugno 2007 alle 14:31:37 Profilo - piosky_to2003Invia un messaggio privato chat_silvio@hotmail.com Rispondi quotando
Modificato il 10 giugno 2007 alle 15:02:17

devi aggiungere il campo nuovo nella dichiarazione della funzione, quaado occore dichiarare la nuova variabile ma anche all'interno del codice duplicare tutte le istruzione che contengono iTitle ( o stitle in alcuni casi)

esempio sempre nel modifyimage
trovi
Function ModifyImage(iID, sTitle, sDate, sDescription, sSourceSmall, sSourceNormal, iHits, iCategory, iVersion, bValid)
...
...
...
rSQL = "UPDATE images SET iTitle='" & SQLEncrypt(sTitle) & "', iDate='" & sDate & "',

e duplichi il campo

Function ModifyImage(iID, sTitle,sAuthor, sDate, sDescription, sSourceSmall, sSourceNormal, iHits, iCategory, iVersion, bValid)
...
...
rSQL = "UPDATE images SET iTitle='" & SQLEncrypt(sTitle) & "',iAuthor='" & SQLEncrypt(sAuthor) & "',iDate='" & sDate & "',

insomma all'interno di tutte procedure cercati title e seguendo il codice fai la stessa cosa sostituendo i/sTitle con i/sAuthor
---------------
Silvio Andrighetti Formaggini (Piosky) [lo]

http://www.roadrunners.to.it
Sito Prove
http://www.piosky.somee.com
msn : chat_silvio@hotmail.com
djveleno

Amministratore

Esperto
Esperto
1025 Discussioni



Profilo - djveleno
10 giugno 2007 alle 18:39:21 Profilo - djvelenoInvia un messaggio privato Rispondi quotando
Il campo per MySql deve avere le seguenti caratteristiche:

NOME: iAuthor TIPO: varchar(50) default NULL.

Le modifiche da effettuare nel file admin_imahes-inc.asp sono molteplici, te le riassumo:

Sub EditImage(iID)
riga 277 inserire dopo sTitle, sAuthor
dopo la riga 287 inserire sAuthor = oRs("iAuthor")
dopo la riga 367 inserire
Response.Write " <tr class=""tableline2"">" & vbCRLF
Response.Write " <td>" & GetTranslation("LANG_AUTHOR") & "</td>" & vbCRLF
Response.Write " <td><input name=""iAuthor"" value=""" & Server.HTMLEncode(sAuthor) & """ maxlength=""50"" size=""50"" class=""cell""></td>" & vbCRLF
Response.Write " </tr>" & vbCRLF
Ricordarsi di modificare tutte le occorrenze tablelineX nei tag <TR...> per il cambio di colore delle righe.
SubConfirmDeleteImage(iID)
dopo la riga 506 inserire
Response.Write " <tr class=""tableline2"">" & vbCRLF
Response.Write " <td>" & GetTranslation("LANG_AUTHOR") & "</td>" & vbCRLF
Response.Write " <td>" & Server.HTMLEncode(oRs("iAuthor")) & "</td>" & vbCRLF
Response.Write " </tr>" & vbCRLF
vale lo stesso discorso di prima il tag <TR... va modificato.
Function AddImage(sTitle, sAuthor.....) aggiungere sAuthor
nella dichiarazione delle variabili.
aggiungere nella query sql:
rSQL = "INSERT INTO images(iTitle, iAuthor....)VALUES('" & SQLEncrypt(sTitle) & "', '" & SQLEncrypt(sAuthor) & "',....)
Function ModifyImage(sTitle, sAuthor...)
rSQL = "UPDATE images SET iTitle='" & SQLEncrypt(sTitle) & "', iAuthor='" & SQLEncrypt(sAuthor) & "',.....
Sub DoAdminImages()
alla riga 721 aggiungere
If AddImage(Request.Form("iTitle"), Request.Form("iAuthor")....
alla riga 738 aggiungere
If ModifyImage(Request.Form("iID"), Request.Form("iTitle"), Request.Form("iAuthor"),....
fatte queste modifiche puoi poi procedere ad inserire il codice che ti ho suggerito nel post precedente.
---------------
A lavare la testa ai somari, ci si rimette l'acqua e il sapone!

http://aspnuke208.somee.com/Default.asp

The-BiT

Esperto
Esperto
344 Discussioni



Profilo - The-BiT
10 giugno 2007 alle 19:43:58 Profilo - The-BiTInvia un messaggio privato Rispondi quotando
Ho modificato la pagina admin_images-inc.as come hai detto. Ho aggiunto il campo iAuthor al db.
Sono rimasto perplesso su due punti:

Ricordarsi di modificare tutte le occorrenze tablelineX nei tag <TR...> per il cambio di colore delle righe.

Cos'è che devo modificare? Per modifiche al colore intendi quelle al css?

E poi:

fatte queste modifiche puoi poi procedere ad inserire il codice che ti ho suggerito nel post precedent

Il codice che dovrei inserire è

If sPseudo = oRs("iAuthor") OR IsAuthorizedBin(ROLE_ADMIN) THEN
........> codice asp per la cancellazione
Else
CreateTable "Author", "", GetTranslation("LANG_MUST_AUTHOR_PSEUDO"), ""
End If

Non ho ben capito diveo inserire questo codice. Presumo nella pagina images-inc.asp. O sbaglio?
Ti ringrazio per l'aiuto che m'hai prestato sin ad ora.
---------------
Ci sono 10 tipi di persone al mondo: quelli che conoscono il linguaggio binario e quelli che non lo conoscono
 1  2  >>

Log in

Login
Password
Memorizza i tuoi dati:

Cerca

 

Sostieni AspNuke

Un piccolo gesto per aiutarci a mantenere AspNuke.it online

Promo

MusicWebItalia.it
Video Testi Traduzioni Spot Colonne sonore Accordi e Spartiti gratis.

Visitatori

Visitatori Correnti : 196
Membri : 0 offline Anna

Iscritti

 Utenti: 18940
Ultimo iscritto : glauco
Lista iscritti
Messaggi privati: 3373 Commenti: 2210 Immagini: 39 Downloads: 144 Articoli: 49 Pagine: 101 Siti web: 558 Notizie: 180 Sondaggi: 11 Preferiti: 5688470 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi