whiteListCom/_prepend.php

47 lines
1.4 KiB
PHP
Raw Normal View History

2021-08-17 19:06:58 +00:00
<?php
2021-09-02 21:54:55 +00:00
/**
* @brief whiteListCom, a plugin for Dotclear 2
2022-11-16 21:22:48 +00:00
*
2021-09-02 21:54:55 +00:00
* @package Dotclear
* @subpackage Plugin
2022-11-16 21:22:48 +00:00
*
2021-09-02 21:54:55 +00:00
* @author Jean-Christian Denis and Contributors
2022-11-16 21:22:48 +00:00
*
2021-09-02 21:54:55 +00:00
* @copyright Jean-Christian Denis
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
*/
2021-08-17 19:06:58 +00:00
if (!defined('DC_RC_PATH')) {
return null;
2021-08-17 19:06:58 +00:00
}
2022-12-03 16:53:11 +00:00
Clearbricks::lib()->autoload([
2023-01-07 22:28:40 +00:00
'whiteListCom' => __DIR__ . '/inc/Core.php',
'whiteListComReservedFilter' => __DIR__ . '/inc/ReservedFilter.php',
'whiteListComModeratedFilter' => __DIR__ . '/inc/ModeratedFilter.php',
2022-12-03 16:53:11 +00:00
]);
2021-08-17 19:06:58 +00:00
2022-11-16 21:22:48 +00:00
dcCore::app()->spamfilters[] = 'whiteListComModeratedFilter';
2023-01-07 22:28:40 +00:00
dcCore::app()->spamfilters[] = 'whiteListComReservedFilter';
2021-08-17 19:06:58 +00:00
2023-01-07 22:28:40 +00:00
dcCore::app()->addBehavior('publicAfterCommentCreate', function ($cur, $id) {
if (dcCore::app()->blog === null
|| dcCore::app()->blog->settings->get('system')->get('comments_pub')) {
return null;
}
2021-08-17 19:06:58 +00:00
2023-01-07 22:28:40 +00:00
if ($cur->__get('comment_spam_filter') == 'whiteListComModeratedFilter'
&& $cur->__get('comment_spam_status') == 'unmoderated') {
dcCore::app()->con->writeLock(dcCore::app()->prefix . dcBlog::COMMENT_TABLE_NAME);
$cur->__set('comment_status', 1);
$cur->__set('comment_spam_status', 0);
$cur->__set('comment_spam_filter', 0);
$cur->update('WHERE comment_id = ' . $id . ' ');
dcCore::app()->con->unlock();
dcCore::app()->blog->triggerComment($id);
dcCore::app()->blog->triggerBlog();
}
});