Updated: Saturday, November 29, 2014 Page 1

Size: px
Start display at page:

Download "Updated: Saturday, November 29, 2014 Page 1"

Transcription

1 ' Copyright 2013 Safe T Services - All Rights Reserved '=========================================================================================== 'Changed by Change Date Change Tag ' Description of Change 'Matt ms ' Added code to handle password recoveries. 'Matt ms ' Added code to support account reset via mobile device. 'Matt ms ' Added Prefix to mobile device numbers when sending a text via . '=========================================================================================== Partial Class AccountAssist Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then If Request.ServerVariables("SERVER_NAME").Contains("localhost") Then If (Request.ServerVariables("HTTPS") = "off") Then Dim strserver As String strserver = " & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME") Response.Redirect(strServer) If Request.ServerVariables("SERVER_NAME").Contains("localhost") Then Session("strEnvironment") = "Development" Session("strEnvironment") = "Production" Dim secureappsettings As NameValueCollection = System.Configuration.ConfigurationManager.GetSection("secureAppSettings" & Session("strEnvironment")) 'ms Session("strDataConnectString") = secureappsettings(session("strenvironment") & "Data") 'ms Session("strKeysConnectString") = secureappsettings(session("strenvironment") & "Keys") 'ms Dim m As New Misc Dim strunavailablemsg As String = "" strunavailablemsg = m.systemavailable() If strunavailablemsg = "" Then Session("SystemAvailable") = True If Session("strLanguage") Is Nothing Then If Request.Cookies("TTlang1") Is Nothing And Request.Cookies("TTlang2") Is Nothing Then Session("strLanguage") = "en" If Not Request.Cookies("TTlang1") Is Nothing Then Session("strLanguage") = Request.Cookies("TTlang1").Value Session("strLanguage") = Request.Cookies("TTlang2").Value If Session("strLanguage") = "" Then Session("strLanguage") = "en" If Session("strLanguage") = "en" Or strunavailablemsg <> "" Then litcontactus.text = "Contact Us" litpreferences.text = "Preferences" Updated: Saturday, November 29, 2014 Page 1

2 litprivacy.text = "Privacy" Dim local As New Local() Dim strplaceholder As String = "" local.localizetext(session("strdataconnectstring"), litcontactus.text, _ litpreferences.text, litprivacy.text, _ strplaceholder, strplaceholder, Session("strUsername"), _ Session("intUserID"), Session("strLanguage")) If Session("strEnvironment") = "Production" Then Session("strLoginURL") = " & Request.ServerVariables("SERVER_NAME") & "/SecureLogin.aspx" Session("strPWResetURL") = " & Request.ServerVariables("SERVER_NAME") & "/PWReset.aspx?code=" Session("strPWRecoveryURL") = " & Request.ServerVariables("SERVER_NAME") & "/PWRecovery.aspx?code=" Session("strLoginURL") = " & Request.ServerVariables("SERVER_NAME") & "/SecureLogin.aspx" Session("strPWResetURL") = " & Request.ServerVariables("SERVER_NAME") & "/PWReset.aspx?code=" Session("strPWRecoveryURL") = " & Request.ServerVariables("SERVER_NAME") & "/PWRecovery.aspx?code=" Session("Contact") = "customer.support@threadthat.com" Session(" FromAddress") = """ThreadThat Support"" <customer.support@threadthat.com>" Session("ApplicationName") = "ThreadThat.com" Session("IPAddress") = m.getipaddress LoadLiterals() Protected Sub LoadLiterals() Dim m As New Misc() Dim trow As New TableRow Dim tcell As New TableCell lblheading.text = m.gettext(session("strdataconnectstring"), 299, Session("strLanguage")) lbldescription.text = m.gettext(session("strdataconnectstring"), 593, Session("strLanguage")) trow = Table1.Rows(0) tcell = trow.cells(0) tcell.text = m.gettext(session("strdataconnectstring"), 570, Session("strLanguage")) trow = Table1.Rows(1) tcell = trow.cells(0) tcell.text = m.gettext(session("strdataconnectstring"), 574, Session("strLanguage")) cmdusername.text = m.gettext(session("strdataconnectstring"), 304, Session("strLanguage")) cmdpwreset.text = m.gettext(session("strdataconnectstring"), 305, Session("strLanguage")) cmdpwrecovery.text = m.gettext(session("strdataconnectstring"), 376, Session("strLanguage")) Protected Sub cmdusername_click(byval sender As Object, ByVal e As System.EventArgs) Handles cmdusername.click Dim errcode As Integer Dim m As New Misc() Dim u As New User() Dim ea As New Address() lblerrormsg.text = m.systemavailable() If lblerrormsg.text <> "" Then Exit Sub lblerrormsg.style("color") = "red" If txt address.text <> "" Then errcode = u.sendusername (session("strdataconnectstring"), Session("strKeysConnectString"), _ 'ms 'ms 'ms Updated: Saturday, November 29, 2014 Page 2

3 Session("IPAddress"), Session(" FromAddress"), txt address.text, _ Session("ApplicationName"), Session("strLoginURL"), Session("Contact"), _ lblerrormsg.text, Session("strLanguage")) If errcode <> 0 Then Exit Sub lblerrormsg.text = m.gettext(session("strdataconnectstring"), 598, Session("strLanguage")) If txtmobilenumber.text <> "" Then Dim strmobiledomain As String = "" Dim strmobileprefix As String = "" 'ms Dim strusername As String = "" Dim intuserid2 As Integer errcode = ea.getmobiledomaininfo(session("strdataconnectstring"), txtmobilenumber.text, strmobiledomain, strmobileprefix, _ strusername, intuserid2, lblerrormsg.text, Session("strLanguage")) 'ms If errcode = 0 Then Dim strfromwho As String Dim strtowho As String Dim strcc As String = "" Dim strbcc As String = "" Dim strsubject As String Dim strbody As String strfromwho = """ThreadThat Support"" <customer.support@threadthat.com>" strtowho = strmobileprefix & txtmobilenumber.text & "@" & strmobiledomain 'ms strsubject = "" strbody = m.gettext(session("strdataconnectstring"), 596, Session("strLanguage")) & strusername 'Call function to send username as a text message Dim mail As New mail.send(strfromwho, strtowho, strcc, strbcc, strsubject, strbody, False) If lblerrormsg.text = "" Then lblerrormsg.text = m.gettext(session("strdataconnectstring"), 599, Session("strLanguage")) lblerrormsg.text = m.gettext(session("strdataconnectstring"), 600, Session("strLanguage")) lblerrormsg.text = m.gettext(session("strdataconnectstring"), 594, Session("strLanguage")) If txt address.text = "" And txtmobilenumber.text = "" Then lblerrormsg.text = m.gettext(session("strdataconnectstring"), 612, Session("strLanguage")) If errcode = 0 Then lblerrormsg.style("color") = "green" cmdusername.enabled = False 'ms Protected Sub cmdpwreset_click(byval sender As Object, ByVal e As System.EventArgs) Handles cmdpwreset.click Dim errcode As Integer Dim m As New Misc() Dim u As New User() Updated: Saturday, November 29, 2014 Page 3

4 Dim ea As New Address() lblerrormsg.text = m.systemavailable() If lblerrormsg.text <> "" Then Exit Sub lblerrormsg.style("color") = "red" If txt address.text <> "" Then errcode = u.sendpwreset (session("strdataconnectstring"), _ Session("IPAddress"), Session(" FromAddress"), txt address.text, _ Session("ApplicationName"), Session("strPWResetURL"), Session("Contact"), _ lblerrormsg.text, Session("strLanguage")) Session("intResetUserID") = 0 If errcode <> 0 Then Exit Sub If txtmobilenumber.text <> "" Then Dim strmobiledomain As String = "" Dim strmobileprefix As String = "" 'ms Dim strusername As String = "" Dim intuserid As Integer = 0 errcode = ea.getmobiledomaininfo(session("strdataconnectstring"), txtmobilenumber.text, _ strmobiledomain, strmobileprefix, strusername, intuserid, _ lblerrormsg.text, Session("strLanguage")) 'ms If errcode = 0 Then If u.pwresetallowed(session("strdataconnectstring"), intuserid) Then Dim strfromwho As String Dim strtowho As String Dim strcc As String = "" Dim strbcc As String = "" Dim strsubject As String Dim strbody As String strfromwho = """ThreadThat Support"" <customer.support@threadthat.com>" strtowho = strmobileprefix & txtmobilenumber.text & "@" & strmobiledomain 'ms strsubject = "" 'Generate a random 6-digit number for the user to confirm they own the device. Dim rc As New Random() Dim intrandom As Integer intrandom = rc.next(100000, ) strbody = m.gettext(session("strdataconnectstring"), 595, Session("strLanguage")) & intrandom.tostring() Session("strConfirmationCode") = intrandom.tostring() Session("intResetUserID") = intuserid 'Call function to send confirmation code as a text message Dim mail As New mail.send(strfromwho, strtowho, strcc, strbcc, strsubject, strbody, False) Response.Redirect("PWReset.aspx") lblerrormsg.text = m.gettext(session("strdataconnectstring"), 610, Session("strLanguage")) lblerrormsg.text = lblerrormsg.text.replace("?1", txtmobilenumber.text) Updated: Saturday, November 29, 2014 Page 4

5 lblerrormsg.text = m.gettext(session("strdataconnectstring"), 594, Session("strLanguage")) If txt address.text = "" And txtmobilenumber.text = "" Then lblerrormsg.text = m.gettext(session("strdataconnectstring"), 612, Session("strLanguage")) If errcode = 0 Then lblerrormsg.style("color") = "green" cmdpwreset.enabled = False Protected Sub cmdpwrecovery_click(byval sender As Object, ByVal e As System.EventArgs) Handles cmdpwrecovery.click Dim errcode As Integer Dim m As New Misc() Dim u As New User() Dim ea As New Address() 'ms lblerrormsg.text = m.systemavailable() If lblerrormsg.text <> "" Then Exit Sub lblerrormsg.style("color") = "red" If txt address.text <> "" Then errcode = u.sendpwrecovery (session("strdataconnectstring"), Session("strKeysConnectString"), _ Session("IPAddress"), Session(" FromAddress"), txt address.text, _ Session("ApplicationName"), Session("strPWRecoveryURL"), Session("Contact"), _ lblerrormsg.text, Session("strLanguage")) Session("intResetUserID") = 0 If errcode <> 0 Then Exit Sub If txtmobilenumber.text <> "" Then Dim strmobiledomain As String = "" Dim strmobileprefix As String = "" 'ms Dim strusername As String = "" Dim intuserid As Integer = 0 errcode = ea.getmobiledomaininfo(session("strdataconnectstring"), txtmobilenumber.text, _ strmobiledomain, strmobileprefix, strusername, intuserid, _ lblerrormsg.text, Session("strLanguage")) 'ms If errcode = 0 Then Dim strfromwho As String Dim strtowho As String Dim strcc As String = "" Dim strbcc As String = "" Dim strsubject As String Dim strbody As String strfromwho = """ThreadThat Support"" <customer.support@threadthat.com>" Updated: Saturday, November 29, 2014 Page 5

