Beispiel #1
0
 /**
  * @param $listeElts
  * @param $compteur
  * @param $index
  * @param $structure
  * @param EiVersionStructure $elt
  * @param string $parentId
  */
 public function evaluateStructure(&$listeElts, &$compteur, &$index, $structure, $elt)
 {
     $listeElts[$index] = array("id" => "", "lft" => $compteur++, "rgt" => 0);
     $myIndex = $index;
     $listeElts[$myIndex]["id"] = $elt->getId();
     $children = $elt->getNode()->getChildren();
     if ($children && $children->count() > 0) {
         /** @var EiVersionStructure $child */
         foreach ($children as $child) {
             if ($child->isEiBlock() || $child->isEiBlockParam()) {
                 //                    var_dump("ok");
                 $this->evaluateStructure($listeElts, $compteur, ++$index, $structure, $child);
             }
         }
     }
     $listeElts[$myIndex]["rgt"] = $compteur++;
 }
 /**
  * @param EiBlockParam[] $parametres
  */
 private function proceedStep2_2(array $parametres)
 {
     // Déclaration des variables contenant la liste des scénario structure parents manipulés et versions.
     /** @var EiVersionStructure[] $parentsVersion */
     $parentsVersion = array();
     $last = array();
     foreach ($parametres as $param) {
         // On récupère la version parente.
         /** @var EiVersionStructure $versionStrParente */
         $versionStrParente = Doctrine_Core::getTable("EiVersionStructure")->find($param["vs_id"]);
         $parentsVersion[$versionStrParente->getId()][] = $param["id"];
         // Création du paramètre.
         $paramVersion = new EiVersionStructure();
         $paramVersion->setType(EiVersionStructure::$TYPE_BLOCK_PARAM);
         $paramVersion->setEiVersionId($versionStrParente->getEiVersionId());
         $paramVersion->setEiVersionStructureParentId($versionStrParente->getId());
         $paramVersion->setName($param["name"]);
         $paramVersion->setDescription($param["description"]);
         $paramVersion->save();
         $req = "UPDATE ei_version_structure SET ei_scenario_structure_id = " . $param["id"] . " WHERE id = " . $paramVersion->getId() . ";";
         $this->connexion->execute($req);
         $this->displayResultStep("Création du paramètre " . $param["name"] . " pour la version " . $versionStrParente->getEiVersionId());
         if (count($parentsVersion[$versionStrParente->getId()]) == 1) {
             $paramVersion->getNode()->insertAsFirstChildOf($versionStrParente);
         } else {
             $paramVersion->getNode()->insertAsNextSiblingOf($last[$versionStrParente->getId()]);
         }
         $last[$versionStrParente->getId()] = $paramVersion;
     }
 }