From: dj3c1t Date: Sun, 13 Oct 2013 01:38:52 +0000 (+0200) Subject: bouton pour publier une derivation X-Git-Tag: sourceml.0.16~2 X-Git-Url: http://git.dj3c1t.com/?p=mw_sourceml;a=commitdiff_plain;h=f58d0d306acdf88245f47573bf78dc5497aa03d7 bouton pour publier une derivation --- diff --git a/app/controllers/users/morceaux.php b/app/controllers/users/morceaux.php index eb1eeff..fce394f 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, + true + ); + } + } + elseif($_POST){ if(!($groupe = $data->groupe($_POST["id_groupe"]))){ $env->erreur("Impossible de lire les informations du groupe"); return; diff --git a/app/controllers/users/pistes.php b/app/controllers/users/pistes.php index 0b2d177..c1a70df 100644 --- a/app/controllers/users/pistes.php +++ b/app/controllers/users/pistes.php @@ -150,7 +150,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)) + ){ + $piste["derivations"][$origin_source_id] = $users_sources_mod->get_source_from_xml( + $env, + $origin_source_xml_url, + $origin_source_xml_content, + true + ); + } + } + elseif($_POST){ if(!($groupe = $data->groupe($_POST["id_groupe"]))){ $env->erreur("Impossible de lire les informations du groupe"); return; diff --git a/app/data/modules/share/sml_data_sources_xml_format.php b/app/data/modules/share/sml_data_sources_xml_format.php index b087aae..1916bea 100644 --- a/app/data/modules/share/sml_data_sources_xml_format.php +++ b/app/data/modules/share/sml_data_sources_xml_format.php @@ -161,7 +161,7 @@ ); } else - { $source[$key] = $value[0]["data"]; + { if(isset($value[0]["data"])) $source[$key] = $value[0]["data"]; } } $source["auteur"] = ""; diff --git a/app/out/default/css/actions/sources.css b/app/out/default/css/actions/sources.css index a9f661d..756ef6b 100644 --- a/app/out/default/css/actions/sources.css +++ b/app/out/default/css/actions/sources.css @@ -495,3 +495,23 @@ ul#lien_contact li a .loading span{ display: none; } + +/* ----------------------------------- bouton de derivation --------- */ + +form.button_derive{ + text-align: right; +} + +form.button_derive div{ + display: inline; +} +form.button_derive div input[type=submit]{ + background-color: transparent; + color: #333333; + border: solid 1px #c0c0c0; + padding: 1em; + border-radius: 5px; +} +form.button_derive div input[type=submit]:hover{ + color: #c0c0c0; +} diff --git a/app/out/default/views/sources/morceau/view.php b/app/out/default/views/sources/morceau/view.php index cafa1cd..16c8991 100644 --- a/app/out/default/views/sources/morceau/view.php +++ b/app/out/default/views/sources/morceau/view.php @@ -71,6 +71,15 @@ ?> +action_allowed("users/morceaux/add")) : ?> +
" method="post"> + " /> +
+ +
+
+ +
diff --git a/app/out/default/views/sources/piste/view.php b/app/out/default/views/sources/piste/view.php index 09526b2..7b474a0 100644 --- a/app/out/default/views/sources/piste/view.php +++ b/app/out/default/views/sources/piste/view.php @@ -78,6 +78,15 @@ ?> +action_allowed("users/pistes/add")) : ?> +
" method="post"> + " /> +
+ +
+
+ +