public function compile($tplName, $tplFile, $outputtype, $trusted,
                             $userModifiers = array(), $userFunctions = array())
    {
        $this->_sourceFile = $tplFile;
        $this->outputType = $outputtype;
        $cachefile = $this->config->cachePath.dirname($tplName).'/'.$this->outputType.($trusted ? '_t' : '').'_'.basename($tplName);
        $this->trusted = $trusted;
        $md5 = md5($tplFile.'_'.$this->outputType.($this->trusted ? '_t' : ''));

        if (!file_exists($this->_sourceFile)) {
            $this->doError0('errors.tpl.not.found');
        }

        $this->compileString(file_get_contents($this->_sourceFile), $cachefile,
            $userModifiers, $userFunctions, $md5);

        return true;
    }