information de version
[mw_sourceml] / app / controllers / users / pistes.php
index 60fc50b..eeab45b 100644 (file)
       $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,
+            false
+          );
+        }
+      }
+      elseif($_POST){
         if(!($groupe = $data->groupe($_POST["id_groupe"]))){
           $env->erreur("Impossible de lire les informations du groupe");
           return;
           );
           $source_infos["date_creation"] = $_POST["annee_date_creation"]."-".$_POST["mois_date_creation"]."-".$_POST["jour_date_creation"];
           $source_infos["description"] = $_POST["description"];
+          $piste["description"] = $source_infos["description"];
+          $piste["date_creation"] = $source_infos["date_creation"];
           foreach($_POST as $post_key => $post_value){
             if(substr($post_key, 0, 13) == "document_nom_"){
               if($id_document = substr($post_key, 13)){
       }
       if($compositions) foreach($compositions[$piste["id"]] as $id_morceau) { $piste["morceau"] = $id_morceau; break; }
       if($_POST){
+        $permissions = $piste["permissions"];
+        $image = isset($piste["image"]) ? $piste["image"] : null;
+        $image_uri = isset($piste["image_uri"]) ? $piste["image_uri"] : null;
         $source_infos = array(
           "date_inscription" => $_POST["date_inscription"],
           "ordre" => isset($piste["ordre"]) ? $piste["ordre"] : 0
             "image" => isset($piste["image"]) ? $piste["image"] : ""
           )
         );
+        $piste["permissions"] = $permissions;
+        $piste["date_creation"] = $_POST["annee_date_creation"]."-".$_POST["mois_date_creation"]."-".$_POST["jour_date_creation"];
+        $piste["image"] = $image;
+        $piste["image_uri"] = $image_uri;
         $users_sources_mod = $env->get_controller("users/sources");
         if($_POST["morceau"]){
           if($morceau = $data->source($_POST["morceau"], true)){
           );
           $source_infos["date_creation"] = $_POST["annee_date_creation"]."-".$_POST["mois_date_creation"]."-".$_POST["jour_date_creation"];
           $source_infos["description"] = $_POST["description"];
+          $piste["description"] = $source_infos["description"];
           foreach($_POST as $post_key => $post_value){
             if(substr($post_key, 0, 13) == "document_nom_"){
               if($id_document = substr($post_key, 13)){
     }
 
     function maj_xml(){
+      $env = $this->env();
       $data = $env->data();
       if(!($piste = $data->source($_GET[$env->param("id")], true))){
         $env->erreur("Impossible de lire les informations de la piste");
         $env->erreur("vous n'avez pas la permission d'editer cette piste");
         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;
       );
     }
 
+    function groupes(){
+      $env = $this->env();
+      if(
+            !($sources_invitations_controller = $env->get_controller("users/sources_invitations"))
+        ||  !$sources_invitations_controller->validate()
+      ){
+        $env->erreur("impossible de valider le controleur users/sources_invitations");
+        return;
+      }
+      $sources_invitations_controller->source_groupes();
+    }
+
   }
 
 ?>
\ No newline at end of file