6 strtowho = strmobileprefix & txtmobilenumber.text & "@" & strmobiledomain 'ms strsubject = "" 'Generate a random 6-digit number for the user to confirm they own the device. Dim rc As New Random() Dim intrandom As Integer intrandom = rc.next(100000, ) strbody = m.gettext(session("strdataconnectstring"), 614, Session("strLanguage")) & intrandom.tostring() Session("strConfirmationCode") = intrandom.tostring() Session("intRestoreUserID") = intuserid 'Call function to send confirmation code as a text message Dim mail As New mail.send(strfromwho, strtowho, strcc, strbcc, strsubject, strbody, False) Response.Redirect("PWRecovery.aspx") lblerrormsg.text = m.gettext(session("strdataconnectstring"), 594, Session("strLanguage")) If txt address.text = "" And txtmobilenumber.text = "" Then lblerrormsg.text = m.gettext(session("strdataconnectstring"), 612, Session("strLanguage")) If errcode = 0 Then lblerrormsg.style("color") = "green" cmdpwrecovery.enabled = False End Class Updated: Saturday, November 29, 2014 Page 6

7 ' Copyright 2014 Safe T Services - All Rights Reserved Imports System.IO Imports System.Data Imports System.Reflection Imports CuteWebUI Imports WODCRYPTCOMLib '=========================================================================================== 'Changed by Change Date Change Tag ' Description of Change 'Matt N/A ' Original Version. 'Matt ms ' Added DisplayOrder parameter to List call. 'Matt ms ' Fixed heading for uploaded file list. 'Matt ms ' Changed page size to 100. '=========================================================================================== Partial Class AddAnonAttachment Inherits System.Web.UI.Page Protected Overloads Overrides Sub OnInit(ByVal e As EventArgs) MyBase.OnInit(e) If Request.Browser.Browser = "Opera" Then Response.Cache.SetCacheability(HttpCacheability.NoCache) Protected Overloads Overrides Sub OnLoad(ByVal e As EventArgs) MyBase.OnLoad(e) If Not IsPostBack Then GridView1.DataBind() Public ReadOnly Property PageNumber() As Integer Get Dim pagenum As Integer = 1 Dim page As String = Context.Request.QueryString("Page") If Not String.IsNullOrEmpty(page) Then If Not Integer.TryParse(page, pagenum) Then pagenum = 1 If pagenum < 1 Then pagenum = 1 Return pagenum End Get End Property Sub Page_PreInit(ByVal sender As Object, ByVal e As EventArgs) Handles Me.PreInit If Not Page.IsPostBack Then Dim t As New Thread If Request.ServerVariables("SERVER_NAME").Contains("localhost") Then Session("strEnvironment") = "Development" Updated: Saturday, November 29, 2014 Page 7

8 'ms Session("strEnvironment") = "Production" Dim secureappsettings As NameValueCollection = System.Configuration.ConfigurationManager.GetSection("secureAppSettings" & Session("strEnvironment")) Session("strDataConnectString") = secureappsettings(session("strenvironment") & "Data") 'ms Session("strKeysConnectString") = secureappsettings(session("strenvironment") & "Keys") 'ms If Session("intThreadID") = Nothing Then Response.Redirect("GetThread.aspx") If t.repliesareallowed(session("strdataconnectstring"), Session("intUserID"), Session("intThreadID")) Then Response.Redirect("GetThread.aspx") If Request.ServerVariables("SERVER_NAME").Contains("test") Or Request.ServerVariables("SERVER_NAME").Contains("localhost") Then If (Request.ServerVariables("HTTPS") = "off") Then Dim strserver As String strserver = " & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME") Response.Redirect(strServer) Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim m As New Misc Dim u As New User Dim t As New Thread Dim strunavailablemsg As String = "" If Not Page.IsPostBack Then strunavailablemsg = m.systemavailable() Session("strLanguage") = "en" Dim stripaddress = m.getipaddress Session("IPAddr") = stripaddress If Not t.threadexists(session("strdataconnectstring"), Session("intThreadID")) Then Session.Remove("intThreadID") Response.Redirect("Threads.aspx") If strunavailablemsg <> "" Then Session("SystemMessage") = strunavailablemsg Response.Redirect("SystemMessage.aspx") If Session("strEnvironment") = "Production" Then Session("strLoginURL") = " & Request.ServerVariables("SERVER_NAME") & "/SecureLogin.aspx" Session("strAnonymousURL") = " & Request.ServerVariables("SERVER_NAME") & "/GetThread.aspx" Session("strLoginURL") = " & Request.ServerVariables("SERVER_NAME") & "/SecureLogin.aspx" Session("strAnonymousURL") = " & Request.ServerVariables("SERVER_NAME") & "/GetThread.aspx" InitAddAttachmentPanel() txttimeoutduration.value = 60 If boolforcetimeout.value = "true" Then lblerrormsg.text = "Your session has timed out. If you need to view this Thread again, please click the original link sent to your account." Updated: Saturday, November 29, 2014 Page 8

9 Session.Remove("intThreadID") Session.Remove("strPassKey") Protected Sub InitAddAttachmentPanel() Dim radthreadtype As New ListItem Dim m As New Misc Dim t As New Thread Dim trow As New TableRow Dim tcell As New TableCell lblheading.text = m.gettext(session("strdataconnectstring"), 232, Session("strLanguage")) lblinstructions.text = m.gettext(session("strdataconnectstring"), 233, Session("strLanguage")) Uploader1.InsertText = m.gettext(session("strdataconnectstring"), 232, Session("strLanguage")) & "(<100MB)" cmddelete.text = m.gettext(session("strdataconnectstring"), 237, Session("strLanguage")) cmdreturn.text = m.gettext(session("strdataconnectstring"), 238, Session("strLanguage")) Uploader1.FileTooLargeMsg = m.gettext(session("strdataconnectstring"), 244, Session("strLanguage")) Protected Sub GridView1_DataBinding(ByVal sender As Object, ByVal e As EventArgs) Dim pageindex As Integer = (PageNumber - 1) Dim count As Integer = 100 'ms Dim start As Integer = pageindex * count Dim total As Integer = 0 Dim errcode As Integer Dim arrattachmentid() As Integer Dim arruserid() As Integer Dim arrusername() As String Dim arrdatetime() As DateTime Dim arrinternalfilename() As String Dim arrserverfilename() As String Dim arrdisplayorder() As String 'ms Dim arrfilesize() As Integer Dim a As New Attachment() Dim m As New Misc() Dim u As New User() Dim strerrormsg As String Dim arrpasskeys() As String ReDim Preserve arrpasskeys(0) arrpasskeys(0) = Session("strPassKey") errcode = a.list(session("strdataconnectstring"), Session("strKeysConnectString"), Session("strDataEncryptionKeyToUse"), Session("IPAddr"), Session("intUserID"), _ Session("intThreadID"), "", 0, arrpasskeys, arrattachmentid, arruserid, _ arrusername, arrdatetime, arrinternalfilename, arrserverfilename, arrfilesize, arrdisplayorder, strerrormsg, Session("strLanguage")) 'ms If errcode <> 0 Then lblerrormsg.text = strerrormsg Exit Sub Dim i As Integer Dim tblattachments As New DataTable Dim AttachmentID As DataColumn = New DataColumn("AttachmentID") AttachmentID.DataType = System.Type.GetType("System.Int32") Dim FileName As DataColumn = New DataColumn("FileName") FileName.DataType = System.Type.GetType("System.String") Dim ServerFileName As DataColumn = New DataColumn("ServerFileName") Updated: Saturday, November 29, 2014 Page 9

10 ServerFileName.DataType = System.Type.GetType("System.String") Dim FileSize As DataColumn = New DataColumn("FileSize") FileSize.DataType = System.Type.GetType("System.Int32") Dim UploadTime As DataColumn = New DataColumn("UploadTime") UploadTime.DataType = System.Type.GetType("System.String") Dim UploadedBy As DataColumn = New DataColumn("UploadedBy") UploadedBy.DataType = System.Type.GetType("System.String") tblattachments.columns.add(attachmentid) tblattachments.columns.add(filename) tblattachments.columns.add(serverfilename) tblattachments.columns.add(filesize) tblattachments.columns.add(uploadtime) tblattachments.columns.add(uploadedby) Dim j As Integer = 0 If arrattachmentid Is Nothing Then For i = start To arrattachmentid.length - 1 Dim r As DataRow r = tblattachments.newrow() r.item("attachmentid") = arrattachmentid(i) r.item("filename") = arrinternalfilename(i) r.item("serverfilename") = arrserverfilename(i) r.item("filesize") = arrfilesize(i) r.item("uploadtime") = m.adjusttime(arrdatetime(i), Session("decGMTAdjustment"), False) r.item("uploadedby") = arrusername(i) tblattachments.rows.add(r) j += 1 If j = count Then Exit For Next total = arrattachmentid.length GridView1.DataSource = tblattachments Dim pagecount As Integer = total / count If pagecount = 0 Then pagecount = 1 If pageindex > 0 Then LinkFirst.Enabled = True LinkPrev.Enabled = True LinkFirst.Enabled = False LinkPrev.Enabled = False If pagecount > 1 Then If pageindex < pagecount - 1 Then LinkLast.Enabled = True LinkNext.Enabled = True LinkLast.Enabled = False LinkNext.Enabled = False Updated: Saturday, November 29, 2014 Page 10

