Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/Smarty/sysplugins/smarty_internal_runtime_cachemodify.php
Строк: 34
<?php

/**
 * Inline Runtime Methods render, setSourceByUid, setupSubTemplate
 *
 * @package    Smarty
 * @subpackage PluginsInternal
 * @author     Uwe Tews
 **/
class Smarty_Internal_Runtime_CacheModify
{
    
/**
     * check client side cache
     *
     * @param Smarty_Template_Cached   $cached
     * @param Smarty_Internal_Template $_template
     * @param string                    $content
     *
     * @throws Exception
     * @throws SmartyException
     */
    
public function cacheModifiedCheck(Smarty_Template_Cached $cachedSmarty_Internal_Template $_template$content)
    {
        
$_isCached $_template->isCached() && !$_template->compiled->has_nocache_code;
        
$_last_modified_date =
            @
substr($_SERVER'HTTP_IF_MODIFIED_SINCE' ], 0strpos($_SERVER'HTTP_IF_MODIFIED_SINCE' ], 'GMT') + 3);
        if (
$_isCached && $cached->timestamp <= strtotime($_last_modified_date)) {
            switch (
PHP_SAPI) {
                case 
'cgi'// php-cgi < 5.3
                
case 'cgi-fcgi'// php-cgi >= 5.3
                
case 'fpm-fcgi'// php-fpm >= 5.3.3
                    
header('Status: 304 Not Modified');
                    break;
                case 
'cli':
                    if (
/* ^phpunit */
                    
!empty($_SERVER'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
                    
) {
                        
$_SERVER'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
                    }
                    break;
                default:
                    if (
/* ^phpunit */
                    
!empty($_SERVER'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
                    
) {
                        
$_SERVER'SMARTY_PHPUNIT_HEADERS' ][] = '304 Not Modified';
                    } else {
                        
header($_SERVER'SERVER_PROTOCOL' ] . ' 304 Not Modified');
                    }
                    break;
            }
        } else {
            switch (
PHP_SAPI) {
                case 
'cli':
                    if (
/* ^phpunit */
                    
!empty($_SERVER'SMARTY_PHPUNIT_DISABLE_HEADERS' ]) /* phpunit$ */
                    
) {
                        
$_SERVER'SMARTY_PHPUNIT_HEADERS' ][] =
                            
'Last-Modified: ' gmdate('D, d M Y H:i:s'$cached->timestamp) . ' GMT';
                    }
                    break;
                default:
                    
header('Last-Modified: ' gmdate('D, d M Y H:i:s'$cached->timestamp) . ' GMT');
                    break;
            }
            echo 
$content;
        }
    }
}
Онлайн: 3
Реклама