Moderator Checkpoint System

Moderator Checkpoint System [Paid] 3.1.5

No permission to buy (ÂŁ40.00)
Sounds like Jake has this sorted for a future release so that’s one thing off the list 👍

I am looking at the other issues too. Shouldn’t be far off a new release once that is figured out.
 
Just FYI, I did an uninstall of this, being an upgrade from the XF1 version, reinstall, and it didn't remove any of the data from the DB, thus all the issues are still present upon activating permissions.
 
Sounds like Jake has this sorted for a future release so that’s one thing off the list 👍

I am looking at the other issues too. Shouldn’t be far off a new release once that is figured out.
Thanks @Chris D & @Jake B. ,
really appreciate that! At the same time I was working down a ticket with JonW at themehouse til we noticed, you both already had solved that ;)

This morning I noticed, that there might be a new hickup. While entering a thread I got a DB exception with the new [TH] Q&A version:
Code:
Stack-Trace

            UPDATE xf_post AS p
            INNER JOIN xf_thread as t ON
                (p.thread_id = t.thread_id)
            SET p.post_check_date = ?,
                p.post_check_user_id = ?,
                p.post_check_username = ?
            WHERE p.post_check_date = 0
                AND p.message_state = 'visible'
                AND t.discussion_state = 'visible'
                AND p.post_id IN()
       
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1064, '42000')
#1 src/XF/Db/Mysqli/Statement.php(39): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1064, '42000')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(89): XF\Db\Mysqli\Statement->execute()
#4 src/addons/M2N/Checkpoint/Service/BulkChecker.php(44): XF\Db\AbstractAdapter->query('
            UPDATE xf_p...', Array)
#5 src/addons/M2N/Checkpoint/XF/Pub/Controller/Thread.php(26): M2N\Checkpoint\Service\BulkChecker->checkPosts(Array, true)
#6 src/addons/Andy/SimilarThreads/XF/Pub/Controller/Thread.php(16): M2N\Checkpoint\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#7 src/addons/Andy/StaffActivity/XF/Pub/Controller/Thread.php(12): Andy\SimilarThreads\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#8 src/addons/EWR/Atendo/Pub/Controller/Thread.php(11): Andy\StaffActivity\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#9 src/addons/ThemeHouse/XPress/XF/Pub/Controller/Thread.php(33): EWR\Atendo\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#10 src/addons/XFMG/XF/Pub/Controller/Thread.php(11): ThemeHouse\XPress\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#11 src/addons/Truonglv/Groups/XF/Pub/Controller/Thread.php(24): XFMG\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#12 src/addons/ThemeHouse/PostComments/XF/Pub/Controller/Thread.php(12): Truonglv\Groups\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#13 src/XF/Mvc/Dispatcher.php(321): ThemeHouse\PostComments\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#14 src/XF/Mvc/Dispatcher.php(248): XF\Mvc\Dispatcher->dispatchClass('XF:Thread', 'Index', Object(XF\Mvc\RouteMatch), Object(ThemeHouse\PostComments\XF\Pub\Controller\Thread), NULL)
#15 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(ThemeHouse\PostComments\XF\Pub\Controller\Thread), NULL)
#16 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#17 src/XF/App.php(2177): XF\Mvc\Dispatcher->run()
#18 src/XF.php(390): XF\App->run()
#19 index.php(20): XF::runApp('XF\\Pub\\App')
#20 {main}

Not sure, where the report is better suited - here or over in the Q&A ticket at ThemeHouse - and where the error is evolving from. I´ll post this in the ticket, too, to keep all parties in the loop.
 
Last edited:
That’s the stack trace - what is the actual error message?

Oh actually I can see I think.
 
That’s the stack trace - what is the actual error message?

Oh actually I can see I think.
Oups. Yep - forgot about the error message. It´s
Code:
XF\Db\InvalidQueryException: MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 10 src/XF/Db/AbstractStatement.php:217
 
Sorry for the double post... I see the answer now to my above question.

My other question would be that it doesn't seem to work for super moderators. I have to add them all to each forum. Is this intended or should it just work when someone is set as a super moderator?
 
This suddenly throws an error on the forum :unsure:
If I disable Moderator Checkpoint System it's fixed.
I think there is a conflict with Tag essentials...

Code:
XF\Db\Exception: MySQL fetch error [2014]: Commands out of sync; you can't run this command now in src/XF/Db/AbstractStatement.php at line 217
XF\Db\AbstractStatement->getException() in src/XF/Db/Mysqli/Statement.php at line 196
XF\Db\Mysqli\Statement->getException() in src/XF/Db/Mysqli/Statement.php at line 134
XF\Db\Mysqli\Statement->fetchRowValues() in src/XF/Db/AbstractStatement.php at line 93
XF\Db\AbstractStatement->fetchAliasGrouped() in src/XF/Mvc/Entity/Finder.php at line 1296
XF\Mvc\Entity\Finder->fetch() in src/XF/Pub/Controller/Forum.php at line 229
XF\Pub\Controller\Forum->actionForum() in src/XF/Mvc/Dispatcher.php at line 321
XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 244
XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 100
XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 50
XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2177
XF\App->run() in src/XF.php at line 390
XF::runApp() in index.php at line 20

