mirror of
				https://github.com/avecms/AVE.cms.git
				synced 2025-10-30 21:26:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Smarty plugin
 | |
|  * @package Smarty
 | |
|  * @subpackage plugins
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * delete an automagically created file by name and id
 | |
|  *
 | |
|  * @param string $auto_base
 | |
|  * @param string $auto_source
 | |
|  * @param string $auto_id
 | |
|  * @param integer $exp_time
 | |
|  * @return boolean
 | |
|  */
 | |
| 
 | |
| // $auto_base, $auto_source = null, $auto_id = null, $exp_time = null
 | |
| 
 | |
| function smarty_core_rm_auto($params, &$smarty)
 | |
| {
 | |
|     if (!@is_dir($params['auto_base']))
 | |
|       return false;
 | |
| 
 | |
|     if(!isset($params['auto_id']) && !isset($params['auto_source'])) {
 | |
|         $_params = array(
 | |
|             'dirname' => $params['auto_base'],
 | |
|             'level' => 0,
 | |
|             'exp_time' => $params['exp_time']
 | |
|         );
 | |
|         require_once(SMARTY_CORE_DIR . 'core.rmdir.php');
 | |
|         $_res = smarty_core_rmdir($_params, $smarty);
 | |
|     } else {
 | |
|         $_tname = $smarty->_get_auto_filename($params['auto_base'], $params['auto_source'], $params['auto_id']);
 | |
| 
 | |
|         if(isset($params['auto_source'])) {
 | |
|             if (isset($params['extensions'])) {
 | |
|                 $_res = false;
 | |
|                 foreach ((array)$params['extensions'] as $_extension)
 | |
|                     $_res |= $smarty->_unlink($_tname.$_extension, $params['exp_time']);
 | |
|             } else {
 | |
|                 $_res = $smarty->_unlink($_tname, $params['exp_time']);
 | |
|             }
 | |
|         } elseif ($smarty->use_sub_dirs) {
 | |
|             $_params = array(
 | |
|                 'dirname' => $_tname,
 | |
|                 'level' => 1,
 | |
|                 'exp_time' => $params['exp_time']
 | |
|             );
 | |
|             require_once(SMARTY_CORE_DIR . 'core.rmdir.php');
 | |
|             $_res = smarty_core_rmdir($_params, $smarty);
 | |
|         } else {
 | |
|             // remove matching file names
 | |
|             $_handle = opendir($params['auto_base']);
 | |
|             $_res = true;
 | |
|             while (false !== ($_filename = readdir($_handle))) {
 | |
|                 if($_filename == '.' || $_filename == '..') {
 | |
|                     continue;
 | |
|                 } elseif (substr($params['auto_base'] . DIRECTORY_SEPARATOR . $_filename, 0, strlen($_tname)) == $_tname) {
 | |
|                     $_res &= (bool)$smarty->_unlink($params['auto_base'] . DIRECTORY_SEPARATOR . $_filename, $params['exp_time']);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     return $_res;
 | |
| }
 | |
| 
 | |
| /* vim: set expandtab: */
 | |
| 
 | |
| ?>
 |