Gift Upgrades

Gift Upgrades [Paid] 2.5.0

No permission to buy ($35.00)
I get this error when I click "Gift" on the users card.

"No account upgrades can be purchased at this time. Please check back later."
 
@NixFifty

I think there is small bug regarding user group permissions. I am trying to limit the "gift" button to my paid membership users only. However, when I set the base Registered user group permission gift users to "no", the button does not show up.

This means, it's either I allow all users to see the "gift" button, or no one can see it at all.

Can you look into this? Thanks!
 
Use the analyze permissions feature to inspect exactly what is happening on a sample user; there is likely something else adding a "no", so the 'yes' on the paid membership isn't applying.
 
Use the analyze permissions feature to inspect exactly what is happening on a sample user; there is likely something else adding a "no", so the 'yes' on the paid membership isn't applying.
Hi @Xon, thanks for the recommendation! I just tried to use the analyze permissions function. This is what I am seeing.
Tagging @NixFifty for updates too!

registered.png
My base registered user group permission is set to "no" for gift users


admin.png
My admin user group permission is set to "yes" for gift users


analyze.png
When I analyse my admin user's permission, the gift users permission is indeed set to "yes"


nogift.png
However, I still do not see the gift button on the front end when I am logged into my admin user.


XF permission heirachy is such that "yes" overrides "no", but "never" overrides "yes" am I right?
I believe the permissions here are a little mixed up, and "no" is overriding every other permission option.
 
Last edited:
However, I still do not see the gift button on the front end when I am logged into my admin user.
Have you checked the template modifications are all applying correctly? Custom styles can sometimes be "fun" to support.
 
Have you checked the template modifications are all applying correctly? Custom styles can sometimes be "fun" to support.
Hi @Xon, I also checked the add-on on the XF default style, and the gift button does not show up when the registered user group gift users permission is set to "no"
 

Attachments

  • default.webp
    default.webp
    8.3 KB · Views: 3

Hey @NixFifty and @Xon , thanks so much for helping to resolve the permissions problem regarding the "gift" button.

I would like to reflect that I am encountering a server error log when I try to set free upgrades that can be gifted. Could you advise on how I should go about fixing them?


Server error log
  • ErrorException: Template error: [E_USER_WARNING] Template public:sv_ue_account_upgrades_cost_input is unknown
  • src/XF/Template/Templater.php:689
  • Generated by: WhyNotWe
  • Apr 22, 2022 at 2:55 PM

Stack trace​

#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', 's...', 689)
#1 src/XF/Template/Templater.php(689): trigger_error('Template public...', 512)
#2 src/XF/Template/Templater.php(1618): XF\Template\Templater->getTemplateData('public', 'sv_ue_account_u...')
#3 src/XF/Template/Templater.php(1680): XF\Template\Templater->renderTemplate('sv_ue_account_u...', Array)
#4 internal_data/code_cache/templates/l1/s16/public/nf_content_gift.php(26): XF\Template\Templater->includeTemplate('public:sv_ue_ac...', Array)
#5 src/XF/Template/Templater.php(1651): XF\Template\Templater->{closure}(Object(SV\LazyImageLoader\XF\Template\Templater), Array, NULL)
#6 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('nf_content_gift', Array)
#7 src/XF/Mvc/Renderer/Json.php(86): XF\Template\Template->render()
#8 src/XF/Mvc/Renderer/Json.php(70): XF\Mvc\Renderer\Json->renderHtmlFallback('NF\\GiftUpgrades...', 'public:nf_conte...', Array)
#9 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Json->renderView('NF\\GiftUpgrades...', 'public:nf_conte...', Array)
#10 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#11 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Json), Object(XF\Mvc\Reply\View))
#12 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'json')
#13 src/XF/App.php(2352): XF\Mvc\Dispatcher->run()
#14 src/XF.php(524): XF\App->run()
#15 index.php(20): XF::runApp('XF\\Pub\\App')
#16 {main}

Request state​

array(4) {
["url"] => string(175) "/members/spicytiramisu.126893/gift?_xfRequestUri=%2Fmembers%2Fspicytiramisu.126893%2F&_xfWithData=1&_xfToken=1650610535%2C6270e7172a68530b8ed3620e1ab0a1b1&_xfResponseType=json"
["referrer"] => string(56) "https://site.co/members/spicytiramisu.126893/"
["_GET"] => array(5) {
["/members/spicytiramisu_126893/gift"] => string(0) ""
["_xfRequestUri"] => string(30) "/members/spicytiramisu.126893/"
["_xfWithData"] => string(1) "1"
["_xfToken"] => string(43) "1650610535,6270e7172a68530b8ed3620e1ab0a1b1"
["_xfResponseType"] => string(4) "json"
}
["_POST"] => array(0) {
}
}
 
  • Allow recurring upgrades to be gifted. The first term will be paid for by the gifter and the giftee can choose to renew upon its expiration.
I didn't figure out how this works .. I don't see any option where the giftee can renew the upgrade
 
