diff options
Diffstat (limited to 'lib/smarty/libs/sysplugins/smarty_internal_write_file.php')
-rw-r--r-- | lib/smarty/libs/sysplugins/smarty_internal_write_file.php | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/lib/smarty/libs/sysplugins/smarty_internal_write_file.php b/lib/smarty/libs/sysplugins/smarty_internal_write_file.php deleted file mode 100644 index 2dfb4757c..000000000 --- a/lib/smarty/libs/sysplugins/smarty_internal_write_file.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php -/** - * Smarty write file plugin - * - * @package Smarty - * @subpackage PluginsInternal - * @author Monte Ohrt - */ - -/** - * Smarty Internal Write File Class - * - * @package Smarty - * @subpackage PluginsInternal - */ -class Smarty_Internal_Write_File { - - /** - * Writes file in a safe way to disk - * - * @param string $_filepath complete filepath - * @param string $_contents file content - * @param Smarty $smarty smarty instance - * @return boolean true - */ - public static function writeFile($_filepath, $_contents, Smarty $smarty) - { - $_error_reporting = error_reporting(); - error_reporting($_error_reporting & ~E_NOTICE & ~E_WARNING); - if ($smarty->_file_perms !== null) { - $old_umask = umask(0); - } - - $_dirpath = dirname($_filepath); - // if subdirs, create dir structure - if ($_dirpath !== '.' && !file_exists($_dirpath)) { - mkdir($_dirpath, $smarty->_dir_perms === null ? 0777 : $smarty->_dir_perms, true); - } - - // write to tmp file, then move to overt file lock race condition - $_tmp_file = $_dirpath . DS . uniqid('wrt', true); - if (!file_put_contents($_tmp_file, $_contents)) { - error_reporting($_error_reporting); - throw new SmartyException("unable to write file {$_tmp_file}"); - return false; - } - - // remove original file - @unlink($_filepath); - - // rename tmp file - $success = rename($_tmp_file, $_filepath); - if (!$success) { - error_reporting($_error_reporting); - throw new SmartyException("unable to write file {$_filepath}"); - return false; - } - - if ($smarty->_file_perms !== null) { - // set file permissions - chmod($_filepath, $smarty->_file_perms); - umask($old_umask); - } - error_reporting($_error_reporting); - return true; - } - -} - -?>
\ No newline at end of file |