[OzzModz] Thread Type Vote Competition

[OzzModz] Thread Type Vote Competition [Paid] 2.0.2 Patch Level 3

No permission to buy ($10.00)


Well-known member
Ozzy47 submitted a new resource:

[OzzModz] Thread Type Vote Competition - Adds new thread type for competitions with up & down voting

XenForo 2.2.0+

Adds new thread type for competitions with up & down voting.


  • New forum & thread type with post voting support (upvote & downvote)
  • General discussion forum type support
  • Sort posts by vote score
  • Node-specific permissions
  • Thread option to set winners count
  • Thread option to sort posts by vote score by default
  • Thread option for public display of post votes
  • Thread option to start and close competition after...

Read more about this resource...
Hi @Ozzy47 , does this plugin allow you to limit to x number of users who can participate? that is to say that users can vote for only 2 or more people previously defined.
Please add the option to vote for my posts as well.
There are many cases where the admin wants to offer things to vote and wants to vote also without using a second user account.
Thank you very much.
One more option is missing:
Now we can do:

Show votes, voters
Dont show votes, voters

Should be:
Show votes? yes/no
Show voters? yes/no

More ideas:

Show "not voted" for me as user, to help voting all.
Show by random
Don't show by date
just a fyi, getting an error;

XF\Db\Exception: MySQL statement prepare error [1054]: Unknown column 'ozzmodz_ttcv_rating_enabled' in 'field list' in src/XF/Db/AbstractStatement.php at line 230
just a fyi, getting an error;

XF\Db\Exception: MySQL statement prepare error [1054]: Unknown column 'ozzmodz_ttcv_rating_enabled' in 'field list' in src/XF/Db/AbstractStatement.php at line 230

Could you post the stack trace and request state please? Then @Painbaker will look into it as soon as possible.
Click on the error in the ACP and it will show you that information.
OK, here you go. Hope that helps.

Stack trace​

UPDATE xf_post SET ozzmodz_ttcv_rating_enabled = ? WHERE thread_id = ?

#0 src/XF/Db/Mysqli/Statement.php(198): XF\Db\AbstractStatement->getException('MySQL statement...', 1054, '42S22')
#1 src/XF/Db/Mysqli/Statement.php(41): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1054, '42S22')
#2 src/XF/Db/Mysqli/Statement.php(56): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(96): XF\Db\Mysqli\Statement->execute()
#4 src/XF/Db/AbstractAdapter.php(324): XF\Db\AbstractAdapter->query('UPDATE `xf_pos...', Array)
#5 src/addons/OzzModz/ThreadTypeCompetitionVote/Entity/Competition.php(59): XF\Db\AbstractAdapter->update('xf_post', Array, 'thread_id = ?', Array)
#6 src/XF/Mvc/Entity/Entity.php(1282): OzzModz\ThreadTypeCompetitionVote\Entity\Competition->_postSave()
#7 src/addons/OzzModz/ThreadTypeCompetitionVote/ThreadType/Competition.php(582): XF\Mvc\Entity\Entity->save(true, false)
#8 src/XF/Entity/Thread.php(1209): OzzModz\ThreadTypeCompetitionVote\ThreadType\Competition->onThreadSave(Object(AddonFlare\GlobalIgnore\XF\Entity\Thread), false)
#9 src/addons/EWR/Discord/Entity/Thread.php(16): XF\Entity\Thread->_postSave()
#10 src/addons/XFES/XF/Entity/Thread.php(11): EWR\Discord\Entity\Thread->_postSave()
#11 src/XF/Mvc/Entity/Entity.php(1282): XFES\XF\Entity\Thread->_postSave()
#12 src/XF/Entity/Post.php(596): XF\Mvc\Entity\Entity->save()
#13 src/addons/EWR/Discord/Entity/Post.php(11): XF\Entity\Post->_postSave()
#14 src/addons/XFES/XF/Entity/Post.php(9): EWR\Discord\Entity\Post->_postSave()
#15 src/XF/Mvc/Entity/Entity.php(1282): XFES\XF\Entity\Post->_postSave()
#16 src/XF/Service/Post/Editor.php(189): XF\Mvc\Entity\Entity->save(true, false)
#17 src/addons/TickTackk/ChangeContentOwner/Service/Content/EditorTrait.php(123): XF\Service\Post\Editor->_save()
#18 src/XF/Service/ValidateAndSavableTrait.php(42): TickTackk\ChangeContentOwner\XF\Service\Post\Editor->_save()
#19 src/XF/Pub/Controller/Post.php(146): XF\Service\Post\Editor->save()
#20 src/addons/TickTackk/ChangeContentOwner/XF/Pub/Controller/Post.php(66): XF\Pub\Controller\Post->actionEdit(Object(XF\Mvc\ParameterBag))
#21 src/XF/Mvc/Dispatcher.php(352): TickTackk\ChangeContentOwner\XF\Pub\Controller\Post->actionEdit(Object(XF\Mvc\ParameterBag))
#22 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('XF:Post', 'Edit', Object(XF\Mvc\RouteMatch), Object(TickTackk\ChangeContentOwner\XF\Pub\Controller\Post), NULL)
#23 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(TickTackk\ChangeContentOwner\XF\Pub\Controller\Post), NULL)
#24 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#25 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#26 src/XF.php(524): XF\App->run()
#27 index.php(20): XF::runApp('XF\\Pub\\App')
#28 {main}

Request state​

array(4) {
["url"] => string(19) "/posts/9327859/edit"
["referrer"] => string(60) "https://www.enworld.org/threads/test.703890/?order=post_date"
["_GET"] => array(1) {
["/posts/9327859/edit"] => string(0) ""
["_POST"] => array(11) {
["_xfToken"] => string(8) "********"
["_xfInlineEdit"] => string(1) "1"
["prefix_id"] => string(1) "0"
["title"] => string(4) "Test"
["message_html"] => string(210) "<p>Testing something. Which one is best?</p><p><br></p><p>This is a new poll type. Instead of voting for specific items via a checkbox, you 'upvote' and 'downvote' poll options using the arrows to the side.</p>"
["attachment_hash"] => string(32) "30a50383c05f1a576ef24b3df65d7fcd"
["attachment_hash_combined"] => string(87) "{"type":"post","context":{"post_id":9327859},"hash":"30a50383c05f1a576ef24b3df65d7fcd"}"
["ozzmodz_ttcv"] => array(5) {
["winner_count"] => string(1) "3"
["user_vote_limit"] => string(1) "0"
["public_votes"] => string(1) "1"
["whitelisted_votes"] => string(1) "1"
["sort_by_votes"] => string(1) "1"
["_xfRequestUri"] => string(37) "/threads/test.703890/?order=post_date"
["_xfWithData"] => string(1) "1"
["_xfResponseType"] => string(4) "json"
Which colour setting is this? The voted can't be viewed on darker styles. I figure it's a style property somewhere?

Screenshot 2024-05-13 at 14.06.46.webp
Also, sort by votes doesn't seem consistent. Below there's something with zero votes ranked above something with 1 vote, despite sort by votes being selected.

Screenshot 2024-05-13 at 14.16.21.webp

Screenshot 2024-05-13 at 14.16.12.webp
Top Bottom