diff --git a/Global_Indexer/ClassFileDrop.vb b/Global_Indexer/ClassFileDrop.vb
index b861b9e..ccf9cf3 100644
--- a/Global_Indexer/ClassFileDrop.vb
+++ b/Global_Indexer/ClassFileDrop.vb
@@ -53,7 +53,7 @@ Public Class ClassFileDrop
Loop
stmInput.Close()
'Sonderzeichen entfernen
- Dim Tempfilename = ClassFilehandle.InvalidCharacters(stbFileName.ToString)
+ Dim Tempfilename = DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(stbFileName.ToString)
Dim anhaenge = e.Data.GetDataPresent("FileContents")
'Dim path As String = "C:\VBProjekte\Dateien"
'// put the zip file into the temp directory
@@ -93,61 +93,68 @@ Public Class ClassFileDrop
End If
End If
If e.Data.GetDataPresent("FileGroupDescriptor") Then
- Dim oApp As Outlook.Application
+ Dim oApp As Outlook.Application
+ Try
+ oApp = New Outlook.Application()
+ Catch ex As Exception
+ LOGGER.Error(ex)
+ MsgBox("Unexpected error in Initialisieren von Outlook-API:" & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Evtl ist Outlook nicht in der dafür vorgesehenen For")
+ Return False
+ End Try
+
+ LOGGER.Info(" Drop of msg")
+ 'supports a drop of a Outlook message
+ Dim myobj As Outlook.MailItem
+ For i As Integer = 1 To oApp.ActiveExplorer.Selection.Count
+ myobj = oApp.ActiveExplorer.Selection.Item(i)
+ Dim subj As String = myobj.Subject
+ If subj = "" Then
+ subj = "NO_SUBJECT"
+ End If
+ If subj.Contains("\") Then
+ subj = subj.Replace("\", "-")
+ End If
+ If subj.Contains("/") Then
+ subj = subj.Replace("/", "-")
+ End If
+
+ 'Sonderzeichen entfernen
+ subj = DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(subj)
+ 'hardcode a destination path for testing
+ Dim oFilename As String = IO.Path.Combine(Path.GetTempPath, subj + ".msg")
+
+ oFilename = oFilename.Replace("?", "")
+ oFilename = oFilename.Replace("!", "")
+ oFilename = oFilename.Replace("%", "")
+ oFilename = oFilename.Replace("$", "")
+ LOGGER.Info("Drop of msg - File:" & oFilename)
Try
- oApp = New Outlook.Application()
+ myobj.SaveAs(oFilename)
Catch ex As Exception
LOGGER.Error(ex)
- MsgBox("Unexpected error in Initialisieren von Outlook-API:" & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Evtl ist Outlook nicht in der dafür vorgesehenen For")
- Return False
- End Try
-
- LOGGER.Info(" Drop of msg")
- 'supports a drop of a Outlook message
- Dim myobj As Outlook.MailItem
- For i As Integer = 1 To oApp.ActiveExplorer.Selection.Count
- myobj = oApp.ActiveExplorer.Selection.Item(i)
- Dim subj As String = myobj.Subject
- If subj = "" Then
- subj = "NO_SUBJECT"
- End If
- If subj.Contains("\") Then
- subj = subj.Replace("\", "-")
- End If
- If subj.Contains("/") Then
- subj = subj.Replace("/", "-")
- End If
- 'Sonderzeichen entfernen
- subj = ClassFilehandle.InvalidCharacters(subj)
- 'hardcode a destination path for testing
- Dim oFilename As String = IO.Path.Combine(Path.GetTempPath, subj + ".msg")
- oFilename = oFilename.Replace("?", "")
- oFilename = oFilename.Replace("!", "")
- oFilename = oFilename.Replace("%", "")
- oFilename = oFilename.Replace("$", "")
- LOGGER.Info("Drop of msg - File:" & oFilename)
- Try
- myobj.SaveAs(oFilename)
- Catch ex As Exception
- LOGGER.Error(ex)
- MsgBox("Die Email konnte aufgrund einer Sicherheitseinstellung im Outlook nicht abgelegt werden! " &
+ MsgBox("Die Email konnte aufgrund einer Sicherheitseinstellung im Outlook nicht abgelegt werden! " &
"Bitte wenden Sie sich an Ihren Administrator, " &
"um den programmatischen Zugriff auf Outlook zuzulassen. " &
"Weitere Informationen finden Sie im Log.", MsgBoxStyle.Critical, "Global Indexer")
- End Try
+ End Try
- ReDim Preserve files_dropped(i)
- files_dropped(i) = "|OUTLOOK_MESSAGE|" & oFilename
- Next
- Return True
+ ReDim Preserve files_dropped(i)
+ files_dropped(i) = "|OUTLOOK_MESSAGE|" & oFilename
+ Next
+
+
+ Return True
'Drop eines Outlook Attachments
End If
+
Catch ex As Exception
MsgBox("Error in Drop-File" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
+
End Function
+
'Private Sub DragDrop_HandleTobit(e As DragEventArgs)
' If e.Data.GetDataPresent("#TobitMsgData") Then
' Dim Quellpfad As String = ""
diff --git a/Global_Indexer/ClassFilehandle.vb b/Global_Indexer/ClassFilehandle.vb
index 7378cb0..0c466d3 100644
--- a/Global_Indexer/ClassFilehandle.vb
+++ b/Global_Indexer/ClassFilehandle.vb
@@ -2,21 +2,9 @@
Imports System.Text.RegularExpressions
Imports DevExpress.XtraEditors
Imports Independentsoft
+Imports DigitalData.Modules.Language
Public Class ClassFilehandle
- '''
- ''' Diese Funktion entfernt alle Zeichen aus dem übergebenen String
- ''' die in Dateinamen nicht erlaubt sind.
- '''
- ''' Der zu prüfende String
- ''' String ohne nichterlaubte Zeichen
- Public Shared Function InvalidCharacters(Input As String) As String
- Dim replacement = ""
- 'Return System.Text.RegularExpressions.Regex.Replace(Input, "[\\/:*?""<>|\r\n]", "", System.Text.RegularExpressions.RegexOptions.Singleline)
- Dim regexSearch = New String(Path.GetInvalidFileNameChars()) & New String(Path.GetInvalidPathChars())
- Dim r = New Regex(String.Format("[{0}]", Regex.Escape(regexSearch)))
- Return r.Replace(Input, replacement)
- End Function
Public Shared Function Decide_FileHandle(pFilename As String, pHandletype As String)
Try
If pFilename.EndsWith(".msg") Then
@@ -115,7 +103,7 @@ Public Class ClassFilehandle
attachment_name = attachment.LongFileName
End If
If attachment.EmbeddedMessage IsNot Nothing Then
- attachment_name = ClassFilehandle.InvalidCharacters(attachment_name)
+ attachment_name = Utils.RemoveInvalidCharacters(attachment_name)
tempfile = Path.Combine(Path.GetTempPath, attachment_name & ".msg")
tempfile = ClassFilehandle.Versionierung_Datei(tempfile)
@@ -129,7 +117,7 @@ Public Class ClassFilehandle
End If
ElseIf Not attachment_name.Contains("inline") Then
'Sonderzeichen entfernen
- attachment_name = ClassFilehandle.InvalidCharacters(attachment_name)
+ attachment_name = Utils.RemoveInvalidCharacters(attachment_name)
tempfile = Path.Combine(Path.GetTempPath, attachment_name)
tempfile = ClassFilehandle.Versionierung_Datei(tempfile)
If tempfile <> "" Then
diff --git a/Global_Indexer/Global_Indexer.vbproj b/Global_Indexer/Global_Indexer.vbproj
index 14e7560..4bdbad7 100644
--- a/Global_Indexer/Global_Indexer.vbproj
+++ b/Global_Indexer/Global_Indexer.vbproj
@@ -167,6 +167,10 @@
..\..\DDMonorepo\Modules.Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll
False
+
+ False
+ ..\..\DDMonorepo\Modules.Language\bin\Debug\DigitalData.Modules.Language.dll
+
False
..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll
diff --git a/SetupVS19/Product.wxs b/SetupVS19/Product.wxs
index 48ef874..b8e1ef8 100644
--- a/SetupVS19/Product.wxs
+++ b/SetupVS19/Product.wxs
@@ -118,6 +118,7 @@
+