mirror of
https://github.com/Karaka-Management/oms-Messages.git
synced 2026-01-11 16:48:40 +00:00
bump
This commit is contained in:
parent
3fcc8a8d21
commit
7246c82fdf
|
|
@ -15,6 +15,7 @@ declare(strict_types=1);
|
|||
namespace Modules\Messages\Controller;
|
||||
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use Modules\Messages\Models\Email;
|
||||
use Modules\Messages\Models\EmailL11n;
|
||||
use Modules\Messages\Models\EmailL11nMapper;
|
||||
|
|
@ -59,6 +60,63 @@ final class ApiController extends Controller
|
|||
$this->createStandardCreateResponse($request, $response, $email);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create tag
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param array $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiMediaEmailSend(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
|
||||
{
|
||||
$email = $request->getDataString('email');
|
||||
|
||||
$media = $data['media'] ?? MediaMapper::get()
|
||||
->where('id', (int) $request->getData('id'))
|
||||
->execute();
|
||||
|
||||
/** @var \Model\Setting $template */
|
||||
$template = $this->app->appSettings->get(
|
||||
names: (string) $request->getDataString('template')
|
||||
);
|
||||
|
||||
$handler = $this->app->moduleManager->get('Admin', 'Api')->setUpServerMailHandler();
|
||||
|
||||
$mail = EmailMapper::get()
|
||||
->with('l11n')
|
||||
->where('id', $template)
|
||||
->where('l11n/language', $response->header->l11n->language)
|
||||
->execute();
|
||||
|
||||
$status = false;
|
||||
if ($mail->id !== 0) {
|
||||
$status = $this->app->moduleManager->get('Admin', 'Api')->setupEmailDefaults($mail, $response->header->l11n->language);
|
||||
}
|
||||
|
||||
$mail->addTo($email);
|
||||
$mail->addAttachment($media->getAbsolutePath(), $media->name);
|
||||
|
||||
if ($status) {
|
||||
$status = $handler->send($mail);
|
||||
}
|
||||
|
||||
if (!$status) {
|
||||
\phpOMS\Log\FileLogger::getInstance()->error(
|
||||
\phpOMS\Log\FileLogger::MSG_FULL, [
|
||||
'message' => 'Couldn\'t send bill media: ' . $media->id,
|
||||
'line' => __LINE__,
|
||||
'file' => self::class,
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create email from request.
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user