Файл: concrete5.7.5.6/concrete/src/Area/Layout/Preset/Provider/ThemeProvider.php
Строк: 44
<?php
namespace ConcreteCoreAreaLayoutPresetProvider;
use ConcreteCoreAreaLayoutPresetColumn;
use ConcreteCoreAreaLayoutPresetFormatterThemeFormatter;
use ConcreteCoreAreaLayoutPresetPreset;
use ConcreteCoreAreaLayoutPresetProviderProviderInterface;
use ConcreteCoreAreaLayoutPresetProviderThemeProviderInterface;
use ConcreteCorePagePage;
class ThemeProvider implements ProviderInterface
{
protected $presets = array();
protected $themeHandle;
public function __construct(ThemeProviderInterface $interface)
{
$arrayPresets = $interface->getThemeAreaLayoutPresets();
$this->name = $interface->getThemeName();
$this->themeHandle = $interface->getThemeHandle();
foreach($arrayPresets as $arrayPreset) {
$columns = array();
foreach($arrayPreset['columns'] as $html) {
$columns[] = Column::fromHtml($html);
}
$formatter = new ThemeFormatter($arrayPreset);
$this->presets[] = new Preset(
sprintf('theme_%s_%s', $this->themeHandle, $arrayPreset['handle']),
$arrayPreset['name'],
$formatter,
$columns
);
}
}
public function getName()
{
return $this->name;
}
public function getPresets()
{
return $this->presets;
}
}