impress-org / givewp

GiveWP - The #1 Donation Plugin for WordPress. Easily accept donations and fundraise using your WordPress website.
https://givewp.com/
GNU General Public License v3.0
344 stars 191 forks source link

fix: ensure compatibility with Timetable Responsive Schedule #3748

Closed samsmith89 closed 6 years ago

samsmith89 commented 6 years ago

Bug Report

User Story

As a site admin, I want to use both Give and the Timetable plugin so that I can change the status of offline donations from Pending to Complete.

Current Behavior

With both Plugins activated I'm unable to update donations, and I get a fatal error:

give local_wp-admin_edit php_post_type give_forms page give-payment-history view view-payment-details id 271

Expected Behavior

I expect both plugins to work with each other without causing errors and processing the status changes of donations.

Bug Type

Steps to Reproduce

  1. Install the Timetable from the provided link and activate it
  2. Change the status of a donation from the donation information page
  3. See the fatal error that is thrown, and the request isn't processed

Password protected link to Plugin: https://drive.google.com/open?id=1OxgTtOQmrZvuWxCF389lwe2Zd6AO7b0v

Visuals

screen shot 2018-10-10 at 4 09 58 pm

Related

https://secure.helpscout.net/conversation/681923959/27029/

Link to plugin website: https://codecanyon.net/item/timetable-responsive-schedule-for-wordpress/7010836?ref=QuanticaLabs

Acceptance Criteria

Environment

Operating System
  • Platform: Mac OS X
Browser
  • Name: Chrome
