📄 admin_smspost.asp
字号:
<!--#include file="Admin_Common.asp"-->
<!--#include file="../Include/PowerEasy.MD5_New.asp"-->
<%
'**************************************************************
' Software name: PowerEasy SiteWeaver
' Web: http://www.powereasy.net
' Copyright (C) 2005-2008 佛山市动易网络科技有限公司 版权所有
'**************************************************************
Const NeedCheckComeUrl = True '是否需要检查外部访问
Const PurviewLevel = 2 '0--不检查,1--超级管理员,2--普通管理员
Const PurviewLevel_Channel = 0 '0--不检查,1--频道管理员,2--栏目总编,3--栏目管理员
Const PurviewLevel_Others = "" '其他权限
Dim SendTo
SendTo = Trim(Request("SendTo"))
If AdminPurview > 1 Then
Select Case SendTo
Case "Member"
PurviewPassed = CheckPurview_Other(AdminPurview_Others, "SendSMSToMember")
Case "Contacter"
PurviewPassed = CheckPurview_Other(AdminPurview_Others, "SendSMSToContacter")
Case "Consignee"
PurviewPassed = CheckPurview_Other(AdminPurview_Others, "SendSMSToConsignee")
Case "Other"
PurviewPassed = CheckPurview_Other(AdminPurview_Others, "SendSMSToOther")
End Select
If PurviewPassed = False Then
Response.write "<br><p align='center'><font color='red' style='font-size:9pt'>对不起,你没有此项操作的权限。</font></p>"
Response.End
End If
End If
Dim arrMobile()
regEx.Pattern = "[^0-9]"
Dim mSendNum '接收短信的手机号
Dim mContent '短信内容
Dim mSendTiming '是否定时发送,0为否(默认),1为定时
Dim mSendTime '定时发送时间
Dim MD5String 'MD5校验字符。MD5字符是由上述几个字段加上用户密码,然后用MD5函数加密得到的字符串。字段顺序如下:
'SMSUserName & SMSKey & mSendNum & mContent & mSendTiming & mSendTime
Dim RecieverCount
RecieverCount = 0
mContent = Trim(Request("Content"))
mSendTiming = PE_CLng(Trim(Request("SendTiming")))
Select Case SendTo
Case "SendToMember"
mSendNum = GetReciever_Member()
Case "SendToContacter"
mSendNum = GetReciever_Contacter()
Case "SendToConsignee"
mSendNum = GetReciever_Consignee()
Case "SendToOther"
mSendNum = Trim(Request("Receiver"))
Dim arrReceiver
arrReceiver = Split(mSendNum, vbCrLf)
RecieverCount = UBound(arrReceiver) + 1
End Select
If mSendNum = "" Then
FoundErr = True
ErrMsg = ErrMsg & "<li>找不到满足条件的手机号码</li>"
End If
mSendTime = Trim(Request("SendDate")) & " " & Trim(Request("SendTime_Hour")) & ":" & Trim(Request("SendTime_Minute")) & ":00"
If mContent = "" Then
FoundErr = True
ErrMsg = ErrMsg & "<li>请输入短信内容</li>"
End If
If mSendTiming = 1 And IsDate(mSendTime) = False Then
FoundErr = True
ErrMsg = ErrMsg & "<li>定时发送时间的格式不对!</li>"
End If
If FoundErr = True Then
Response.write ErrMsg
Response.End
End If
Dim ID, ranNum, dtNow
Randomize
dtNow = Now()
ranNum = Int(900 * Rnd) + 100
ID = Year(dtNow) & Right("0" & Month(dtNow), 2) & Right("0" & Day(dtNow), 2) & Right("0" & Hour(dtNow), 2) & Right("0" & Minute(dtNow), 2) & Right("0" & Second(dtNow), 2) & ranNum
Dim PE_MD5
Set PE_MD5 = New Md5_Class
MD5String = UCase(Trim(PE_MD5.MD5(ID & SMSUserName & SMSKey & mSendNum & mContent & mSendTiming & mSendTime)))
Set PE_MD5 = Nothing
Dim MessageCount
MessageCount = ((Len(mContent) \ 70) + 1) * RecieverCount
%>
<html>
<head>
<Title>短信预览</Title>
<meta http-equiv='Content-Type' content='text/html; charset=gb2312' />
<link href='Admin_Style.css' rel='stylesheet' type='text/css'>
</head>
<body>
<table width='100%' border='0' align='center' cellpadding='2' cellspacing='1' class='border'>
<tr class='topbg'>
<td height='22' colspan='10'><table width='100%'><tr class='topbg'><td align='center'><b>发 送 手 机 短 信</b></td><td width='60' align='right'><a href='http://go.powereasy.net/go.aspx?UrlID=10047' target='_blank'><img src='images/help.gif' border='0'></a></td></tr></table></td>
</tr>
<tr class='tdbg'>
<td width='70' height='30'><strong>管理导航:</strong></td>
<td><a href='Admin_SMS.asp?SendTo=Member'>给会员发送短信</a> | <a href='Admin_SMS.asp?SendTo=Contacter'>给联系人发送短信</a> | <a href='Admin_SMS.asp?SendTo=Consignee'>给订单中的收货人发送短信</a> | <a href='Admin_SMS.asp?SendTo=Other'>给其他人发送短信</a> </td>
</tr>
</table>
<form name='message' method='post' action='http://sms.powereasy.net/MessageGate2/MessageGate.aspx'>
<table width='100%' border='0' align='center' cellpadding='2' cellspacing='1' class='border'>
<tr class='title'><td colspan='2' align='center'>预 览 短 信</td></tr>
<tr class='tdbg' valign='top'>
<td width='300'>下面是根据您指定的条件查找到的接收人:<br><textarea name="SendNum" rows='20' cols='40' readonly><%= mSendNum %></textarea></td>
<td><b>短信内容:</b><br><textarea name="Content" rows='5' cols='60' readonly><%= mContent %></textarea><br><br><br><br><br><br><b>短信统计:</b><br>需要向 <%=RecieverCount%> 个号码发送 <%=MessageCount%> 条短信<br><br><b>说明:</b><br>因为每条短信不能超过70个字,所以短信数可能会大于号码数。<br>因为短信内容中的变量替换等原因,可能会导致实际发送的短信数会超过这里计算的短信数,最终结果以动易短信通平台上的实际发送数目为准。</td></tr>
<tr class='tdbg'><td colspan='2' height='50' align='center'><input type='submit' name='submit' value='提交给短信服务器'>
<input type="hidden" name="UserName" value="<%= SMSUserName %>" />
<input type="hidden" name="SendTiming" value="<%= mSendTiming %>" />
<input type="hidden" name="SendTime" value="<%= mSendTime %>" />
<input type="hidden" name="MD5String" value="<%= MD5String %>" />
<input type="hidden" name="Reserve" value="管理员ID:<%= AdminID %>" />
<input type="hidden" name="ID" value="<%= ID %>" />
</td></tr></table>
</form>
</body>
</html>
<%
Function FoundMobile(sMobile, iTemp)
Dim i, bl
bl = False
For i = iTemp To 0 Step -1
If Trim(arrMobile(i)) = Trim(sMobile) Then
bl = True
Exit For
End If
Next
FoundMobile = bl
End Function
Function GetValidNumber(sNumber)
Dim strTemp, l
strTemp = regEx.Replace(sNumber, "")
l = Len(strTemp)
If (l = 11 Or l = 12) And (Left(strTemp, 1) = "0" Or Left(strTemp, 1) = "1") Then
GetValidNumber = strTemp
Else
GetValidNumber = ""
End If
End Function
Function GetReciever_Member()
Dim InceptType, GroupID, inceptUser
Dim sqlUser, strReciever, strMobile
Dim BeginID, EndID
inceptUser = Replace(ReplaceBadChar(Request("InceptUser")), ",", "','")
BeginID = PE_CLng(Trim(Request("BeginID")))
EndID = PE_CLng(Trim(Request("EndID")))
strReciever = ""
sqlUser = "select U.UserName,C.TrueName,C.Mobile,C.PHS from PE_User U left join PE_Contacter C on U.ContacterID=C.ContacterID where (C.Mobile<>'' or C.PHS<>'')"
InceptType = PE_CLng(Trim(Request("InceptType")))
GroupID = Trim(Request("GroupID"))
If IsValidID(GroupID) = False Then
GroupID = ""
End If
If GroupID <> "" Then
sqlUser = sqlUser & " and U.GroupID in (" & GroupID & ")"
End If
If inceptUser <> "" Then
sqlUser = sqlUser & " and U.UserName in ('" & inceptUser & "')"
End If
If BeginID > 0 Then
sqlUser = sqlUser & " And U.UserID>=" & BeginID
End If
If EndID > 0 Then
sqlUser = sqlUser & " And U.UserID<=" & EndID
End If
sqlUser = sqlUser & " order by C.Mobile,C.PHS"
Dim rsUser, strMoblie
Set rsUser = server.CreateObject("adodb.recordset")
rsUser.open sqlUser, Conn, 1, 1
ReDim arrMobile(rsUser.recordcount)
Do While Not rsUser.EOF
strMobile = rsUser("Mobile")
If strMobile = "" Then strMobile = rsUser("PHS")
strMobile = GetValidNumber(strMobile)
If strMobile <> "" Then
If FoundMobile(strMobile, RecieverCount) = False Then
arrMobile(RecieverCount) = strMobile
If strReciever <> "" Then
strReciever = strReciever & vbCrLf
End If
strReciever = strReciever & strMobile & "," & rsUser("UserName")
If rsUser("TrueName") <> "" Then
strReciever = strReciever & "," & rsUser("TrueName")
End If
RecieverCount = RecieverCount + 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -