Databasregister

OBS! Om du har en version av Consolo med nummer 1.26 eller lägre, så måste du uppdatera Consolo. Ett fel vid sparande av poster i databas åtgärdades i version 1.27.

Skript för att spara

Filen som anges under databasregistrets värde Spara kommer att anropas av Consolo när redaktören sparar en exiterande eller ny post med hjälp av formuläret som angetts i Skript för redigering.

 

Invärden som skickas till skriptet med POST:

 

Respons från skriptet ska ges på följande form:

<?xml version="1.0" encoding="ISO-8859-1"?>
<RESPONSE>
  <RESULT>0/1</RESULT>
  <MESSAGE>Message</MESSAGE>
  <ID>Id</ID>
</RESPONSE>

Tack vare den här lösningen kan du själv kontrollera uppgifterna som skickas in och meddela användaren vad som var fel och som ska korrigeras.

 

Exempel

Det här exemplet visar hur man gör ett skript för att spara i ASP kopplat till SQL. Om du använder någon annan teknik på din server, så översätt skriptet till önskat språk.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- #INCLUDE VIRTUAL= '/consolo/db_opendb.asp'-->
<% If Request("password") <> "abc123" Then Response.End
tId = Request("id")
Set xmlDoc = Server.CreateObject("msxml2.DOMDocument")
xmlDoc.async = False
If xmlDoc.loadXML(Request("data")) Then
 Set xmlNodes = xmlDoc.childNodes
 aTitle = xmlDoc.getElementsByTagName("Title_VC").item(0).Text
 aText = xmlDoc.getElementsByTagName("Text_VC").item(0).Text
 aDate = xmlDoc.getElementsByTagName("Date_VC").item(0).Text
 aNewspaper = xmlDoc.getElementsByTagName("Newspaper_VC").item(0).Text

If tId = "" Then
  ' New object
  SQLstr = "INSERT INTO Presscutting_T (Title_VC, Text_VC, Date_VC, Newspaper_VC) VALUES (" & SSQn(aTitle) & SSQc(aText) & SSQc(aDate) & SSQc(aNewspaper) & ")"
  Connect.Execute(SQLstr)
  Set RS = Connect.Execute("SELECT MAX(Presscutting_ID) As New_ID FROM Arbetsliv_Presscutting_T")
  tId = RS("New_ID")
 Else
  ' Save to existing object
  SQLstr = "UPDATE Presscutting_T SET "
  SQLstr = SQLstr & "Title_VC = " & SSQn(aTitle)
  SQLstr = SQLstr & ", Text_VC = " & SSQn(aText)
  SQLstr = SQLstr & ", Date_VC = " & SSQn(aDate)
  SQLstr = SQLstr & ", Newspaper_VC = " & SSQn(aNewspaper)
  SQLstr = SQLstr & " WHERE Presscutting_ID = " & tId
  Connect.Execute(SQLstr)
 End If
%>
<RESPONSE>
  <RESULT>1</RESULT>
  <MESSAGE>Pressklippet har sparats.</MESSAGE>
  <ID><%=tId%></ID>
</RESPONSE>
<% Else %>
<RESPONSE>
  <RESULT>0</RESULT>
  <MESSAGE>Ett fel uppstod och pressklippet kunde inte sparas.</MESSAGE>
  <ID><%=tId%></ID>
</RESPONSE>
<% End If

Function SSQn(str)
 str = Replace(str, "'", """")
 SSQn = "'" & str & "'"
End Function

Function SSQc(str)
 str = Replace(str, "'", """")
 SSQc = ", '" & str & "'"
End Function
%>