X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Finc%2Fauteur_infos.php;fp=www%2Fecrire%2Finc%2Fauteur_infos.php;h=fe4b98b6244ded9194ba3f8ccab171b7e70619fe;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/ecrire/inc/auteur_infos.php b/www/ecrire/inc/auteur_infos.php new file mode 100644 index 0000000..fe4b98b --- /dev/null +++ b/www/ecrire/inc/auteur_infos.php @@ -0,0 +1,230 @@ +tout, "infos"=>infos simplement, "edit"=>formulaire d'edition simplement +// http://doc.spip.org/@inc_auteur_infos_dist +function inc_auteur_infos_dist($auteur, $new, $echec, $edit, $id_article, $redirect, $quoi="") { + + if (!$new AND $quoi!="edit") { + $infos = legender_auteur_voir($auteur); + } else + $infos = ''; + + $id_auteur = intval($auteur['id_auteur']); + + if ( + (!$auth = autoriser('modifier', 'auteur', $id_auteur,null)) + OR $quoi=='infos') { + if ($quoi!='edit' AND $auth){ + // Formulaire de statut + // Calculer le bloc de statut (non modifiable) + // il n'est pas possible d'avoir 2 blocs de statut modifiables dans la meme page + // car le plonguer de rubrique repose sur son unicite -> a reecrire + $instituer_auteur = charger_fonction('instituer_auteur', 'inc'); + $bloc_statut = $instituer_auteur($auteur, false); + $bloc_statut = $bloc_statut? "
$bloc_statut
":$bloc_statut.' '; + } else { + $bloc_statut = ""; + } + return $infos . $bloc_statut; + } + + + // Elaborer le formulaire + $corps = "
\n"; + + $editer = ($new=='oui'); + if ($editer&$redirect) { + $retour = rawurldecode($redirect); + } elseif ($id_auteur){ + $retour = generer_url_ecrire('auteur_infos','id_auteur='.$id_auteur, false, true); + } else { + $retour = ""; + } + + $contexte = array( + 'icone_retour'=>($retour)?icone_inline(_T('icone_retour'),$retour,"auteur-24.gif","rien.gif",$GLOBALS['spip_lang_left'],false,($editer&$redirect)?"":" onclick=\"jQuery('#auteur_infos_edit').hide();jQuery('#auteur-voir').show();return false;\""):"", + 'redirect'=>$redirect?rawurldecode($redirect):generer_url_ecrire('auteur_infos','id_auteur='.$id_auteur, '&',true), + 'titre'=>($auteur['nom']?$auteur['nom']:_T('nouvel_auteur')), + 'new'=>$new == "oui"?$new:$id_auteur, + 'config_fonc'=>'auteurs_edit_config', + 'lier_id_article' => $id_article, + 'auteur' => $auteur + ); + + $corps .= recuperer_fond("prive/editer/auteur", $contexte); + $corps .= '
'; + + // ajouter les infos, si l'on ne demande pas simplement le formulaire d'edition + if ($quoi!="edit") { + $corps = $infos . $corps; + } + + // Installer la fiche "auteur_infos_voir" + // et masquer le formulaire si on n'en a pas besoin + + if (!$new AND !$echec AND !$edit) { + $corps .= http_script("if (jQuery('#auteur_infos_edit span.erreur_message,#auteur_infos_edit .reponse_formulaire_erreur').length){jQuery('#auteur-voir').hide();}else{jQuery('#auteur_infos_edit').hide();}"); + } else { + $corps .= http_script("jQuery('#auteur-voir').hide();"); + } + + return $corps; +} + +// http://doc.spip.org/@afficher_erreurs_auteur +function afficher_erreurs_auteur($echec) { + foreach (explode('@@@',$echec) as $e) + $corps .= '

' . _T($e) . "

\n"; + + $corps = debut_cadre_relief('', true) + . "" + . http_img_pack("warning.gif", _T('info_avertissement'), "style='width: 48px; height: 48px; float: left; margin: 5px;'") + . $corps + . _T('info_recommencer') + . "\n" + . fin_cadre_relief(true); + + return $corps; +} + + +// http://doc.spip.org/@legender_auteur_saisir +// +// Apparaitre dans la liste des redacteurs connectes +// + +// http://doc.spip.org/@apparait_auteur_infos +function apparait_auteur_infos($id_auteur, $auteur) { + + if ($auteur['imessage']=="non"){ + $res = "" + . " " + . "
\n" + . " "; + } else { + $res = "" + . " " + . "
\n" + . " "; + } + + return + debut_cadre_enfonce("messagerie-24.gif", true, "", _T('info_liste_redacteurs_connectes')) + . "\n
" + . _T('texte_auteur_messagerie') + . "
" + . $res + . fin_cadre_enfonce(true) + . "
\n"; +} + + +// http://doc.spip.org/@legender_auteur_voir +function legender_auteur_voir($auteur) { + global $spip_lang_right; + $res = ""; + + $id_auteur = $auteur['id_auteur']; + + // Bouton "modifier" ? + if (autoriser('modifier', 'auteur', $id_auteur)) { + $res .= ""; + + if (_request('edit') == 'oui') { + $clic = _T('icone_retour'); + $retour = _T('admin_modifier_auteur'); + } else { + $clic = _T('admin_modifier_auteur'); + $retour = _T('icone_retour'); + } + + $h = generer_url_ecrire("auteur_infos","id_auteur=$id_auteur&edit=oui"); + $h = "$clic"; + $res .= icone_inline($clic, $h, "redacteurs-24.gif", "edit.gif", $spip_lang_right); + + $res .= http_script(" + var intitule_bouton = "._q($retour)."; + jQuery('#bouton_modifier_auteur a') + .click(function() { + jQuery('#auteur_infos_edit') + .toggle(); + jQuery('#auteur-voir') + .toggle(); + return false; + });"); + $res .= "\n"; + } + + $res .= gros_titre( + sinon($auteur['nom'],_T('item_nouvel_auteur')), + '',false); + + $res .= "
"; + + $contenu_auteur = ""; + if (strlen($auteur['email'])) + $contenu_auteur .= "
"._T('email_2') + ." " + .$auteur['email']."
"; + // message d'information d'envoi d'email pour modif et de confirmation + // on ne fait ici qu'informer, sans aucune action + if ($email = _request('email_confirm')){ + $contenu_auteur .= "

"._T('form_auteur_envoi_mail_confirmation',array('email'=>$email))."

"; + } + elseif (_request('email_modif')==='ok'){ + $contenu_auteur .= "

"._T('form_auteur_email_modifie')."

"; + } + + if ($auteur['url_site']) { + if (!$auteur['nom_site']) + $auteur['nom_site'] = _T('info_site'); + $contenu_auteur .= propre(_T('info_site_2')." [{{".$auteur['nom_site']."}}->".$auteur['url_site']."]"); + } + + if (strlen($auteur['bio'])) { + $contenu_auteur .= propre("".$auteur['bio'].""); + } + + if (strlen($auteur['pgp'])) { + $contenu_auteur .= propre("PGP: ".$auteur['pgp'].""); + } + + $contexte = array('id'=>$id_auteur); + // permettre aux plugin de faire des modifs ou des ajouts + $contenu_auteur = pipeline('afficher_contenu_objet', + array( + 'args'=>array( + 'type'=>'auteur', + 'id_objet'=>$id_auteur, + 'contexte'=>$contexte + ), + 'data'=> $contenu_auteur + ) + ); + + $res .= "
$contenu_auteur
\n"; + + return $res; + +} + +?>