mirror of
https://github.com/Karaka-Management/oms-Messages.git
synced 2026-01-25 06:48:41 +00:00
registration fixes
This commit is contained in:
parent
e4c4b90170
commit
b1a291e97c
|
|
@ -5,7 +5,7 @@
|
|||
"type": 1,
|
||||
"subtype": 1,
|
||||
"name": "Messages",
|
||||
"uri": "{/lang}/{/app}/messages/dashboard?{?}",
|
||||
"uri": "{/base}/messages/dashboard?{?}",
|
||||
"target": "self",
|
||||
"icon": "fa fa-envelope",
|
||||
"order": 10,
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Inbox",
|
||||
"uri": "{/lang}/{/app}/messages/dashboard?{?}",
|
||||
"uri": "{/base}/messages/dashboard?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 1,
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Outbox",
|
||||
"uri": "{/lang}/{/app}/messages/outbox?{?}",
|
||||
"uri": "{/base}/messages/outbox?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 5,
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Trash",
|
||||
"uri": "{/lang}/{/app}/messages/trash?{?}",
|
||||
"uri": "{/base}/messages/trash?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 10,
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Spam",
|
||||
"uri": "{/lang}/{/app}/messages/spam?{?}",
|
||||
"uri": "{/base}/messages/spam?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 15,
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Draft",
|
||||
"uri": "{/lang}/{/app}/messages/draft?{?}",
|
||||
"uri": "{/base}/messages/draft?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 20,
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Settings",
|
||||
"uri": "{/lang}/{/app}/messages/settings?{?}",
|
||||
"uri": "{/base}/messages/settings?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 50,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages\Admin\Install
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@ use phpOMS\Application\ApplicationAbstract;
|
|||
* Navigation class.
|
||||
*
|
||||
* @package Modules\Messages\Admin\Install
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages\Admin\Install
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@ use phpOMS\Application\ApplicationAbstract;
|
|||
* Workflow class.
|
||||
*
|
||||
* @package Modules\Messages\Admin\Install
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
|
|||
252
Admin/Install/db.json
Normal file
252
Admin/Install/db.json
Normal file
|
|
@ -0,0 +1,252 @@
|
|||
{
|
||||
"messages_mail": {
|
||||
"name": "messages_mail",
|
||||
"fields": {
|
||||
"messages_mail_id": {
|
||||
"name": "messages_mail_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"messages_mail_msgid": {
|
||||
"name": "messages_mail_msgid",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_status": {
|
||||
"name": "messages_mail_status",
|
||||
"type": "TINYINT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_to": {
|
||||
"name": "messages_mail_to",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_from": {
|
||||
"name": "messages_mail_from",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_from_account": {
|
||||
"name": "messages_mail_from_account",
|
||||
"type": "INT",
|
||||
"null": true,
|
||||
"default": null,
|
||||
"foreignTable": "account",
|
||||
"foreignKey": "account_id"
|
||||
},
|
||||
"messages_mail_cc": {
|
||||
"name": "messages_mail_cc",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_bcc": {
|
||||
"name": "messages_mail_bcc",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_replyto": {
|
||||
"name": "messages_mail_replyto",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_confimation": {
|
||||
"name": "messages_mail_confimation",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_subject": {
|
||||
"name": "messages_mail_subject",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_body": {
|
||||
"name": "messages_mail_body",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_bodyalt": {
|
||||
"name": "messages_mail_bodyalt",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_bodymime": {
|
||||
"name": "messages_mail_bodymime",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_ical": {
|
||||
"name": "messages_mail_ical",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_created_at": {
|
||||
"name": "messages_mail_created_at",
|
||||
"type": "DATETIME",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_sent": {
|
||||
"name": "messages_mail_sent",
|
||||
"type": "DATETIME",
|
||||
"null": true,
|
||||
"default": null
|
||||
},
|
||||
"messages_mail_received": {
|
||||
"name": "messages_mail_received",
|
||||
"type": "DATETIME",
|
||||
"null": true,
|
||||
"default": null
|
||||
},
|
||||
"messages_mail_priority": {
|
||||
"name": "messages_mail_priority",
|
||||
"type": "TINYINT(1)",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_encoding": {
|
||||
"name": "messages_mail_encoding",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_contenttype": {
|
||||
"name": "messages_mail_contenttype",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_charset": {
|
||||
"name": "messages_mail_charset",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"messages_mail_media": {
|
||||
"name": "messages_mail_media",
|
||||
"fields": {
|
||||
"messages_mail_media_id": {
|
||||
"name": "messages_mail_media_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"messages_mail_media_src": {
|
||||
"name": "messages_mail_media_src",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "messages_mail",
|
||||
"foreignKey": "messages_mail_id"
|
||||
},
|
||||
"messages_mail_media_dst": {
|
||||
"name": "messages_mail_media_dst",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "media",
|
||||
"foreignKey": "media_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"messages_channel": {
|
||||
"description": "Only for internal purposes, can be a server or group chat or 1v1 chat",
|
||||
"name": "messages_channel",
|
||||
"fields": {
|
||||
"messages_channel_id": {
|
||||
"name": "messages_channel_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"messages_channel_status": {
|
||||
"name": "messages_channel_status",
|
||||
"type": "TINYINT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_created_at": {
|
||||
"name": "messages_mail_created_at",
|
||||
"type": "DATETIME",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_created_by": {
|
||||
"name": "messages_mail_created_by",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "account",
|
||||
"foreignKey": "account_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"messages_channel_rel": {
|
||||
"name": "messages_channel_rel",
|
||||
"fields": {
|
||||
"messages_channel_rel_id": {
|
||||
"name": "messages_channel_rel_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"messages_channel_rel_channel": {
|
||||
"name": "messages_channel_rel_channel",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "messages_channel",
|
||||
"foreignKey": "messages_channel_id"
|
||||
},
|
||||
"messages_channel_rel_account": {
|
||||
"name": "messages_channel_rel_account",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "account",
|
||||
"foreignKey": "account_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"messages_msg": {
|
||||
"name": "messages_msg",
|
||||
"fields": {
|
||||
"messages_msg_id": {
|
||||
"name": "messages_msg_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"messages_msg_status": {
|
||||
"name": "messages_msg_status",
|
||||
"type": "TINYINT",
|
||||
"null": false
|
||||
},
|
||||
"messages_msg_body": {
|
||||
"name": "messages_msg_body",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_msg_bodyalt": {
|
||||
"name": "messages_msg_bodyalt",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_created_at": {
|
||||
"name": "messages_mail_created_at",
|
||||
"type": "DATETIME",
|
||||
"null": false
|
||||
},
|
||||
"messages_mail_created_by": {
|
||||
"name": "messages_mail_created_by",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "account",
|
||||
"foreignKey": "account_id"
|
||||
},
|
||||
"messages_mail_channel": {
|
||||
"name": "messages_mail_channel",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "messages_channel",
|
||||
"foreignKey": "messages_channel_id"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -14,13 +14,19 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Messages\Admin;
|
||||
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
use phpOMS\Message\Http\HttpRequest;
|
||||
use phpOMS\Message\Http\HttpResponse;
|
||||
use phpOMS\Module\InstallerAbstract;
|
||||
use phpOMS\Module\ModuleInfo;
|
||||
use phpOMS\System\File\PathException;
|
||||
use phpOMS\Uri\HttpUri;
|
||||
|
||||
/**
|
||||
* Installer class.
|
||||
*
|
||||
* @package Modules\Messages\Admin
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
@ -33,4 +39,111 @@ final class Installer extends InstallerAbstract
|
|||
* @since 1.0.0
|
||||
*/
|
||||
public const PATH = __DIR__;
|
||||
|
||||
/**
|
||||
* Install data from providing modules.
|
||||
*
|
||||
* The data can be either directories which should be created or files which should be "uploaded"
|
||||
*
|
||||
* @param ApplicationAbstract $app Application
|
||||
* @param array $data Additional data
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @throws PathException
|
||||
* @throws \Exception
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function installExternal(ApplicationAbstract $app, array $data) : array
|
||||
{
|
||||
try {
|
||||
$app->dbPool->get()->con->query('select 1 from `editor_doc`');
|
||||
} catch (\Exception $e) {
|
||||
return []; // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
if (!\is_file($data['path'] ?? '')) {
|
||||
throw new PathException($data['path'] ?? '');
|
||||
}
|
||||
|
||||
$messageFile = \file_get_contents($data['path'] ?? '');
|
||||
if ($messageFile === false) {
|
||||
throw new PathException($data['path'] ?? ''); // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
$messageData = \json_decode($messageFile, true) ?? [];
|
||||
if ($messageData === false) {
|
||||
throw new \Exception(); // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
$result = [
|
||||
'email_template' => [],
|
||||
];
|
||||
|
||||
$apiApp = new class() extends ApplicationAbstract
|
||||
{
|
||||
protected string $appName = 'Api';
|
||||
};
|
||||
|
||||
$apiApp->dbPool = $app->dbPool;
|
||||
$apiApp->unitId = $app->unitId;
|
||||
$apiApp->accountManager = $app->accountManager;
|
||||
$apiApp->appSettings = $app->appSettings;
|
||||
$apiApp->moduleManager = $app->moduleManager;
|
||||
$apiApp->eventManager = $app->eventManager;
|
||||
|
||||
/** @var array{type:array} $messageData */
|
||||
foreach ($messageData as $message) {
|
||||
switch ($message['type']) {
|
||||
case 'email_template':
|
||||
$result['email_template'][] = self::createMessageTemplate($apiApp, $message);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create message template.
|
||||
*
|
||||
* @param ApplicationAbstract $app Application
|
||||
* @param array $data Type info
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private static function createMessageTemplate(ApplicationAbstract $app, array $data) : array
|
||||
{
|
||||
/** @var \Modules\Messages\Controller\ApiController $module */
|
||||
$module = $app->moduleManager->get('Messages');
|
||||
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('from', $data['from'] ?? '');
|
||||
$request->setData('to', $data['to'] ?? null);
|
||||
$request->setData('cc', $data['cc'] ?? null);
|
||||
$request->setData('bcc', $data['bcc'] ?? null);
|
||||
$request->setData('subject', $data['subject'] ?? '');
|
||||
$request->setData('ishtml', $data['ishtml'] ?? false);
|
||||
$request->setData('body', $data['body'] ?? '');
|
||||
$request->setData('bodyalt', $data['bodyalt'] ?? '');
|
||||
$request->setData('send', $data['send'] ?? false);
|
||||
|
||||
$module->apiEmailCreate($request, $response);
|
||||
|
||||
$responseData = $response->get('');
|
||||
if (!\is_array($responseData)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return !\is_array($responseData['response'])
|
||||
? $responseData['response']->toArray()
|
||||
: $responseData['response'];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@ use phpOMS\Module\StatusAbstract;
|
|||
* Status class.
|
||||
*
|
||||
* @package Modules\Messages\Admin
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@ use phpOMS\Module\UninstallerAbstract;
|
|||
* Uninstaller class.
|
||||
*
|
||||
* @package Modules\Messages\Admin
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@ use phpOMS\Module\UpdaterAbstract;
|
|||
* Updater class.
|
||||
*
|
||||
* @package Modules\Messages\Admin
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
|
|||
145
Controller/ApiController.php
Normal file
145
Controller/ApiController.php
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Messages\Controller;
|
||||
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use Modules\Messages\Models\Email;
|
||||
use Modules\Messages\Models\EmailMapper;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Model\Message\FormValidation;
|
||||
|
||||
|
||||
/**
|
||||
* Media class.
|
||||
*
|
||||
* @package Modules\Messages
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class ApiController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Api method to create tag
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiEmailCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateEmailCreate($request))) {
|
||||
$response->set('email_create', new FormValidation($val));
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$email = $this->createEmailFromRequest($request);
|
||||
$this->createModel($request->header->account, $email, EmailMapper::class, 'email', $request->getOrigin());
|
||||
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Email', 'Email successfully created', $email);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate email create request
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return array<string, bool>
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function validateEmailCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['subject'] = empty($request->getData('subject')))
|
||||
|| ($val['body'] = empty($request->getData('body')))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create email from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return Email
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function createEmailFromRequest(RequestAbstract $request) : Email
|
||||
{
|
||||
$email = new Email();
|
||||
|
||||
if ($request->hasData('from')) {
|
||||
$from = $request->getDataJson('from');
|
||||
$email->setFrom($from['address'] ?? '', $from['name'] ?? '');
|
||||
}
|
||||
|
||||
if ($request->hasData('to')) {
|
||||
$tos = $request->getDataJson('to');
|
||||
|
||||
foreach ($tos as $to) {
|
||||
$email->addTo($to['address'] ?? '', $to['name'] ?? '');
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->hasData('cc')) {
|
||||
$ccs = $request->getDataJson('cc');
|
||||
|
||||
foreach ($ccs as $cc) {
|
||||
$email->addCC($cc['address'] ?? '', $cc['name'] ?? '');
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->hasData('bcc')) {
|
||||
$bccs = $request->getDataJson('bcc');
|
||||
|
||||
foreach ($bccs as $bcc) {
|
||||
$email->addBCC($bcc['address'] ?? '', $bcc['name'] ?? '');
|
||||
}
|
||||
}
|
||||
|
||||
$email->account = new NullAccount($request->getDataInt('account') ?? $request->header->account);
|
||||
|
||||
$email->setHtml($request->getDataBool('ishtml') ?? false);
|
||||
|
||||
$email->subject = $request->getDataString('subject') ?? '';
|
||||
|
||||
if ($request->getDataBool('ishtml') ?? false) {
|
||||
$email->msgHTML($request->getDataString('body') ?? '');
|
||||
} else {
|
||||
$email->body = $request->getDataString('body') ?? '';
|
||||
}
|
||||
|
||||
$email->bodyAlt = $request->getDataString('bodyalt') ?? '';
|
||||
|
||||
return $email;
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -23,7 +23,7 @@ use phpOMS\Views\View;
|
|||
* Messages controller class.
|
||||
*
|
||||
* @package Modules\Messages
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@ use phpOMS\Module\ModuleAbstract;
|
|||
* Messages controller class.
|
||||
*
|
||||
* @package Modules\Messages
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
|
|||
0
Models/Channel.php
Normal file
0
Models/Channel.php
Normal file
0
Models/ChannelMapper.php
Normal file
0
Models/ChannelMapper.php
Normal file
82
Models/Email.php
Normal file
82
Models/Email.php
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Messages\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Messages\Models;
|
||||
|
||||
use Modules\Admin\Models\Account;
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use phpOMS\Message\Mail\Email as MailEmail;
|
||||
|
||||
/**
|
||||
* Null bill type class.
|
||||
*
|
||||
* @package Modules\Messages\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class Email extends MailEmail implements \JsonSerializable
|
||||
{
|
||||
/**
|
||||
* Mail id.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected int $id = 0;
|
||||
|
||||
public Account $account;
|
||||
|
||||
public \DateTimeImmutable $createdAt;
|
||||
|
||||
public int $status = 0;
|
||||
|
||||
private array $media = [];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->account = new NullAccount();
|
||||
$this->createdAt = new \DateTimeImmutable('now');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get id
|
||||
*
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function getId() : int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function toArray() : array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function jsonSerialize() : mixed
|
||||
{
|
||||
return $this->toArray();
|
||||
}
|
||||
}
|
||||
113
Models/EmailMapper.php
Normal file
113
Models/EmailMapper.php
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Messages\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Messages\Models;
|
||||
|
||||
use Modules\Admin\Models\AccountMapper;
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
||||
/**
|
||||
* Mapper class.
|
||||
*
|
||||
* @package Modules\Messages\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class EmailMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
*
|
||||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const COLUMNS = [
|
||||
'messages_mail_id' => ['name' => 'messages_mail_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'messages_mail_msgid' => ['name' => 'messages_mail_msgid', 'type' => 'string', 'internal' => 'messageId'],
|
||||
'messages_mail_status' => ['name' => 'messages_mail_status', 'type' => 'int', 'internal' => 'status'],
|
||||
'messages_mail_to' => ['name' => 'messages_mail_to', 'type' => 'Json', 'internal' => 'to'],
|
||||
'messages_mail_from' => ['name' => 'messages_mail_from', 'type' => 'Json', 'internal' => 'from'],
|
||||
'messages_mail_from_account' => ['name' => 'messages_mail_from_account', 'type' => 'int', 'internal' => 'account'],
|
||||
'messages_mail_cc' => ['name' => 'messages_mail_cc', 'type' => 'Json', 'internal' => 'cc'],
|
||||
'messages_mail_bcc' => ['name' => 'messages_mail_bcc', 'type' => 'Json', 'internal' => 'bcc'],
|
||||
'messages_mail_replyto' => ['name' => 'messages_mail_replyto', 'type' => 'Json', 'internal' => 'replyTo'],
|
||||
'messages_mail_confimation' => ['name' => 'messages_mail_confimation', 'type' => 'string', 'internal' => 'confirmationAddress'],
|
||||
'messages_mail_subject' => ['name' => 'messages_mail_subject', 'type' => 'string', 'internal' => 'subject'],
|
||||
'messages_mail_body' => ['name' => 'messages_mail_body', 'type' => 'string', 'internal' => 'body'],
|
||||
'messages_mail_bodyalt' => ['name' => 'messages_mail_bodyalt', 'type' => 'string', 'internal' => 'bodyAlt'],
|
||||
'messages_mail_bodymime' => ['name' => 'messages_mail_bodymime', 'type' => 'string', 'internal' => 'bodyMime'],
|
||||
'messages_mail_ical' => ['name' => 'messages_mail_ical', 'type' => 'string', 'internal' => 'ical'],
|
||||
'messages_mail_created_at' => ['name' => 'messages_mail_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'],
|
||||
'messages_mail_sent' => ['name' => 'messages_mail_sent', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'],
|
||||
'messages_mail_received' => ['name' => 'messages_mail_received', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt'],
|
||||
'messages_mail_priority' => ['name' => 'messages_mail_priority', 'type' => 'int', 'internal' => 'priority'],
|
||||
'messages_mail_encoding' => ['name' => 'messages_mail_encoding', 'type' => 'string', 'internal' => 'encoding'],
|
||||
'messages_mail_contenttype' => ['name' => 'messages_mail_contenttype', 'type' => 'string', 'internal' => 'contentType'],
|
||||
'messages_mail_charset' => ['name' => 'messages_mail_charset', 'type' => 'string', 'internal' => 'charset'],
|
||||
];
|
||||
|
||||
/**
|
||||
* Has many relation.
|
||||
*
|
||||
* @var array<string, array{mapper:class-string, table:string, self?:?string, external?:?string, column?:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const HAS_MANY = [
|
||||
'media' => [
|
||||
'mapper' => MediaMapper::class,
|
||||
'table' => 'messages_mail_media',
|
||||
'external' => 'messages_mail_media_dst',
|
||||
'self' => 'messages_mail_media_src',
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* Belongs to.
|
||||
*
|
||||
* @var array<string, array{mapper:class-string, external:string, column?:string, by?:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const BELONGS_TO = [
|
||||
'account' => [
|
||||
'mapper' => AccountMapper::class,
|
||||
'external' => 'messages_mail_from_account',
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const TABLE = 'messages_mail';
|
||||
|
||||
/**
|
||||
* Created at.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const CREATED_AT = 'messages_mail_created_at';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const PRIMARYFIELD = 'messages_mail_id';
|
||||
}
|
||||
47
Models/NullEmail.php
Normal file
47
Models/NullEmail.php
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Messages\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Messages\Models;
|
||||
|
||||
/**
|
||||
* Null bill type class.
|
||||
*
|
||||
* @package Modules\Messages\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class NullEmail extends Email
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param int $id Model id
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function __construct(int $id = 0)
|
||||
{
|
||||
$this->id = $id;
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function jsonSerialize() : mixed
|
||||
{
|
||||
return ['id' => $this->id];
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
|
|||
* Permision state enum.
|
||||
*
|
||||
* @package Modules\Messages\Models
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
|
|||
0
Models/Server.php
Normal file
0
Models/Server.php
Normal file
0
Models/ServerMapper.php
Normal file
0
Models/ServerMapper.php
Normal file
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -44,7 +44,7 @@ echo $this->getData('nav')->render(); ?>
|
|||
<tbody>
|
||||
<?php $count = 0;
|
||||
foreach ($messages as $key => $value) : ++$count;
|
||||
$url = UriFactory::build('{/lang}/{/app}/messages/mail/single?{?}&id=' . $value->uid); ?>
|
||||
$url = UriFactory::build('{/base}/messages/mail/single?{?}&id=' . $value->uid); ?>
|
||||
<tr>
|
||||
<td><span class="check"><input type="checkbox" name=""></span>
|
||||
<td><a href="<?= $url; ?>"<?= $this->printHtml($value->seen == 0 ? ' class="unseen"' : ''); ?>></a>
|
||||
|
|
@ -66,7 +66,7 @@ echo $this->getData('nav')->render(); ?>
|
|||
|
||||
<div class="col-xs-12 col-md-3">
|
||||
<div class="box">
|
||||
<a tabindex="0" class="button" href="<?= UriFactory::build('{/lang}/{/app}/messages/mail/create'); ?>"><i class="fa fa-pencil"></i> <?= $this->getHtml('Create', '0', '0'); ?></a>
|
||||
<a tabindex="0" class="button" href="<?= UriFactory::build('{/base}/messages/mail/create'); ?>"><i class="fa fa-pencil"></i> <?= $this->getHtml('Create', '0', '0'); ?></a>
|
||||
</div>
|
||||
|
||||
<div class="portlet">
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules\Messages
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* @package Modules/tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
|
|
@ -20,7 +20,7 @@ namespace tests;
|
|||
* Autoloader class.
|
||||
*
|
||||
* @package tests
|
||||
* @license OMS License 1.0
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user