11 LinkLast.Enabled = False LinkNext.Enabled = False SetLink(LinkFirst, 0, 239) SetLink(LinkPrev, pageindex - 1, 240) SetLink(LinkNext, pageindex + 1, 241) SetLink(LinkLast, pagecount - 1, 242) LabelPage.Text = String.Format("[ {0} ]", pageindex + 1) Protected Sub GridView1_DataBound(ByVal sender As Object, ByVal e As EventArgs) 'Set the checkbox enabled property for each visible checkbox. If the user that is logged in is not the user that uploaded the 'attachment and they are not the owner of the thread, then disable the checkbox. Dim a As New Attachment() Dim m As New Misc() Dim t As New Thread() Dim errcode As Integer Dim introwcount As Integer = 0 Dim intfileuserid As Integer Dim dtdatetime As DateTime Dim strinternalfilename As String Dim strfiledescription As String Dim strdataencryptionkeytouse As String Dim strserverfilename As String Dim intfilesize As Integer Dim strerrormsg As String If Not t.threadexists(session("strdataconnectstring"), Session("intThreadID")) Then Session.Remove("intThreadID") Response.Redirect("GetThread.aspx") Dim arrpasskeys() As String ReDim Preserve arrpasskeys(0) arrpasskeys(0) = Session("strPassKey") Dim boolisthreadowner As Boolean = t.isthreadowner(session("strdataconnectstring"), Session("intUserID"), Session("intThreadID")) For Each row As GridViewRow In GridView1.Rows If row.rowtype = DataControlRowType.DataRow Then introwcount += 1 Dim cb As CheckBox = DirectCast(row.FindControl("CheckBoxSelect"), CheckBox) Dim fileid As Integer = CInt(GridView1.DataKeys(row.RowIndex).Value) errcode = a.read(session("strdataconnectstring"), Session("strKeysConnectString"), Session("strDataEncryptionKeyToUse"), Session("IPAddr"), Session("intUserID"), _ Session("intThreadID"), "", 0, arrpasskeys, fileid, False, _ intfileuserid, dtdatetime, strinternalfilename, strserverfilename, intfilesize, strfiledescription, _ strdataencryptionkeytouse, strerrormsg, Session("strLanguage")) 'removed check for file owner/thread owner. Always make delete checkbox enabled. cb.enabled = True Next If GridView1.Rows.Count = 0 Then Dim tbl As Table = GridView1.Controls(0) Dim gvr As GridViewRow = tbl.controls(0) Dim cell As TableCell = gvr.cells(0) Dim lblempty As Label = cell.findcontrol("lblempty") lblempty.text = m.gettext(session("strdataconnectstring"), 234, Session("strLanguage")) Updated: Saturday, November 29, 2014 Page 11

12 If strerrormsg <> "" Then lblerrormsg.text = strerrormsg Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs) If e.row.rowtype = DataControlRowType.Header Then Dim m As New Misc() Dim i As Integer = 0 For Each c As TableCell In e.row.cells Select Case i Case 2 'ms c.text = m.gettext(session("strdataconnectstring"), 245, Session("strLanguage")) Case 3 'ms c.text = m.gettext(session("strdataconnectstring"), 488, Session("strLanguage")) Case 4 'ms c.text = m.gettext(session("strdataconnectstring"), 246, Session("strLanguage")) Case 5 'ms c.text = m.gettext(session("strdataconnectstring"), 247, Session("strLanguage")) Case 6 'ms c.text = m.gettext(session("strdataconnectstring"), 248, Session("strLanguage")) End Select i += 1 Next Private Sub SetLink(ByVal link As HyperLink, ByVal pageindex As Integer, ByVal intmsgnumber As Integer) Dim m As New Misc() Dim num As Integer = pageindex + 1 link.navigateurl = "AddAttachment.aspx?Page=" & num.tostring() link.text = m.gettext(session("strdataconnectstring"), intmsgnumber, Session("strLanguage")) Protected Sub Uploader1_FileUploaded(ByVal sender As Object, ByVal args As UploaderEventArgs) Dim a As New Attachment() Dim m As New Misc() Dim errcode As Integer Dim dir As String = Server.MapPath("~/Attachments/") Dim newname As String = args.fileguid.tostring() Dim strfileextension As String Dim strencryptionpasskey As String Dim arrpasskeys() As String ReDim Preserve arrpasskeys(0) arrpasskeys(0) = Session("strPassKey") Dim i As Integer = args.filename.length() 'Edits for supported extensions and filesize are done on the client, but are repeated here in case user has javascript disabled. Do i -= 1 If i < 1 Then lblerrormsg.text = m.gettext(session("strdataconnectstring"), 235, Session("strLanguage")) lblerrormsg.text = lblerrormsg.text.replace("?1", args.filename) Exit Sub If args.filename.substring(i, 1) = "." Then Dim intextlength As Integer = args.filename.length() - i intextlength -= 1 Updated: Saturday, November 29, 2014 Page 12

13 i += 1 strfileextension = args.filename.substring(i, intextlength) If a.isfiletypesupported(session("strdataconnectstring"), strfileextension, lblerrormsg.text) Then Exit Do lblerrormsg.text = m.gettext(session("strdataconnectstring"), 235, Session("strLanguage")) lblerrormsg.text = lblerrormsg.text.replace("?1", args.filename) Exit Sub Loop 'Max file size is 100MB If args.filesize > Then lblerrormsg.text = m.gettext(session("strdataconnectstring"), 236, Session("strLanguage")) lblerrormsg.text = lblerrormsg.text.replace("?1", args.filename) Exit Sub 'When adding an anonymous attachment, we use the Address ID of the user initiating the upload. errcode = a.add(session("strdataconnectstring"), Session("strKeysConnectString"), Session("strDataEncryptionKeyToUse"), Session("IPAddr"), Session(" AddressID"), _ Session("intThreadID"), arrpasskeys, Session("strPassword"), Session("intKeyboxID"), args.filename, _ newname & ".enc", args.filesize, True, strencryptionpasskey, lblerrormsg.text, Session("strLanguage")) If errcode <> 0 Then Exit Sub args.moveto(path.combine(dir, newname)) EncryptFile(newname, strencryptionpasskey) Protected Sub Uploader1_UploadCompleted(ByVal sender As Object, ByVal args As UploaderEventArgs()) 'Setting boolselectfirstentry so that the correct entry will be selected if the user returns to the console. Session("boolSelectFirstEntry") = True 'Add a message to the thread specifying the files that were uploaded. Dim m As New Misc() Dim t As New Thread() Dim boolisdraft As Boolean = t.isdraftthread(session("strdataconnectstring"), Session("intThreadID")) Dim strmessage As String = "" For Each fn As UploaderEventArgs In args If strmessage = "" Then strmessage = m.gettext(session("strdataconnectstring"), 257, Session("strLanguage")) strmessage = strmessage.replace("?1", Session("strUsername")) strmessage += "<br />" strmessage += fn.filename Next GridView1.DataBind() Protected Sub cmddelete_click(byval sender As Object, ByVal e As EventArgs) Dim t As New Thread() Dim boolisdraft As Boolean = t.isdraftthread(session("strdataconnectstring"), Session("intThreadID")) Dim fileids As New List(Of Integer)() For Each row As GridViewRow In GridView1.Rows If row.rowtype = DataControlRowType.DataRow Then Dim cb As CheckBox = DirectCast(row.FindControl("CheckBoxSelect"), CheckBox) Updated: Saturday, November 29, 2014 Page 13

14 If cb IsNot Nothing AndAlso cb.checked Then Try Dim fileid As Integer = CInt(GridView1.DataKeys(row.RowIndex).Value) fileids.add(fileid) Catch cb.checked = False End Try Next If fileids.count = 0 Then Return Dim filedir As String = Server.MapPath("~/Attachments/") Dim errcode As Integer Dim intfileuserid As Integer Dim dtdatetime As DateTime Dim strinternalfilename As String Dim strfiledescription As String Dim strserverfilename As String Dim strencryptionpasskey As String Dim intfilesize As Integer Dim a As New Attachment() Dim m As New Misc() Dim strmessage As String = "" Dim arrpasskeys() As String ReDim Preserve arrpasskeys(0) arrpasskeys(0) = Session("strPassKey") For Each fileid As Integer In fileids errcode = a.read(session("strdataconnectstring"), Session("strKeysConnectString"), "", Session("IPAddr"), Session("intUserID"), _ Session("intThreadID"), "", Session("intKeyboxID"), arrpasskeys, fileid, False, intfileuserid, _ dtdatetime, strinternalfilename, strserverfilename, intfilesize, strfiledescription, _ strencryptionpasskey, lblerrormsg.text, Session("strLanguage")) If errcode = 0 Then errcode = a.delete(session("strdataconnectstring"), Session("IPAddr"), Session("intUserID"), fileid, _ filedir, lblerrormsg.text, Session("strLanguage")) If errcode = 0 Then If strmessage = "" Then strmessage = m.gettext(session("strdataconnectstring"), 256, Session("strLanguage")) strmessage = strmessage.replace("?1", Session("strUsername")) strmessage += "<br />" strmessage += strinternalfilename Next Dim message As New Message() GridView1.DataBind() 'Force the first entry to be selected when the user returns to the console. Session("boolSelectFirstEntry") = True Protected Sub cmdreturn_click(byval sender As Object, ByVal e As EventArgs) ScriptManager.RegisterStartupScript(Page, Me.GetType(), "Redirect1", "RedirectTo('GetThread.aspx');", True) Updated: Saturday, November 29, 2014 Page 14

15 Protected Sub EncryptFile(ByVal filename As String, ByVal strencryptionpasskey As String) Dim cm As New wodcryptcom cm.licensekey = "?" Dim infile As New FileBlob Dim outfile As New FileBlob infile.filename = Server.MapPath("~/Attachments/" & filename) infile.autodelete = True outfile.filename = Server.MapPath("~/Attachments/" & filename & ".enc") cm.secretkey = strencryptionpasskey cm.type = CryptoTypes.AES cm.encrypt(infile, outfile) infile.filename = "" infile = Nothing outfile = Nothing cm = Nothing End Class Updated: Saturday, November 29, 2014 Page 15

16 ' Copyright 2013 Safe T Services - All Rights Reserved Imports System.IO Imports System.Data Imports System.Reflection Imports CuteWebUI Imports WODCRYPTCOMLib '=========================================================================================== 'Changed by Change Date Change Tag ' Description of Change 'Matt N/A ' Original Version. 'Matt ms ' Added check for to make sure that the threadid and userid are available and replies ' are allowed when program starts. If not, redirect to Thread console. 'Matt ms ' Added file description field to Attachment Read function. 'Matt ms ' Changed to return to Threads page for draft threads. 'Matt ms ' Changed to turn draft indicator off when Continue button is clicked. 'Matt ms ' Added 2 new checkboxes for controlling notifications. 'Matt ms ' Added subject to notification call. 'Matt ms ' Added server file name to the file list. Allow anyone with access to the Thread to ' delete files. Fixed Upload time conversion. 'Matt ms ' Increased max file size to 100MB. Added check for Thread existence. 'Matt ms ' Added parameter to SendMessageNotification . 'Matt ms ' Changed to convert dates to user's preferred format. 'Matt ms ' Removed extraneous parameter from SendMessageNotification call. 'Matt ms ' Added new parameter to the Add function call. 'Matt ms ' Added updateable display order column to attachment grid. 'Matt ms ' Fixed heading for uploaded file list. 'Matt ms ' Added handling for failed file deletes. '=========================================================================================== Partial Class AddAttachment Inherits System.Web.UI.Page Protected Overloads Overrides Sub OnInit(ByVal e As EventArgs) MyBase.OnInit(e) If Request.Browser.Browser = "Opera" Then Response.Cache.SetCacheability(HttpCacheability.NoCache) Protected Overloads Overrides Sub OnLoad(ByVal e As EventArgs) MyBase.OnLoad(e) Updated: Saturday, November 29, 2014 Page 16

