namespace CoreFramework\Template\Engine;
// Import framework stuff
+use CoreFramework\Filesystem\InvalidDirectoryException;
use CoreFramework\Mailer\DeliverableMail;
use CoreFramework\Parser\Xml\XmlParser;
use CoreFramework\Registry\Registry;
use CoreFramework\Response\Responseable;
use CoreFramework\Template\CompileableTemplate;
+use CoreFramework\Template\Engine\BaseTemplateEngine;
// Import SPL stuff
use \UnexpectedValueException;
*
* @return $templateInstance An instance of TemplateEngine
* @throws UnexpectedValueException If the provided $templateBasePath is empty or no string
- * @throws BasePathIsNoDirectoryException If $templateBasePath is no
+ * @throws InvalidDirectoryException If $templateBasePath is no
* directory or not found
* @throws BasePathReadProtectedException If $templateBasePath is
* read-protected
$applicationInstance = Registry::getRegistry()->getInstance('app');
// Determine base path
- $templateBasePath = $templateInstance->getConfigInstance()->getConfigEntry('application_base_path') . $applicationInstance->getRequestInstance()->getRequestElement('app') . '/';
+ $templateBasePath = $templateInstance->getConfigInstance()->getConfigEntry('application_base_path') . $applicationInstance->getAppShortName(). '/';
// Is the base path valid?
if (empty($templateBasePath)) {
throw new UnexpectedValueException(sprintf('[%s:%d] %s is not a string with a base path.', $templateInstance->__toString(), __LINE__, $templateBasePath), self::EXCEPTION_INVALID_STRING);
} elseif (!is_dir($templateBasePath)) {
// Is not a path
- throw new BasePathIsNoDirectoryException(array($templateInstance, $templateBasePath), self::EXCEPTION_INVALID_PATH_NAME);
+ throw new InvalidDirectoryException(array($templateInstance, $templateBasePath), self::EXCEPTION_INVALID_PATH_NAME);
} elseif (!is_readable($templateBasePath)) {
// Is not readable
throw new BasePathReadProtectedException(array($templateInstance, $templateBasePath), self::EXCEPTION_READ_PROTECED_PATH);
$templateInstance->setCodeTemplateExtension($templateInstance->getConfigInstance()->getConfigEntry('code_template_extension'));
// Absolute output path for compiled templates
- $templateInstance->setCompileOutputPath($templateInstance->getConfigInstance()->getConfigEntry('base_path') . $templateInstance->getConfigInstance()->getConfigEntry('compile_output_path'));
+ $templateInstance->setCompileOutputPath(sprintf('%s%s/',
+ $templateBasePath,
+ $templateInstance->getConfigInstance()->getConfigEntry('compile_output_path')
+ ));
// Return the prepared instance
return $templateInstance;
$this->getMailerInstance()->invokeMailDelivery();
}
- /**
- * Getter for image cache file (FQFN)
- *
- * @return $fqfn Full-qualified file name of the image cache
- * @todo 0% done
- */
- public function getMailCacheFqfn () {
- // Initialize FQFN
- $fqfn = '';
- $this->debugBackTrace('Unfinished area!');
-
- // Return it
- return $fqfn;
- }
-
/**
* Setter for mailer instance
*