1. We suggest you do NOT update to Joomla 3.8.10 until we can resolve an issue it causes with caching in Fabrik. If you do install it, you'll need to disable Joomla's "System Cache" in the global System settings.
  2. Apologies for the recent server outage, a planned migration by our host provider to a new location turned into a bit of a nightmare.

using 'today' as a filter pre-fill

Discussion in 'Professional Support' started by skyrun, Jan 11, 2018.

  1. skyrun

    skyrun Active Member

    Level: Professional
    i am using this url to show a fabrik list with prefilled filters.

    https://testlocation.skyrun.com/sky...eservations___Arrival_Date[condition]=BETWEEN

    i use 'today' because it's on a menu item for 'Today's Arrivals'. (that's my use-case for wanting 'today' to work, so i can have a menu item that pre-fills in todays date). i would like for 'today' to be based on joomla's timezone setting for the joomla it's running on. however it seems as if fabrik interprets 'today' as UTC/GMT today.

    this behaviour seems to have changed in the last 2-3 months (my users report... i hadn't noticed). it changed so that when they use the link above it shows the day at UTC. Meaning at 5pm MT, it switches to showing tomorrow. (ie a day that won't arrive here for 7 more hours). Does this no matter the joomla tz setting, server/linux tz setting or mysql db tz setting (which are all mountain time).

    i know 'today' was supported in v2 fabrik, but i think not initially in v3 fabrik. perhaps someone added support, but is using php's gmdate vs. date? i can see using gmdate if the date element being interpreted has 'UTC' selected, but i have selected 'local time' for my date element, so i would want 'today' to be the current day for the tz joomla it's running on.

    perhaps this article helps: https://compojoom.com/blog/entry/how-to-use-jdate

    * i have joomla/fabrik sites running in 5 different time zones on my server, so we must use the joomla timezone which is set for each vs. the 'server timezone' for storing our dates.
     
    Last edited: Jan 11, 2018
  2. cheesegrits

    cheesegrits Support Gopher Staff Member

    Level: Professional
    I added a fix for that last year:

    https://github.com/Fabrik/fabrik/co...e59ac98#diff-e1cb000e1bb03745cbb4528d3393f497

    ... although it looks like I moofed 'today' and added an extra convert, which I just fixed:

    https://github.com/Fabrik/fabrik/co...ae74d4f#diff-e1cb000e1bb03745cbb4528d3393f497

    But also ... you are using the wrong query string. Don't do "between today and today", just do ...

    https://testlocation.skyrun.com/sky...eservations___Arrival_Date[condition]=BETWEEN

    ... which yields a query like this:

    Code (Text):

    WHERE ( (CONVERT_TZ(`fab_date_test`.`normal_date`, "+0:00", "-06:00") >= CURDATE() AND CONVERT_TZ(`fab_date_test`.`normal_date`, "+0:00", "-06:00") < CURDATE() + INTERVAL 1 DAY) )
     
    Well, after that github fix. :)

    Nope, doesn't help, as we don't support per-user timezones. That's something I'm looking at for 4.0, with a complete rewrite of the date element.

    -- hugh
     
  3. skyrun

    skyrun Active Member

    Level: Professional
    for my needs, i'm looking for a per joomla-instance tz (in case that helps). but yes, joomla users can override with their own tzs, but i don't need to support that.

    note that your suggested url gives a 500 error:

    https://testlocation.skyrun.com/sky...eservations___Arrival_Date[condition]=BETWEEN

    i have to include the 'today' in there for it to work.

    i'll test it tonight at 5pm to see if it sticks to 'today'. note that i would like between today and month +1 month to work also with my 'next months arrivals' menu item.
     
  4. cheesegrits

    cheesegrits Support Gopher Staff Member

    Level: Professional
    Oh, my bad, I meant TODAY not BETWEEN. That's what generates the query I pasted.

    Hugh


    Sent from my HTC6545LVW using Tapatalk
     

Share This Page