Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Block/CacheSettings.php
Строк: 60
<?php
namespace ConcreteCoreBlock;

use 
Database;

class 
CacheSettings
{

    protected 
$btCacheBlockOutputOnPost = false;
    protected 
$btCacheBlockOutputForRegisteredUsers = false;
    protected 
$btCacheBlockOutput = false;
    protected 
$btCacheBlockOutputLifetime = 0;

    public static function 
get(Block $b)
    {
        
$o = null;
        if (
$b->overrideBlockTypeCacheSettings()) {
            
$c = $b->getBlockCollectionObject();
            
$cID = $c->getCollectionID();
            
$cvID = $c->getVersionID();
            
$a = $b->getBlockAreaObject();
            
$arHandle = $a->getAreaHandle();
            if (
$a->isGlobalArea()) {
                
// then we need to check against the global area name. We currently have the wrong area handle passed in
                
$arHandle = STACKS_AREA_NAME;
            }

            
$bID = $b->getBlockID();
            
$db = Database::get();
            
$r = $db->GetRow('select * from CollectionVersionBlocksCacheSettings where
              cID = ? and cvID = ? and arHandle = ? and bID = ?'
,
                array(
                    
$cID, $cvID, $arHandle, $bID
                
)
            );
            if (
$r['bID']) {
                
$o = new static();
                
$o->btCacheBlockOutput = (bool) $r['btCacheBlockOutput'];
                
$o->btCacheBlockOutputOnPost = (bool) $r['btCacheBlockOutputOnPost'];
                
$o->btCacheBlockOutputForRegisteredUsers = (bool) $r['btCacheBlockOutputForRegisteredUsers'];
                
$o->btCacheBlockOutputLifetime = $r['btCacheBlockOutputLifetime'];
            }
        }
        if (!isset(
$o)) {
            if (
$controller = $b->getController()) {
                
$o = new static();
                
$o->btCacheBlockOutput = $controller->cacheBlockOutput();
                
$o->btCacheBlockOutputOnPost = $controller->cacheBlockOutputOnPost();
                
$o->btCacheBlockOutputForRegisteredUsers = $controller->cacheBlockOutputForRegisteredUsers();
                
$o->btCacheBlockOutputLifetime = $controller->getBlockTypeCacheOutputLifetime();
            } else {
                
$o = new static();
                
$o->btCacheBlockOutput = false;
                
$o->btCacheBlockOutputOnPost = false;
                
$o->btCacheBlockOutputForRegisteredUsers = false;
                
$o->btCacheBlockOutputLifetime = false;
            }
        }
        return 
$o;
    }

    public function 
cacheBlockOutput()
    {
        return 
$this->btCacheBlockOutput;
    }

    public function 
cacheBlockOutputOnPost()
    {
        return 
$this->btCacheBlockOutputOnPost;
    }

    public function 
cacheBlockOutputForRegisteredUsers()
    {
        return 
$this->btCacheBlockOutputForRegisteredUsers;
    }

    public function 
getBlockOutputCacheLifetime()
    {
        return 
$this->btCacheBlockOutputLifetime;
    }

}
Онлайн: 2
Реклама