and in the error log

Code:
Serverfouten log
XF\Db\Exception: MySQL fetch error [2014]: Commands out of sync; you can't run this command now src/XF/Db/AbstractStatement.php:217
Gegenereerd door: Fred. 11 mei 2019 om 11:42
Stack trace
            SELECT `xf_thread`.*, `xf_deletion_log_DeletionLog_1`.*, `xf_user_User_2`.*, `xf_user_LastPoster_3`.*, `xf_thread_read_Read_4`.*, `xf_thread_user_post_UserPosts_5`.*, `xf_thread_watch_Watch_6`.*
            FROM `xf_thread`
            LEFT JOIN `xf_deletion_log` AS `xf_deletion_log_DeletionLog_1` ON (`xf_deletion_log_DeletionLog_1`.`content_type` = 'thread' AND `xf_deletion_log_DeletionLog_1`.`content_id` = `xf_thread`.`thread_id`)
LEFT JOIN `xf_user` AS `xf_user_User_2` ON (`xf_user_User_2`.`user_id` = `xf_thread`.`user_id`)
LEFT JOIN `xf_user` AS `xf_user_LastPoster_3` ON (`xf_user_LastPoster_3`.`user_id` = `xf_thread`.`last_post_user_id`)
LEFT JOIN `xf_thread_read` AS `xf_thread_read_Read_4` ON (`xf_thread_read_Read_4`.`thread_id` = `xf_thread`.`thread_id` AND `xf_thread_read_Read_4`.`user_id` = '3')
LEFT JOIN `xf_thread_user_post` AS `xf_thread_user_post_UserPosts_5` ON (`xf_thread_user_post_UserPosts_5`.`thread_id` = `xf_thread`.`thread_id` AND `xf_thread_user_post_UserPosts_5`.`user_id` = '3')
LEFT JOIN `xf_thread_watch` AS `xf_thread_watch_Watch_6` ON (`xf_thread_watch_Watch_6`.`thread_id` = `xf_thread`.`thread_id` AND `xf_thread_watch_Watch_6`.`user_id` = '3')
            WHERE (`xf_thread`.`node_id` = 25) AND ((`xf_thread`.`discussion_state` IN ('visible', 'deleted', 'moderated'))) AND (`xf_thread`.`discussion_state` = 'visible') AND (`xf_thread`.`discussion_type` != 'redirect') AND (`xf_thread`.`sticky` = 0)
            ORDER BY
            CASE
            WHEN `xf_thread`.`discussion_state` = 'visible'
            THEN (`xf_thread`.`reply_count` + 1) - `xf_thread`.`thread_check_count`
            ELSE 0
            END DESC,
            `xf_thread`.`last_post_date`
         DESC
       
