Beispiel #1
0
 public function updateGadgetContainer(GadgetContainer $gadgetContainer, array $data)
 {
     $gadgets = [];
     if (array_key_exists('layout', $data)) {
         $gadgetContainer->setLayout($data['layout']);
     }
     if (array_key_exists('gadgets', $data)) {
         foreach ($data['gadgets'] as $gadget) {
             $gadgetEntity = null;
             if ($gadget['id']) {
                 $gadgetEntity = $gadgetContainer->getGadget($gadget['id']);
             }
             if (!$gadgetEntity) {
                 $gadgetEntity = new GadgetEntity($gadgetContainer, $gadget['type']);
             }
             $gadgetEntity->setColumn($gadget['column']);
             $gadgetEntity->setPosition($gadget['position']);
             $this->entityManager->persist($gadgetEntity);
             $gadgets[] = $gadgetEntity;
         }
     }
     $this->entityManager->flush();
     $result = [];
     foreach ($gadgets as $gadget) {
         $result[] = $gadget->getId()->toString();
     }
     return $result;
 }