Modificare il file:
\iwgallery\admin\inc_tools.asp
<% ' chiudo il recordset presente su inc_config.asp affinchè il DB non sia utilizzato objRec.Close() Set objRec = Nothing %> <!--#include virtual="/iwgallery/Connections/connIWGallery.asp" --> <% On Error Resume Next %> <% 'compatta il database dbname Function CompactDB(dbname, password) Dim dbpath dbpath = Server.MapPath(dbname) Dim cnfrom, cnto cnfrom = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath cnto = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath & ".temp" 'se il db è protetto da password... If password <> "" Then cnfrom = cnfrom & ";Jet OLEDB:Database Password=" & password cnto = cnto & ";Jet OLEDB:Database Password=" & password End If Dim engine Set engine = Server.CreateObject("JRO.JetEngine") 'compatta il database engine.CompactDatabase cnfrom, cnto Dim fso Set fso = Server.CreateObject("Scripting.FileSystemObject") 'il db originale viene eliminato fso.DeleteFile dbpath 'il db appena compresso viene rinominato col nome del db originale fso.MoveFile dbpath & ".temp", dbpath Set fso = nothing Set engine = nothing End Function %> <% If Request.Form("action") = "compact" Then Call CompactDB(strDatabasePath,Trim(Request.Form("Password"))) If Err.Number <> 0 Then Response.Redirect(Request.ServerVariables("SCRIPT_NAME") & "?result=Errore: " & Err.Description) Else Response.Redirect(Request.ServerVariables("SCRIPT_NAME") & "?result=Il Database è stato compattato con successo!") End If End If %> <% If cStr(Request.Form("action")) = "query" Then %> <% Dim rsQuery Dim rsQuery_numRows Set rsQuery = Server.CreateObject("ADODB.Recordset") rsQuery.ActiveConnection = MM_connIWGallery_STRING rsQuery.Source = cStr(Request.Form("query")) rsQuery.CursorType = 0 rsQuery.CursorLocation = 2 rsQuery.LockType = 1 rsQuery.Open() rsQuery_numRows = 0 Dim Repeat1__numRows Dim Repeat1__index Repeat1__numRows = 20 Repeat1__index = 0 rsQuery_numRows = rsQuery_numRows + Repeat1__numRows If Err.Number <> 0 Then Response.Redirect(Request.ServerVariables("SCRIPT_NAME") & "?reason=Errore: " & Err.Description & "&query=" & Request.Form("query")) End If %> <% ' *** Recordset Stats, Move To Record, and Go To Record: declare stats variables Dim rsQuery_total Dim rsQuery_first Dim rsQuery_last ' set the record count rsQuery_total = rsQuery.RecordCount ' set the number of rows displayed on this page If (rsQuery_numRows < 0) Then rsQuery_numRows = rsQuery_total Elseif (rsQuery_numRows = 0) Then rsQuery_numRows = 1 End If ' set the first and last displayed record rsQuery_first = 1 rsQuery_last = rsQuery_first + rsQuery_numRows - 1 ' if we have the correct record count, check the other stats If (rsQuery_total <> -1) Then If (rsQuery_first > rsQuery_total) Then rsQuery_first = rsQuery_total End If If (rsQuery_last > rsQuery_total) Then rsQuery_last = rsQuery_total End If If (rsQuery_numRows > rsQuery_total) Then rsQuery_numRows = rsQuery_total End If End If %> <% ' *** Recordset Stats: if we don't know the record count, manually count them If (rsQuery_total = -1) Then ' count the total records by iterating through the recordset rsQuery_total=0 While (Not rsQuery.EOF) rsQuery_total = rsQuery_total + 1 rsQuery.MoveNext Wend ' reset the cursor to the beginning If (rsQuery.CursorType > 0) Then rsQuery.MoveFirst Else rsQuery.Requery End If ' set the number of rows displayed on this page If (rsQuery_numRows < 0 Or rsQuery_numRows > rsQuery_total) Then rsQuery_numRows = rsQuery_total End If ' set the first and last displayed record rsQuery_first = 1 rsQuery_last = rsQuery_first + rsQuery_numRows - 1 If (rsQuery_first > rsQuery_total) Then rsQuery_first = rsQuery_total End If If (rsQuery_last > rsQuery_total) Then rsQuery_last = rsQuery_total End If End If %> <% Dim MM_paramName %> <% ' *** Move To Record and Go To Record: declare variables Dim MM_rs Dim MM_rsCount Dim MM_size Dim MM_uniqueCol Dim MM_offset Dim MM_atTotal Dim MM_paramIsDefined Dim MM_param Dim MM_index Set MM_rs = rsQuery MM_rsCount = rsQuery_total MM_size = rsQuery_numRows MM_uniqueCol = "" MM_paramName = "" MM_offset = 0 MM_atTotal = false MM_paramIsDefined = false If (MM_paramName <> "") Then MM_paramIsDefined = (Request.QueryString(MM_paramName) <> "") End If %> <% ' *** Move To Record: handle 'index' or 'offset' parameter if (Not MM_paramIsDefined And MM_rsCount <> 0) then ' use index parameter if defined, otherwise use offset parameter MM_param = Request.QueryString("index") If (MM_param = "") Then MM_param = Request.QueryString("offset") End If If (MM_param <> "") Then MM_offset = Int(MM_param) End If ' if we have a record count, check if we are past the end of the recordset If (MM_rsCount <> -1) Then If (MM_offset >= MM_rsCount Or MM_offset = -1) Then ' past end or move last If ((MM_rsCount Mod MM_size) > 0) Then ' last page not a full repeat region MM_offset = MM_rsCount - (MM_rsCount Mod MM_size) Else MM_offset = MM_rsCount - MM_size End If End If End If ' move the cursor to the selected record MM_index = 0 While ((Not MM_rs.EOF) And (MM_index < MM_offset Or MM_offset = -1)) MM_rs.MoveNext MM_index = MM_index + 1 Wend If (MM_rs.EOF) Then MM_offset = MM_index ' set MM_offset to the last possible record End If End If %> <% ' *** Move To Record: if we dont know the record count, check the display range If (MM_rsCount = -1) Then ' walk to the end of the display range for this page MM_index = MM_offset While (Not MM_rs.EOF And (MM_size < 0 Or MM_index < MM_offset + MM_size)) MM_rs.MoveNext MM_index = MM_index + 1 Wend ' if we walked off the end of the recordset, set MM_rsCount and MM_size If (MM_rs.EOF) Then MM_rsCount = MM_index If (MM_size < 0 Or MM_size > MM_rsCount) Then MM_size = MM_rsCount End If End If ' if we walked off the end, set the offset based on page size If (MM_rs.EOF And Not MM_paramIsDefined) Then If (MM_offset > MM_rsCount - MM_size Or MM_offset = -1) Then If ((MM_rsCount Mod MM_size) > 0) Then MM_offset = MM_rsCount - (MM_rsCount Mod MM_size) Else MM_offset = MM_rsCount - MM_size End If End If End If ' reset the cursor to the beginning If (MM_rs.CursorType > 0) Then MM_rs.MoveFirst Else MM_rs.Requery End If ' move the cursor to the selected record MM_index = 0 While (Not MM_rs.EOF And MM_index < MM_offset) MM_rs.MoveNext MM_index = MM_index + 1 Wend End If %> <% ' *** Move To Record: update recordset stats ' set the first and last displayed record rsQuery_first = MM_offset + 1 rsQuery_last = MM_offset + MM_size If (MM_rsCount <> -1) Then If (rsQuery_first > MM_rsCount) Then rsQuery_first = MM_rsCount End If If (rsQuery_last > MM_rsCount) Then rsQuery_last = MM_rsCount End If End If ' set the boolean used by hide region to check if we are on the last record MM_atTotal = (MM_rsCount <> -1 And MM_offset + MM_size >= MM_rsCount) %> <% ' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters Dim MM_keepNone Dim MM_keepURL Dim MM_keepForm Dim MM_keepBoth Dim MM_removeList Dim MM_item Dim MM_nextItem ' create the list of parameters which should not be maintained MM_removeList = "&index=" If (MM_paramName <> "") Then MM_removeList = MM_removeList & "&" & MM_paramName & "=" End If MM_keepURL="" MM_keepForm="" MM_keepBoth="" MM_keepNone="" ' add the URL parameters to the MM_keepURL string For Each MM_item In Request.QueryString MM_nextItem = "&" & MM_item & "=" If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then MM_keepURL = MM_keepURL & MM_nextItem & Server.URLencode(Request.QueryString(MM_item)) End If Next ' add the Form variables to the MM_keepForm string For Each MM_item In Request.Form MM_nextItem = "&" & MM_item & "=" If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then MM_keepForm = MM_keepForm & MM_nextItem & Server.URLencode(Request.Form(MM_item)) End If Next ' create the Form + URL string and remove the intial '&' from each of the strings MM_keepBoth = MM_keepURL & MM_keepForm If (MM_keepBoth <> "") Then MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1) End If If (MM_keepURL <> "") Then MM_keepURL = Right(MM_keepURL, Len(MM_keepURL) - 1) End If If (MM_keepForm <> "") Then MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1) End If ' a utility function used for adding additional parameters to these strings Function MM_joinChar(firstItem) If (firstItem <> "") Then MM_joinChar = "&" Else MM_joinChar = "" End If End Function %> <% ' *** Move To Record: set the strings for the first, last, next, and previous links Dim MM_keepMove Dim MM_moveParam Dim MM_moveFirst Dim MM_moveLast Dim MM_moveNext Dim MM_movePrev Dim MM_urlStr Dim MM_paramList Dim MM_paramIndex Dim MM_nextParam MM_keepMove = MM_keepBoth MM_moveParam = "index" ' if the page has a repeated region, remove 'offset' from the maintained parameters If (MM_size > 1) Then MM_moveParam = "offset" If (MM_keepMove <> "") Then MM_paramList = Split(MM_keepMove, "&") MM_keepMove = "" For MM_paramIndex = 0 To UBound(MM_paramList) MM_nextParam = Left(MM_paramList(MM_paramIndex), InStr(MM_paramList(MM_paramIndex),"=") - 1) If (StrComp(MM_nextParam,MM_moveParam,1) <> 0) Then MM_keepMove = MM_keepMove & "&" & MM_paramList(MM_paramIndex) End If Next If (MM_keepMove <> "") Then MM_keepMove = Right(MM_keepMove, Len(MM_keepMove) - 1) End If End If End If ' set the strings for the move to links If (MM_keepMove <> "") Then MM_keepMove = Server.HTMLEncode(MM_keepMove) & "&" End If MM_urlStr = Request.ServerVariables("URL") & "?" & MM_keepMove & MM_moveParam & "=" MM_moveFirst = MM_urlStr & "0" MM_moveLast = MM_urlStr & "-1" MM_moveNext = MM_urlStr & CStr(MM_offset + MM_size) If (MM_offset - MM_size < 0) Then MM_movePrev = MM_urlStr & "0" Else MM_movePrev = MM_urlStr & CStr(MM_offset - MM_size) End If %> <% End If ' cStr(Request.Form("action")) = "query" %> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </script> <table width="100%" border="0" cellpadding="0" cellspacing="0" class="box"> <tr> <td align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="1" align="left" class="box-header"><img src="../themes/<%= strTheme %>/box-header-left.jpg"></td> <td width="100%" class="box-header">Strumenti</td> <td width="1" align="right" class="box-header"><img src="../themes/<%= strTheme %>/box-header-right.jpg"></td> </tr> </table></td> </tr> <tr> <td align="left" valign="top" class="box-main"><form id="form1" name="form1" method="post" action="<%= Request.ServerVariables("SCRIPT_NAME") %>"> <table width="520" border="0" align="center" cellpadding="0" cellspacing="1" class="content"> <tr> <td align="center"><span class="evidence"><%= Request.QueryString("result") %></span> </td> </tr> <tr> <td align="center"><input type="submit" name="Submit" value="Compatta Database" class="button" /> <input name="action" type="hidden" id="action" value="compact" /></td> </tr> </table> </form> <br /> <form id="form2" name="form2" method="post" action="<%= Request.ServerVariables("SCRIPT_NAME") %>"> <table width="100%" border="0" cellspacing="1" cellpadding="0"> <tr> <td align="center"><span class="evidence"><%= Request.QueryString("reason") %></span> </td> </tr> <tr> <td align="center"><textarea name="query" cols="50" rows="5" id="query"><%=cStr(Request("query"))%></textarea></td> </tr> <tr> <td align="center"><input type="submit" name="Submit2" value="Esegui query" class="button"/> <input name="action" type="hidden" id="action" value="query" /></td> </tr> </table> <br /> <% If cStr(Request.Form("action")) = "query" Then %> <table width="100%" border="0" cellspacing="1" cellpadding="0"> <tr> <td>Records: <strong><%=(rsQuery_first)%></strong>-<strong><%=(rsQuery_last)%></strong> di <strong><%=(rsQuery_total)%></strong></td> <td align="right"><% If Not rsQuery.EOF Or Not rsQuery.BOF Then %> Pagine: <select name="menu1" onchange="MM_jumpMenu('parent',this,0)"> <% TM_counter = 0 For i = 1 to rsQuery_total Step MM_size TM_counter = TM_counter + 1 TM_PageEndCount = i + MM_size - 1 if TM_PageEndCount > rsQuery_total Then TM_PageEndCount = rsQuery_total if i <> MM_offset + 1 then Response.Write("<option value=""" & Request.ServerVariables("URL") & "?" & MM_keepMove & "offset=" & i-1 & """>") Response.Write(TM_counter & "</option>") else Response.Write("<option selected>" & TM_counter & "</option>") End if if(TM_PageEndCount <> rsQuery_total) then Response.Write("") next %> </select> <% End If ' end Not rsQuery.EOF Or NOT rsQuery.BOF %> </td> </tr> </table> <table border="0" cellspacing="1" cellpadding="0" class="grid"> <tr class="grid-header"> <% For x = 0 to rsQuery.Fields.Count - 1 %> <td><%= UCase(rsQuery.Fields.Item(x).Name) %></td> <% Next %> </tr> <% While ((Repeat1__numRows <> 0) AND (NOT rsQuery.EOF)) %> <tr class="grid-main" onmouseover="this.className='grid-over'" onmouseout="this.className='grid-main'"> <% For x = 0 to rsQuery.Fields.Count - 1 %> <% Execute("str" & UCase(rsQuery.Fields.Item(x).Name) & " = """" & (rsQuery.Fields.Item(x).Value) & """" ") %> <td <% Execute("If IsNumeric(CDbl(str" & UCase(rsQuery.Fields.Item(x).Name) & ")) Then Response.Write(""align=""""right"""""")") %>><% Execute("IF (NOT IsNull(str" & UCase(rsQuery.Fields.Item(x).Name) & ")) AND (str" & UCase(rsQuery.Fields.Item(x).Name) & " <> """") THEN : IF (""" & UCase(rsQuery.Fields.Item(x).Name) & """ = ""USE_PASSWORD"") THEN : Response.Write(String(Len(str" & UCase(rsQuery.Fields.Item(x).Name) & "),""*"")) : ELSE : Response.Write(str" & UCase(rsQuery.Fields.Item(x).Name) & ") : END IF : ELSE : Response.Write("" "") : END IF") %></td> <% Next %> </tr> <% Repeat1__index=Repeat1__index+1 Repeat1__numRows=Repeat1__numRows-1 rsQuery.MoveNext() Wend %> </table> <table width="100%" border="0" cellspacing="1" cellpadding="0"> <tr> <td> </td> <td align="right"><% If Not rsQuery.EOF Or Not rsQuery.BOF Then %> Pagine: <select name="menu1" onchange="MM_jumpMenu('parent',this,0)"> <% TM_counter = 0 For i = 1 to rsQuery_total Step MM_size TM_counter = TM_counter + 1 TM_PageEndCount = i + MM_size - 1 if TM_PageEndCount > rsQuery_total Then TM_PageEndCount = rsQuery_total if i <> MM_offset + 1 then Response.Write("<option value=""" & Request.ServerVariables("URL") & "?" & MM_keepMove & "offset=" & i-1 & """>") Response.Write(TM_counter & "</option>") else Response.Write("<option selected>" & TM_counter & "</option>") End if if(TM_PageEndCount <> rsQuery_total) then Response.Write("") next %> </select> <% End If ' end Not rsQuery.EOF Or NOT rsQuery.BOF %> </td> </tr> </table> <% End If %> </form></td> </tr> <tr> <td align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="1" align="left" class="box-bottom"><img src="../themes/<%= strTheme %>/box-bottom-left.jpg"></td> <td width="100%" class="box-bottom"><img src="../images/shim.gif" width="1" height="1"></td> <td width="1" align="right" class="box-bottom"><img src="../themes/<%= strTheme %>/box-bottom-right.jpg"></td> </tr> </table></td> </tr> </table> <% If cStr(Request.Form("action")) = "query" Then rsQuery.Close() Set rsQuery = Nothing End If %>
[
Íàçàä
]