/**
  * Entry point for the {{#record}} parser function.
  * This is a wrapper around handleRecordTag
  */
 static function handleRecordFunction($parser)
 {
     $params = func_get_args();
     array_shift($params);
     // first is &$parser, strip it
     // first user-supplied parameter must be category name
     if (!$params) {
         return '';
         // no category specified, return nothing
     }
     //first parameter is the template name
     $template = array_shift($params);
     // build associative arguments from flat parameter list
     $argv = DataTransclusionHandler::buildAssociativeArguments($params);
     $argv[0] = $template;
     // FIXME: error messages contining special blocks like <nowiki> don't get re-substitutet correctly.
     $text = DataTransclusionHandler::handleRecordTransclusion($template, $argv, $parser, false);
     return array($text, 'noparse' => false, 'isHTML' => false);
 }