public static function createDistantPackage(EiProjet $ei_project, $data, Doctrine_Connection $conn = null) { if ($conn == null) { $conn = Doctrine_Manager::connection(); } try { $conn->beginTransaction(); //Début de la transaction $result_file = new DOMDocument(); //Appel du webservice $result_update = MyFunction::loadResultOfWebServiceByPostJson(MyFunction::getPrefixPath(null) . "serviceweb/project/package/create.json", array('project_id' => $ei_project->getProjectId(), 'project_ref' => $ei_project->getRefId(), 'data' => $data)); //Récupération du ticket pour traitement $array_result = json_decode(html_entity_decode($result_update), true); //throw new Exception(html_entity_decode($result_update)); //Récupération du projet pour traitement if (count($array_result) == 0) { return false; } if (array_key_exists("error", $array_result)) { return false; } if (!$array_result[0]) { return false; } EiTicket::reload($array_result, $conn); $conn->commit(); return array('package_id' => $array_result[0]['t_id'], 'package_ref' => $array_result[0]['t_ref']); } catch (Exception $e) { $conn->rollback(); throw $e; return false; } }