Forum 

Forum AspNuke.it - Il tuo Portale OpenSource in ASP

MOD PORTAL OFFLINE x MANUTENZIONE

Autore Messaggio
littlehawk

Eliminato
Eliminato
0 Discussione



Profilo - littlehawk
01 settembre 2003 alle 14:46:47 Profilo - littlehawkInvia un messaggio privato Rispondi quotando
Modificato il 01 settembre 2003 alle 14:58:10

Dovete fare la manutenzione del vostro portale ASPNuke e volete disabilitare l'accesso agli utenti fintantochè la manutenzione stessa non sarà terminata ?

Ecco quello che fa per voi: MOD OFFLINE !

Allora come prima cosa dovete aprire il DB MAIN e creare una nuova tabella che chiamerete "manut". All'interno di tale tabella create i campi "ID" (tipo contatore) ed "online" (tipo Vero/Falso) con valore predefinito VERO.
Dopodichè create due file:
(1) MANUTENZIONE.ASP
%>
<!-- #include file='../includes/admin/includes-inc.asp' -->
<%
sTitlePage = "Manutenzione"
%>
<!-- #include file='../includes/toppage-inc.asp' -->
<%
If IsAuthorized(ROLE_ADMIN) Then
Dim oCnMAN, oRsMAN, rSQLMAN

Set oCnMAN = DBConnexion(DB_MAIN)
rSQLMAN = "SELECT online FROM manut WHERE ID = 1"
Set oRsMAN = DBRecordSet(oCnMAN, rSQLMAN)

CreateTopTable " ", "Attiva/Disattiva Manutenzione Portale"
Response.Write " <tr class=""tablelinemain"">" & vbCRLF
Response.Write " <td></td>" & vbCRLF
Response.Write " </td>" & vbCRLF
Response.Write " </tr>" & vbCRLF
Response.Write " <tr class=""tableline2"">" & vbCRLF
IF oRsMAN("online") THEN
Response.Write " <td><font size=""2""><b>Stato attuale del portale: <font color=""green"">APERTO</font></b></font></td>" & vbCRLF
Response.Write " <tr class=""tableline2"">" & vbCRLF
Response.Write " <td><font size=""2""><b>Per metterlo in MANUTENZIONE premi il pulsante qui sotto !</b></font></td>" & vbCRLF
Response.Write " </tr>" & vbCRLF
Response.Write " <tr class=""tableline2"">" & vbCRLF
Response.Write " <td align=""center""><br>" & vbCRLF
Response.Write "<form method=""POST"" action=""manutenzione2.asp"">" & vbCRLF
Response.Write "<p><input type=""hidden"" value=""FALSE"" name=""manut"">" & vbCRLF
Response.Write "<input type=""submit"" style=""font-weight: bold"" value=""MANUTENZIONE""></p></form>" & vbCRLF
Response.Write " </td>" & vbCRLF
Response.Write " </tr>" & vbCRLF
ELSE
Response.Write " <td><font size=""2""><b>Stato attuale del portale: <font color=""red"">MANUTENZIONE</font></b></font></td>" & vbCRLF
Response.Write " <tr class=""tableline2"">" & vbCRLF
Response.Write " <td><font size=""2""><b>Per metterlo ONLINE premi il pulsante qui sotto !</b></font></td>" & vbCRLF
Response.Write " </tr>" & vbCRLF
Response.Write " <tr class=""tableline2"">" & vbCRLF
Response.Write " <td align=""center""><br>" & vbCRLF
Response.Write "<form method=""POST"" action=""manutenzione2.asp"">" & vbCRLF
Response.Write "<p><input type=""hidden"" value=""TRUE"" name=""manut"">" & vbCRLF
Response.Write "<input type=""submit"" style=""font-weight: bold"" value=""ONLINE""></p></form>" & vbCRLF
Response.Write " </td>" & vbCRLF
Response.Write " </tr>" & vbCRLF
Response.Write " <tr class=""tableline2"">" & vbCRLF
Response.Write " <td><font color=""red""><b>ATTENZIONE ! Rimettere il portale ONLINE prima del LOGOFF,<br>altrimenti non sarà più possibile accedervi, nemmeno come WEBMASTER !</b></font></td>" & vbCRLF
Response.Write " </tr>" & vbCRLF
END IF
Response.Write " </tr>" & vbCRLF
oCnMAN.Close
Set oCnMAN = Nothing
CreateBottomTable ""
Else
CreateTable "Role", "", GetTranslation("LANG_MUST_HAVE_ROLE"), ""
End If
%>
<!-- #include file='../includes/bottompage-inc.asp' -->
<!-- #include file='../includes/clearitall-inc.asp' -->


