X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fexec%2Fauteur_infos.php;fp=www%2Fecrire%2Fexec%2Fauteur_infos.php;h=dcc677bdef6d9fb9ef55af3d5a8c86829b5f01a9;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c
diff --git a/www/ecrire/exec/auteur_infos.php b/www/ecrire/exec/auteur_infos.php
new file mode 100644
index 0000000..dcc677b
--- /dev/null
+++ b/www/ecrire/exec/auteur_infos.php
@@ -0,0 +1,180 @@
+ array(
+ 'exec'=> 'auteur_infos',
+ 'id_auteur'=>$id_auteur),
+ 'data'=>''
+ )
+ );
+
+ if ($id_auteur) {
+ $auteur = sql_fetsel("*", "spip_auteurs", "id_auteur=$id_auteur");
+
+ } else {
+ $auteur = array();
+ if (strlen(_request('nom')))
+ $auteur['nom'] = $nom;
+ }
+
+ if (!$auteur AND !$new AND !$echec) {
+ include_spip('inc/minipres');
+ echo minipres(_T('public:aucun_auteur'));
+ } else {
+ $commencer_page = charger_fonction('commencer_page', 'inc');
+ if ($connect_id_auteur == $id_auteur) {
+ echo $commencer_page($auteur['nom'], "auteurs", "perso");
+ } else {
+ echo $commencer_page($auteur['nom'],"auteurs","redacteurs");
+ }
+ echo "
";
+ echo debut_gauche('', true);
+ auteur_infos_ok($auteur, $id_auteur, $echec, $new, $redirect);
+ if($id_auteur > 0)
+ echo auteurs_interventions($auteur);
+ echo fin_gauche(), fin_page();
+ }
+}
+
+// http://doc.spip.org/@auteur_infos_ok
+function auteur_infos_ok($auteur, $id_auteur, $echec, $new, $redirect)
+{
+ $auteur_infos = charger_fonction('auteur_infos', 'inc');
+ $fiche = $auteur_infos($auteur, $new, $echec, _request('edit'), intval(_request('lier_id_article')), $redirect, 'infos');
+ if ($fiche)
+ $form_auteur = $auteur_infos($auteur, $new, $echec, _request('edit'), intval(_request('lier_id_article')), $redirect, 'edit');
+ else $form_auteur = '';
+
+ echo cadre_auteur_infos($id_auteur, $auteur);
+
+ // Interface de logo
+ $iconifier = charger_fonction('iconifier', 'inc');
+
+ if ($id_auteur > 0)
+ echo $iconifier('id_auteur', $id_auteur, 'auteur_infos', false, autoriser('modifier', 'auteur', $id_auteur));
+ // nouvel auteur : le hack classique
+ else if ($fiche)
+ echo $iconifier('id_auteur',
+ 0 - $GLOBALS['visiteur_session']['id_auteur'],
+ 'auteur_infos');
+
+ echo pipeline('affiche_gauche',
+ array('args' => array (
+ 'exec'=>'auteur_infos',
+ 'id_auteur'=>$id_auteur),
+ 'data'=>'')
+ );
+
+ echo creer_colonne_droite('', true);
+ echo pipeline('affiche_droite',
+ array('args' => array(
+ 'exec'=>'auteur_infos',
+ 'id_auteur'=>$id_auteur),
+ 'data'=>'')
+ );
+ echo debut_droite('', true);
+
+ echo debut_cadre_relief("redacteurs-24.gif", true,'','','auteur-voir');
+
+ // $fiche est vide si on demande par exemple
+ // a creer un auteur alors que c'est interdit
+ if ($fiche) {
+ echo $fiche;
+ } else {
+ echo gros_titre(_T('info_acces_interdit'),'', false);
+ }
+ echo pipeline('affiche_milieu',
+ array('args' => array(
+ 'exec'=>'auteur_infos',
+ 'id_auteur'=>$id_auteur),
+ 'data'=>''));
+
+ echo fin_cadre_relief(true);
+
+ // afficher le formulaire d'edition apres le cadre d'info
+ // pour pouvoir afficher soit les infos,
+ // soit ce formulaire (qui a deja son cadre)
+ echo $form_auteur;
+}
+
+// http://doc.spip.org/@cadre_auteur_infos
+function cadre_auteur_infos($id_auteur, $auteur)
+{
+ $boite = pipeline ('boite_infos', array('data' => '',
+ 'args' => array(
+ 'type'=>'auteur',
+ 'id' => $id_auteur,
+ 'row' => $auteur
+ )
+ ));
+
+ if ($boite)
+ return debut_boite_info(true) . $boite . fin_boite_info(true);
+}
+
+
+// http://doc.spip.org/@auteurs_interventions
+function auteurs_interventions($auteur) {
+ $id_auteur = intval($auteur['id_auteur']);
+ $statut = $auteur['statut'];
+
+ global $connect_id_auteur;
+
+ include_spip('inc/message_select');
+
+ if (autoriser('voir', 'article')) $aff_art = array('prepa','prop','publie','refuse');
+ else if ($connect_id_auteur == $id_auteur) $aff_art = array('prepa','prop','publie');
+ else $aff_art = array('prop','publie');
+ $aff_art = sql_in('articles.statut', $aff_art);
+ echo afficher_objets('article',_T('info_articles_auteur'), array('FROM' => "spip_articles AS articles LEFT JOIN spip_auteurs_articles AS lien ON lien.id_article=articles.id_article ", "WHERE" => "lien.id_auteur=$id_auteur AND $aff_art", 'ORDER BY' => "articles.date DESC"));
+
+ // Messages de l'auteur et discussions en cours
+ if ($GLOBALS['meta']['messagerie_agenda'] != 'non'
+ AND $id_auteur != $connect_id_auteur
+ AND autoriser('ecrire', '', '', $auteur)
+ ) {
+ echo "