X-Git-Url: http://git.dj3c1t.com/index.cgi?a=blobdiff_plain;f=app%2Fcontrollers%2Fusers%2Fmorceaux.php;h=9c3addae32472591604e3fac5169907a66ef0712;hb=c95fd67beff56f1c071ee59305df00b72bb95ac3;hp=eb1eeff105b4bfb937e620d776fb94f4ed36bedd;hpb=b2437852f60b76e437950c0458149d92686ee38b;p=mw_sourceml diff --git a/app/controllers/users/morceaux.php b/app/controllers/users/morceaux.php index eb1eeff..9c3adda 100644 --- a/app/controllers/users/morceaux.php +++ b/app/controllers/users/morceaux.php @@ -145,7 +145,21 @@ $upload_dir = $env->path("content")."uploads/".$this->user["id"]; $_SESSION["upload_dir"] = $web_path.($web_path ? "" : "/").$env->path("content")."uploads/".$this->user["id"]; $users_sources_mod = $env->get_controller("users/sources"); - if($_POST){ + if(isset($_POST["button_derive"])){ + if( + ($origin_source_id = $_POST["button_derive"]) + && ($origin_source_xml_url = $data->source_xml_url($origin_source_id)) + && ($origin_source_xml_content = $data->get_source_xml($origin_source_id)) + ){ + $morceau["derivations"][$origin_source_id] = $users_sources_mod->get_source_from_xml( + $env, + $origin_source_xml_url, + $origin_source_xml_content, + false + ); + } + } + elseif($_POST){ if(!($groupe = $data->groupe($_POST["id_groupe"]))){ $env->erreur("Impossible de lire les informations du groupe"); return; @@ -447,6 +461,7 @@ } function maj_xml(){ + $env = $this->env(); $data = $env->data(); if(!($morceau = $data->source($_GET[$env->param("id")], true))){ $env->erreur("Impossible de lire les informations du morceau"); @@ -458,9 +473,9 @@ return; } if - ( isset($_GET[$env->param("id")]) - && isset($_GET[$env->param("xml")]) - && ($_GET[$env->param("xml")] == "derviation" ? isset($_GET[$env->param("derivation")]) : true) + ( !isset($_GET[$env->param("id")]) + || !isset($_GET[$env->param("xml")]) + || ($_GET[$env->param("xml")] == "derviation" && !isset($_GET[$env->param("derivation")])) ){ $env->erreur("parametre de fichier xml manquant"); return;