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.
		
		
		
		
		
			
		
			
				
					
					
						
							71 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							71 lines
						
					
					
						
							2.2 KiB
						
					
					
				
								<?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: */
							 | 
						|
								
							 | 
						|
								?>
							 | 
						|
								
							 |