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 int $id_parent * inutilise, pour consistance de l'API * @param null|array $set * @return int|bool * Identifiant du nouveau groupe de mots clés. */ function groupe_mots_inserer($id_parent = null, $set = null) { // support de la signature derogatoire pour compat // groupe_mots_inserer($table='') if (is_string($id_parent) and strlen($id_parent)) { if (is_null($set)) { $set = array(); } $set['tables_liees'] = $id_parent; } $champs = array( 'titre' => '', 'unseul' => 'non', 'obligatoire' => 'non', 'tables_liees' => '', 'minirezo' => 'oui', 'comite' => 'non', 'forum' => 'non' ); if ($set) { $champs = array_merge($champs, $set); } // 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( 'data' => $set, '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 * @param null|array $set * @return int|bool * Identifiant du nouveau groupe de mots clés. */ function groupemots_inserer($table = '', $set = null) { return groupe_mots_inserer($table, $set); } /** * 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); }