From 100230961458acd15b96bd3e8924f2d4547629b6 Mon Sep 17 00:00:00 2001 From: Deon George Date: Fri, 1 Nov 2024 12:35:36 +1100 Subject: [PATCH] Separatly handle areafix/filefix --- app/Classes/FTN/Process/Netmail/Areafix.php | 29 +++++++++++++++---- .../Netmails/Areafix/InvalidPassword.php | 4 +-- .../Netmails/Areafix/NotConfiguredHere.php | 4 +-- .../{Areafix.php => FixCantHandle.php} | 10 +++---- 4 files changed, 33 insertions(+), 14 deletions(-) rename app/Notifications/Netmails/{Areafix.php => FixCantHandle.php} (78%) diff --git a/app/Classes/FTN/Process/Netmail/Areafix.php b/app/Classes/FTN/Process/Netmail/Areafix.php index 0dcfdfa..1da7110 100644 --- a/app/Classes/FTN/Process/Netmail/Areafix.php +++ b/app/Classes/FTN/Process/Netmail/Areafix.php @@ -8,7 +8,8 @@ use Illuminate\Support\Facades\Log; use App\Classes\FTN\Process; use App\Classes\FTN\Process\Netmail\Robot\Unknown; use App\Models\{Echomail,Netmail}; -use App\Notifications\Netmails\Areafix as AreafixNotification; +use App\Notifications\Netmails\FixCantHandle; +use App\Notifications\Netmails\Areafix\{CommandsProcessed,InvalidPassword,NotConfiguredHere}; /** * Process messages to Ping @@ -26,22 +27,33 @@ final class Areafix extends Process if (((strtolower($mo->to) !== 'areafix') || (strtolower($mo->to) !== 'filefix')) && (! ($mo instanceof Netmail))) return FALSE; - Log::info(sprintf('%s:- Processing AREAFIX message from (%s) [%s]',self::LOGKEY,$mo->from,$mo->fftn->ftn)); + Log::info(sprintf('%s:- Processing *FIX [%s] message from (%s) [%s]',self::LOGKEY,$mo->to,$mo->from,$mo->fftn->ftn)); // If this is not a node we manage, then respond with a sorry can help you if (! $mo->fftn->system->sessions->count()) { - Notification::route('netmail',$mo->fftn)->notify(new AreafixNotification\NotConfiguredHere($mo)); + Notification::route('netmail',$mo->fftn)->notify(new NotConfiguredHere($mo)); return TRUE; } // If this nodes password is not correct if ($mo->fftn->pass_fix !== strtoupper($mo->subject)) { - Notification::route('netmail',$mo->fftn)->notify(new AreafixNotification\InvalidPassword($mo)); + Notification::route('netmail',$mo->fftn)->notify(new InvalidPassword($mo)); return TRUE; } + if ((strtolower($mo->to) === 'areafix')) + return self::areafix($mo); + + if ((strtolower($mo->to) === 'filefix')) + return self::filefix($mo); + + return FALSE; + } + + public static function areafix(Netmail $mo): bool + { $result = collect(); $result->push('--> BEGIN <--'); @@ -87,7 +99,14 @@ final class Areafix extends Process } // Reply with a confirmation of what commands were processed - Notification::route('netmail',$mo->fftn)->notify(new AreafixNotification\CommandsProcessed($mo,$result)); + Notification::route('netmail',$mo->fftn)->notify(new CommandsProcessed($mo,$result)); + + return TRUE; + } + + public static function filefix(Netmail $mo): bool + { + Notification::route('netmail',$mo->fftn)->notify(new FixCantHandle($mo)); return TRUE; } diff --git a/app/Notifications/Netmails/Areafix/InvalidPassword.php b/app/Notifications/Netmails/Areafix/InvalidPassword.php index dc2f9e8..3bcb6a4 100644 --- a/app/Notifications/Netmails/Areafix/InvalidPassword.php +++ b/app/Notifications/Netmails/Areafix/InvalidPassword.php @@ -44,10 +44,10 @@ class InvalidPassword extends Netmails $o->to = $this->mo->from; $o->replyid = $this->mo->msgid; - $o->subject = 'Areafix - Invalid Password'; + $o->subject = '*fix - Invalid Password'; // Message - $msg = $this->page(FALSE,'Areafix'); + $msg = $this->page(FALSE,$this->mo->to); $msg->addText("Your areafix request has been received, but unfortunately your password was incorrect.\r\r"); $msg->addText(sprintf("If you are not aware of your password, head over to %s. Feel free to netmail if you need help.\r\r",config('app.url'))); diff --git a/app/Notifications/Netmails/Areafix/NotConfiguredHere.php b/app/Notifications/Netmails/Areafix/NotConfiguredHere.php index b886c49..308c8ec 100644 --- a/app/Notifications/Netmails/Areafix/NotConfiguredHere.php +++ b/app/Notifications/Netmails/Areafix/NotConfiguredHere.php @@ -44,10 +44,10 @@ class NotConfiguredHere extends Netmails $o->to = $this->mo->from; $o->replyid = $this->mo->msgid; - $o->subject = 'Areafix - Not Configured Here'; + $o->subject = '*fix - Not Configured Here'; // Message - $msg = $this->page(FALSE,'Areafix'); + $msg = $this->page(FALSE,$this->mo->to); $msg->addText("Your areafix request has been received, but unfortunately you are not configured here.\r\r"); $msg->addText(sprintf("If you want to receive mail from this system, please register/link your BBS via the web UI. Head over to %s. Feel free to netmail if you need help.\r\r",config('app.url'))); diff --git a/app/Notifications/Netmails/Areafix.php b/app/Notifications/Netmails/FixCantHandle.php similarity index 78% rename from app/Notifications/Netmails/Areafix.php rename to app/Notifications/Netmails/FixCantHandle.php index 7c98e63..fa583ea 100644 --- a/app/Notifications/Netmails/Areafix.php +++ b/app/Notifications/Netmails/FixCantHandle.php @@ -8,7 +8,7 @@ use App\Notifications\Netmails; use App\Models\Netmail; use App\Traits\{MessagePath,PageTemplate}; -class Areafix extends Netmails +class FixCantHandle extends Netmails { use MessagePath,PageTemplate; @@ -40,16 +40,16 @@ class Areafix extends Netmails $o = $this->setupNetmail($notifiable); $ao = $notifiable->routeNotificationFor(static::via); - Log::info(sprintf('%s:+ Responding to areafix with netmail to [%s]',self::LOGKEY,$ao->ftn)); + Log::info(sprintf('%s:+ Responding to *fix with netmail to [%s]',self::LOGKEY,$ao->ftn)); $o->to = $this->mo->from; $o->replyid = $this->mo->msgid; - $o->subject = 'Areafix Reply'; + $o->subject = '*fix Reply'; // Message - $msg = $this->page(FALSE,'Areafix'); + $msg = $this->page(FALSE,$this->mo->to); - $msg->addText("Your areafix request has been received, but unfortunately I do not know how to handle areafix messages yet.\r\r"); + $msg->addText("Your *fix request has been received, but unfortunately I do not know how to handle this *fix message yet.\r\r"); $msg->addText(sprintf("Until then, you may be able to achieve what you want via the web UI. Head over to %s. Feel free to netmail if you need help.\r\r",config('app.url'))); $msg->addText($this->message_path($this->mo));