X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fplugins-dist%2Fmots%2Faction%2Fediter_groupe_mots.php;fp=www%2Fplugins-dist%2Fmots%2Faction%2Fediter_groupe_mots.php;h=ebe0bd30f1828e5a93c1cbb177d96ba0e803c349;hb=a33c2ba9d919664b3bb0f565f8e9a8b9d8530cdb;hp=0000000000000000000000000000000000000000;hpb=8945248b3d948385798d9aa355c70e7089aca2b3;p=lhc%2Fweb%2Fclavette_www.git diff --git a/www/plugins-dist/mots/action/editer_groupe_mots.php b/www/plugins-dist/mots/action/editer_groupe_mots.php new file mode 100644 index 0000000..ebe0bd3 --- /dev/null +++ b/www/plugins-dist/mots/action/editer_groupe_mots.php @@ -0,0 +1,212 @@ +0) + $err = groupe_mots_modifier($id_groupe); + + return array($id_groupe,$err); +} + + +/** + * Insertion d'un groupe de mots clés + * + * @pipeline_appel pre_insertion + * @pipeline_appel post_insertion + * + * @param string $table + * Tables sur lesquels des mots de ce groupe pourront être liés + * @return int|bool + * Identifiant du nouveau groupe de mots clés. + */ +function groupe_mots_inserer($table='') { + $champs = array( + 'titre' => '', + 'unseul' => 'non', + 'obligatoire' => 'non', + 'tables_liees' => $table, + 'minirezo' => 'oui', + 'comite' => 'non', + 'forum' => 'non' + ); + + // Envoyer aux plugins + $champs = pipeline('pre_insertion', + array( + 'args' => array( + 'table' => 'spip_groupes_mots', + ), + 'data' => $champs + ) + ); + + $id_groupe = sql_insertq("spip_groupes_mots", $champs) ; + + pipeline('post_insertion', + array( + 'args' => array( + 'table' => 'spip_groupes_mots', + 'id_objet' => $id_groupe + ), + 'data' => $champs + ) + ); + + return $id_groupe; +} + + +/** + * Modifier un groupe de mot + * + * @param int $id_groupe + * Identifiant du grope de mots clés à modifier + * @param array|null $set + * Couples (colonne => valeur) de données à modifier. + * En leur absence, on cherche les données dans les champs éditables + * qui ont été postés + * @return string|null + * Chaîne vide si aucune erreur, + * Null si aucun champ à modifier, + * Chaîne contenant un texte d'erreur sinon. + */ +function groupe_mots_modifier($id_groupe, $set=null) { + $err = ''; + + include_spip('inc/modifier'); + $c = collecter_requests( + // white list + array( + 'titre', 'descriptif', 'texte', 'tables_liees', + 'obligatoire', 'unseul', + 'comite', 'forum', 'minirezo', + ), + // black list + array(), + // donnees eventuellement fournies + $set + ); + // normaliser les champ oui/non + foreach (array( + 'obligatoire', 'unseul', + 'comite', 'forum', 'minirezo' + ) as $champ) + if (isset($c[$champ])) + $c[$champ] = ($c[$champ]=='oui'?'oui':'non'); + + if (isset($c['tables_liees']) AND is_array($c['tables_liees'])) + $c['tables_liees'] = implode(',',array_diff($c['tables_liees'],array(''))); + + $err = objet_modifier_champs('groupe_mot', $id_groupe, + array( + 'nonvide' => array('titre' => _T('info_sans_titre')) + ), + $c); + + return $err; +} + +// Fonctions Dépréciées +// -------------------- + +/** + * Créer une révision sur un groupe de mot + * + * @deprecated Utiliser groupe_mots_modifier() + * @see groupe_mots_modifier() + * + * @param int $id_groupe + * Identifiant du grope de mots clés à modifier + * @param array|null $c + * Couples (colonne => valeur) de données à modifier. + * En leur absence, on cherche les données dans les champs éditables + * qui ont été postés + * @return string|null + * Chaîne vide si aucune erreur, + * Null si aucun champ à modifier, + * Chaîne contenant un texte d'erreur sinon. + */ +function revision_groupe_mot($id_groupe, $c=false) { + return groupe_mots_modifier($id_groupe,$c); +} + + +/** + * Insertion d'un groupe de mots clés + * + * @deprecated Utiliser groupe_mots_inserer() ou objet_inserer() + * @see groupe_mots_inserer() + * + * @param string $table + * Tables sur lesquels des mots de ce groupe pourront être liés + * @return int|bool + * Identifiant du nouveau groupe de mots clés. + */ +function groupemots_inserer($table='') { + return groupe_mots_inserer($table); +} + +/** + * Modifier un groupe de mot + * + * @deprecated Utiliser groupe_mots_modifier() ou objet_modifier() + * @see groupe_mots_modifier() + * + * @param int $id_groupe + * Identifiant du grope de mots clés à modifier + * @param array|null $set + * Couples (colonne => valeur) de données à modifier. + * En leur absence, on cherche les données dans les champs éditables + * qui ont été postés + * @return string|null + * Chaîne vide si aucune erreur, + * Null si aucun champ à modifier, + * Chaîne contenant un texte d'erreur sinon. + */ +function groupemots_modifier($id_groupe, $set=null) { + return groupe_mots_modifier($id_groupe, $set); +} +?>