XF Shop addon forum?

It's a minor thing but in the items edit page when choosing a category it isn't the same order as the set display order for those categories.
Which item editing page? Front-end or the AdminCP?

I might be misunderstanding what that button actually does, is it to show your inventory or the items available for purchase in that shop?

Yes but configuring and sending it does not work, also I mean that the person receiving the gift cannot opt-out, but can only purchase another to change their own.
They can if you set Can Reconfigure to Yes, or specify it as Only Giftable :)

Also as for opt-out, as of the latest version you can sell an Immunity item that makes users immune to user title changes.

XenForo has a list of fonts within the editor that are available on every browser/OS. You could just use those :)
Not sure if they are programmatically available anywhere.

Where is it located, and I mean by who purchased and their numbers.
Ah, that information isn't available anywhere.

Like an extra column and a field where you can define information to pass, like a string or int.
I still don't understand what you're trying to accomplish, sorry.

Does discarding remove the entry from the DB?
Yes it does.

You couldn't make another callback passing in the XenForo_View, and create a column that serializes any extra information in an options array? That would be amazing :D
Sorry, no, as I'm using a custom universal framework on top of XenForo that will one day allow me to unify the XF and vB versions of this mod.
 
Which item editing page? Front-end or the AdminCP?
AdminCP

They can if you set Can Reconfigure to Yes, or specify it as Only Giftable :)
I set it to no but they can still reconfigure it :(

I still don't understand what you're trying to accomplish, sorry.
I have a custom item that sets a users group on a separate database. However I need to store that group ID for the custom item somewhere in the item columns. There is no column for such storage, and I would have to put it somewhere like the description to use it. Otherwise I will have to have a different callback for each item to simply know what that group ID is.
 
ALSO The addon is making huge amounts of queries on threads. Would it still work to extend the model where it's needed (XenForo_Model_User, XenForo_Model_Thread) and simply join the tables to limit the queries? (if it goes along your framework)

Or at the very least if I disable items being displayed on the postbit, disable that query altogether?
 
ALSO The addon is making huge amounts of queries on threads. Would it still work to extend the model where it's needed (XenForo_Model_User, XenForo_Model_Thread) and simply join the tables to limit the queries? (if it goes along your framework)

Or at the very least if I disable items being displayed on the postbit, disable that query altogether?

Also for the inventory tab in the profile, you don't have to have it do the queries on that page. You can do what all the other tabs do and use the AJAX template to query an action and it can load the template from there :)
 
I'll look into the queries on postbit, this wouldn't happen normally but with the way XF loads the templates it's very difficult to cache the data. I'll find a way though :)
 
After some investigation, the user query being repeated on thread view can be disabled by disabling the "Show Gift Giver" option.

That being said, I can reduce the amount of queries being executed by caching each individual member's postbit displays so that if the same person posts multiple times, any processing done is not repeated.

Fully turning off the item display in postbit via the Options page will also further reduce processing time and query load. In the current version, there's an issue where doing so will also remove any item's effect on the postbit (i.e. the Postbit Display Style item). This will be corrected in the next version.
 
Also found another bug.

Mysqli statement execute error : Incorrect integer value: '' for column 'userid' at row 1

You can trigger this when trying to gift someone without putting a name into the form first. Are you doing DataWriter validation at all, or is it hitting your framework?

I am also seeing sometimes when I gift 'undefined index: username'. Not sure why.

When gifting an item could you disable the checkbox for enabling/disabling configuration if the item has no configuration options?

Also you forgot the 'invalid_item' phrase :D
 
Last edited:
You can trigger this when trying to gift someone without putting a name into the form first. Are you doing DataWriter validation at all, or is it hitting your framework?

I am also seeing sometimes when I gift 'undefined index: username'. Not sure why.
I will need to see the stack trace.

Also you forgot the 'invalid_item' phrase :D
Didn't forget it, just didn't add it since it's a race condition that shouldn't happen anyway. Is there a stack trace in the AdminCP?
 
There is no stacktrace for the userid invalid query :(

Going to a missing item gives you this:
invalid_item

DBTech_Shop_Application_Core->error() in DBTech/Shop/Action/Inventory.php at line 483
DBTech_Shop_Action_Inventory->actionGift() in DBTech/Shop/Application/Core.php at line 297
DBTech_Shop_Application_Core->runAction() in DBTech/Shop/XenForo/ControllerPublic/Shop.php at line 24
DBTech_Shop_XenForo_ControllerPublic_Shop->actionIndex() in XenForo/FrontController.php at line 351
XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
XenForo_FrontController->run() in /home/fdsa/public_html/xenforo/index.php at line 13
 
Getting this error when trying to retrieve bank interest:

Missing required field ipaddress

DBTech_Shop_Application_DataManager->error() in DBTech/Shop/Application/DataManager.php at line 240
DBTech_Shop_Application_DataManager->_checkRequired() in DBTech/Shop/Application/DataManager.php at line 176
DBTech_Shop_Application_DataManager->preSave() in DBTech/Shop/Application/DataManager.php at line 141
DBTech_Shop_Application_DataManager->save() in DBTech/Shop/Action/Bank.php at line 328
DBTech_Shop_Action_Bank->actionCollectInterest() in DBTech/Shop/Application/Core.php at line 301
DBTech_Shop_Application_Core->runAction() in DBTech/Shop/XenForo/ControllerPublic/Shop.php at line 26
DBTech_Shop_XenForo_ControllerPublic_Shop->actionIndex() in XenForo/FrontController.php at line 351
XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
XenForo_FrontController->run() in /home/fdsa/public_html/xenforo/index.php at line 13

Also if a user enters an incorrect username for gifting they still get a nasty MySQL error message.
 
I found this in the Lottery action:
// init data manager
$transactionDm = DBTech_Shop_DataManager::create('DBTech_Shop_DataManager_Transactionlog', DBTech_Shop_DataManager::ERROR_EXCEPTION);
$transactionDm->bulkSet([
'userid' => $this->app->getUserInfo('userid'),
'recipient' => $this->app->getUserInfo('userid'),
'ipaddress' => $this->app->getIpAddress(),
'action' => 'lotteryticket',
'info' => $info
]);

Why is it asking for an IP address?
 
It stores IP addresses for transactions so admins can use it to investigate reports of hacked accounts and such.

Try disabling all mods and then buy a lottery ticket, see if that works :)
 
Back
Top