CDO til JMail - Er der nogen der kan oversætte dette
Hej AlleJeg har downloadet et script til at håndtere links, fra DuWare.com.
Alt virker perfekt, men scriptet er lavet til mailkomponenten CDO.
Mit webhotel er Struer.Net og de anvender JMail.
Er der nogle der kan hjælpe med at ændre nedenstående kode, således at scriptet kan anvende JMail i stedet for CDONTS ???
For en sikkerheds skyld, vedlægger jeg lige hele koden.
På forhånd mange tak for hjælpen ;-)
<!--#include file="Connections/connDUdirectory.asp" -->
<!--#include file="inc_config.asp" -->
<%
' *** Edit Operations: declare variables
Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd
Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId
Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If
' boolean to abort record edit
MM_abortEdit = false
' query string to execute
MM_editQuery = ""
%>
<%
' *** Redirect if username exists
MM_flag="MM_insert"
If (CStr(Request(MM_flag)) <> "") Then
MM_dupKeyRedirect="submit.asp"
MM_rsKeyConnection=MM_connDUdirectory_STRING
MM_dupKeyUsernameValue = CStr(Request.Form("LINK_URL"))
MM_dupKeySQL="SELECT LINK_URL FROM LINKS WHERE LINK_URL='" & MM_dupKeyUsernameValue & "'"
MM_adodbRecordset="ADODB.Recordset"
set MM_rsKey=Server.CreateObject(MM_adodbRecordset)
MM_rsKey.ActiveConnection=MM_rsKeyConnection
MM_rsKey.Source=MM_dupKeySQL
MM_rsKey.CursorType=0
MM_rsKey.CursorLocation=2
MM_rsKey.LockType=3
MM_rsKey.Open
If Not MM_rsKey.EOF Or Not MM_rsKey.BOF Then
' the username was found - can not add the requested username
MM_qsChar = "?"
If (InStr(1,MM_dupKeyRedirect,"?") >= 1) Then MM_qsChar = "&"
MM_dupKeyRedirect = MM_dupKeyRedirect & MM_qsChar & "requsername=" & MM_dupKeyUsernameValue
Response.Redirect(MM_dupKeyRedirect)
End If
MM_rsKey.Close
End If
%>
<%
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) = "submit") Then
MM_editConnection = MM_connDUdirectory_STRING
MM_editTable = "LINKS"
MM_editRedirectUrl = "default.asp"
MM_fieldsStr = "LINK_TYPE|value|LINK_NAME|value|LINK_URL|value|LINK_DESCRIPTION|value|LINK_DATED|value|LINK_APPROVED|value|LINK_RATED|value|LINK_RATES|value"
MM_columnsStr = "LINK_TYPE|none,none,NULL|LINK_NAME|',none,''|LINK_URL|',none,''|LINK_DESCRIPTION|',none,''|LINK_DATED|',none,NULL|LINK_APPROVED|none,none,NULL|LINK_RATED|none,none,NULL|LINK_RATES|none,none,NULL"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it
Dim MM_tableValues
Dim MM_dbValues
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),",")
MM_delim = MM_typeArray(0)
If (MM_delim = "none") Then MM_delim = ""
MM_altVal = MM_typeArray(1)
If (MM_altVal = "none") Then MM_altVal = ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal = "none") Then MM_emptyVal = ""
If (MM_formVal = "") Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "") Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'") Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End If
MM_tableValues = MM_tableValues & MM_columns(MM_i)
MM_dbValues = MM_dbValues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
If (Not MM_abortEdit) Then
' send email to admin
Dim objCDO
Set objCDO = Server.CreateObject("CDONTS.NewMail")
objCDO.From = Request.Form("LINK_EMAIL")
objCDO.To = myEmail
objCDO.CC = Request.Form("LINK_EMAIL")
objCDO.Subject = "New link has been submited"
objCDO.Body = "A new link has been submited and needs to be approved." & vbnewline & "Link Name: " & Request.Form("LINK_NAME") & vbnewline & "Link URL: " & Request.Form("LINK_URL") & vbnewline & "Link Description: " & Request.Form("LINK_DESCRIPTION") & vbnewline & "Submited By: " & Request.Form("LINK_EMAIL")
objCDO.Send()
Set objCDO = Nothing
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<%
Dim rsType
Dim rsType_numRows
Set rsType = Server.CreateObject("ADODB.Recordset")
rsType.ActiveConnection = MM_connDUdirectory_STRING
rsType.Source = "SELECT * FROM TYPES ORDER BY TYPE_NAME ASC"
rsType.CursorType = 0
rsType.CursorLocation = 2
rsType.LockType = 1
rsType.Open()
rsType_numRows = 0
%>
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>
function DoTrimProperly(str, nNamedFormat, properly, pointed, points)
dim strRet
strRet = Server.HTMLEncode(str)
strRet = replace(strRet, vbcrlf,"")
strRet = replace(strRet, vbtab,"")
If (LEN(strRet) > nNamedFormat) Then
strRet = LEFT(strRet, nNamedFormat)
If (properly = 1) Then
Dim TempArray
TempArray = split(strRet, " ")
Dim n
strRet = ""
for n = 0 to Ubound(TempArray) - 1
strRet = strRet & " " & TempArray(n)
next
End If
If (pointed = 1) Then
strRet = strRet & points
End If
End If
DoTrimProperly = strRet
End Function
</SCRIPT>
<link href="assets/DUdirectory.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
<div class = "links">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td align="left" valign="middle" class="textBold"><a href="default.asp">DIRECTORY</a>
» SUBMIT A LINK</td>
<td align="right" valign="middle" class="textBold"> </td>
</tr>
<tr>
<td colspan="2" class="textBold">To submit a link, please fill out the form
below. It will be reviewed, approved and published within 24 hours.</td>
</tr>
<tr align="center" valign="middle">
<form action="<%=MM_editAction%>" method="POST" name="submit" id="submit">
<td colspan="2"> <table border="0" cellpadding="0" cellspacing="1" bgcolor="#666666">
<tr>
<td align="left" valign="top" bgcolor="#FFFFFF"><table align="center" cellpadding="3" cellspacing="3">
<% If Request.QueryString("requsername") <> "" Then %>
<tr valign="baseline">
<td colspan="2" align="left" valign="middle" nowrap class="textBold">The link you're submitting is already in the directory. Please try another. </td>
</tr>
<% End If %>
<tr valign="baseline">
<td align="right" valign="middle" nowrap class="textBold">EMAIL
ADDRESS: </td>
<td valign="middle"><input name="LINK_EMAIL" type="text" class="form" id="LINK_EMAIL" value="" size="45"></td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap class="textBold">CATEGORY:</td>
<td valign="middle"> <select name="LINK_TYPE" class="form" id="select">
<%
While (NOT rsType.EOF)
%>
<option value="<%=(rsType.Fields.Item("TYPE_ID").Value)%>"><%=(rsType.Fields.Item("TYPE_NAME").Value)%></option>
<%
rsType.MoveNext()
Wend
If (rsType.CursorType > 0) Then
rsType.MoveFirst
Else
rsType.Requery
End If
%>
</select> </td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap class="textBold">
NAME:</td>
<td valign="middle"> <input name="LINK_NAME" type="text" class="form" value="" size="45" maxlength="60">
</td>
</tr>
<tr valign="baseline">
<td align="right" valign="middle" nowrap class="textBold">
URL:</td>
<td valign="middle"> <input name="LINK_URL" type="text" class="form" value="http://www." size="60" maxlength="60">
</td>
</tr>
<tr>
<td align="right" valign="top" nowrap class="textBold"> DESCRIPTION:</td>
<td valign="baseline"> <textarea name="LINK_DESCRIPTION" cols="60" rows="10" class="form"></textarea>
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td> <input name="submit" type="submit" class="form" id="submit2" onClick="MM_validateForm('LINK_EMAIL','','RisEmail','LINK_NAME','','R','LINK_URL','','R','LINK_DESCRIPTION','','R');return document.MM_returnValue" value="Submit">
<input type="hidden" name="LINK_DATED" value="<%= date()%>" size="32">
<input type="hidden" name="LINK_APPROVED" value="0" size="32">
<input type="hidden" name="LINK_RATED" value="0" size="32">
<input type="hidden" name="LINK_RATES" value="0" size="32">
<input type="hidden" name="MM_insert" value="submit"> </td>
</tr>
</table></td>
</tr>
</table></td>
</form>
</tr>
<tr align="center" valign="middle">
<td colspan="2" class="text"><a href="default.asp">Directory</a> | <a href="submit.asp">Submit
Links</a> | <a href="http://www.duware.com">Powered by DUdirectory</a></td>
</tr>
</table>
</div>
<%
rsType.Close()
Set rsType = Nothing
%>
