<?php namespace App\Classes\FTN\Process\Netmail\Robot\Areafix; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Notification; use App\Classes\FTN\Process\Netmail\Robot\Areafix; use App\Notifications\Netmails\Areafix\Help as HelpNotification; // A Help Index Command class Help extends Base { private const LOGKEY = 'AFH'; private const areafix_classes = 'app/Classes/FTN/Process/Netmail/Robot/Areafix'; private const command = '%HELP'; public static function help(): array { return [ self::command, ' This message!', ]; } public function process(): string { Log::debug(sprintf('%s:- Processing [%s] for [%s]',self::LOGKEY,self::command,$this->mo->fftn->ftn)); $result = collect(); foreach (preg_grep('/^([^.])/',scandir(self::areafix_classes)) as $file) { if (($file === 'Base.php') || (! str_ends_with(strtolower($file),'.php'))) continue; $class = Areafix::commands.preg_replace('/\.php$/','',$file); if ($result->count()) $result->push(''); $result = $result ->merge($class::help()); } Notification::route('netmail',$this->mo->fftn)->notify(new HelpNotification($this->mo,$result)); return sprintf('%-25s <-- COMMAND PROCESSED',self::command); } }