Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Area/Layout/CustomColumn.php
Строк: 138
<?php
namespace ConcreteCoreAreaLayout;

use 
HtmlObjectElement;
use 
Loader;

class 
CustomColumn extends Column
{

    
/**
     * @var int;
     */
    
public $arLayoutColumnWidth;

    
/**
     * @param int $arLayoutColumnID
     * @return static
     */
    
public static function getByID($arLayoutColumnID)
    {
        
$db Loader::db();
        
$row $db->GetRow('select * from AreaLayoutCustomColumns where arLayoutColumnID = ?', array($arLayoutColumnID));
        if (
is_array($row) && $row['arLayoutColumnID']) {
            
$al = new static();
            
$al->loadBasicInformation($arLayoutColumnID);
            
$al->setPropertiesFromArray($row);
            return 
$al;
        }
    }

    
/**
     * @param Column $newAreaLayout
     * @return CustomColumn
     */
    
public function duplicate($newAreaLayout)
    {
        
$areaLayoutColumnID parent::duplicate($newAreaLayout);
        
$db Loader::db();
        
$v = array($areaLayoutColumnID$this->arLayoutColumnWidth);
        
$db->Execute('insert into AreaLayoutCustomColumns (arLayoutColumnID, arLayoutColumnWidth) values (?, ?)'$v);
        
$newAreaLayoutColumn CustomColumn::getByID($areaLayoutColumnID);
        return 
$newAreaLayoutColumn;
    }

    
/**
     * @param SimpleXMLElement $node
     */
    
public function exportDetails($node)
    {
        
$node->addAttribute('width'$this->arLayoutColumnWidth);
    }

    public function 
getAreaLayoutColumnClass()
    {
        return 
'ccm-layout-column';
    }

    protected function 
getColumnElement($contents)
    {
        
$element = new Element('div');
        
$element->addClass($this->getAreaLayoutColumnClass())->id('ccm-layout-column-'.$this->arLayoutColumnID);
        
$inner = new Element('div');
        
$inner->addClass('ccm-layout-column-inner');
        
$inner->setValue($contents);
        
$element->appendChild($inner);
        return 
$element;
    }

    public function 
getColumnHtmlObject()
    {
        
$contents $this->getContents();
        return 
$this->getColumnElement($contents);
    }

    public function 
getColumnHtmlObjectEditMode()
    {
        
$contents $this->getContents(true);
        return 
$this->getColumnElement($contents);
    }

    
/**
     * @return int
     */
    
public function getAreaLayoutColumnWidth()
    {
        return 
$this->arLayoutColumnWidth;
    }

    
/**
     * @param int $width
     */
    
public function setAreaLayoutColumnWidth($width)
    {
        
$this->arLayoutColumnWidth $width;
        
$db Loader::db();
        
$db->Execute('update AreaLayoutCustomColumns set arLayoutColumnWidth = ? where arLayoutColumnID = ?', array($width$this->arLayoutColumnID));
    }

    public function 
delete()
    {
        
$db Loader::db();
        
$db->Execute("delete from AreaLayoutCustomColumns where arLayoutColumnID = ?", array($this->arLayoutColumnID));
        
parent::delete();
    }

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