Вход Регистрация
Файл: concrete5.7.5.6/concrete/blocks/core_scrapbook_display/controller.php
Строк: 145
<?php

namespace ConcreteBlockCoreScrapbookDisplay;

use 
ConcreteCoreBlockBlockController;
use 
Block;
use 
ConcreteCoreBlockViewBlockViewTemplate;

/**
 * The controller for the core scrapbook display block. This block is automatically used when a block is copied into a
 * page from a clipboard. It is a proxy block.
 *
 * @package    Blocks
 * @subpackage Core Scrapbook/Clipboard Display
 *
 * @author     Andrew Embler <andrew@concrete5.org>
 * @copyright  Copyright (c) 2003-2012 Concrete5. (http://www.concrete5.org)
 * @license    http://www.concrete5.org/license/     MIT License
 */
class Controller extends BlockController
{
    protected 
$btCacheBlockRecord true;
    protected 
$btTable 'btCoreScrapbookDisplay';
    protected 
$btIsInternal true;
    protected 
$passthruController;

    public function 
ignorePageThemeGridFrameworkContainer()
    {
        
$bc $this->getScrapbookBlockController();
        if (
is_object($bc)) {
            return 
$bc->ignorePageThemeGridFrameworkContainer();
        }

        return 
false;
    }

    
/**
     * @var int Original Block ID
     */
    
protected $bOriginalID;

    public function 
getBlockTypeDescription()
    {
        return 
t("Proxy block for blocks pasted through the scrapbook.");
    }

    public function 
getBlockTypeName()
    {
        return 
t("Scrapbook Display");
    }

    public function 
getOriginalBlockID()
    {
        return 
$this->bOriginalID;
    }

    public function 
getScrapbookBlockController()
    {
        if (!isset(
$this->passthruController)) {
            
$b Block::getByID($this->bOriginalID);
            
$bc = ($b) ? $b->getInstance() : false;
            
$this->passthruController $bc;
        }

        return 
$this->passthruController;
    }

    public function 
getSearchableContent()
    {
        
$bc $this->getScrapbookBlockController();

        if (
$bc && method_exists($bc'getSearchableContent')) {
            return 
$bc->getSearchableContent();
        }
    }

    public function 
getPassThruActionAndParameters($method$parameters = array())
    {
        
$return parent::getPassThruActionAndParameters($method$parameters);

        
$parameters $return[1];

        
// pop the last element off the array and get it
        
$bID array_pop($parameters);
        if (
$bID == $this->bID) {
            
// this is the proxy block. So we pop off the block ID and replace it with the original ID
            
$parameters[] = $this->bOriginalID;
            
$return[1] = $parameters;
        }

        return 
$return;
    }

    public function 
isValidControllerTask($method$parameters = array())
    {
        
$bc $this->getScrapbookBlockController();

        if (
is_object($bc)) {
            return 
$bc->isValidControllerTask($method$parameters);
        }

        return 
false;
    }

    public function 
on_start()
    {
        
$bc $this->getScrapbookBlockController();

        if (
is_object($bc)) {
            return 
$bc->on_start();
        }
    }

    public function 
on_before_render()
    {
        
$bc $this->getScrapbookBlockController();

        if (
is_object($bc)) {
            return 
$bc->on_before_render();
        }
    }

    public function 
runAction($action$parameters = array())
    {
        
$bc $this->getScrapbookBlockController();

        if (
is_object($bc)) {
            
$bc->runAction($action$parameters);
        }
    }

    public function 
on_page_view($page)
    {
        
$bc $this->getScrapbookBlockController();

        if (
$bc && method_exists($bc'on_page_view')) {
            
$bc->on_page_view($page);
        }
    }

    public function 
outputAutoHeaderItems()
    {
        
$b Block::getByID($this->bOriginalID);
        if (
$b) {
            
$b $this->getBlockObject();
            
$bvt = new BlockViewTemplate($b);
            
$bvt->registerTemplateAssets();
        }
    }

    public function 
cacheBlockOutput()
    {
        
$bc $this->getScrapbookBlockController();

        if (
$bc) {
            return 
$bc->cacheBlockOutput();
        }
    }

    public function 
cacheBlockOutputForRegisteredUsers()
    {
        
$bc $this->getScrapbookBlockController();

        if (
$bc) {
            return 
$bc->cacheBlockOutputForRegisteredUsers();
        }
    }

    public function 
cacheBlockOutputOnPost()
    {
        
$bc $this->getScrapbookBlockController();

        if (
$bc) {
            return 
$bc->cacheBlockOutputOnPost();
        }
    }

    public function 
getBlockTypeCacheOutputLifetime()
    {
        
$bc $this->getScrapbookBlockController();

        if (
$bc) {
            return 
$bc->getBlockTypeCacheOutputLifetime();
        }
    }
}
Онлайн: 0
Реклама