(2) MANUTENZIONE2.ASP
<!-- #include file='../includes/admin/includes-inc.asp' -->

<%
Dim tipo, oCnUPD, rSQLUPD
tipo = Request.Form("manut")

Set oCnUPD = Server.CreateObject("ADODB.Connection")
Set oCnUPD = DBConnexion(DB_MAIN)
rSQLUPD = "UPDATE manut SET online = "&tipo&" WHERE ID=1"
DBExecute oCnUPD, rSQLUPD
oCnUPD.Close
Set oCnUPD = Nothing

Response.Redirect("manutenzione.asp")
%>


Poi modificate il file TOPPAGE-INC.ASP presente nella dir INCLUDES in modo da avere come prime linee di codice le seguenti:
<%
Dim oCn, oRs, rSQL

Set oCn = DBConnexion(DB_MAIN)
rSQL = "SELECT online FROM manut WHERE ID = 1"
Set oRs = DBRecordSet(oCn, rSQL)
Session("online") = oRs("online")

IF NOT Session("online") AND NOT IsAuthorized(ROLE_ADMIN) THEN
Response.Redirect("offline.html")
ELSE
Session("online") = TRUE
END IF
%>


Create poi una pagina OFFLINE.HTML a vostro gusto, in cui i visitatori e gli utenti vengano indirizzati in caso di PORTALE IN MANUTENZIONE.

A questo punto create un collegamento a manutenzione.asp nel menù di Amministrazione ed il gioco è fatto !

Ora quando vorrete porre il portale in MANUTENZIONE non dovrete far altro che andare nel menù di AMMINISTRAZIONE, cliccare sul collegamento appena creato e porre il PORTALE IN MANUTENZIONE. Fate le vostre operazioni di manutenzione tranquillamente, tanto nessun visitatore e nessun utente, al di fuori degli amministratori, riusciranno a visualizzare alcunchè al di fuori della pagina offline.html !

RICORDATEVI DI RIMETTERLO ONLINE PRIMA DI FARE IL LOGOUT, ALTRIMENTI NON RIUSCIRETE PIù A LOGGARVI, NEPPURE COME AMMINISTRATORI A MENO CHE NON ANDIATE A MODIFICARE IL VALORE DIRETTAMNETE SUL DB !!!

[feu] [feu] TESTATO E PERFETTAMENTE FUNZIONANTE ! [feu] [feu]

Enjoy !


[lo] [lo] [lo] [lo]
azzurro

Amatore
Amatore
46 Discussioni



Profilo - azzurro
23 novembre 2003 alle 15:07:42 Profilo - azzurroInvia un messaggio privato Rispondi quotando
ho provato a creare la riga di codice per collegare le pagine di manutenzione nel menu di amministrazione scrivendole così:

Response.Write sBullet & "<a href=""" & GLOBAL_SITE_ADMIN_PATH & GLOBAL_SITE_MANUTENZIONE_PAGE &""">" &
GetTranslation("LANG_MANUTENZIONE") & "</a><br>" & vbCRLF


Pur avendole di fatto copiate uguali a quelle sopra, ricevo un errore di sintassi. Dove ho sbagliato?
---------------
Gaspare http://www.ressa.net
Sam Taylor

Avanzato
Avanzato
129 Discussioni



Profilo - Sam Taylor
23 novembre 2003 alle 18:33:38 Profilo - Sam TaylorInvia un messaggio privato Rispondi quotando
Nel primo file Manutenzione.asp deve essere eliminata la prima riga di codice, e precisamente


%>




Sam

---------------
Guardo al futuro perche é la che passerò il resto della mia vita. (G.B.)

Tutto questo, e tanto altro, in http://www.stzone.it: il più ricco AspNuke MegaStore della rete.
azzurro

Amatore
Amatore
46 Discussioni



Profilo - azzurro
24 novembre 2003 alle 12:09:07 Profilo - azzurroInvia un messaggio privato Rispondi quotando
togliendo quella spunta la pagina funziona correttamente.
Grazie Sam [lo]

Ora voglio capire dove sbaglio quando cerco di inserire nel menù di amministrazione la pagina di manutenzione...
---------------
Gaspare http://www.ressa.net

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 : 117
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: 5684667 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi