You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							54 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							54 lines
						
					
					
						
							1.4 KiB
						
					
					
				| <?php | |
| /** | |
|  * 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: */ | |
| 
 | |
| ?>
 | |
| 
 |