Constant server errors:

Code:
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Today at 12:23 AM src/XF/Template/Templater.php:1176
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Yesterday at 9:05 PM src/XF/Template/Templater.php:1176
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Yesterday at 6:18 PM src/XF/Template/Templater.php:1176
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Yesterday at 6:17 PM src/XF/Template/Templater.php:1176
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Yesterday at 6:17 PM src/XF/Template/Templater.php:1176
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Yesterday at 6:17 PM src/XF/Template/Templater.php:1176
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Yesterday at 6:17 PM src/XF/Template/Templater.php:1176
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Yesterday at 5:57 AM src/XF/Template/Templater.php:1176
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Yesterday at 5:57 AM src/XF/Template/Templater.php:1176
Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL)
Yesterday at 5:57 AM src/XF/Template/Templater.php:1176

Code:
ErrorException: Template error: [E_USER_WARNING] Cannot call method canGiftTo on a non-object (NULL) src/XF/Template/Templater.php:1176
Generated by: Stealphie Oct 31, 2022 at 12:23 AM
Stack trace
#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/srv/gbatemp.ne...', 1176, Array)
#1 src/XF/Template/Templater.php(1176): trigger_error('Cannot call met...', 512)
#2 internal_data/code_cache/templates/l1/s26/public/nf_giftupgrades_siropu_chat_conversation_message_row.php(7): XF\Template\Templater->method(NULL, 'canGiftTo', Array)
#3 src/XF/Template/Templater.php(1651): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 src/XF/Template/Templater.php(1680): XF\Template\Templater->renderTemplate('nf_giftupgrades...', Array)
#5 internal_data/code_cache/templates/l1/s26/public/siropu_chat_conversation_message_row.php(86): XF\Template\Templater->includeTemplate('public:nf_giftu...', Array)
#6 src/XF/Template/Templater.php(1651): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#7 src/XF/Template/Templater.php(1680): XF\Template\Templater->renderTemplate('siropu_chat_con...', Array)
#8 internal_data/code_cache/templates/l1/s26/public/siropu_chat_message_list.php(39): XF\Template\Templater->includeTemplate('public:siropu_c...', Array)
#9 src/XF/Template/Templater.php(824): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#10 internal_data/code_cache/templates/l1/s26/public/siropu_chat.php(648): XF\Template\Templater->callMacro('siropu_chat_mes...', 'conversation', Array, Array)
#11 src/XF/Template/Templater.php(1651): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#12 src/XF/Widget/WidgetRenderer.php(62): XF\Template\Templater->renderTemplate('siropu_chat', Array)
#13 src/XF/Widget/WidgetRenderer.php(67): XF\Widget\WidgetRenderer->render()
#14 src/XF/Template/Templater.php(1936): XF\Widget\WidgetRenderer->__toString()
#15 internal_data/code_cache/templates/l1/s26/public/PAGE_CONTAINER.php(2540): XF\Template\Templater->widgetPosition('siropu_chat_all...', Array)
#16 src/XF/Template/Templater.php(1651): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#17 src/XF/Pub/App.php(564): XF\Template\Templater->renderTemplate('PAGE_CONTAINER', Array)
#18 src/XF/App.php(2151): XF\Pub\App->renderPageHtml('






    <div id...', Array, Object(XF\Mvc\Reply\View), Object(ThemeHouse\StyleSwitch\XF\Mvc\Renderer\Html))
#19 src/XF/Mvc/Dispatcher.php(404): XF\App->renderPage('






    <div id...', Object(XF\Mvc\Reply\View), Object(ThemeHouse\StyleSwitch\XF\Mvc\Renderer\Html))
#20 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#21 src/XF/App.php(2353): XF\Mvc\Dispatcher->run()
#22 src/XF.php(524): XF\App->run()
#23 index.php(32): XF::runApp('XF\\Pub\\App')
#24 {main}
Request state
array(4) {
  ["url"] => string(1) "/"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
 
Hi there @NixFifty , I am using Gift Upgrades with Expiring User Upgrades.

Using this combination has an issue I realized. I am unable to send different messages to users who purchased a VIP upgrade and those who were gifted a user upgrade.

They all end up using the phrase from the Expiring User Upgrades add-on. Can you look into how we can have the setting for Gift Upgrades to hold for gifted upgrades so that this does not confuse our users?

Thank you so much. This add-on has been a great addition to my community!
 
  • Like
Reactions: Naz
NixFifty updated Gift Upgrades with a new update entry:

Version 2.4.3

  • Fix anonymous gifts not being marked as anonymous as expected.
  • Fix "Cannot call method canGiftTo on a non-object (NULL)".
  • Fix incorrect visibity on the _postDelete() method in the GiftUpgrade entity.
  • Fix a potential issue where gifted upgrades were not marked as such.
  • Add additional indexes to xf_user_upgrade_expired/xf_user_upgrade_active tables.

Read the rest of this update entry...
 
Top Bottom