lib/default.php

$ViewMacroEngine = array(
....
'Footnote'=>'view_macro_footnote',

lib/default.php

$footnotes = array();

$footnotes_no = 0;

parse/macro.php

function view_macro_footnote($args)
{
  global $footnotes;
  global $footnotes_no;
  $footnotes[$footnotes_no++] = $args;
  return '<a href="#foot'.$footnotes_no.'" title="'.$args.'" class="footnote_link">['.$footnotes_no.']</a>';
}

parse/main.php

function parseText($text, $parsers, $object_name)
{
  global $Entity, $ParseObject;
  global $footnotes;
  global $footnotes_no;
.......
  $ParseObject = $old_parse_object;

   if($footnotes){
      $n = 0;
      $line .= '<br /><strong>Notes:</strong><ol>';
      while ($footnotes[$n]){
           $line .= '<li>';
           $x = $n + 1;
           $line .= '<a name="foot'.$x.'"></a>';
           $line .= $footnotes[$n];
           $line .= '</li>';
           $n++;
       }
      $line .= '</ol>';
  }

  return $result . $line;