lib/composer/BartBundle/src/VisualMedia/ComponentBundle/Element/widgets/PageComponent.php line 20

Open in your IDE?
  1. <?php
  2. namespace VisualMedia\ComponentBundle\Element\widgets;
  3. use VisualMedia\BartBundle\Element\Component;
  4. use VisualMedia\PageBundle\Entity\BasePage;
  5. use VisualMedia\BartBundle\Element\backend\layout\ButtonElement;
  6. use VisualMedia\ComponentBundle\Element\widgets\page\RowComponent;
  7. use VisualMedia\ComponentBundle\Element\widgets\page\ColumnComponent;
  8. use VisualMedia\BartBundle\Entity\RootEntity;
  9. use VisualMedia\ComponentBundle\Element\Element;
  10. use VisualMedia\ComponentBundle\Model\ComponentEntityModel;
  11. use VisualMedia\ComponentBundle\Element\widgets\page\HeaderComponent;
  12. use VisualMedia\ComponentBundle\Element\widgets\page\GlobalComponent;
  13. use VisualMedia\ComponentBundle\Element\widgets\page\FooterComponent;
  14. use VisualMedia\BartBundle\Controller\RootController;
  15. class PageComponent extends ComponentsComponent{
  16.     public static function createComponents($entity$componentField false){
  17.         $component = new PageComponent();
  18.         $component->setPage($entity);
  19.         if($componentField$component->componentField $componentField;
  20.         $component->id "components_".$entity->id;
  21.         $component->object $entity;
  22.         $component->entity $entity;
  23.         $components = [];
  24.         if($entity->{$component->componentField}){
  25.             $components json_decode($entity->{$component->componentField},true);
  26.             $components Element::fromArray($components);
  27.             if(!is_array($components)) $components = [$components];
  28.             $component->elements $components;
  29.         }
  30.         else{
  31.             $component->elements = [];
  32.             $entity->{$component->componentField} = json_encode($component->elements);
  33.         }
  34.         if(RootController::getSetting("componenten_use_header"))$component->getHeader();
  35.         if(RootController::getSetting("componenten_use_footer"))$component->getFooter();
  36.         return $component;
  37.     }
  38.     public function getHeader(){
  39.         $header $this->findBy("type","HeaderComponent");
  40.         if(!$header){
  41.             $header GlobalComponent::findGlobalComponentBy("name""header-default");
  42.             if($header){
  43.                 $addHeader = new HeaderComponent();
  44.                 $addHeader->loadData($header->getData());
  45.                 array_unshift($this->elements,$addHeader);
  46.             }
  47.         }
  48.         else if (isset($header->header)){
  49.             $oldId $header->id;
  50.             $header GlobalComponent::findGlobalComponentBy("name"$header->header);
  51.             $this->replaceElement($header,$oldId);
  52.             //dd($this->elements);
  53.         }
  54.     }
  55.     public function getFooter(){
  56.         $footer $this->findBy("type","FooterComponent");
  57.         if(!$footer){
  58.             $footer GlobalComponent::findGlobalComponentBy("name""footer-default");
  59.             if($footer){
  60.                 $addFooter = new FooterComponent();
  61.                 $addFooter->loadData($footer->getData());
  62.                 $this->elements[] = $addFooter;
  63.             }
  64.         }
  65.     }
  66. }
  67. ?>