//*********************************************************************
//*                    PROGRAM - OnXOver 2020-07-15                   *
//*                        >> Ereignisscript <<                       *
//*                                                                   *
//* Funktionalitaet: [x] neutral                                      *
//*                  [ ] nur Basis_Modul                              *
//*                  [ ] nur Pathfinder                               *
//*                                                                   *
//* Datum     : ueberarbeitet am: 15.07.2020                          *
//* Autor     : Thomas Barghahn                                       *
//*                                                                   *
//*********************************************************************
Program OnXover;

uses Textfile;

{$I Dialog_Functions}

Const

//{-------------------------------------------------------------------}
//{                 Anwenderspezifische Einstellungen                 }
//{-------------------------------------------------------------------}

// Trage hier deinen FQDN ein. Falls du mehrere besitzt, so trenne
// diese durch ein Komma!
// Beispiel:
// My_FQDNs = 'example.de,example.my-fqdn.de';

My_FQDNs = 'mustermann.de';   //{ *BITTE KONTROLLIEREN* }

// Trage hier deine Sounds ein, welche verwendet werden sollen.
// U.U. musst du weiter unten in diesem Script eingreifen!

Sound1 = 'dir-antwort.wav';       //{ *BITTE KONTROLLIEREN* }
Sound2 = 'indirekte-antwort.wav'; //{ *BITTE KONTROLLIEREN* }
Sound3 = 'k-h.wav';               //{ *BITTE KONTROLLIEREN* }
Sound4 = 'von-thomas.wav';        //{ *BITTE KONTROLLIEREN* }
Sound5 = 'vonpeter.wav';          //{ *BITTE KONTROLLIEREN* }
Sound6 = 'post.wav';              //{ *BITTE KONTROLLIEREN* }
Sound7 = 'vondietmar.wav';        //{ *BITTE KONTROLLIEREN* }
Sound8 = 'eigenesposting.wav';    //{ *BITTE KONTROLLIEREN* }

// Hier legst du fest, bis zu welcher Tiefe der Antworten ein Sound
// abgespielt werden soll.

DepthforInDirektAnswers = 10;

//{-------------------------------------------------------------------}
//{                       Ende der Einstellungen                      }
//{-------------------------------------------------------------------}

//{===================================================================}
//{           !!!  Ab hier bitte nichts mehr ändern  !!!              }
//{===================================================================}

Procedure OnXover(Var XoverData:TXoverData);

Var
   n       : Integer;
   cp      : Integer;
   REF     : String;
   MID     : String;
   tmp     : String;
   FQDNtmp : String;

Begin
   REF     := XoverData.References;
   MID     := XoverData.MsgID;
   FQDNtmp := My_FQDNs;

   while FQDNtmp <> '' do begin 
      cp  := Pos(',', FQDNtmp);
      If cp > 0 then begin
         tmp := Trim (Copy(FQDNtmp, 1, cp - 1));
         FQDNtmp := Trim (Copy(FQDNtmp, cp + 1, Length(FQDNtmp)));
      end else begin
         tmp := Trim(FQDNtmp);
         FQDNtmp := '';
      end; // IF       
      If tmp > '' Then Begin         
         n := Length(tmp);
         If ( Pos ( tmp, REF ) > 0 ) and ( Pos( tmp, MID ) = 0 ) Then Begin
            if (copy(REF, Length(REF)-n,n) = tmp ) Then Begin
               PlaySound(Sound1, 1);
               Sleep(2500);
            end else
            if IsInDirekt(REF, tmp, DepthforInDirektAnswers) Then begin
               PlaySound(Sound2, 1);
               Sleep(2500);
            end; // If    
         End; // If 
      End; // If
   end; // while

//{===================================================================}
//{   !!!  Ab hier kannst du mittels "Copy & Paste" eingreifen  !!!   }
//{   -------------------------------------------------------------   }
//{                                                                   }
//{  Fuer die folgenden Personen wird *IMMER* ein Sound ausgegeben!   }
//{  Also auch dann, wenn diese Personen *nicht* am Thread beteiligt  }
//{  sind *und* auch dann, wenn diese in einer abonnierten Gruppe     }
//{  posten!                                                          }
//{===================================================================}

   If (Pos('musterfqdn1.my-fqdn.de', MID) > 0) then begin
      PlaySound(Sound3, 1);
      // WriteToLog ('Karl-Heinz MIT MID  : ' + MID, 6);
      Sleep(2500);
   end;

   If (Pos('musterfqdn2.my-fqdn.de', MID) > 0) then begin
      PlaySound(Sound4, 1);
      // WriteToLog ('Thomas MIT MID  : ' + MID, 6);
      Sleep(2500);
   end;

   If (Pos('musterfqdn3.my-fqdn.de', MID) > 0) then begin
      PlaySound(Sound4, 1);
      // WriteToLog ('Thomas MIT MID  : ' + MID, 6);
      Sleep(2500);
   end;

   If (Pos('musterfqdn4.my-fqdn.de', MID) > 0) then begin
      PlaySound(Sound5, 1);
      // WriteToLog ('Peter MIT MID  : ' + MID, 6);
      Sleep(2500);
   end;

   If (Pos('musterfqdn5.my-fqdn.de', MID) > 0) then begin
      PlaySound(Sound5, 1);
      // WriteToLog ('Peter MIT MID  : ' + MID, 6);
      Sleep(2500);
   end; 

    If (Pos('musterfqdn6.my-fqdn.de', MID) > 0) then begin
      PlaySound(Sound7, 1);
      // WriteToLog ('Díetmar MIT MID  : ' + MID, 6);
      Sleep(2500);
   end;

    If (Pos('musterfqdn7.my-fqdn.de', MID) > 0) then begin
      PlaySound(Sound8, 1);
      // WriteToLog ('Wolfgang MIT MID  : ' + MID, 6);
      Sleep(2500);
   end;
End;

Begin
End.