LIMIT 20
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL fetch err...', 2014, 'HY000')
#1 src/XF/Db/Mysqli/Statement.php(134): XF\Db\Mysqli\Statement->getException('MySQL fetch err...', 2014, 'HY000')
#2 src/XF/Db/AbstractStatement.php(93): XF\Db\Mysqli\Statement->fetchRowValues()
#3 src/XF/Mvc/Entity/Finder.php(1296): XF\Db\AbstractStatement->fetchAliasGrouped()
#4 src/XF/Pub/Controller/Forum.php(229): XF\Mvc\Entity\Finder->fetch()
#5 src/XF/Mvc/Dispatcher.php(321): XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
#6 src/XF/Mvc/Dispatcher.php(244): XF\Mvc\Dispatcher->dispatchClass('XF:Forum', 'Forum', Object(XF\Mvc\RouteMatch), Object(AVForums\TagEssentials\XF\Pub\Controller\Forum), Object(XF\Mvc\Reply\Reroute))
#7 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(AVForums\TagEssentials\XF\Pub\Controller\Forum), Object(XF\Mvc\Reply\Reroute))
#8 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#9 src/XF/App.php(2177): XF\Mvc\Dispatcher->run()
#10 src/XF.php(390): XF\App->run()
#11 index.php(20): XF::runApp('XF\\Pub\\App')
#12 {main}
Aanvraagstatus
array(4) {
  ["url"] => string(31) "/forums/zoek-een-reisgenoot.25/"
  ["referrer"] => string(22) "https://example.com/"
  ["_GET"] => array(1) {
    ["/forums/zoek-een-reisgenoot_25/"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}
 
Hey @Stuart Wright ,

there seems to be conflict with XF 2.1.3 in active mode. As soon this is enabled and I visit a thread, this ugly error appears: screenshot-2019.09.01-10_06_43.png

Stack-Trace
Code:
XF\Db\InvalidQueryException: MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 10 src/XF/Db/AbstractStatement.php:217

    Generiert von: Admin 01.09.2019 um 10:05

Stack-Trace

            UPDATE xf_post AS p
            INNER JOIN xf_thread as t ON
                (p.thread_id = t.thread_id)
            SET p.post_check_date = ?,
                p.post_check_user_id = ?,
                p.post_check_username = ?
            WHERE p.post_check_date = 0
                AND p.message_state = 'visible'
                AND t.discussion_state = 'visible'
                AND p.post_id IN()
       
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1064, '42000')
#1 src/XF/Db/Mysqli/Statement.php(39): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1064, '42000')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(94): XF\Db\Mysqli\Statement->execute()
#4 src/addons/M2N/Checkpoint/Service/BulkChecker.php(44): XF\Db\AbstractAdapter->query('
            UPDATE xf_p...', Array)
#5 src/addons/M2N/Checkpoint/XF/Pub/Controller/Thread.php(26): M2N\Checkpoint\Service\BulkChecker->checkPosts(Array, true)
#6 src/addons/XFMG/XF/Pub/Controller/Thread.php(11): M2N\Checkpoint\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#7 src/XF/Mvc/Dispatcher.php(321): XFMG\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#8 src/XF/Mvc/Dispatcher.php(248): XF\Mvc\Dispatcher->dispatchClass('XF:Thread', 'Index', Object(XF\Mvc\RouteMatch), Object(Snog\Forms\XF\Pub\Controller\Thread), NULL)
#9 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(Snog\Forms\XF\Pub\Controller\Thread), NULL)
#10 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#11 src/XF/App.php(2178): XF\Mvc\Dispatcher->run()
#12 src/XF.php(390): XF\App->run()
#13 index.php(20): XF::runApp('XF\\Pub\\App')
#14 {main}

With active mode disabled it´s all fine. Could you please have a look into this?
 
Hey @Stuart Wright ,

there seems to be conflict with XF 2.1.3 in active mode. As soon this is enabled and I visit a thread, this ugly error appears: View attachment 209509

Stack-Trace
Code:
XF\Db\InvalidQueryException: MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 10 src/XF/Db/AbstractStatement.php:217

    Generiert von: Admin 01.09.2019 um 10:05

Stack-Trace

            UPDATE xf_post AS p
            INNER JOIN xf_thread as t ON
                (p.thread_id = t.thread_id)
            SET p.post_check_date = ?,
                p.post_check_user_id = ?,
                p.post_check_username = ?
            WHERE p.post_check_date = 0
                AND p.message_state = 'visible'
                AND t.discussion_state = 'visible'
                AND p.post_id IN()
      
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1064, '42000')
#1 src/XF/Db/Mysqli/Statement.php(39): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1064, '42000')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(94): XF\Db\Mysqli\Statement->execute()
#4 src/addons/M2N/Checkpoint/Service/BulkChecker.php(44): XF\Db\AbstractAdapter->query('
            UPDATE xf_p...', Array)
#5 src/addons/M2N/Checkpoint/XF/Pub/Controller/Thread.php(26): M2N\Checkpoint\Service\BulkChecker->checkPosts(Array, true)
#6 src/addons/XFMG/XF/Pub/Controller/Thread.php(11): M2N\Checkpoint\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#7 src/XF/Mvc/Dispatcher.php(321): XFMG\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#8 src/XF/Mvc/Dispatcher.php(248): XF\Mvc\Dispatcher->dispatchClass('XF:Thread', 'Index', Object(XF\Mvc\RouteMatch), Object(Snog\Forms\XF\Pub\Controller\Thread), NULL)
#9 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(Snog\Forms\XF\Pub\Controller\Thread), NULL)
#10 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#11 src/XF/App.php(2178): XF\Mvc\Dispatcher->run()
#12 src/XF.php(390): XF\App->run()
#13 index.php(20): XF::runApp('XF\\Pub\\App')
#14 {main}

With active mode disabled it´s all fine. Could you please have a look into this?
Messaging you...
 
This fixed my previous issues, so now able to use it. Thanks.

One issue found already, when checking the five mod privileges for a mod to check their respective assigned forums, when using "active" mode, it checks posts outside their assigned moderator forums, basically giving them global checking permission regardless of assigned mod privileges.
 
Actually, I did intend for the colours to be easier to change at least. It's a little complicated at the moment.

In the next version we'll have 4 colour variables you can change if you need to inside the core_m2n_checkpoint.less template:
Less:
@m2n-checkpoint-checked: #daf3d8;
@m2n-checkpoint-checked-heavy: #63b265;
@m2n-checkpoint-recent: #fde9e9;
@m2n-checkpoint-recent-heavy: #c84448;

@Chris D , since the forums are far to greenish for my taste, I´m trying to flip the styling, so the color scheme applies to unchecked posts, not to checked ones. Thought that would be an easy edit adding/deleting the :not in core_m2n_checkpoint.less, but now I am sitting here for the last hour and scratching my head, why this isn´t working. What´s the trick with that styling there? ;)
 
Would probably need more extensive changes and not really something I have time to get into but I think this might get you started:
Less:
&.message--checked:not(.is-mod-selected)

Less:
&:not(.message--checked)

I'm sure there will be many other little things you need to change but, again, not really something we'd support.
 
Chris,
just for the record: please add a styling option for unchanged posts/threads/forums. It´s really much easier and far more pleasant to have only unchecked items highlighted you have to look at, instead of the checked ones. Tried this now for a couple of days, but I just couldn´t make it work that way.
 
Top Bottom