1. The 3.8 code for Fabrik is now available on github, in the 'master' branch. If you are familiar with updating Fabrik from github, we would appreciate it if you could test this code on J! 3.8 for us. Once we have some feedback, we'll build a 3.8 release.

Time element

May 27, 2013
Time element
  • Time element is useful if you need just a time value (as time of day or duration). This is derived from birthday element. While birthday uses database field type DATE instead DATETIME, time element uses TIME field type. The two together are useful when using Fabrik for manipulating data of such event management components as EventList where date and time fields are separate fields and empty fields should have NULL value.

    Time data is submitted with dropdowns, by default they are three - hours, minutes and seconds.

    Admin form allows you choose time formatting - all 3 parts, hours and minutes or minutes and seconds. Additionally you can choose which separator should be between hours, minutes and seconds (it's : by default)

    [​IMG]


    PHP Validation Example (top)


    Check if 'endtime' element is set to be 2 hours after 'starttime' element:


    PHP:

    $app = JFactory::getApplication();
    $input = $app->input;
    $startTime = $input->get('multipage___starttime_raw', array(), 'array');
    $endTime = $input->get('multipage___endtime_raw', array(), 'array');
    $startSeconds = ($startTime[0] * 60 * 60) + ($startTime[1] * 60) + $startTime[2];
    $endSeconds = ($endTime[0] * 60 * 60) + ($endTime[1] * 60) + $endTime[2];
     
    if ($endSeconds - (2 * 60 * 60) < $startSeconds)
    {
      return false;
    }
    else
    {
      return true;
    }
     
nasreddine likes this.