Exemplo n.º 1
0
 public function formFrameSemanticType()
 {
     $model = new Frame($this->data->id);
     $this->data->object = $model->getData();
     $this->data->idEntity = $model->getIdEntity();
     $this->data->form = "formFrameSemanticType";
     $this->data->close = "!\$('#formFrameSemanticType_dialog').dialog('close');";
     $this->data->title = 'Frame: ' . $model->getEntry() . '  [' . $model->getName() . ']';
     $this->render();
 }
 public function createFromFrame($idFrame)
 {
     $transaction = $this->beginTransaction();
     try {
         $frame = new Frame($idFrame);
         $this->setEntry('tpl_' . strtolower(str_replace('frm_', '', $frame->getEntry())));
         $this->save();
         Base::createEntityRelation($this->getIdEntity(), 'rel_createdfrom', $frame->getIdEntity());
         $fes = $frame->listFE()->asQuery()->asObjectArray();
         $fe = new FrameElement();
         foreach ($fes as $feData) {
             $fe->setPersistent(false);
             $feEntry = $this->getEntry() . '_' . $feData->entry;
             $entry = new Entry();
             $entry->cloneEntry($feData->entry, $feEntry);
             $fe->setEntry($feData->entry);
             $entity = new Entity();
             $entity->setAlias($feEntry);
             $entity->setType('FE');
             $entity->save();
             Base::createEntityRelation($entity->getId(), 'rel_elementof', $this->getIdEntity());
             $coreType = new TypeInstance($feData->idCoreType);
             Base::createEntityRelation($entity->getId(), 'rel_hastype', $coreType->getIdEntity());
             $fe->setIdEntity($entity->getId());
             $fe->setActive(true);
             $fe->setIdColor($feData->idColor);
             $fe->saveModel();
         }
         $transaction->commit();
     } catch (\Exception $e) {
         $transaction->rollback();
         throw new \Exception($e->getMessage());
     }
 }
Exemplo n.º 3
0
 public function createNew($data, $inheritsFromBase)
 {
     $relations = $this->getRelations(true);
     $transaction = $this->beginTransaction();
     try {
         $this->save($data);
         if ($data->idTemplate) {
             if ($inheritsFromBase) {
                 $template = new Template($data->idTemplate);
                 $base = $template->getBaseFrame()->asQuery()->getResult();
                 if (count($base)) {
                     $idFrameBase = $base[0]['idFrame'];
                     $frameBase = new Frame($idFrameBase);
                     $relations = $frameBase->getRelations();
                     Base::createEntityRelation($frameBase->getIdEntity(), 'rel_inheritance', $this->getIdEntity());
                 }
             }
         }
         $transaction->commit();
         return $relations;
     } catch (\Exception $e) {
         $transaction->rollback();
         throw new \Exception($e->getMessage());
     }
 }
 public function createRelationsFromData($fe)
 {
     if ($fe->idFrame) {
         $frame = new Frame($fe->idFrame);
         Base::createEntityRelation($this->getIdEntity(), 'rel_elementof', $frame->getIdEntity());
     }
     $feRelated = new FrameElement();
     if ($fe->coreset) {
         foreach ($fe->coreset as $coreset) {
             $feRelated->getByEntry($coreset->entry);
             Base::createEntityRelation($this->getIdEntity(), 'rel_coreset', $feRelated->getIdEntity());
         }
     }
     if ($fe->excludes) {
         foreach ($fe->excludes as $excludes) {
             $feRelated->getByEntry($excludes->entry);
             Base::createEntityRelation($this->getIdEntity(), 'rel_excludes', $feRelated->getIdEntity());
         }
     }
     if ($fe->requires) {
         foreach ($fe->requires as $requires) {
             $feRelated->getByEntry($requires->entry);
             Base::createEntityRelation($this->getIdEntity(), 'rel_requires', $feRelated->getIdEntity());
         }
     }
 }