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')) {
|
2021-08-20 22:39:20 +00:00
|
|
|
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();
|
|
|
|
}
|
|
|
|
});
|