[Patch] Appointment+ bugfixes & GUI upgrades

Hi guys,

I've installed Appointment+ recently and on the whole I'm very happy with the plugin. However, some of my users were a bit confused about what some of the interface setting do and how to use them. So, I've ended up patching a few parts of the plugin ...

After fixing things up on my system, I though I'd share my patch back with the community. The following is a list of fixes / changes:

1. Fixed an issue when setting custom "Time base" would require a two-step process. Now the value can be set in a single step.

2. Unified all default setting options with their custom counter parts, thus avoiding confusion as to which setting is in effect. (eg: Time base, Color Set, Deposit).

3. Changed default behaviour of "Create Appointment Page" and "Create Appointment Product" options in the following way:

(a) This options now to look for the "special page" based on page_name (url), rather then page_title, thus allowing users to customise page title.

(b) modified code for the above options, to reset existing page (previous page is saved as revision), rather then creating a new one each time the user ticks the checkbox, thus avoiding filling up the database with redundant pages.

(c) Modified UI to made it blatantly obvious to the users that a Appointment Page / Product already exists and that it can be viewed / edited.

4. Changed the wording on some of the options to make it a bit more obvious to the users what those options do and to avoid placing HTML markup elements into the translation file. (eg: PayPal Merchant E-mail & Integrate with MarketPress)

5. Split of MarketPress & Membership integration options into a separate visual containers and added plugin auto-detection. Thus, options for either of these plugins are now only visible when "Payment required" is set to "yes" and appropriate plugin is installed and activated.

1. Install Appointments+ plugin version 1.0.5
2. Save attached appointments.txt file in "wp-content/plugins" directory.
3. Extract patch: base64 -d < appointments.txt > appointments.patch
3. Apply patch: cd wp-content/plugins && patch -Nup0 < appointments.patch
4. Clean up: rm appointments.{patch,txt}

This patch is not intended to stomp all over someone else's work, just merely trying to improve an already great piece of code. If you find this patch useful, then feel free to drop some gift points my way. :slight_smile:

  • Hakan
    • The Incredible Smush


    Your or any user's suggestions are always welcome and I frankly accept that GUI can be better. In fact there is no end in improvement of the GUI in any plugin or software.

    But I cannot see any mention of the "bugfixes" in your post itself while you mentioned on the thread title. Which bugs did you find and how did fix them? Can you please elaborate?


  • UmkaDK
    • Design Lord, Child of Thor

    I've started modifying things when plugin was in and I did notice that you've partially addressed the issue in 1.0.5. However:

    The main thing that I wanted to fix was the fact that setting custom time base did not use that time base. Instead it was simply added to the drop down list of available time bases.

    In order for the value to be used, a user was required to select a new time base from "Time base (minutes)" drop down list. Many of my users reported this behaviour as a bug, where time base had to be selected twice in order to be applied.

    And yes, I agree with you that GUI can be improved to the end of days and still not fit to everyones needs. In my case, I just modified plugin to include requests from my users and thought I'd share the code back with WPMUDEV community.

  • Hakan
    • The Incredible Smush

    Many of my users reported this behaviour as a bug, where time base had to be selected twice in order to be applied.

    How many users do you have and noted this? And if you are a developer yourself, do you consider requirement for selecting time base in 2 steps as a "bug"?

    Can you please give a link to to your website so that I can also be your user? I will pay for it of course.


Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.