00001 <?php
00018
00019
00020 function smarty_core_rmdir($params, &$smarty)
00021 {
00022 if(!isset($params['level'])) { $params['level'] = 1; }
00023 if(!isset($params['exp_time'])) { $params['exp_time'] = null; }
00024
00025 if($_handle = @opendir($params['dirname'])) {
00026
00027 while (false !== ($_entry = readdir($_handle))) {
00028 if ($_entry != '.' && $_entry != '..') {
00029 if (@is_dir($params['dirname'] . DIRECTORY_SEPARATOR . $_entry)) {
00030 $_params = array(
00031 'dirname' => $params['dirname'] . DIRECTORY_SEPARATOR . $_entry,
00032 'level' => $params['level'] + 1,
00033 'exp_time' => $params['exp_time']
00034 );
00035 smarty_core_rmdir($_params, $smarty);
00036 }
00037 else {
00038 $smarty->_unlink($params['dirname'] . DIRECTORY_SEPARATOR . $_entry, $params['exp_time']);
00039 }
00040 }
00041 }
00042 closedir($_handle);
00043 }
00044
00045 if ($params['level']) {
00046 return @rmdir($params['dirname']);
00047 }
00048 return (bool)$_handle;
00049
00050 }
00051
00052
00053
00054 ?>