Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-3689

smarty template plugin function crmDate.php does not accept formatting argument.

    Details

    • Type: Bug
    • Status: Done/Fixed
    • Priority: Minor
    • Resolution: Fixed/Completed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.1.2
    • Component/s: Core CiviCRM
    • Labels:
      None

      Description

      The smarty template plugin function CRM/Core/Smarty/plugins/modifier.crmDate.php does not accept data formatting argument. In smarty template files, if dateformat strings are added as an argument to crmDate then they have no effect.

      For example, in CRM/Grant/Form/Selector.tpl, if the formatting string "%b %E %y" is added to a date:
      <td>{$row.grant_decision_date|truncate:10:''|crmDate:'%b %E, %Y'}</td>
      then it has no effect on the output.

      The reason for this is in CRM/Core/Smarty/plugins/modifier.crmData.phpsdsssssssss, the check for $dateFormat == 0 always evaluates to true regardless of the $dataFormat string, and $dateFormat is then set to null. I'm not sure of the intent of the the three lines shown commented below, but commenting them out fixes the problem.

      function smarty_modifier_crmDate($dateString, $dateFormat = null, $onlyTime = false )
      {
      if ($dateString) {
      // if ( $dateFormat == 0 )

      { // $dateFormat = null; // }

      PS. This bug may not surfaced until now because none of existing CiviCRM templates use the format option with crmDate.

        Attachments

          Activity

            People

            • Assignee:
              lobo Donald A. Lobo
              Reporter:
              chrism Chris Mott
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: