5 * @subpackage plugins
\r
9 * delete a dir recursively (level=0 -> keep root)
\r
10 * WARNING: no tests, it will try to remove what you tell it!
\r
12 * @param string $dirname
\r
13 * @param integer $level
\r
14 * @param integer $exp_time
\r
18 // $dirname, $level = 1, $exp_time = null
\r
20 function smarty_core_rmdir($params, &$smarty)
\r
22 if(!isset($params['level'])) { $params['level'] = 1; }
\r
23 if(!isset($params['exp_time'])) { $params['exp_time'] = null; }
\r
25 if($_handle = @opendir($params['dirname'])) {
\r
27 while (false !== ($_entry = readdir($_handle))) {
\r
28 if ($_entry != '.' && $_entry != '..') {
\r
29 if (@is_dir($params['dirname'] . DIRECTORY_SEPARATOR . $_entry)) {
\r
31 'dirname' => $params['dirname'] . DIRECTORY_SEPARATOR . $_entry,
\r
32 'level' => $params['level'] + 1,
\r
33 'exp_time' => $params['exp_time']
\r
35 require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rmdir.php');
\r
36 smarty_core_rmdir($_params, $smarty);
\r
39 $smarty->_unlink($params['dirname'] . DIRECTORY_SEPARATOR . $_entry, $params['exp_time']);
\r
46 if ($params['level']) {
\r
47 return @rmdir($params['dirname']);
\r
49 return (bool)$_handle;
\r
53 /* vim: set expandtab: */
\r