Files
roi-theme/wp-content/plugins/fluent-smtp/app/Http/Controllers/LoggerController.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

118 lines
3.3 KiB
PHP
Executable File

<?php
namespace FluentMail\App\Http\Controllers;
use FluentMail\App\Models\Logger;
use FluentMail\Includes\Request\Request;
class LoggerController extends Controller
{
public function get(Request $request, Logger $logger)
{
$this->verify();
return $this->send(
$logger->get(
$request->except(['nonce', 'action'])
)
);
}
public function show(Request $request, Logger $logger)
{
$this->verify();
$result = $logger->navigate($request->all());
return $this->sendSuccess($result);
}
public function delete(Request $request, Logger $logger)
{
$this->verify();
$id = (array) $request->get('id');
$logger->delete($id);
if ($id && $id[0] == 'all') {
$subject = 'All logs';
} else {
$count = count($id);
$subject = $count > 1 ? "{$count} Logs" : 'Log';
}
return $this->sendSuccess([
'message' => sprintf(__('%s deleted successfully.', 'fluent-smtp'), $subject)
]);
}
public function retry(Request $request, Logger $logger)
{
$this->verify();
try {
$this->app->addAction('wp_mail_failed', function($response) use ($logger, $request) {
$log = $logger->find($id = $request->get('id'));
$log['retries'] = $log['retries'] + 1;
$logger->updateLog($log, ['id' => $id]);
return $this->sendError([
'message' => $response->get_error_message(),
'errors' => $response->get_error_data()
], $response->get_error_code());
});
if ($email = $logger->resendEmailFromLog($request->get('id'), $request->get('type'))) {
return $this->sendSuccess([
'email' => $email,
'message' => __('Email sent successfully.', 'fluent-smtp')
]);
}
throw new \Exception(esc_html__('Something went wrong', 'fluent-smtp'), 400);
} catch (\Exception $e) {
return $this->sendError([
'message' => $e->getMessage()
], $e->getCode());
}
}
public function retryBulk(Request $request, Logger $logger)
{
$this->verify();
$logIds = $request->get('log_ids', []);
$failedCount = 0;
$this->app->addAction('wp_mail_failed', function($response) use (&$failedCount) {
$failedCount++;
});
$failedInitiated = 0;
$successCount = 0;
foreach ($logIds as $logId) {
try {
$email = $logger->resendEmailFromLog($logId, 'check_realtime');
$successCount++;
} catch (\Exception $exception) {
$failedInitiated++;
}
}
$message = __('Selected Emails have been proceed to send.', 'fluent-smtp');
if ($failedCount) {
$message .= sprintf(__(' But %d emails are reported to failed to send.', 'fluent-smtp'), $failedCount);
}
if ($failedInitiated) {
$message .= sprintf(__(' And %d emails are failed to init the emails', 'fluent-smtp'), $failedInitiated);
}
return $this->sendSuccess([
'message' => $message
]);
}
}