Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Page/Type/Composer/Control/Control.php
Строк: 240
<?php

namespace ConcreteCorePageTypeComposerControl;

use 
ConcreteCorePageTypeType;
use 
Loader;
use 
ConcreteCoreFoundationObject;
use 
Page;
use 
Controller;
use 
ConcreteCorePageTypeComposerFormLayoutSet as PageTypeComposerFormLayoutSet;
use 
ConcreteCorePageTypeComposerFormLayoutSetControl as PageTypeComposerFormLayoutSetControl;
use 
ConcreteCorePageTypeComposerControlTypeType as PageTypeComposerControlType;

abstract class 
Control extends Object
{
    protected 
$ptComposerControlIdentifier;
    protected 
$ptComposerControlName;
    protected 
$ptComposerControlIconSRC;
    protected 
$ptComposerControl;
    protected 
$ptComposerControlRequiredByDefault false;
    protected 
$ptComposerControlRequiredOnThisRequest false;

    abstract public function 
getPageTypeComposerControlCustomTemplates();
    abstract public function 
render($label$customTemplate$description);
    abstract public function 
publishToPage(Page $c$data$controls);
    abstract public function 
validate();
    abstract public function 
getPageTypeComposerControlDraftValue();
    abstract public function 
addAssetsToRequest(Controller $cnt);
    abstract public function 
export($node);
    abstract public function 
shouldPageTypeComposerControlStripEmptyValuesFromPage();
    abstract public function 
isPageTypeComposerControlValueEmpty();
    abstract public function 
removePageTypeComposerControlFromPage();

    public function 
pageTypeComposerFormControlSupportsValidation()
    {
        return 
false;
    }

    public function 
setPageTypeComposerControlName($ptComposerControlName)
    {
        
$this->ptComposerControlName $ptComposerControlName;
    }

    public function 
setPageTypeComposerFormControlRequired($req)
    {
        
$this->ptComposerControlRequiredOnThisRequest $req;
    }

    public function 
setPageObject($page)
    {
        
$this->page $page;
    }

    public function 
getPageObject()
    {
        return 
$this->page;
    }

    public function 
setTargetParentPageID($ptTargetParentPageID)
    {
        
$this->ptTargetParentPageID $ptTargetParentPageID;
    }

    public function 
getTargetParentPageID()
    {
        return 
$this->ptTargetParentPageID;
    }

    public function 
isPageTypeComposerFormControlRequiredOnThisRequest()
    {
        return 
$this->ptComposerControlRequiredOnThisRequest;
    }

    public function 
getPageTypeComposerControlName()
    {
        return 
$this->ptComposerControlName;
    }
    public function 
getPageTypeComposerControlDisplayName($format 'html')
    {
        
$value $this->getPageTypeComposerControlName();
        switch (
$format) {
            case 
'html':
                return 
h($value);
            case 
'text':
            default:
                return 
$value;
        }
    }

    public function 
setPageTypeComposerControlIconSRC($ptComposerControlIconSRC)
    {
        
$this->ptComposerControlIconSRC $ptComposerControlIconSRC;
    }

    public function 
getPageTypeComposerControlIconSRC()
    {
        return 
$this->ptComposerControlIconSRC;
    }

    public function 
setPageTypeComposerControlIdentifier($ptComposerControlIdentifier)
    {
        
$this->ptComposerControlIdentifier $ptComposerControlIdentifier;
    }

    public function 
getPageTypeComposerControlIdentifier()
    {
        return 
$this->ptComposerControlIdentifier;
    }

    public function 
getPageTypeComposerControlTypeObject()
    {
        return 
PageTypeComposerControlType::getByHandle($this->ptComposerControlTypeHandle);
    }

    public function 
getPageTypeComposerControlTypeHandle()
    {
        return 
$this->ptComposerControlTypeHandle;
    }

    public function 
setPageTypeComposerFormLayoutSetControlObject(PageTypeComposerFormLayoutSetControl $setcontrol)
    {
        
$this->ptComposerFormLayoutSetControlObject $setcontrol;
    }

    public function 
getPageTypeComposerFormLayoutSetControlObject()
    {
        return 
$this->ptComposerFormLayoutSetControlObject;
    }

    public function 
field($key)
    {
        return 
'ptComposer[' $this->ptComposerFormLayoutSetControlObject->getPageTypeComposerFormLayoutSetControlID(). '][' $key ']';
    }

    public function 
getRequestValue($args false)
    {
        if (!
$args) {
            
$args $_POST;
        }

        return 
$args['ptComposer'][$this->ptComposerFormLayoutSetControlObject->getPageTypeComposerFormLayoutSetControlID()];
    }

    
/**
     * @param PageTypeComposerFormLayoutSet $set
     *
     * @return ConcreteCorePageTypeComposerFormLayoutSetControl
     */
    
public function addToPageTypeComposerFormLayoutSet(PageTypeComposerFormLayoutSet $set)
    {
        
$db Loader::db();
        
$displayOrder $db->GetOne('select count(ptComposerFormLayoutSetControlID) from PageTypeComposerFormLayoutSetControls where ptComposerFormLayoutSetID = ?', array($set->getPageTypeComposerFormLayoutSetID()));
        if (!
$displayOrder) {
            
$displayOrder 0;
        }
        
$ptComposerFormLayoutSetControlRequired 0;
        if (
$this->isPageTypeComposerControlRequiredByDefault()) {
            
$ptComposerFormLayoutSetControlRequired 1;
        }
        
$controlType $this->getPageTypeComposerControlTypeObject();
        
$db->Execute('insert into PageTypeComposerFormLayoutSetControls (ptComposerFormLayoutSetID, ptComposerControlTypeID, ptComposerControlObject, ptComposerFormLayoutSetControlDisplayOrder, ptComposerFormLayoutSetControlRequired) values (?, ?, ?, ?, ?)', array(
            
$set->getPageTypeComposerFormLayoutSetID(), $controlType->getPageTypeComposerControlTypeID(), serialize($this), $displayOrder$ptComposerFormLayoutSetControlRequired,
        ));

        return 
PageTypeComposerFormLayoutSetControl::getByID($db->Insert_ID());
    }

    public function 
canPageTypeComposerControlSetPageName()
    {
        return 
false;
    }

    public function 
getPageTypeComposerControlPageNameValue(Page $c)
    {
        return 
false;
    }

    public static function 
getList(Type $pagetype)
    {
        
$sets PageTypeComposerFormLayoutSet::getList($pagetype);
        
$controls = array();
        foreach (
$sets as $s) {
            
$setControls PageTypeComposerFormLayoutSetControl::getList($s);
            foreach (
$setControls as $sc) {
                
$cnt $sc->getPageTypeComposerControlObject();
                
$cnt->setPageTypeComposerFormLayoutSetControlObject($sc);
                
$cnt->setPageTypeComposerFormControlRequired($sc->isPageTypeComposerFormLayoutSetControlRequired());
                
$controls[] = $cnt;
            }
        }

        return 
$controls;
    }

    public function 
isPageTypeComposerControlRequiredByDefault()
    {
        return 
$this->ptComposerControlRequiredByDefault;
    }

    public function 
objectExists()
    {
        return 
true;
    }
}
Онлайн: 1
Реклама