/**
  * Outputs a template.
  *
  * @param	string		$templateName
  * @param	integer		$packageID
  * @param	boolean		$sendHeaders
  */
 public function display($templateName, $packageID = PACKAGE_ID, $sendHeaders = true)
 {
     if ($sendHeaders) {
         HeaderUtil::sendHeaders();
         // call shouldDisplay event
         if (!defined('NO_IMPORTS')) {
             EventHandler::getInstance()->fireAction($this, 'shouldDisplay');
         }
     }
     $tplPackageID = $this->getPackageID($templateName, $packageID);
     $compiledFilename = $this->getCompiledFilename($templateName, $packageID);
     $sourceFilename = $this->getSourceFilename($templateName, $tplPackageID);
     $metaDataFilename = $this->getMetaDataFilename($templateName, $packageID);
     $metaData = $this->getMetaData($templateName, $metaDataFilename);
     // check if compilation is necessary
     if ($metaData === null || !$this->isCompiled($templateName, $sourceFilename, $compiledFilename, $packageID, $metaData)) {
         // compile
         $this->compileTemplate($templateName, $sourceFilename, $compiledFilename, array('data' => $metaData, 'filename' => $metaDataFilename, 'packageID' => $tplPackageID));
     }
     // assign current package id
     $this->assign('__PACKAGE_ID', $packageID);
     include $compiledFilename;
     if ($sendHeaders) {
         // call didDisplay event
         if (!defined('NO_IMPORTS')) {
             EventHandler::getInstance()->fireAction($this, 'didDisplay');
         }
     }
 }
 /**
  * Outputs a template.
  * 
  * @param	string		$templateName
  * @param	string		$application
  * @param	boolean		$sendHeaders
  */
 public function display($templateName, $application = 'wcf', $sendHeaders = true)
 {
     if ($sendHeaders) {
         HeaderUtil::sendHeaders();
         // call beforeDisplay event
         if (!defined('NO_IMPORTS')) {
             EventHandler::getInstance()->fireAction($this, 'beforeDisplay');
         }
     }
     $sourceFilename = $this->getSourceFilename($templateName, $application);
     $compiledFilename = $this->getCompiledFilename($templateName, $application);
     $metaDataFilename = $this->getMetaDataFilename($templateName);
     $metaData = $this->getMetaData($templateName, $metaDataFilename);
     // check if compilation is necessary
     if ($metaData === null || !$this->isCompiled($templateName, $sourceFilename, $compiledFilename, $application, $metaData)) {
         // compile
         $this->compileTemplate($templateName, $sourceFilename, $compiledFilename, array('application' => $application, 'data' => $metaData, 'filename' => $metaDataFilename));
     }
     // assign current package id
     $this->assign('__APPLICATION', $application);
     include $compiledFilename;
     if ($sendHeaders) {
         // call afterDisplay event
         if (!defined('NO_IMPORTS')) {
             EventHandler::getInstance()->fireAction($this, 'afterDisplay');
         }
     }
 }