17 If Not IsPostBack Then GridView1.DataBind() Public ReadOnly Property PageNumber() As Integer Get Dim pagenum As Integer = 1 Dim page As String = Context.Request.QueryString("Page") If Not String.IsNullOrEmpty(page) Then If Not Integer.TryParse(page, pagenum) Then pagenum = 1 If pagenum < 1 Then pagenum = 1 Return pagenum End Get End Property Sub Page_PreInit(ByVal sender As Object, ByVal e As EventArgs) Handles Me.PreInit If Not Page.IsPostBack Then Dim t As New Thread 'ms If Request.ServerVariables("SERVER_NAME").Contains("test") Or Request.ServerVariables("SERVER_NAME").Contains("localhost") Then Session("strEnvironment") = "Development" Session("strEnvironment") = "Production" If Session("intThreadID") = Nothing Then 'ms Response.Redirect("Threads.aspx") 'ms 'ms If t.repliesareallowed(session("strdataconnectstring"), Session("intUserID"), Session("intThreadID")) Then 'ms 'ms Response.Redirect("Threads.aspx") 'ms 'ms 'ms If Request.ServerVariables("SERVER_NAME").Contains("test") Or Request.ServerVariables("SERVER_NAME").Contains("localhost") Then If (Request.ServerVariables("HTTPS") = "off") Then Dim strserver As String strserver = " & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME") Response.Redirect(strServer) Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim m As New Misc Dim u As New User Dim t As New Thread 'ms If Not Page.IsPostBack Then Dim strunavailablemsg As String = "" strunavailablemsg = m.systemavailable() If strunavailablemsg = "" Then Session("SystemAvailable") = True Updated: Saturday, November 29, 2014 Page 17

18 If Request.Cookies("TTlang1") Is Nothing And Request.Cookies("TTlang2") Is Nothing Then Session("strLanguage") = "en" If Not Request.Cookies("TTlang1") Is Nothing Then Session("strLanguage") = Request.Cookies("TTlang1").Value Session("strLanguage") = Request.Cookies("TTlang2").Value Dim local As New Local() local.localizetext(session("strdataconnectstring"), litcontactus.text, _ litpreferences.text, litprivacy.text, _ lnkloginlogout.text, lblusername.text, Session("strUsername"), _ Session("intUserID"), Session("strLanguage")) Dim stripaddress = m.getipaddress Session("IPAddr") = stripaddress If Session("intUserID") Is Nothing Or Session("intThreadID") Is Nothing Then Response.Redirect("Threads.aspx") If Not t.threadexists(session("strdataconnectstring"), Session("intThreadID")) Then Session.Remove("intThreadID") 'ms 'ms 'ms Response.Redirect("Threads.aspx") Session("SystemMessage") = strunavailablemsg Response.Redirect("SystemMessage.aspx") If Session("strEnvironment") = "Production" Then Session("strLoginURL") = " & Request.ServerVariables("SERVER_NAME") & "/SecureLogin.aspx" Session("strAnonymousURL") = " & Request.ServerVariables("SERVER_NAME") & "/GetThread.aspx" Session("strLoginURL") = " & Request.ServerVariables("SERVER_NAME") & "/SecureLogin.aspx" Session("strAnonymousURL") = " & Request.ServerVariables("SERVER_NAME") & "/GetThread.aspx" InitAddAttachmentPanel() txttimeoutduration.value = u.gettimeoutduration(session("strdataconnectstring"), Session("intUserID")) If boolforcetimeout.value = "true" And Not Session("intUserID") Is Nothing Then Session("loginmsg") = m.gettext(session("strdataconnectstring"), 196, Session("strLanguage")) Session("loginmsg") = Session("loginmsg").ToString.Replace("?1", txttimeoutduration.value) u.logout(session("strdataconnectstring"), Session("IPAddr"), Session("intUserID")) Session.Remove("strPassword") Session.Remove("arrPasskeys") Session.Remove("strUsername") Session.Remove("intUserID") Session.Remove("intThreadID") Session.Remove("selIndex") Response.Redirect("SecureLogin.aspx") Protected Sub InitAddAttachmentPanel() Dim radthreadtype As New ListItem Dim m As New Misc Dim t As New Thread Dim trow As New TableRow 'ms 'ms Updated: Saturday, November 29, 2014 Page 18

19 Dim tcell As New TableCell lblheading.text = m.gettext(session("strdataconnectstring"), 232, Session("strLanguage")) lblinstructions.text = m.gettext(session("strdataconnectstring"), 233, Session("strLanguage")) Uploader1.InsertText = m.gettext(session("strdataconnectstring"), 232, Session("strLanguage")) & "(<100MB)" cmddelete.text = m.gettext(session("strdataconnectstring"), 237, Session("strLanguage")) If Session("FromPage") <> "AddThread" Or (Not Request.QueryString("from") Is Nothing) Then If t.isdraftthread(session("strdataconnectstring"), Session("intThreadID")) Then cmdsend.text = m.gettext(session("strdataconnectstring"), 470, Session("strLanguage")) cmdsave.text = m.gettext(session("strdataconnectstring"), 481, Session("strLanguage")) cmdreturn.visible = False chkcustomizenotification.visible = True cmdreturn.text = m.gettext(session("strdataconnectstring"), 238, Session("strLanguage")) cmdsend.visible = False cmdsave.visible = False chksendnotifications.visible = True chksendnotifications.checked = True cmdreturn.visible = False If t.isdraftthread(session("strdataconnectstring"), Session("intThreadID")) Then cmdsend.text = m.gettext(session("strdataconnectstring"), 470, Session("strLanguage")) cmdsave.text = m.gettext(session("strdataconnectstring"), 472, Session("strLanguage")) chkcustomizenotification.visible = True cmdsend.visible = False cmdsave.visible = False chksendnotifications.visible = True chksendnotifications.checked = True If Session("boolCustomizeNotification") Is Nothing Then If chkcustomizenotification.visible = True Then chkcustomizenotification.checked = Session("boolCustomizeNotification") cmdsaveorder.text = m.gettext(session("strdataconnectstring"), 643, Session("strLanguage")) lblinfo.text = m.gettext(session("strdataconnectstring"), 642, Session("strLanguage")) Uploader1.FileTooLargeMsg = m.gettext(session("strdataconnectstring"), 244, Session("strLanguage")) chkcustomizenotification.text = m.gettext(session("strdataconnectstring"), 486, Session("strLanguage")) 'ms 'ms 'ms 'ms 'ms 'ms 'ms 'ms 'ms 'ms 'ms 'ms 'ms 'ms 'ms 'ms chkcustomizenotification.tooltip = m.gettext(session("strdataconnectstring"), 453, Session("strLanguage")) 'ms chksendnotifications.text = m.gettext(session("strdataconnectstring"), 484, Session("strLanguage")) 'ms chksendnotifications.tooltip = m.gettext(session("strdataconnectstring"), 485, Session("strLanguage")) 'ms Protected Sub GridView1_DataBinding(ByVal sender As Object, ByVal e As EventArgs) Dim pageindex As Integer = (PageNumber - 1) Dim count As Integer = 100 Dim start As Integer = pageindex * count Dim total As Integer = 0 Dim errcode As Integer Dim arrattachmentid() As Integer Dim arruserid() As Integer Dim arrusername() As String Updated: Saturday, November 29, 2014 Page 19

20 Dim arrdatetime() As DateTime Dim arrinternalfilename() As String Dim arrserverfilename() As String Dim arrdisplayorder() As String 'ms Dim arrfilesize() As Integer Dim a As New Attachment() Dim m As New Misc() Dim u As New User() 'ms Dim strdateformat As String = u.getdateformatpreference(session("strdataconnectstring"), Session("intUserID")) 'ms Dim strerrormsg As String errcode = a.list(session("strdataconnectstring"), Session("strKeysConnectString"), "", Session("IPAddr"), Session("intUserID"), _ Session("intThreadID"), Session("strPassword"), Session("intKeyboxID"), Session("arrPasskeys"), arrattachmentid, arruserid, _ arrusername, arrdatetime, arrinternalfilename, arrserverfilename, arrfilesize, arrdisplayorder, strerrormsg, Session("strLanguage")) 'ms If errcode <> 0 Then lblerrormsg.text = strerrormsg Exit Sub Dim i As Integer Dim tblattachments As New DataTable Dim AttachmentID As DataColumn = New DataColumn("AttachmentID") AttachmentID.DataType = System.Type.GetType("System.Int32") Dim FileName As DataColumn = New DataColumn("FileName") FileName.DataType = System.Type.GetType("System.String") Dim ServerFileName As DataColumn = New DataColumn("ServerFileName") 'ms ServerFileName.DataType = System.Type.GetType("System.String") 'ms Dim FileSize As DataColumn = New DataColumn("FileSize") FileSize.DataType = System.Type.GetType("System.Int32") Dim UploadTime As DataColumn = New DataColumn("UploadTime") UploadTime.DataType = System.Type.GetType("System.String") Dim UploadedBy As DataColumn = New DataColumn("UploadedBy") UploadedBy.DataType = System.Type.GetType("System.String") tblattachments.columns.add(attachmentid) tblattachments.columns.add(filename) tblattachments.columns.add(serverfilename) 'ms tblattachments.columns.add(filesize) tblattachments.columns.add(uploadtime) tblattachments.columns.add(uploadedby) Dim j As Integer = 0 If arrattachmentid Is Nothing Then For i = start To arrattachmentid.length - 1 Dim r As DataRow r = tblattachments.newrow() r.item("attachmentid") = arrattachmentid(i) r.item("filename") = arrinternalfilename(i) r.item("serverfilename") = arrserverfilename(i) 'ms r.item("filesize") = arrfilesize(i) r.item("uploadtime") = m.adjusttime(arrdatetime(i), Session("intGMTAdjustment"), False).ToString(strDateFormat & " hh:mm tt") r.item("uploadedby") = arrusername(i) tblattachments.rows.add(r) j += 1 If j = count Then 'ms Updated: Saturday, November 29, 2014 Page 20

