X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=scripts%2Fmaildaemon.php;h=db283c4a077da41a0da582c69e8d240432fe3f99;hb=8deac7248e7db35515d7810491f9136deffa3098;hp=3d3b3095140444294be1ba67efbee74c637f1865;hpb=808b40dc534316a82b9c614f1d8438fd1b149074;p=quix0rs-gnu-social.git diff --git a/scripts/maildaemon.php b/scripts/maildaemon.php index 3d3b309514..db283c4a07 100755 --- a/scripts/maildaemon.php +++ b/scripts/maildaemon.php @@ -58,9 +58,8 @@ class MailerDaemon { $this->error($from, _('Sorry, no incoming email allowed.')); return false; } - $response = $this->handle_command($user, $msg); + $response = $this->handle_command($user, $from, $msg); if ($response) { - $this->respond($from, $to, $response); return true; } $msg = $this->cleanup_msg($msg); @@ -97,31 +96,16 @@ class MailerDaemon { return false; } - function handle_command($user, $msg) { - $cmd = trim(strtolower($msg)); - switch ($cmd) { - case 'off': - $this->set_notify($user, false); + function handle_command($user, $from, $msg) { + $inter = new CommandInterpreter(); + $cmd = $inter->handle_command($user, $msg); + if ($cmd) { + $cmd->execute(new MailChannel($from)); return true; - case 'on': - $this->set_notify($user, true); - return true; - default: - return false; } + return false; } - function set_notify($user, $value) { - $orig = clone($user); - $user->smsnotify = $value; - $result = $user->update($orig); - if (!$result) { - common_log_db_error($user, 'UPDATE', __FILE__); - return false; - } - return true; - } - function respond($from, $to, $response) { $headers['From'] = $to;