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