| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | <?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 = nullfunction 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: */?>
 |