WordPress System Info ### WordPress Environment ### Home URL: http://give.local Site URL: http://give.local WP Version: 4.9.8 WP Multisite: – WP Memory Limit: 256 MB WP Debug Mode: ✔ WP Cron: ✔ Language: en_US Permalink Structure: /%postname%/ Show on Front: posts Table Prefix Length: wp_ Table Prefix Length: 3 Table Prefix Status: Acceptable Admin AJAX: Accessible Registered Post Statuses: publish, future, draft, pending, private, trash, auto-draft, inherit, request-pending, request-confirmed, request-failed, request-completed, wc-pending, wc-processing, wc-on-hold, wc-completed, wc-cancelled, wc-refunded, wc-failed, refunded, failed, revoked, cancelled, abandoned, processing, preapproval, give_subscription ### Server Environment ### Hosting Provider: DBH: localhost, SRV: give.local TLS Connection: Connection uses TLS 1.2 TLS Connection: Probably Okay Server Info: Apache/2.4.10 (Debian) PHP Version: 7.1.4 PHP Post Max Size: 1,000 MB PHP Time Limit: 900 PHP Max Input Vars: 3000 PHP Max Upload Size: 1,000 MB cURL Version: ❌ 7.38.0, OpenSSL/1.0.1t - We recommend a minimum cURL version of 7.40. SUHOSIN Installed: – MySQL Version: 5.6.34 Default Timezone is UTC: ✔ fsockopen/cURL: ✔ SoapClient: ✔ DOMDocument: ✔ gzip: ✔ GD Graphics Library: ✔ Multibyte String: ✔ Remote Post: ✔ Remote Get: ✔ ### Give Configuration ### Give Version: 2.2.5 Give Cache: Enabled Database Updates: All DB Updates Completed. Give Cache: Enabled Give Cache: ✔New Donation✔Donation Receipt❌New Offline Donation❌Offline Donation Instructions✔New User Registration✔User Registration Information✔Email access✔Daily Email Report✔Weekly Email Report✔Monthly Email Report✔Renewal Receipt Email✔Subscription Cancelled Email❌Subscription Completed Email✔Subscription Reminder Email✔Subscriptions Email Access Upgraded From: 2.2.3 Test Mode: Enabled Currency Code: GBP Currency Position: Before Decimal Separator: . Thousands Separator: , Success Page: http://give.local/donation-confirmation/ Failure Page: http://give.local/donation-failed/ Donation History Page: http://give.local/donation-history/ Give Forms Slug: /donations/ Enabled Payment Gateways: Test Donation, Stripe - Credit Card Default Payment Gateway: Test Donation PayPal IPN Verification: Disabled PayPal IPN Notifications: N/A Donor Email Access: Enabled ### Active Give Add-ons ### Give - Authorize.net Gateway: ✔ Licensed – by WordImpress – 1.4.3 Give - Braintree Gateway: ✔ Licensed – by WordImpress – 1.2.2 Give - CCAvenue Gateway: ✔ Licensed – by WordImpress – 1.0.2 Give - Email Reports: ✔ Licensed – by WordImpress – 1.1.2 Give - Form Field Manager: ✔ Licensed – by WordImpress – 1.3 Give - Gift Aid: ❌ Unlicensed – by WordImpress – 1.1.6 Give - MailChimp: ✔ Licensed – by WordImpress – 1.4.1 Give - Manual Donations: ✔ Licensed – by WordImpress – 1.4.1 Give - Paytm Gateway: ✔ Licensed – by WordImpress – 1.0 Give - PDF Receipts: ✔ Licensed – by WordImpress – 2.3 Give - Razorpay: ❌ Unlicensed – by WordImpress – 1.2.0 Give - Recurring Donations: ✔ Licensed – by WordImpress – 1.8.0 Give - Tributes: ✔ Licensed – by WordImpress – 1.5.0 ### Other Active Plugins ### Give - Fee Recovery: by GiveWP – 1.7.2 Give - Google Analytics Donation Tracking: by GiveWP – 1.2.1 Give - Hook Helper: by Ravinder Kumar – 1.0 Give - PayPal Pro Gateway: by GiveWP – 1.2.0 Give - Stripe Gateway: by GiveWP – 2.1.1 Paid Memberships Pro: by Stranger Studios – 1.9.4.4 Paid Memberships Pro - Email Templates Add On: by Stranger Studios – 0.7.1 Sam's Helper Function: by WordImpress – 1.0 Timetable Responsive Schedule For WordPress: by QuanticaLabs – 3.1 WooCommerce: by Automattic – 3.4.5 WordPress Importer: by wordpressdotorg – 0.6.4 ### Inactive Plugins ### All-in-One WP Migration: by ServMask – 6.73 Duplicate Post: by Enrico Battocchi – 3.2.2 Give - Donation Upsells for WooCommerce: by WordImpress – 1.0.3 Indeed Ultimate Affiliate Pro: by indeed – 1.5 Mailgun: by Mailgun – 1.5.11 Page Builder by SiteOrigin: by SiteOrigin – 2.7.3 The7 Elements: by Dream-Theme – 1.11.0.1 The7 Ultimate Addons for WPBakery Page Builder: by Brainstorm Force – 3.16.24 ThemeREX Addons: by ThemeREX – 1.6.24 User Role Editor: by Vladimir Garagulya – 4.44 WooCommerce Paytm Payment Gateway: by Paytm – 0.2 WooCommerce Paytm Payment Gateway: by FTI Technologies – 1.0 WP Business Reviews: by Impress.org – 1.0.0 WP Courseware: by Fly Plugins – 4.4.4 WPML Media: by OnTheGoSystems – 2.3.5 WPML Multilingual CMS: by OnTheGoSystems – 4.0.5 WPML Sticky Links: by OnTheGoSystems – 1.4.4 WPML String Translation: by OnTheGoSystems – 2.8.5 WPML Translation Management: by OnTheGoSystems – 2.6.5 ### Active MU Plugins ### Bypass Login: by Stephen Carnam – 1.1.0 ### Theme ### Name: Twenty Seventeen Version: 1.7 Author URL: https://wordpress.org/ Child Theme: No – If you're modifying Give on a parent theme you didn't build personally, then we recommend using a child theme. See: How to Create a Child Theme
kevinwhoffman commented 6 years ago

The stack trace suggests this is an issue with the Timetable plugin hooking into wp_insert_post() and calling get_current_screen() before it has been defined by WordPress core. It's unlikely we can fix from our end, but we will investigate briefly and see if we can provide feedback.

kakshak commented 6 years ago

@kevinwhoffman @samsmith89 Can you please provide the latest version of Timetable Responsive Schedule plugin or Password access for google drive link that is above(if it is the latest version)? So, I can download and test the compatibility of it.

kakshak commented 6 years ago

@kevinwhoffman I've checked the compatibility with Timetable Responsive Schedule plugin and I've found that there are some issues in their code, not ours also the code is not proper in that plugin. That's why it creates the Fatal error.

I've prepared the video for that as well. Please provide your thoughts on this. Because we aren't able to modify their code.

Video

https://www.useloom.com/share/0f1e2904b1a84858b4cd64e6fbd240f9

DevinWalker commented 6 years ago

Thanks for the video @kakshak - @samsmith89 we found that this plugin needs to update their code to be compatible with our plugin and likely many others. Please relay to the customer.