/** * Returns widget content. * * @param DOMElement $widgetElement * @param $widgetContentType * @return string|null */ public function parseWidgetContent(DOMElement $widgetElement, $widgetContentType) { $widgetContentElement = $this->findWidgetContentElement($widgetElement); if ($widgetContentType === static::WIDGET_CT_NONE) { return null; } /** @var DomHelper $domHelper */ $domHelper = $this->componizer->resolve(DomHelper::class); return $domHelper->getInnerHtml($widgetContentElement); }
/** * Parses provided "editor content" to the "display content" representation. * * Parsing is processed based on allowed/disabled plugins/components and other settings from SettingsManager. * * @param string $editorContent * @return string */ public function parseDisplayContent($editorContent) { $editorContent = is_string($editorContent) ? trim($editorContent) : null; if ($editorContent === null || empty($editorContent)) { return ''; } /** @var DomHelper $domHelper */ $domHelper = $this->componizer->resolve(DomHelper::class); $doc = $domHelper->createDoc($editorContent); $docRoot = $domHelper->getDocRoot($doc); /** @var WidgetParser $widgetParser */ $widgetParser = $this->componizer->resolve(WidgetParser::class); $widgetElement = $widgetParser->findWidgetElement($doc, $docRoot); if ($widgetElement === null) { return $editorContent; } $widgetParser->replaceWidgetElementContent($widgetElement, $this); return $this->parseDisplayContent($domHelper->getInnerHtml($docRoot)); }
/** * Initiates plugin and all of its components. * * @param AbstractPluginComponent $plugin */ private function initPlugin(AbstractPluginComponent $plugin) { /** @var ComponentManager $componentManager */ $componentManager = $this->componizer->resolve(ComponentManager::class); $componentManager->initComponent($plugin); foreach ($plugin->getComponents() as $component) { if ($component instanceof ComponentInterface) { $componentManager->initComponent($component); } } }
/** * Unsyncs component assets dir. * * @param ComponentInterface $component */ private function unsyncComponentAssetsDir(ComponentInterface $component) { if (!$component->hasAssets()) { return; } $config = $this->componizer->getConfig(); $publicDir = $config->get(ComponizerConfig::CONFIG_PUBLIC_DIR); $targetLink = $publicDir . DIRECTORY_SEPARATOR . $component->getId(); /** @var FsHelper $fsHelper */ $fsHelper = $this->componizer->resolve(FsHelper::class); $fsHelper->removeSymlink($targetLink); }
<?php use Gavrya\Componizer\Componizer; use Gavrya\Componizer\ComponizerConfig; include 'init.php'; $timerStart = microtime(true); $config = [ComponizerConfig::CONFIG_LANG => 'en', ComponizerConfig::CONFIG_CACHE_DIR => '/Users/gavrya/Projects/componizer/vendor/test_cache', ComponizerConfig::CONFIG_PUBLIC_DIR => '/Users/gavrya/Projects/componizer/vendor/test_public', ComponizerConfig::CONFIG_PREVIEW_URL => '/preview.php']; //var_dump($config); $componnizerConfig = new ComponizerConfig($config); //var_dump($componnizerConfig); $componizer = new Componizer($componnizerConfig); //var_dump($componizer); $pluginManager = $componizer->getPluginManager(); $pluginManager->enablePlugins($pluginManager->getDisabledPlugins()); foreach ($pluginManager->getEnabledPlugins() as $plugin) { echo $plugin->getName() . PHP_EOL; } $editorContent = <<<EOD <div data-componizer-widget data-componizer-widget-id="22222222" data-componizer-widget-name="Bootstrap column widget" data-componizer-widget-properties='{"key": "value"}' data-componizer-widget-content-type="mixed"> <div data-componizer-widget-content> <div data-componizer-widget data-componizer-widget-id="44444444" data-componizer-widget-name="Bootstrap row widget" data-componizer-widget-properties='{"class": "col-md-6"}'
/** * Makes "display content" from the "editor content". * * @param string $editorContent * @return string */ public function makeDisplayContent($editorContent) { /** @var ContentParser $contentParser */ $contentParser = $this->componizer->resolve(ContentParser::class); return $contentParser->parseDisplayContent($editorContent); }
/** * Returns all disabled widgets. * * @return AbstractWidgetComponent[] */ public function getDisabledWidgets() { /** @var PluginManager $pluginManager */ $pluginManager = $this->componizer->resolve(PluginManager::class); return $this->findWidgetComponents($pluginManager->getDisabledPlugins()); }