[OzzModz] Content Badges

[OzzModz] Content Badges [Paid] 2.0.1 Patch Level 4

No permission to buy ($15.00)
Can it be set per badge weather the user gets the tip or not? Or specify how much of the tip they get?

Credit rewards are customizable for each badge.

1673006240169.webp



Second, even if I set a specific payment profile to a badge, all of my payment profiles are showing up as an option.
Thirdly, I sent a badge, and in their user profile under content badges it says "A moment ago Unknown user"
fourth, when I select the badge on the content, it pops up and says "There is nothing to display." even though the thread does indeed have the badge.

Should be fixed in next update.
 
Where is this option?
Im not seeing this in the edit /create content badge page.

It is added with a separate addon:


@Ozzy47 , can you add it to related resources section please?
 
It is added with a separate addon:


@Ozzy47 , can you add it to related resources section please?
Is it the add-on that adds that option to the edit/create page? Because I have that add-on installed already.
 
@Ozzy47 @Painbaker

Suggestions:

1. Some styling options in ACP would be welcomed for the icons and the container.
2. Award/badge summary on thread list view - basically some visual queues that posts within a thread have badges
3. Additional user criterion - received X awards, awarded X times etc.
 
Last edited:
1. Some styling options in ACP would be welcomed for the icons
If you know CSS, you can add your own styling with the "Freeform CSS/LESS code" option for each badge.
2. Award/badge summary on forum list view - basically some visual queues that posts within a thread have badges
Do you mean the category view? That lists all the topics? If so I +1 this.
 
If you know CSS, you can add your own styling with the "Freeform CSS/LESS code" option for each badge.

Do you mean the category view? That lists all the topics? If so I +1 this.

Oh I know I can do it in the less template but I try to steer clear of the massive prose I was writing in a previous life in there. It's neater to have these as styling props.

Yes, thread list (sorry not forum list), we need a way to surface (filters or some type of sort) as well as UX/UI visual cues. That's the whole point isn't it? :) Right now badges are kind of forgettable i.e. no one knows what was awarded/where.
 
Oh I know I can do it in the less template but I try to steer clear of the massive prose I was writing in a previous life in there. It's neater to have these as styling props.

Yes, thread list (sorry not forum list), we need a way to surface (filters or some type of sort) as well as UX/UI visual cues. That's the whole point isn't it? :) Right now badges are kind of forgettable i.e. no one knows what was awarded/where.
You don't have to edit any templates.
Each badge has a "Freeform CSS/LESS code" option.

1673232406102.webp
 
I see the addon supports REST API.

Can we make a user can unlock a badge only through the API?

Сurrent version it checks for the same permissions as the public interface for API calls.
You can use the superuser API key to bypass permissions check.
 
I bought it because of a misunderstanding.

unfortunately i can't use

I guess this plugin is useless without DBTech Credits Integration.
 
I bought it because of a misunderstanding.

unfortunately i can't use

I guess this plugin is useless without DBTech Credits Integration.
Credits integration provided with a separate add-on:

 
I'd like to be able to offer badges that my users can purchase with real money. Is this possible?
 
I can't seem to find the update 2 thread that's them recent version of this add-on but I am curious.. I see it has a connection where you can add a content badge to the AMS (xenaddons) ... can this be connected so that content badges can be awarded to Xenaddons USB also?
 
I can't seem to find the update 2 thread that's them recent version of this add-on but I am curious.. I see it has a connection where you can add a content badge to the AMS (xenaddons) ... can this be connected so that content badges can be awarded to Xenaddons USB also?
I believe there was support added for this, but I do not know if it was ever added, and cannot test if it has or not currently.
 
Just randomly got an error from this addon I havn't recieved before:

InvalidArgumentException: The error value must be a string or an object which can be cast to a string src/XF/Mvc/Reply/Error.php:79

Stack trace:
Code:
#0 src/XF/Mvc/Reply/Error.php(45): XF\Mvc\Reply\Error->validateErrorValue(NULL)
#1 src/XF/Mvc/Reply/Error.php(20): XF\Mvc\Reply\Error->setErrors(Array, false)
#2 src/XF/Mvc/Controller.php(444): XF\Mvc\Reply\Error->__construct(NULL, 200)
#3 src/addons/OzzModz/ContentBadges/XF/Pub/Controller/Post.php(30): XF\Mvc\Controller->error(NULL)
#4 src/XF/Mvc/Dispatcher.php(352): OzzModz\ContentBadges\XF\Pub\Controller\Post->actionBadgeAward(Object(XF\Mvc\ParameterBag))
#5 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('XF:Post', 'BadgeAward', Object(XF\Mvc\RouteMatch), Object(OzzModz\ContentBadges\XF\Pub\Controller\Post), NULL)
#6 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(OzzModz\ContentBadges\XF\Pub\Controller\Post), NULL)
#7 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#8 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#9 src/XF.php(524): XF\App->run()
#10 index.php(20): XF::runApp('XF\\Pub\\App')
#11 {main}

