aboutsummaryrefslogtreecommitdiffstats
path: root/include/smarty/libs/internals/core.write_compiled_resource.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/smarty/libs/internals/core.write_compiled_resource.php')
-rw-r--r--include/smarty/libs/internals/core.write_compiled_resource.php35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/smarty/libs/internals/core.write_compiled_resource.php b/include/smarty/libs/internals/core.write_compiled_resource.php
new file mode 100644
index 000000000..b902eff3c
--- /dev/null
+++ b/include/smarty/libs/internals/core.write_compiled_resource.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Smarty plugin
+ * @package Smarty
+ * @subpackage plugins
+ */
+
+/**
+ * write the compiled resource
+ *
+ * @param string $compile_path
+ * @param string $compiled_content
+ * @return true
+ */
+function smarty_core_write_compiled_resource($params, &$smarty)
+{
+ if(!@is_writable($smarty->compile_dir)) {
+ // compile_dir not writable, see if it exists
+ if(!@is_dir($smarty->compile_dir)) {
+ $smarty->trigger_error('the $compile_dir \'' . $smarty->compile_dir . '\' does not exist, or is not a directory.', E_USER_ERROR);
+ return false;
+ }
+ $smarty->trigger_error('unable to write to $compile_dir \'' . realpath($smarty->compile_dir) . '\'. Be sure $compile_dir is writable by the web server user.', E_USER_ERROR);
+ return false;
+ }
+
+ $_params = array('filename' => $params['compile_path'], 'contents' => $params['compiled_content'], 'create_dirs' => true);
+ require_once(SMARTY_CORE_DIR . 'core.write_file.php');
+ smarty_core_write_file($_params, $smarty);
+ return true;
+}
+
+/* vim: set expandtab: */
+
+?>