public function createCopie($new_name, $conn = null) { //Récupération de la variable de connexion pour éffectuer les transactions if ($conn == null) { $conn = Doctrine_Manager::connection(); } //Récupération du noeud associé au scénario try { $conn->beginTransaction(); $copie = new EiScenario(); $copie->setProjectId($this->getProjectId()); $copie->setProjectRef($this->getProjectRef()); $copie->setNomScenario($new_name); $copie->setNbJoue(0); $copie->setDescription($this->getDescription()); $this->createNodeCopie($copie, $conn); $this->createEiVersionsCopies($copie, $conn); $this->createProfilScenarioForClone($copie, $conn); $conn->commit(); //return $copie; } catch (Exception $e) { $conn->rollback(); throw $e; } return $copie; }