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

use 
ConcreteCoreStyleCustomizerInlineCustomStyle as AbstractCustomStyle;
use 
ConcreteCoreStyleCustomizerInlineStyleSet;
use 
Core;

class 
CustomStyle extends AbstractCustomStyle
{

    protected 
$area;

    
/**
     * @var StyleSet
     */
    
protected $set;

    protected 
$theme;

    public function 
__construct(StyleSet $set nullArea $area$theme)
    {
        
$this->area $area;
        
$this->set $set;
        
$this->theme $theme;
    }

    public function 
getStyleWrapper($css)
    {
        
$style '<style type="text/css" data-area-style-area-handle="' $this->area->getAreaHandle() . '" data-style-set="' $this->getStyleSet()->getID() . '">' $css '</style>';
        return 
$style;
    }

    
/**
     * @return string
     */
    
public function getCSS()
    {
        
$set $this->set;
        
$groups = array();
        if (
$set->getBackgroundColor()) {
            
$groups[''][] = 'background-color:' $set->getBackgroundColor();
        }
        
$f $set->getBackgroundImageFileObject();
        if (
is_object($f)) {
            
$groups[''][] = 'background-image: url(' $f->getRelativePath() . ')';
            
$groups[''][] = 'background-repeat: ' $set->getBackgroundRepeat();
            
$groups[''][] = 'background-size: ' $set->getBackgroundSize();
            
$groups[''][] = 'background-position: ' $set->getBackgroundPosition();
        }
        if (
$set->getBaseFontSize()) {
            
$groups[''][] = 'font-size:' $set->getBaseFontSize();
        }
        if (
$set->getTextColor()) {
            
$groups[''][] = 'color:' $set->getTextColor();
        }
        if (
$set->getPaddingTop()) {
            
$groups[''][] = 'padding-top:' $set->getPaddingTop();
        }
        if (
$set->getPaddingRight()) {
            
$groups[''][] = 'padding-right:' $set->getPaddingRight();
        }
        if (
$set->getPaddingBottom()) {
            
$groups[''][] = 'padding-bottom:' $set->getPaddingBottom();
        }
        if (
$set->getPaddingLeft()) {
            
$groups[''][] = 'padding-left:' $set->getPaddingLeft();
        }
        if (
$set->getBorderWidth()) {
            
$groups[''][] = 'border-width:' $set->getBorderWidth();
        }
        if (
$set->getBorderStyle()) {
            
$groups[''][] = 'border-style:' $set->getBorderStyle();
        }
        if (
$set->getBorderColor()) {
            
$groups[''][] = 'border-color:' $set->getBorderColor();
        }
        if (
$set->getAlignment()) {
            
$groups[''][] = 'text-align:' $set->getAlignment();
        }
        if (
$set->getBorderRadius()) {
            
$groups[''][] = 'border-radius:' $set->getBorderRadius();
            
$groups[''][] = '-moz-border-radius:' $set->getBorderRadius();
            
$groups[''][] = '-webkit-border-radius:' $set->getBorderRadius();
            
$groups[''][] = '-o-border-radius:' $set->getBorderRadius();
            
$groups[''][] = '-ms-border-radius:' $set->getBorderRadius();
        }
        if (
$set->getRotate()) {
            
$groups[''][] = 'transform: rotate(' $set->getRotate() . 'deg)';
            
$groups[''][] = '-moz-transform: rotate(' $set->getRotate() . 'deg)';
            
$groups[''][] = '-webkit-transform: rotate(' $set->getRotate() . 'deg)';
            
$groups[''][] = '-o-transform: rotate(' $set->getRotate() . 'deg)';
            
$groups[''][] = '-ms-transform: rotate(' $set->getRotate() . 'deg)';
        }
        if (
$set->getBoxShadowSpread()) {
            
$groups[''][] = 'box-shadow: ' $set->getBoxShadowHorizontal() . ' ' $set->getBoxShadowVertical() . ' ' $set->getBoxShadowBlur() . ' ' $set->getBoxShadowSpread() . ' ' $set->getBoxShadowColor();
        }
        if (
$set->getLinkColor()) {
            
$groups[' a'][] = 'color:' $set->getLinkColor() . ' !important';
        }

        
$css '';
        foreach(
$groups as $suffix => $styles) {
            
$css .= '.' str_replace(' ''.'$this->getCustomStyleClass()) . $suffix '{'.implode(';'$styles).'}';
        }

        return 
$css;
    }

    public function 
getCustomStyleClass()
    {
        
$class 'ccm-custom-style-';
        
$txt Core::make('helper/text');
        
$class .= strtolower($txt->filterNonAlphaNum($this->area->getAreaHandle()));
        return 
$class;
    }

    
/**
     * @return string
     */
    
public function getContainerClass()
    {
        
$classes = array($this->getCustomStyleClass());

        if (
is_object($this->set)) {
            if (
$this->set->getCustomClass()) {
                
$classes[] = $this->set->getCustomClass();
            }
            if (
is_object($this->theme) && ($gf $this->theme->getThemeGridFrameworkObject())) {
                
$classes array_merge($gf->getPageThemeGridFrameworkSelectedDeviceHideClassesForDisplay($this->set$this->area->getAreaCollectionObject()), $classes);
            }
        }

        return 
implode(' '$classes);
    }
}
Онлайн: 0
Реклама