21 Exit For Next total = arrattachmentid.length GridView1.DataSource = tblattachments Dim pagecount As Integer = total / count If pagecount = 0 Then pagecount = 1 If pageindex > 0 Then LinkFirst.Enabled = True LinkPrev.Enabled = True LinkFirst.Enabled = False LinkPrev.Enabled = False If pagecount > 1 Then If pageindex < pagecount - 1 Then LinkLast.Enabled = True LinkNext.Enabled = True LinkLast.Enabled = False LinkNext.Enabled = False LinkLast.Enabled = False LinkNext.Enabled = False SetLink(LinkFirst, 0, 239) SetLink(LinkPrev, pageindex - 1, 240) SetLink(LinkNext, pageindex + 1, 241) SetLink(LinkLast, pagecount - 1, 242) LabelPage.Text = String.Format("[ {0} ]", pageindex + 1) Protected Sub GridView1_DataBound(ByVal sender As Object, ByVal e As EventArgs) 'Set the checkbox enabled property for each visible checkbox. If the user that is logged in is not the user that uploaded the 'attachment and they are not the owner of the thread, then disable the checkbox. Dim a As New Attachment() Dim m As New Misc() Dim t As New Thread() Dim errcode As Integer Dim introwcount As Integer = 0 Dim intfileuserid As Integer Dim dtdatetime As DateTime Dim strinternalfilename As String Dim strfiledescription As String 'ms Dim strdataencryptionkeytouse As String Dim strserverfilename As String Dim intfilesize As Integer Dim strerrormsg As String If Not t.threadexists(session("strdataconnectstring"), Session("intThreadID")) Then 'ms Session.Remove("intThreadID") 'ms Response.Redirect("Threads.aspx") 'ms Updated: Saturday, November 29, 2014 Page 21

22 'ms Dim boolisthreadowner As Boolean = t.isthreadowner(session("strdataconnectstring"), Session("intUserID"), Session("intThreadID")) For Each row As GridViewRow In GridView1.Rows If row.rowtype = DataControlRowType.DataRow Then introwcount += 1 Dim cb As CheckBox = DirectCast(row.FindControl("CheckBoxSelect"), CheckBox) Dim fileid As Integer = CInt(GridView1.DataKeys(row.RowIndex).Value) errcode = a.read(session("strdataconnectstring"), Session("strKeysConnectString"), "", Session("IPAddr"), Session("intUserID"), _ Session("intThreadID"), Session("strPassword"), Session("intKeyboxID"), Session("arrPasskeys"), fileid, False, _ intfileuserid, dtdatetime, strinternalfilename, strserverfilename, intfilesize, strfiledescription, _ strdataencryptionkeytouse, strerrormsg, Session("strLanguage")) 'ms 'ms removed check for file owner/thread owner. Always make delete checkbox enabled. cb.enabled = True Next If GridView1.Rows.Count = 0 Then Dim tbl As Table = GridView1.Controls(0) Dim gvr As GridViewRow = tbl.controls(0) Dim cell As TableCell = gvr.cells(0) Dim lblempty As Label = cell.findcontrol("lblempty") lblempty.text = m.gettext(session("strdataconnectstring"), 234, Session("strLanguage")) If strerrormsg <> "" Then lblerrormsg.text = strerrormsg Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs) If e.row.rowtype = DataControlRowType.Header Then Dim m As New Misc() Dim i As Integer = 0 For Each c As TableCell In e.row.cells Select Case i Case 2 'ms c.text = m.gettext(session("strdataconnectstring"), 647, Session("strLanguage")) 'ms Case 3 'ms c.text = m.gettext(session("strdataconnectstring"), 245, Session("strLanguage")) Case 4 'ms c.text = m.gettext(session("strdataconnectstring"), 488, Session("strLanguage")) Case 5 'ms c.text = m.gettext(session("strdataconnectstring"), 246, Session("strLanguage")) Case 6 'ms c.text = m.gettext(session("strdataconnectstring"), 247, Session("strLanguage")) Case 7 'ms c.text = m.gettext(session("strdataconnectstring"), 248, Session("strLanguage")) End Select i += 1 Next Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) 'ms If e.row.rowtype = DataControlRowType.DataRow Then Dim a As New Attachment() Dim TxtOrder As TextBox = e.row.findcontrol("txtorder") Dim intattachmentid As Integer = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "AttachmentID")) Updated: Saturday, November 29, 2014 Page 22

23 TxtOrder.Text = a.getdisplayorder(session("strdataconnectstring"), intattachmentid) Private Sub SetLink(ByVal link As HyperLink, ByVal pageindex As Integer, ByVal intmsgnumber As Integer) Dim m As New Misc() Dim num As Integer = pageindex + 1 link.navigateurl = "AddAttachment.aspx?Page=" & num.tostring() link.text = m.gettext(session("strdataconnectstring"), intmsgnumber, Session("strLanguage")) Protected Sub Uploader1_FileUploaded(ByVal sender As Object, ByVal args As UploaderEventArgs) Dim a As New Attachment() Dim m As New Misc() Dim errcode As Integer Dim dir As String = Server.MapPath("~/Attachments/") Dim newname As String = args.fileguid.tostring() Dim strfileextension As String Dim strencryptionpasskey As String Dim i As Integer = args.filename.length() 'Edits for supported extensions and filesize are done on the client, but are repeated here in case user has javascript disabled. Do i -= 1 If i < 1 Then lblerrormsg.text = m.gettext(session("strdataconnectstring"), 235, Session("strLanguage")) lblerrormsg.text = lblerrormsg.text.replace("?1", args.filename) Exit Sub If args.filename.substring(i, 1) = "." Then Dim intextlength As Integer = args.filename.length() - i intextlength -= 1 i += 1 strfileextension = args.filename.substring(i, intextlength) If a.isfiletypesupported(session("strdataconnectstring"), strfileextension, lblerrormsg.text) Then Exit Do lblerrormsg.text = m.gettext(session("strdataconnectstring"), 235, Session("strLanguage")) lblerrormsg.text = lblerrormsg.text.replace("?1", args.filename) Exit Sub Loop 'Max file size is 100MB If args.filesize > Then 'ms lblerrormsg.text = m.gettext(session("strdataconnectstring"), 236, Session("strLanguage")) lblerrormsg.text = lblerrormsg.text.replace("?1", args.filename) Exit Sub errcode = a.add(session("strdataconnectstring"), Session("strKeysConnectString"), "", Session("IPAddr"), Session("intUserID"), _ Session("intThreadID"), Session("arrPasskeys"), Session("strPassword"), Session("intKeyboxID"), args.filename, _ newname & ".enc", args.filesize, False, strencryptionpasskey, lblerrormsg.text, Session("strLanguage")) 'ms If errcode <> 0 Then Exit Sub args.moveto(path.combine(dir, newname)) EncryptFile(newname, strencryptionpasskey) Updated: Saturday, November 29, 2014 Page 23

24 Protected Sub Uploader1_UploadCompleted(ByVal sender As Object, ByVal args As UploaderEventArgs()) 'Setting boolselectfirstentry so that the correct entry will be selected if the user returns to the console. Session("boolSelectFirstEntry") = True 'Add a message to the thread specifying the files that were uploaded. Dim m As New Misc() Dim t As New Thread() Dim boolisdraft As Boolean = t.isdraftthread(session("strdataconnectstring"), Session("intThreadID")) Dim strmessage As String = "" For Each fn As UploaderEventArgs In args If strmessage = "" Then strmessage = m.gettext(session("strdataconnectstring"), 257, Session("strLanguage")) strmessage = strmessage.replace("?1", Session("strUsername")) strmessage += "<br />" strmessage += fn.filename Next 'add a message entry with the name of all added files and send a notification if this is not a new or draft thread If Session("FromPage") = "AddThread" Or boolisdraft Or chksendnotifications.checked = False Then 'ms Dim message As New Message() Dim errcode As Integer Dim arrpasskeys() As String If Session("arrPasskeys") Is Nothing Then arrpasskeys = Session("arrPasskeys") errcode = message.add(session("strdataconnectstring"), Session("strKeysConnectString"), Session("strDataEncryptionKey"), _ Session("IPAddr"), Session("intUserID"), Session("intThreadID"), arrpasskeys, Session("strPassword"), _ Session("intKeyboxID"), "", strmessage, False, lblerrormsg.text, Session("strLanguage")) message.issystemgenerated(session("strdataconnectstring"), Session("intThreadID")) m.sendmessagenotification (session("strdataconnectstring"), Session("strKeysConnectString"), _ Session("intUserID"), Session("intThreadID"), 0, _ Session(" FromAddress"), Session("strLoginURL"), Session("strAnonymousURL"), _ Session("Contact"), Session("strThreadSubject"), Session("strLanguage")) 'ms GridView1.DataBind() Protected Sub cmddelete_click(byval sender As Object, ByVal e As EventArgs) Dim t As New Thread() UpdateDisplayOrder() 'ms Dim boolisdraft As Boolean = t.isdraftthread(session("strdataconnectstring"), Session("intThreadID")) Dim fileids As New List(Of Integer)() For Each row As GridViewRow In GridView1.Rows If row.rowtype = DataControlRowType.DataRow Then Dim cb As CheckBox = DirectCast(row.FindControl("CheckBoxSelect"), CheckBox) If cb IsNot Nothing AndAlso cb.checked Then Try Dim fileid As Integer = CInt(GridView1.DataKeys(row.RowIndex).Value) fileids.add(fileid) Catch cb.checked = False End Try Updated: Saturday, November 29, 2014 Page 24

25 Next If fileids.count = 0 Then Return Dim filedir As String = Server.MapPath("~/Attachments/") Dim errcode As Integer Dim intfileuserid As Integer Dim dtdatetime As DateTime Dim strinternalfilename As String Dim strfiledescription As String 'ms Dim strserverfilename As String Dim strencryptionpasskey As String Dim intfilesize As Integer Dim a As New Attachment() Dim m As New Misc() Dim strmessage As String = "" For Each fileid As Integer In fileids errcode = a.read(session("strdataconnectstring"), Session("strKeysConnectString"), "", Session("IPAddr"), Session("intUserID"), _ Session("intThreadID"), Session("strPassword"), Session("intKeyboxID"), Session("arrPasskeys"), fileid, False, intfileuserid, _ dtdatetime, strinternalfilename, strserverfilename, intfilesize, strfiledescription, _ strencryptionpasskey, lblerrormsg.text, Session("strLanguage")) 'ms If errcode = 0 Then 'ms errcode = a.delete(session("strdataconnectstring"), Session("IPAddr"), Session("intUserID"), fileid, _ filedir, lblerrormsg.text, Session("strLanguage")) If errcode = 0 Then If strmessage = "" Then strmessage = m.gettext(session("strdataconnectstring"), 256, Session("strLanguage")) strmessage = strmessage.replace("?1", Session("strUsername")) strmessage += "<br />" strmessage += strinternalfilename 'ms Exit Sub 'ms Next Dim arrpasskeys() As String If Session("arrPasskeys") Is Nothing Then arrpasskeys = Session("arrPasskeys") Dim message As New Message() If Session("FromPage") = "AddThread" Or boolisdraft Or chksendnotifications.checked = False Then 'ms errcode = message.add(session("strdataconnectstring"), Session("strKeysConnectString"), Session("strDataEncryptionKey"), _ Session("IPAddr"), Session("intUserID"), Session("intThreadID"), arrpasskeys, Session("strPassword"), _ Session("intKeyboxID"), "", strmessage, False, lblerrormsg.text, Session("strLanguage")) message.issystemgenerated(session("strdataconnectstring"), Session("intThreadID")) GridView1.DataBind() 'Force the first entry to be selected when the user returns to the console. Updated: Saturday, November 29, 2014 Page 25

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