Request state:
Code:
array(4) {
  ["url"] => string(24) "/posts/74063/badge-award"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
 
This addon is breaking @Bob's Showcase basic item insertion functionality.

Code:
XF\Db\Exception: MySQL statement prepare error [1054]: Unknown column 'ozzmodz_cb_cache' in 'field list'

 

src/XF/Db/AbstractStatement.php:230

Generated by: Nik

 

Nov 10, 2023 at 6:29 PM

Stack trace

INSERT  INTO `xf_xa_sc_item` (`category_id`, `user_id`, `username`, `item_state`, `title`, `message`, `embed_metadata`, `message_s2`, `message_s3`, `message_s4`, `message_s5`, `message_s6`, `author_rating`, `location`, `location_data`, `og_title`, `meta_title`, `description`, `meta_description`, `comments_open`, `ratings_open`, `rating_weighted`, `rating_avg`, `item_id`, `contributor_user_ids`, `sticky`, `create_date`, `last_update`, `last_feature_date`, `edit_date`, `attach_count`, `view_count`, `watch_count`, `update_count`, `page_count`, `rating_count`, `rating_sum`, `review_count`, `cover_image_id`, `discussion_thread_id`, `custom_fields`, `prefix_id`, `last_review_date`, `tags`, `has_poll`, `last_edit_date`, `last_edit_user_id`, `edit_count`, `business_hours`, `series_part_id`, `warning_id`, `warning_message`, `ip_id`, `last_comment_date`, `last_comment_id`, `last_comment_user_id`, `last_comment_username`, `reaction_score`, `reactions`, `reaction_users`, `ozzmodz_cb_cache`, `ozzmodz_cb_count`, `ozzmodz_cb_last_award_date`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

------------



#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(220): XF\Db\AbstractAdapter->query('INSERT  INTO `x...', Array)

#5 src/XF/Mvc/Entity/Entity.php(1521): XF\Db\AbstractAdapter->insert('xf_xa_sc_item', Array, false)

#6 src/XF/Mvc/Entity/Entity.php(1253): XF\Mvc\Entity\Entity->_saveToSource()

#7 src/addons/XenAddons/Showcase/Service/Item/Create.php(441): XF\Mvc\Entity\Entity->save(true, false)

#8 src/XF/Service/ValidateAndSavableTrait.php(42): XenAddons\Showcase\Service\Item\Create->_save()

#9 src/addons/XenAddons/Showcase/Pub/Controller/Category.php(422): XenAddons\Showcase\Service\Item\Create->save()

#10 src/XF/Mvc/Dispatcher.php(352): XenAddons\Showcase\Pub\Controller\Category->actionAdd(Object(XF\Mvc\ParameterBag))

#11 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('XenAddons\\Showc...', 'Add', Object(XF\Mvc\RouteMatch), Object(XenAddons\Showcase\Pub\Controller\Category), NULL)

#12 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XenAddons\Showcase\Pub\Controller\Category), NULL)

#13 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))

#14 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()

#15 src/XF.php(524): XF\App->run()

#16 index.php(20): XF::runApp('XF\\Pub\\App')

#17 {main}

Request state

array(4) {

  ["url"] => string(44) "/showcase/categories/corvette-showcase.4/add"

  ["referrer"] => string(78) "https://mysite.com/showcase/categories/corvette-showcase.4/add"

  ["_GET"] => array(1) {

   ["/showcase/categories/corvette-showcase_4/add"] => string(0) ""

  }

  ["_POST"] => array(19) {

   ["_xfToken"] => string(8) "********"

   ["title"] => string(4) "test"

   ["tags"] => string(0) ""

   ["description"] => string(4) "test"

   ["author_rating"] => string(1) "5"

   ["message_html"] => string(11) "<p>test</p>"

   ["attachment_hash"] => string(32) "14ea60cda36cfb0cd726e44b21755f7c"

   ["attachment_hash_combined"] => string(88) "{"type":"sc_item","context":{"category_id":4},"hash":"14ea60cda36cfb0cd726e44b21755f7c"}"

   ["location"] => string(0) ""

   ["comments_open"] => string(1) "1"

   ["ratings_open"] => string(1) "1"

   ["poll"] => array(5) {

     ["question"] => string(0) ""

     ["new_responses"] => array(1) {

       [0] => string(0) ""

     }

     ["max_votes_type"] => string(6) "single"

     ["change_vote"] => string(1) "1"

     ["view_results_unvoted"] => string(1) "1"

   }

   ["og_title"] => string(0) ""

   ["meta_title"] => string(0) ""

   ["meta_description"] => string(0) ""

   ["save_type"] => string(11) "publish_now"

   ["_xfRequestUri"] => string(44) "/showcase/categories/corvette-showcase.4/add"

   ["_xfWithData"] => string(1) "1"

   ["_xfResponseType"] => string(4) "json"

  }

}
 
Top Bottom