mail2log/_define.php

47 lines
1.5 KiB
PHP
Raw Normal View History

2022-11-27 00:56:22 +00:00
<?php
/**
* @brief mail2log, a plugin for Dotclear 2
*
* @package Dotclear
* @subpackage Plugin
*
* @author Jean-Christian Denis and contributors
*
* @copyright Jean-Christian Denis
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
*/
2023-04-24 13:48:48 +00:00
if (!defined('DC_RC_PATH') || is_null(dcCore::app()->auth)) {
2022-11-27 00:56:22 +00:00
return null;
}
$this->registerModule(
2023-03-11 16:14:04 +00:00
'Mail to log',
2022-11-27 00:56:22 +00:00
'Do not send mails but log them',
'Jean-Christian Denis and contributors',
2023-03-11 16:14:04 +00:00
'0.3',
2022-11-27 00:56:22 +00:00
[
'requires' => [['core', '2.24']],
2022-12-03 20:34:22 +00:00
'permissions' => dcCore::app()->auth->makePermissions([
2023-04-24 13:48:48 +00:00
dcCore::app()->auth::PERMISSION_USAGE,
2022-12-03 20:34:22 +00:00
]),
2023-03-11 16:14:04 +00:00
'type' => 'plugin',
'support' => 'https://github.com/JcDenis/' . basename(__DIR__),
'details' => 'https://plugins.dotaddict.org/dc2/details/' . basename(__DIR__),
'repository' => 'https://raw.githubusercontent.com/JcDenis/' . basename(__DIR__) . '/master/dcstore.xml',
2022-11-27 00:56:22 +00:00
]
);
2023-03-11 16:14:04 +00:00
if (!function_exists('\_mail')) {
2023-04-24 14:17:19 +00:00
function _mail(string $to, string $subject, string $message, string|array $headers = '', ?string $params = null): bool
2023-03-11 16:14:04 +00:00
{
2023-04-24 14:17:19 +00:00
$headers = is_array($headers) ? implode("\n\t", $headers) : $headers;
2023-03-11 16:14:04 +00:00
2023-04-24 13:48:48 +00:00
$cur = dcCore::app()->con->openCursor(dcCore::app()->prefix . dcLog::LOG_TABLE_NAME);
$cur->setField('log_table', basename(__DIR__));
$cur->setField('log_msg', sprintf("%s\n-----\n To: %s\n Subject: %s\n-----\n Message:\n%s\n", $headers, $to, $subject, $message));
2023-03-11 16:14:04 +00:00
dcCore::app()->log->addLog($cur);
return true;
}
}