Actual4Test.  Actual4test - actual test exam dumps-pass for IT exams Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 70-515-VB Title : Web Applications Development with Microsoft VB.NET Framework 4 Practice Test Vendors

More information

Learning VB.Net. Tutorial 19 Classes and Inheritance

Learning VB.Net. Tutorial 19 Classes and Inheritance Learning VB.Net Tutorial 19 Classes and Inheritance Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you

More information

Number: Passing Score: 800 Time Limit: 120 min File Version: 1.0. Demo

Number: Passing Score: 800 Time Limit: 120 min File Version: 1.0. Demo 70-515 Number: 70-515 Passing Score: 800 Time Limit: 120 min File Version: 1.0 http://www.gratisexam.com/ Demo Exam A QUESTION 1 You are creating an ASP.NET Web site. The site has a master page named Custom.master.

More information

Imports System.Data.SqlClient. Public Class Phonebook

Imports System.Data.SqlClient. Public Class Phonebook Imports System.Data.SqlClient Public Class Phonebook Dim vbdatabasedataset As New vbdatabasedataset() Dim PhonebookTableAdapter As New vbdatabasedatasettableadapters.phonebooktableadapter() Dim selection

More information

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init Option Strict On Imports System.Drawing.Imaging Imports System.Drawing Imports System Imports System.Collections Imports System.Configuration Imports System.Data Imports System.IO Imports System.Web Imports

More information

