mirror of
https://github.com/Karaka-Management/oms-Messages.git
synced 2026-02-16 09:18:41 +00:00
bump
This commit is contained in:
parent
3fcc8a8d21
commit
7246c82fdf
|
|
@ -15,6 +15,7 @@ declare(strict_types=1);
|
||||||
namespace Modules\Messages\Controller;
|
namespace Modules\Messages\Controller;
|
||||||
|
|
||||||
use Modules\Admin\Models\NullAccount;
|
use Modules\Admin\Models\NullAccount;
|
||||||
|
use Modules\Media\Models\MediaMapper;
|
||||||
use Modules\Messages\Models\Email;
|
use Modules\Messages\Models\Email;
|
||||||
use Modules\Messages\Models\EmailL11n;
|
use Modules\Messages\Models\EmailL11n;
|
||||||
use Modules\Messages\Models\EmailL11nMapper;
|
use Modules\Messages\Models\EmailL11nMapper;
|
||||||
|
|
@ -59,6 +60,63 @@ final class ApiController extends Controller
|
||||||
$this->createStandardCreateResponse($request, $response, $email);
|
$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.
|
* Method to create email from request.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user