X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Faction%2Fediter_auteurs.php;fp=www%2Fecrire%2Faction%2Fediter_auteurs.php;h=2ab21fb91aff8ea941ceb13ec1a6de42ab1b8001;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/ecrire/action/editer_auteurs.php b/www/ecrire/action/editer_auteurs.php new file mode 100644 index 0000000..2ab21fb --- /dev/null +++ b/www/ecrire/action/editer_auteurs.php @@ -0,0 +1,133 @@ + 16) + redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=-1" . $ancre); + elseif (!$n) + # Recherche vide (mais faite). Le signaler + redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" . $ancre); + else + # renvoyer un formulaire de choix + redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" . join(',',$res) . $ancre); + + } else { + include_spip('inc/actions'); + ajax_retour("action_editer_auteur: $arg faux");exit; + } + } else spip_log("action_editer_auteur: $arg pas compris"); +} + +// http://doc.spip.org/@supprimer_auteur_et_rediriger +function supprimer_auteur_et_rediriger($type, $id, $id_auteur, $redirect) +{ + $jointure = table_jointure('auteur', $type); + if (preg_match(',^[a-z]*$,',$type)){ + sql_delete("spip_{$jointure}", "id_auteur=".sql_quote($id_auteur)." AND id_{$type}=".sql_quote($id)); + + // Notifications, gestion des revisions, reindexation... + pipeline('post_edition', + array( + 'args' => array( + 'operation' => 'supprimer_auteur', + 'table' => table_objet_sql($type), + 'id_objet' => $id + ), + 'data' => null + ) + ); + } + + if ($redirect) redirige_par_entete($redirect); +} + +// http://doc.spip.org/@ajouter_auteur_et_rediriger +function ajouter_auteur_et_rediriger($type, $id, $id_auteur, $redirect) +{ + $jointure = table_jointure('auteur', $type); + if (preg_match(',^[a-z]*$,',$type)){ + $res = sql_fetsel("id_$type", "spip_{$jointure}", "id_auteur=" . sql_quote($id_auteur) . " AND id_{$type}=" . $id); + if (!$res) { + sql_insertq("spip_{$jointure}", + array('id_auteur' => $id_auteur, + "id_$type" => $id)); + } + // Notifications, gestion des revisions, reindexation... + pipeline('post_edition', + array( + 'args' => array( + 'operation' => 'ajouter_auteur', + 'table' => table_objet_sql($type), + 'id_objet' => $id + ), + 'data' => null + ) + ); + } + + if ($redirect) redirige_par_entete($redirect); +} + +// http://doc.spip.org/@rechercher_auteurs +function rechercher_auteurs($cherche_auteur) +{ + include_spip('inc/mots'); + include_spip('inc/charsets'); // pour tranlitteration + $result = sql_select("id_auteur, nom", "spip_auteurs"); + $table_auteurs = array(); + $table_ids = array(); + while ($row = sql_fetch($result)) { + $table_auteurs[] = $row["nom"]; + $table_ids[] = $row["id_auteur"]; + } + return mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids); +} + +?>