Employee Attendance System module using ASP.NET (C#)

Employee Attendance System module using ASP.NET (C#) Employee Attendance System module using ASP.NET (C#) Home.aspx DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

More information

Working with Data in ASP.NET 2.0 :: Adding a GridView Column of Checkboxes Introduction

Working with Data in ASP.NET 2.0 :: Adding a GridView Column of Checkboxes Introduction 1 of 12 This tutorial is part of a set. Find out more about data access with ASP.NET in the Working with Data in ASP.NET 2.0 section of the ASP.NET site at http://www.asp.net/learn/dataaccess/default.aspx.

More information

Pentatonic Labs Final Documentation

Pentatonic Labs Final Documentation Pentatonic Labs Final Documentation Chelsea Reynolds, Eric Stirling, Tayler Albert, Kyle White, Tam Huynh 1 Table of Contents Site Hierarchy......3 Home.....4 Home Display............4 Default.aspx.cs......4

More information

INTRANET. EXTRANET. PORTAL.

INTRANET. EXTRANET. PORTAL. Intranet DASHBOARD API Getting Started Guide Version 6 Contents 1. INTRODUCTION TO THE API... 3 Overview... 3 Further Information... 4 Disclaimer... 4 2. GETTING STARTED... 5 Creating an Application within

More information

Final Documentation. Created By: Ahnaf Salam Adam Castillo Sergio Montejano Elliot Galanter

Final Documentation. Created By: Ahnaf Salam Adam Castillo Sergio Montejano Elliot Galanter Final Documentation Created By: Ahnaf Salam Adam Castillo Sergio Montejano Elliot Galanter Table of Contents SITE HIERARCHY: 5 WEB.CONFIG CODE: 6 LOGIN CREDENTIALS 6 HOME PAGE: 7 Purpose: 7 Design: 7 Data

More information

Activating AspxCodeGen 4.0

Activating AspxCodeGen 4.0 Activating AspxCodeGen 4.0 The first time you open AspxCodeGen 4 Professional Plus edition you will be presented with an activation form as shown in Figure 1. You will not be shown the activation form

More information

Hands-On Lab. Lab: Client Object Model. Lab version: Last updated: 2/23/2011

Hands-On Lab. Lab: Client Object Model. Lab version: Last updated: 2/23/2011 Hands-On Lab Lab: Client Object Model Lab version: 1.0.0 Last updated: 2/23/2011 CONTENTS OVERVIEW... 3 EXERCISE 1: RETRIEVING LISTS... 4 EXERCISE 2: PRINTING A LIST... 8 EXERCISE 3: USING ADO.NET DATA

More information

Unit 4. Lesson 4.1. Managing Data. Data types. Introduction. Data type. Visual Basic 2008 Data types

Unit 4. Lesson 4.1. Managing Data. Data types. Introduction. Data type. Visual Basic 2008 Data types Managing Data Unit 4 Managing Data Introduction Lesson 4.1 Data types We come across many types of information and data in our daily life. For example, we need to handle data such as name, address, money,

More information

Exam sell. Higher Quality Better Service! Certified IT practice exam authority.

Exam sell. Higher Quality Better Service! Certified IT practice exam authority. Higher Quality Better Service! Exam sell Certified IT practice exam authority Accurate study guides, High passing rate! Exam Sell provides update free of charge in one year! http://www.examsell.com Exam

More information

Database Tutorials

Database Tutorials Database Tutorials Hello everyone welcome to database tutorials. These are going to be very basic tutorials about using the database to create simple applications, hope you enjoy it. If you have any notes

More information

This PDF was generated in real-time using DynamicPDF; Generator for.net.

This PDF was generated in real-time using DynamicPDF; Generator for.net. TableReport.aspx 1 1 Imports System 2 Imports System.Data 3 Imports System.Data.SqlClient 4 5 Imports cete.dynamicpdf 6

More information

Open Source Digitalization Application. User s Manual

Open Source Digitalization Application. User s Manual Open Source Digitalization Application User s Manual Easyndexer by Raúl Diez This is version 1.0 of the Easyndexer user s manual. This work is licensed under the Creative Commons Attribution 3.0 Unported

More information

Encrypt and Decrypt Username or Password stored in database in ASP.Net using C# and VB.Net

Encrypt and Decrypt Username or Password stored in database in ASP.Net using C# and VB.Net Encrypt and Decrypt Username or Password stored in database in ASP.Net using C# and VB.Net Here Mudassar Ahmed Khan has explained how to encrypt and store Username or Password in SQL Server Database Table

More information

Visual Web Development

Visual Web Development Martin Rowe, Terry Marris October 2007 Visual Web Development 7 Contact We see how users may e-mail us without exposing our e-mail address to spiders and robots that crawl through the web looking for addresses

More information

SQL Injection. SQL injection is a code injection technique that might destroy your database.

SQL Injection. SQL injection is a code injection technique that might destroy your database. SQL Injection SQL injection is a code injection technique that might destroy your database. SQL injection is one of the most common web hacking techniques. SQL injection is the placement of malicious code

More information

Unit-3 State Management in ASP.NET

Unit-3 State Management in ASP.NET STATE MANAGEMENT Web is Stateless. It means a new instance of the web page class is re-created each time the page is posted to the server. As we all know HTTP is a stateless protocol, it s can't holds

More information

Forms iq Designer Training

Forms iq Designer Training Forms iq Designer Training Copyright 2008 Feith Systems and Software, Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted, stored in a retrieval system, or translated into

More information

Remote Web Server. Develop Locally. foldername. publish project files to

Remote Web Server. Develop Locally. foldername. publish project files to Create a Class and Instantiate an Object in a Two-Tier Tier Web App By Susan Miertschin For ITEC 4339 Enterprise Applications Development 9/20/2010 1 Development Model foldername Remote Web Server Develop

More information

Visual Basic/C# Programming (330)

Visual Basic/C# Programming (330) Page 1 of 12 Visual Basic/C# Programming (330) REGIONAL 2017 Production Portion: Program 1: Calendar Analysis (400 points) TOTAL POINTS (400 points) Judge/Graders: Please double check and verify all scores

More information

User s Guide Version 4.0 August 2010

User s Guide Version 4.0 August 2010 User s Guide Version 4.0 August 2010 Biscom, Inc. 321 Billerica Rd. Chelmsford, MA 01824 tel 978-250-1800 fax 978-250-4449 Copyright 2010 Biscom, Inc. All rights reserved worldwide. Reproduction or translation

More information

VB FUNCTIONS AND OPERATORS

VB FUNCTIONS AND OPERATORS VB FUNCTIONS AND OPERATORS In der to compute inputs from users and generate results, we need to use various mathematical operats. In Visual Basic, other than the addition (+) and subtraction (-), the symbols

More information

LaserVault DMS10 API Table of Contents

LaserVault DMS10 API Table of Contents LaserVault DMS10 API Table of Contents Overview... 2 LVDMSCore10.ClientSession... 3 Properties... 3 Methods... 5 LVDMSCore10.DocumentFile... 17 Properties... 17 LVDMSWEB API... 18 Record/Document Query...

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Learning VB.Net. Tutorial 16 Modules

Learning VB.Net. Tutorial 16 Modules Learning VB.Net Tutorial 16 Modules Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you enjoy it. If

More information

3 Customer records. Chapter 3: Customer records 57

3 Customer records. Chapter 3: Customer records 57 Chapter 3: Customer records 57 3 Customer records In this program we will investigate how records in a database can be displayed on a web page, and how new records can be entered on a web page and uploaded

More information

EXAMGOOD QUESTION & ANSWER. Accurate study guides High passing rate! Exam Good provides update free of charge in one year!

EXAMGOOD QUESTION & ANSWER. Accurate study guides High passing rate! Exam Good provides update free of charge in one year! EXAMGOOD QUESTION & ANSWER Exam Good provides update free of charge in one year! Accurate study guides High passing rate! http://www.examgood.com Exam : 70-547(VB) Title : PRO:Design and Develop Web-Basd

More information

Hill s Pet Nutrition Admin Center Guide

Hill s Pet Nutrition Admin Center Guide Table of Contents 1 Introduction... 3 1.1 Background... 3 1.2 User Types/Roles... 3 1.3 General Navigation... 3 1.3.1 Sign In... 3 1.3.2 Sign Out... 5 1.3.3 Role Navigation... 5 2 Supervisor Role... 7

More information

'The following GUID is for the ID of the typelib if this project is exposed to COM <Assembly: Guid("8b a5-46bb-a6a9-87b4949d1f4c")>

'The following GUID is for the ID of the typelib if this project is exposed to COM <Assembly: Guid(8b a5-46bb-a6a9-87b4949d1f4c)> LAMPIRAN A : LISTING PROGRAM Imports System Imports System.Reflection Imports System.Runtime.InteropServices ' General Information about an assembly is controlled through the following ' set of attributes.

More information

Nuvia End-User Portal Quick Reference Guide

Nuvia End-User Portal Quick Reference Guide Nuvia End-User Portal Quick Reference Guide This user guide illustrates Nuvia End-User Portal features and use, enabling end-users to listen to messages, manage their address book, set-up routing rules,

More information

WAM!NET Submission Icons. Help Guide. March 2015

WAM!NET Submission Icons. Help Guide. March 2015 WAM!NET Submission Icons Help Guide March 2015 Document Contents 1 Introduction...2 1.1 Submission Option Resource...2 1.2 Submission Icon Type...3 1.2.1 Authenticated Submission Icons...3 1.2.2 Anonymous

More information

The Open Core Interface SDK has to be installed on your development computer. The SDK can be downloaded at:

The Open Core Interface SDK has to be installed on your development computer. The SDK can be downloaded at: This document describes how to create a simple Windows Forms Application using some Open Core Interface functions in C# with Microsoft Visual Studio Express 2013. 1 Preconditions The Open Core Interface

More information

IOS Plus Trade - Web Services Version 4 Walkthrough

IOS Plus Trade - Web Services Version 4 Walkthrough IOS Plus Trade - Web Services Version 4 Walkthrough Visual Basic 2008 sample to retrieve IOS Plus Trade information The purpose of this walkthrough is to build the following Windows Forms Application that

More information

IRESS Depth - Web Services Version 4 Walkthrough Visual Basic 2008 sample to retrieve IRESS Depth information

IRESS Depth - Web Services Version 4 Walkthrough Visual Basic 2008 sample to retrieve IRESS Depth information IRESS Depth - Web Services Version 4 Walkthrough Visual Basic 2008 sample to retrieve IRESS Depth information The purpose of this walkthrough is to build the following Windows Forms Application that will

More information

Selenium Open Source Test Automation Framework Keyword Naming Conventions for Developers (Web)

Selenium Open Source Test Automation Framework Keyword Naming Conventions for Developers (Web) Version 1.1 13 Aug 2013 D I S C L A I M E R Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved. Table of

More information

Ambientia Image Bank TM 2.3

Ambientia Image Bank TM 2.3 Ambientia Image Bank TM 2.3 USER MANUAL Ambientia Oy asiakaspalvelu@ambientia.fi www.ambientia.net Ambientia Image Bank TM 2 (65) USER MANUAL, CONTENTS 1 OVERVIEW... 4 1.1 IMAGE BANK FRONT PAGE... 4 2

More information

Déclaration du module

Déclaration du module Déclaration du module Imports System.IO Module ModuleStagiaires Public Structure Stagiaire Private m_code As Long Private m_nom As String Private m_prenom As String Public Property code() As Long Get Return

More information

PI Event Frames for Corrosion Coupon Data. By: Randy Esposito & Rick Davin Nalco Energy Services Automation Center of Excellence

PI Event Frames for Corrosion Coupon Data. By: Randy Esposito & Rick Davin Nalco Energy Services Automation Center of Excellence PI Event Frames for Corrosion Coupon Data By: Randy Esposito & Rick Davin Nalco Energy Services Automation Center of Excellence Agenda Who is Nalco, what do we do What is a Corrosion Coupon and why do

More information

Chatter Answers Implementation Guide

Chatter Answers Implementation Guide Chatter Answers Implementation Guide Salesforce, Spring 16 @salesforcedocs Last updated: April 27, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Using NetAdvantage 2005 Volume 2 elements in Windows Sharepoint Services Web Parts Microsoft Windows Sharepoint Services (WSS) is a powerful web-based portal package that many companies have adopted as

More information

Introduction Secure Message Center (Webmail, Mobile & Visually Impaired) Webmail... 2 Mobile & Tablet... 4 Visually Impaired...

Introduction Secure Message Center (Webmail, Mobile & Visually Impaired) Webmail... 2 Mobile & Tablet... 4 Visually Impaired... WEB MESSAGE CENTER END USER GUIDE The Secure Web Message Center allows users to access and send and receive secure messages via any browser on a computer, tablet or other mobile devices. Introduction...

More information

Edmodo for Teachers Guide (Taken directly from Edmodo s site.)

Edmodo for Teachers Guide (Taken directly from Edmodo s site.) Edmodo for Teachers Guide (Taken directly from Edmodo s site.) Table of Contents: 1. Teacher Sign Up 2. Create a Group 3. Manage Your Groups 4. Small Group 5. Co-Teaching 6. Student Sign up 7. Post a Message

More information

WEBMAIL INTERFACE MANUAL GUIDE

WEBMAIL INTERFACE MANUAL GUIDE WEBMAIL INTERFACE MANUAL GUIDE (Mobile Version) Mail Hosting Service 2016. All rights reserved. Power by Support Mail team (support mail@ntt.co.th) NTT Communications (Thailand) Co.,Ltd. Library of instructions

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. WordPress

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. WordPress About the Tutorial WordPress is an open source Content Management System (CMS), which allows the users to build dynamic websites and blog. WordPress is the most popular blogging system on the web and allows

More information

MCAD/MCSD Developing and Implementing Web Applications with Visual Basic.NET and Visual Studio.NET Training Guide: Exam

MCAD/MCSD Developing and Implementing Web Applications with Visual Basic.NET and Visual Studio.NET Training Guide: Exam MCAD/MCSD Developing and Implementing Web Applications with Visual Basic.NET and Visual Studio.NET Training Guide: Exam 70-305 Copyright 2003 by Que Publishing International Standard Book Number: 0789728184

More information

Chatter Answers Implementation Guide

Chatter Answers Implementation Guide Chatter Answers Implementation Guide Salesforce, Summer 18 @salesforcedocs Last updated: July 26, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Enable Integration with Facebook

Enable Integration with Facebook Enable Integration with Facebook HappyFox's integration with "Facebook" converts all Posts or Private Messages sent to your Facebook page(s) into tickets in your Happyfox account. This allows you to interact

More information

COOKBOOK Sending an in Response to Actions

COOKBOOK Sending an  in Response to Actions 2011 COOKBOOK Sending an Email in Response to Actions Send an Email Let s expand the capabilities of the context menu in Customers grid view. We will add a new option, seen below, which will execute a

More information

Defect Details Build #: Roger Martin. Roger Martin

Defect Details Build #: Roger Martin. Roger Martin 215 Cannot edit album summary in Chrome or Safari 6/4/2009 2.3.3440 Impact 4/2/2010 12:00:00 2.3.3744 When editing the album info using Google Chrome or Apple Safari, the summary field is blank, regardless

More information

Website Creating Content

Website Creating Content CREATING WEBSITE CONTENT As an administrator, you will need to know how to create content pages within your website. This document will help you learn how to: Create Custom Pages Edit Content Areas Creating

More information

Using the Control Panel

Using the Control Panel Using the Control Panel Technical Manual: User Guide Creating a New Email Account 3. If prompted, select a domain from the list. Or, to change domains, click the change domain link. 4. Click the Add Mailbox

More information

BETA CHAPTER. Creating Custom Modules

BETA CHAPTER. Creating Custom Modules 7 Creating Custom Modules This is the second part of the chapter from "Building Websites with VB.NET and DotNetNuke 3.0". (This version of the chapter covers version 2.12. The finished book will cover

More information

The following are required to duplicate the process outlined in this document.

The following are required to duplicate the process outlined in this document. Technical Note ClientAce WPF Project Example 1. Introduction Traditional Windows forms are being replaced by Windows Presentation Foundation 1 (WPF) forms. WPF forms are fundamentally different and designed

More information

Windows Database Updates

Windows Database Updates 5-1 Chapter 5 Windows Database Updates This chapter provides instructions on how to update the data, which includes adding records, deleting records, and making changes to existing records. TableAdapters,

More information

Web Design and Development ACS Chapter 13. Using Forms 11/27/2018 1

Web Design and Development ACS Chapter 13. Using Forms 11/27/2018 1 Web Design and Development ACS-1809 Chapter 13 Using Forms 11/27/2018 1 Chapter 13: Employing Forms Understand the concept and uses of forms in web pages Create a basic form Validate the form content 11/27/2018

More information

UltraMon HSPI User s Guide A HomeSeer HS2 plug-in to monitor network connected devices

UltraMon HSPI User s Guide A HomeSeer HS2 plug-in to monitor network connected devices UltraMon HSPI User s Guide A HomeSeer HS2 plug-in to monitor network connected devices Copyright 2012 ultrajones@hotmail.com Revised 12/23/2012 This document contains proprietary and copyrighted information

More information

Event-based Asynchronous Pattern Overview 1 Implementing the Event-based Asynchronous Pattern 5 Deciding When to Implement the Event-based

Event-based Asynchronous Pattern Overview 1 Implementing the Event-based Asynchronous Pattern 5 Deciding When to Implement the Event-based Event-based Asynchronous Pattern Overview 1 Implementing the Event-based Asynchronous Pattern 5 Deciding When to Implement the Event-based Asynchronous Pattern 12 Implementing Component with the Event-based

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

Function: function procedures and sub procedures share the same characteristics, with

Function: function procedures and sub procedures share the same characteristics, with Function: function procedures and sub procedures share the same characteristics, with one important difference- function procedures return a value (e.g., give a value back) to the caller, whereas sub procedures

More information

Learning VB.Net. Tutorial 17 Classes

Learning VB.Net. Tutorial 17 Classes Learning VB.Net Tutorial 17 Classes Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you enjoy it. If

More information

MapMatrix NetGIS Application Objects Users Guide. Version 2.3

MapMatrix NetGIS Application Objects Users Guide. Version 2.3 MapMatrix NetGIS Application Objects Users Guide Version 2.3 CONTENTS 1 Overview of MapMatrix NetGIS... 3 1.1 MapMatrix NetGIS Features... 3 1.2 Operating System Requirements... 3 1.3 The MapMatrix Architecture...

More information

MIGRATING FROM PORTALS TO COMMUNITIES

MIGRATING FROM PORTALS TO COMMUNITIES MIGRATING FROM PORTALS TO COMMUNITIES Introduction Have a partner portal or customer portal in your org? You can set up a community as well, to take advantage of the great new features that Salesforce

More information

Using KE IMu's.Net API

Using KE IMu's.Net API IMu Documentation Using KE IMu's.Net API Document Version 2 EMu Version 4.0 IMu Version 1.0.03 www.kesoftware.com 2011 KE Software. All rights reserved. Contents SECTION 1 Introduction 1 Documenting data

More information

2. Registration You need to register an account before you can start using sft.pearson.com. You can do this either by

2. Registration You need to register an account before you can start using sft.pearson.com. You can do this either by 1. SFT.PEARSON.COM is a web based secure file transfer utility that enables secure delivery of data of any type and size to and from anyone with a valid email address. It works very much like email but

More information

Edition 3.2. Tripolis Solutions Dialogue Manual version 3.2 2

Edition 3.2. Tripolis Solutions Dialogue Manual version 3.2 2 Edition 3.2 Tripolis Solutions Dialogue Manual version 3.2 2 Table of Content DIALOGUE SETUP... 7 Introduction... 8 Process flow... 9 USER SETTINGS... 10 Language, Name and Email address settings... 10

More information

Agent and Agent Browser. Updated Friday, January 26, Autotask Corporation

Agent and Agent Browser. Updated Friday, January 26, Autotask Corporation Agent and Agent Browser Updated Friday, January 26, 2018 2018 Autotask Corporation Table of Contents Table of Contents 2 The AEM Agent and Agent Browser 3 AEM Agent 5 Privacy Mode 9 Agent Browser 11 Agent

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies Dialog Box: There are many built-in dialog boxes to be used in Windows forms for various tasks like opening and saving files, printing a page, providing choices for colors, fonts, page setup, etc., to

More information

Year 12 : Visual Basic Tutorial.

Year 12 : Visual Basic Tutorial. Year 12 : Visual Basic Tutorial. STUDY THIS Input and Output (Text Boxes) The three stages of a computer process Input Processing Output Data is usually input using TextBoxes. [1] Create a new Windows

More information

My first game. 'function which adds objects with bug tag to bugarray array. Saturday, November 23, :06 AM

My first game. 'function which adds objects with bug tag to bugarray array. Saturday, November 23, :06 AM My first game Saturday, November 23, 2013 5:06 AM Public Class Form1 Dim moveright As Boolean = False Dim moveup As Boolean = False Dim moveleft As Boolean = False Dim movedown As Boolean = False Dim score

More information

Selenium Open Source Test Automation Framework Keyword Naming Conventions for Developers (Web)

Selenium Open Source Test Automation Framework Keyword Naming Conventions for Developers (Web) Version 1.2 March 2014 D I S C L A I M E R Verbatim copying and distribution of this entire article are permitted worldwi de, without royalty, in any medium, provided this notice is preserved. Table of

More information

Objectives. After completing this topic, the students will: Understand of the concept of polymorphism Know on How to implement 2 types of polymorphism

Objectives. After completing this topic, the students will: Understand of the concept of polymorphism Know on How to implement 2 types of polymorphism Polymorphism Objectives After completing this topic, the students will: Understand of the concept of polymorphism Know on How to implement 2 types of polymorphism Definition Polymorphism provides the ability

More information

Delegates (Visual Basic)

Delegates (Visual Basic) Delegates (Visual Basic) https://msdn.microsoft.com/en-us/library/ms172879(d=printer).aspx 1 of 4 02.09.2016 18:00 Delegates (Visual Basic) Visual Studio 2015 Delegates are objects that refer to methods.

More information

Lampiran 1 Kode Program

Lampiran 1 Kode Program 53 Lampiran 1 Kode Program Kode Program 1 Kode Menu Peminjaman Private Sub BT_Cari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Cari.Click Call CariKaset() Private Sub RB_CheckedChanged(ByVal

More information

CSCE 145 Exam 2 Review No Answers. This exam totals to 100 points. Follow the instructions. Good luck!

CSCE 145 Exam 2 Review No Answers. This exam totals to 100 points. Follow the instructions. Good luck! CSCE 145 Exam 2 Review No Answers This exam totals to 100 points. Follow the instructions. Good luck! Chapter 5 This chapter was mostly dealt with objects expect questions similar to these. 1. Create accessors

More information

Hands-On Lab. Worker Role Communication. Lab version: Last updated: 11/16/2010. Page 1

Hands-On Lab. Worker Role Communication. Lab version: Last updated: 11/16/2010. Page 1 Hands-On Lab Worker Role Communication Lab version: 2.0.0 Last updated: 11/16/2010 Page 1 CONTENTS OVERVIEW... 3 EXERCISE 1: USING WORKER ROLE EXTERNAL ENDPOINTS... 8 Task 1 Exploring the AzureTalk Solution...

More information

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PASS4TEST. IT Certification Guaranteed, The Easy Way!  We offer free update service for one year PASS4TEST IT Certification Guaranteed, The Easy Way! \ http://www.pass4test.com We offer free update service for one year Exam : 070-536-VB Title : TS:MS.NET Framework 2.0- Application Develop Foundation

More information

Health Messenger User Guide

Health Messenger User Guide Health Messenger User Guide V 2.6 3/09/2018 USER GUIDE TABLE OF CONTENTS 1.0 GENERAL INFORMATION 1.1 System Overview 1.2 Support 1.3 Uploading Export Files 1.4 Minimum System Requirements 2.0 GETTING STARTED

More information

VARIABLES. 1. STRINGS Data with letters and/or characters 2. INTEGERS Numbers without decimals 3. FLOATING POINT NUMBERS Numbers with decimals

VARIABLES. 1. STRINGS Data with letters and/or characters 2. INTEGERS Numbers without decimals 3. FLOATING POINT NUMBERS Numbers with decimals VARIABLES WHAT IS A VARIABLE? A variable is a storage location in the computer s memory, used for holding information while the program is running. The information that is stored in a variable may change,

More information

IPMI Configuration Guide

IPMI Configuration Guide IPMI Configuration Guide 1. Introduction of IPMI Server Manager... 2 2. IPMI Server Manager GUI Overview... 3 1 1. Introduction of IPMI Server Manager IPMI Server Manager allows remote access of computers

More information

Final Documentation Solutions Inc TEAM SOLUTION Micheal Scott Trevor Moore Aurian James Wes Bailoni

Final Documentation Solutions Inc TEAM SOLUTION Micheal Scott Trevor Moore Aurian James Wes Bailoni Final Documentation Solutions Inc. 12.5.2017 TEAM SOLUTION Micheal Scott Trevor Moore Aurian James Wes Bailoni 1 P a g e Table of Contents SITE HIERARCHY... 3 Email/Password... 4 Information... 5 Web.config...

More information

Google Apps. What are Google Apps?

Google Apps. What are Google Apps? What are Google Apps? Google Apps Google provides free, online (i.e. Cloud computing) programs called Apps for creating various kinds of documents, as well as providing a way to share these documents with

More information

UNIVERSITY OF CALGARY Information Technologies WEBFORMS DRUPAL 7 WEB CONTENT MANAGEMENT

UNIVERSITY OF CALGARY Information Technologies WEBFORMS DRUPAL 7 WEB CONTENT MANAGEMENT UNIVERSITY OF CALGARY Information Technologies WEBFORMS DRUPAL 7 WEB CONTENT MANAGEMENT Table of Contents Creating a Webform First Steps... 1 Form Components... 2 Component Types.....4 Conditionals...

More information

1. Begin by selecting [Content] > [Add Content] > [Webform] in the administrative toolbar. A new Webform page should appear.

1. Begin by selecting [Content] > [Add Content] > [Webform] in the administrative toolbar. A new Webform page should appear. Creating a Webform 1. Begin by selecting [Content] > [Add Content] > [Webform] in the administrative toolbar. A new Webform page should appear. 2. Enter the title of the webform you would like to create

More information

I101/B100 Problem Solving with Computers

I101/B100 Problem Solving with Computers I101/B100 Problem Solving with Computers By: Dr. Hossein Hakimzadeh Computer Science and Informatics IU South Bend 1 What is Visual Basic.Net Visual Basic.Net is the latest reincarnation of Basic language.

More information

1 string start = DateTime.Now.ToShortDateString(); 2 string end = DateTime.Now.AddDays(5).ToShortDateString(); 3 OleDbConnection conn2 =

1 string start = DateTime.Now.ToShortDateString(); 2 string end = DateTime.Now.AddDays(5).ToShortDateString(); 3 OleDbConnection conn2 = public partial class borrow : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) 1 string start = DateTime.Now.ToShortDateString(); 2 string end = DateTime.Now.AddDays(5).ToShortDateString();

More information

LAMPIRAN A: Listing Program

LAMPIRAN A: Listing Program 67 1. Form Menu Utama LAMPIRAN A: Listing Program Public Class MScreen Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Hide() Form1.Show()

More information

Introduction. In this preliminary chapter, we introduce a couple of topics we ll be using DEVELOPING CLASSES

Introduction. In this preliminary chapter, we introduce a couple of topics we ll be using DEVELOPING CLASSES Introduction In this preliminary chapter, we introduce a couple of topics we ll be using throughout the book. First, we discuss how to use classes and object-oriented programming (OOP) to aid in the development

More information

HappyFox API Technical Reference

HappyFox API Technical Reference HappyFox API Technical Reference API Version 1.0 Document Version 0.1 2011, Tenmiles Corporation Copyright Information Under the copyright laws, this manual may not be copied, in whole or in part. Your

More information

TANKLOGIX PORTAL TICKET MANAGEMENT 3.0 AUTHOR: GREG BAGLEY

TANKLOGIX PORTAL TICKET MANAGEMENT 3.0 AUTHOR: GREG BAGLEY TANKLOGIX PORTAL TICKET MANAGEMENT 3.0 AUTHOR: GREG BAGLEY CONTENTS INTRODUCTION... 3 PORTAL NAVIGATION... 3 Disposals > Ticket Management 3.0... 3 PAGE FEATURES... 3 TITLE AREA PAGE TOP... 4 SITES...

More information

...ic Programming\Mystery Escape\Mystery Escape\frmEscape.vb

...ic Programming\Mystery Escape\Mystery Escape\frmEscape.vb ...ic Programming\Mystery Escape\Mystery Escape\frmEscape.vb 1 1 Option Strict On 2 3 Public Class frmescape 4 5 ' Class variables. 6 7 Private _intonehour As Integer = 1 8 Private _inttwohour As Integer

More information

The New Brew-CQ Synchronous Sockets and Threading

The New Brew-CQ Synchronous Sockets and Threading The New Brew-CQ Synchronous Sockets and Threading Server Topology: The Brew-CQ server is an application written in the new.net compilers from Microsoft. The language of choice is Visual Basic. The purpose

More information

Prolog Converge Login

Prolog Converge Login Prolog Converge Login INTRODUCTION Capital Regional District uses Prolog software to manage the CAWTP program. Prolog Converge is a Web-based project management application that allows efficient collaboration

More information

Integrator Scripting API

Integrator Scripting API Integrator Scripting API In Jedox Integrator, the use of scripting languages is foreseen in the following components: Function Type Groovy Function Type JavaScript Job type Groovy Job type JavaScript Variable

More information

Security in Confirmit Software - Individual User Settings

Security in Confirmit Software - Individual User Settings Security in Confirmit Software - Individual User Settings Unclassified. Copyright 2017 Confirmit. All Rights Reserved Page 1 of 5 1 Using HTTPS in Confirmit Horizons SSL certificates are installed for

More information