Spaces:
Sleeping
Sleeping
| /** | |
| * Smarty plugin | |
| * @package Smarty | |
| * @subpackage plugins | |
| */ | |
| /** | |
| * delete a dir recursively (level=0 -> keep root) | |
| * WARNING: no tests, it will try to remove what you tell it! | |
| * | |
| * @param string $dirname | |
| * @param integer $level | |
| * @param integer $exp_time | |
| * @return boolean | |
| */ | |
| // $dirname, $level = 1, $exp_time = null | |
| function smarty_core_rmdir($params, &$smarty) | |
| { | |
| if(!isset($params['level'])) { $params['level'] = 1; } | |
| if(!isset($params['exp_time'])) { $params['exp_time'] = null; } | |
| if($_handle = @opendir($params['dirname'])) { | |
| while (false !== ($_entry = readdir($_handle))) { | |
| if ($_entry != '.' && $_entry != '..') { | |
| if (@is_dir($params['dirname'] . DIRECTORY_SEPARATOR . $_entry)) { | |
| $_params = array( | |
| 'dirname' => $params['dirname'] . DIRECTORY_SEPARATOR . $_entry, | |
| 'level' => $params['level'] + 1, | |
| 'exp_time' => $params['exp_time'] | |
| ); | |
| smarty_core_rmdir($_params, $smarty); | |
| } | |
| else { | |
| $smarty->_unlink($params['dirname'] . DIRECTORY_SEPARATOR . $_entry, $params['exp_time']); | |
| } | |
| } | |
| } | |
| closedir($_handle); | |
| } | |
| if ($params['level']) { | |
| return @rmdir($params['dirname']); | |
| } | |
| return (bool)$_handle; | |
| } | |
| /* vim: set expandtab: */ | |