Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/frontend/stylesheet.php
Строк: 108
<?php
namespace ConcreteControllerFrontend;
use 
ConcreteCoreAreaLayoutCustomLayout;
use 
ConcreteCoreAreaLayoutLayout;
use 
Controller;
use 
Page;
use 
Permissions;
use 
Block;
use 
Area;
use 
Response;
class 
Stylesheet extends Controller {

    public function 
page_version($cID$stylesheet$cvID)
    {
        
$c Page::getByID($cID);
        if (
is_object($c) && !$c->isError()) {
            
$cp = new Permissions($c);
            if (
$cp->canViewPageVersions()) {
                
$c->loadVersionObject($cvID);

                
$theme $c->getCollectionThemeObject();
                
$stylesheet $theme->getStylesheetObject($stylesheet);
                
$style $c->getCustomStyleObject();
                if (
is_object($style)) {
                    
$scl $style->getValueList();
                    
$stylesheet->setValueList($scl);
                }
                
$response = new Response();
                
$response->headers->set('Content-Type''text/css');
                
$response->setContent($stylesheet->getCss());
                return 
$response;
            }
        }
    }

    public function 
page($cID$stylesheet)
    {
        
$c Page::getByID($cID'ACTIVE');
        if (
is_object($c) && !$c->isError()) {
            
$cp = new Permissions($c);
            if (
$cp->canViewPage()) {
                
$theme $c->getCollectionThemeObject();
                
$stylesheet $theme->getStylesheetObject($stylesheet);
                
$style $c->getCustomStyleObject();
                if (
is_object($style)) {
                    
$scl $style->getValueList();
                    
$stylesheet->setValueList($scl);
                }
                
$response = new Response();
                
$response->headers->set('Content-Type''text/css');
                
$response->setContent($stylesheet->getCss());
                return 
$response;
            }
        }
    }

    public function 
layout($arLayoutID) {
        
$arLayout Layout::getByID($arLayoutID);
        if (
is_object($arLayout) && $arLayout instanceof CustomLayout) {

            
$css = <<<EOL
    div.ccm-layout-column {
            float: left;
        }

        /* clearfix */

        div.ccm-layout-column-wrapper {*zoom:1;}
        div.ccm-layout-column-wrapper:before, div.ccm-layout-column-wrapper:after {display:table;content:"";line-height:0;}
        div.ccm-layout-column-wrapper:after {clear:both;}

EOL;
            
$wrapper 'ccm-layout-column-wrapper-' $arLayout->getAreaLayoutID();
            
$columns $arLayout->getAreaLayoutColumns();
            if (
count($columns) > 0) {
                
$margin = ($arLayout->getAreaLayoutSpacing() / 2);
                if (
$arLayout->hasAreaLayoutCustomColumnWidths()) {
                    foreach(
$columns as $col) {
                        
$arLayoutColumnID $col->getAreaLayoutColumnID();
                        
$width $col->getAreaLayoutColumnWidth();
                        if (
$width) {
                            
$width .= 'px';
                        }

                        
$css .= "#{$wrapper} div#ccm-layout-column-{$arLayoutColumnID} { width: {$width}; }n";
                    }

                } else {
                    
$width = (100 count($columns));
                    
$css .= <<<EOL

    #
{$wrapper} div.ccm-layout-column {
    width: 
{$width}%;
    }
EOL;

                }

                
$css .= <<<EOL

    #
{$wrapper} div.ccm-layout-column-inner {
    margin-right: 
{$margin}px;
    margin-left: 
{$margin}px;
    }

    #
{$wrapper} div.ccm-layout-column:first-child div.ccm-layout-column-inner {
    margin-left: 0px;
    }

    #
{$wrapper} div.ccm-layout-column:last-child div.ccm-layout-column-inner  {
    margin-right: 0px;
    }
EOL;

                
$response = new Response();
                
$response->setContent($css);
                
$response->headers->set('Content-Type''text/css');
                return 
$response;
            }
        }
    }
}
Онлайн: 3
Реклама