Example #1
0
  /**
   * We are experiencing CRM_Utils_Get to be broken on handling date defaults but 'fixing' doesn't seem to
   * work well on core reports - running fn from here
   *
   * @param array $fieldGrp
   * @param array $defaults
   */
  function processFilter(&$fieldGrp, &$defaults) {
    // process only filters for now
    foreach ($fieldGrp as $tableName => $fields) {
      foreach ($fields as $fieldName => $field) {
        switch (CRM_Utils_Array::value('type', $field)) {
          case CRM_Utils_Type::T_INT:
          case CRM_Utils_Type::T_MONEY:
            CRM_Report_Utils_Get::intParam($fieldName, $field, $defaults);
            break;

          case CRM_Utils_Type::T_DATE:
          case CRM_Utils_Type::T_DATE | CRM_Utils_Type::T_TIME:
            $this->dateParam($fieldName, $field, $defaults);
            break;

          case CRM_Utils_Type::T_STRING:
          default:
            CRM_Report_Utils_Get::stringParam($fieldName, $field, $defaults);
            break;
        }
      }
    }
  }