/** * 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); }
/** * 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()); }