_templateDir = [$templateDir]; } else { $this->_templateDir = $templateDir; } } /** * Resource function to get a template. * * @param string $name Template name * @param string $source Reference to variable receiving fetched Smarty source * @param int|bool $mtime Modification time * * @return bool */ public function fetch($name, &$source, &$mtime) { $filename = $this->_getFilename($name); $mtime = filemtime($filename); if ($mtime === false) { return false; } $source = file_get_contents($filename); return ($source !== false); } /** * Get the timestamp for the specified template. * * @param string $name Template name * * @return int|boolean */ protected function fetchTimestamp($name) { return filemtime($this->_getFilename($name)); } /** * Get the complete template path and filename. * * @return string|null */ protected function _getFilename($template) { $filePath = null; foreach ($this->_templateDir as $path) { $filePath = "{$path}/{$template}"; if (file_exists($filePath)) { break; } } Hook::call('TemplateResource::getFilename', [&$filePath, $template]); return $filePath; } } if (!PKP_STRICT_MODE) { class_alias('\PKP\template\PKPTemplateResource', '\PKPTemplateResource'); }