case BAZ_LISTE_RSS: $output .= baz_liste_rss(); break; case BAZ_VOIR_FLUX_RSS: exit(baz_afficher_flux_rss()); break; } } else { $output .= baz_liste_rss(); } break; case BAZ_VOIR_SAISIR: if (isset($_GET[BAZ_VARIABLE_ACTION])) { switch ($_GET[BAZ_VARIABLE_ACTION]) { case BAZ_ACTION_SUPPRESSION: $output .= baz_suppression($_GET['id_fiche']); break; case BAZ_ACTION_PUBLIER: $output .= publier_fiche(1) . baz_voir_fiche(1, $GLOBALS['_BAZAR_']['id_fiche']); break; case BAZ_ACTION_PAS_PUBLIER: $output .= publier_fiche(0) . baz_voir_fiche(1, $GLOBALS['_BAZAR_']['id_fiche']); break; default: $output .= baz_formulaire($_GET[BAZ_VARIABLE_ACTION]); break; } } else { $_GET[BAZ_VARIABLE_ACTION] = BAZ_CHOISIR_TYPE_FICHE; $output .= baz_formulaire($_GET[BAZ_VARIABLE_ACTION]); }
/** baz_gestion_formulaire() affiche le listing des formulaires et permet de les modifier * * @return string le code HTML */ function baz_gestion_formulaire() { $res = ''; //titre if ($GLOBALS['_BAZAR_']['affiche_menu'] == "0") { $res .= '<h2 class="titre_gestion_formulaire">' . BAZ_GESTION_FORMULAIRE . '</h2>' . "\n"; } // il y a un formulaire a modifier if (isset($_GET['action_formulaire']) && $_GET['action_formulaire'] == 'modif') { //on verifie que la page en question est bien une PageWiki de type formulaire if ($GLOBALS['wiki']->GetTripleValue($_GET['idformulaire'], 'http://outils-reseaux.org/_vocabulary/type', '', '') == 'formulaire') { $valjson = $GLOBALS['wiki']->LoadPage($_GET['idformulaire']); $valeurs_formulaire = json_decode($valjson["body"], true); $valeurs_formulaire = array_map("utf8_decode", $valeurs_formulaire); $res .= baz_formulaire_des_formulaires('modif_v', $valeurs_formulaire); } else { return '<div class="error_box">' . BAZ_PAGEWIKI_PAS_FORMULAIRE . '</div>'; } //il y a un nouveau formulaire a saisir } elseif (isset($_GET['action_formulaire']) && $_GET['action_formulaire'] == 'new') { $res .= baz_formulaire_des_formulaires('new_v'); //il y a des donnees pour ajouter un nouveau formulaire } elseif (isset($_GET['action_formulaire']) && $_GET['action_formulaire'] == 'new_v') { unset($_POST["valider"]); //on genere un NomWiki a partir du titre du formulaire $nomwikiformulaire = genere_nom_wiki('Formulaire ' . $_POST["bn_label_nature"]); //on encode en utf-8 pour reussir a encoder en json $valeurs_formulaire = array_map("utf8_encode", $_POST); //on sauve les valeurs du formulaire dans une PageWiki, pour garder l'historique $GLOBALS["wiki"]->SavePage($nomwikiformulaire, json_encode($valeurs_formulaire)); //on cree un triple pour specifier que la PageWiki creee est un formulaire $GLOBALS["wiki"]->InsertTriple($nomwikiformulaire, 'http://outils-reseaux.org/_vocabulary/type', 'formulaire', '', ''); $res .= '<div class="info_box">' . BAZ_NOUVEAU_FORMULAIRE_ENREGISTRE . '</div>' . "\n"; //il y a des donnees pour modifier un formulaire } elseif (isset($_GET['action_formulaire']) && $_GET['action_formulaire'] == 'modif_v' && baz_a_le_droit('saisie_formulaire')) { unset($_POST["valider"]); //on encode en utf-8 pour reussir a encoder en json $valeurs_formulaire = array_map("utf8_encode", $_POST); //on sauve les valeurs du formulaire dans une PageWiki, pour garder l'historique $GLOBALS["wiki"]->SavePage($_POST['idformulaire'], json_encode($valeurs_formulaire)); $res .= '<div class="info_box">' . BAZ_FORMULAIRE_MODIFIE . '</div>' . "\n"; // il y a un id de formulaire a supprimer } elseif (isset($_GET['action_formulaire']) && $_GET['action_formulaire'] == 'delete' && baz_a_le_droit('saisie_formulaire')) { //suppression de la PageWiki du formulaire et de son triple associe $GLOBALS["wiki"]->DeleteOrphanedPage($_GET['idformulaire']); $GLOBALS["wiki"]->DeleteTriple($_GET['idformulaire'], 'http://outils-reseaux.org/_vocabulary/type', NULL, '', ''); //suppression des fiches associees au formulaire $tab_fiches_a_supprimer = baz_requete_recherche_fiches('', '', $_GET['idformulaire'], '', 1, '', ''); foreach ($tab_fiches_a_supprimer as $fiche) { $valeurs_fiche = json_decode($fiche[0], true); baz_suppression($valeurs_fiche['id_fiche']); } $res .= '<div class="info_box">' . BAZ_FORMULAIRE_ET_FICHES_SUPPRIMES . '</div>' . "\n"; } // affichage de la liste des templates a modifier ou supprimer (on l'affiche dans tous les cas, sauf cas de modif de formulaire) if (!isset($_GET['action_formulaire']) || $_GET['action_formulaire'] != 'modif' && $_GET['action_formulaire'] != 'new') { $tab_formulaires = baz_valeurs_tous_les_formulaires($GLOBALS['_BAZAR_']['categorie_nature']); if (count($tab_formulaires) > 0) { $res .= '<div class="info_box">' . BAZ_INTRO_MODIFIER_FORMULAIRE . '</div>' . "\n"; $liste = ''; $type_formulaire = ''; foreach ($tab_formulaires as $type_fiche => $formulaire) { $res .= '<h3 class="titre_categorie_fiche">' . $type_fiche . '</h3>' . "\n"; $res .= '<ul class="BAZ_liste">' . "\n"; foreach ($formulaire as $nomwiki => $ligne) { $lien_formulaire = $GLOBALS['wiki']->href('', $GLOBALS['wiki']->GetPageTag(), BAZ_VARIABLE_VOIR . '=' . BAZ_VOIR_FORMULAIRE . '&idformulaire=' . $nomwiki); $res .= '<li>' . "\n"; if (baz_a_le_droit('saisie_formulaire')) { $res .= '<a class="BAZ_lien_supprimer" href="' . $lien_formulaire . '&action_formulaire=delete" onclick="javascript:return confirm(\'' . BAZ_CONFIRM_SUPPRIMER_FORMULAIRE . ' ?\');"></a>' . "\n"; } if (baz_a_le_droit('saisie_formulaire')) { $res .= '<a class="BAZ_lien_modifier" href="' . $lien_formulaire . '&action_formulaire=modif">' . $ligne['bn_label_nature'] . '</a>' . "\n"; } else { $res .= $ligne['bn_label_nature'] . "\n"; } $res .= '</li>' . "\n"; } $res .= '</ul>' . "\n"; } } else { $res .= '<div class="info_box">' . BAZ_PAS_DE_FORMULAIRES_TROUVES . '</div>' . "\n"; } //ajout du lien pour creer un nouveau formulaire if (baz_a_le_droit('saisie_formulaire')) { $res .= '<a class="BAZ_lien_nouveau" href="' . $GLOBALS['wiki']->href('', $GLOBALS['wiki']->GetPageTag(), BAZ_VARIABLE_VOIR . '=' . BAZ_VOIR_FORMULAIRE . '&action_formulaire=new') . '">' . BAZ_NOUVEAU_FORMULAIRE . '</a>' . "\n"; } } return $res; }
switch ($GLOBALS['params']['action']) { case BAZ_LISTE_RSS: $output .= baz_liste_rss(); break; case BAZ_VOIR_FLUX_RSS: exit(baz_afficher_flux_rss()); break; default: $output .= baz_liste_rss(); break; } break; case BAZ_VOIR_SAISIR: switch ($GLOBALS['params']['action']) { case BAZ_ACTION_SUPPRESSION: $output .= baz_suppression($_REQUEST['id_fiche']); break; case BAZ_ACTION_PUBLIER: $output .= publier_fiche(1) . baz_voir_fiche(1, $_REQUEST['id_fiche']); break; case BAZ_ACTION_PAS_PUBLIER: $output .= publier_fiche(0) . baz_voir_fiche(1, $_REQUEST['id_fiche']); break; case BAZ_ACTION_NOUVEAU: // Affichage du formulaire du saisie d'une' fiche $output .= baz_formulaire(BAZ_ACTION_NOUVEAU); break; case BAZ_ACTION_MODIFIER: // Affichage du formulaire de modification d'une fiche $output .= baz_formulaire(BAZ_ACTION_MODIFIER); break;