Пример #1
0
 /**
  * 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);
 }
Пример #2
0
 /**
  * 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));
 }
Пример #3
0
 /**
  * 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);
         }
     }
 }
Пример #4
0
 /**
  * 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);
 }
Пример #5
0
<?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"}'
Пример #6
0
 /**
  * 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);
 }
Пример #7
0
 /**
  * Returns all disabled widgets.
  *
  * @return AbstractWidgetComponent[]
  */
 public function getDisabledWidgets()
 {
     /** @var PluginManager $pluginManager */
     $pluginManager = $this->componizer->resolve(PluginManager::class);
     return $this->findWidgetComponents($pluginManager->getDisabledPlugins());
 }