The Higher Education and Research forge

Home My Page Projects Code Snippets Project Openings MonLabo
Summary Activity Tracker Tasks Docs SCM Files Dokuwiki Continious Integration Listes Sympa

SCM Repository

1 <?php
3 // MySQL host name, user name, password, database, and table
4 defined( 'ABSPATH' ) or die( 'No direct script access allowed' );
5 require_once( dirname( __FILE__ ) . '/MonLabo-admin.php' );
7 //--------------------------------------------------------------------------------
8 // Génère le formulaire d'édition de personnes
9 //--------------------------------------------------------------------------------
10 function edit_members_form() {
11         /*echo( '<pre>' );
12         var_dump( $_POST );
13         var_dump( $_GET );
14         echo( '</pre>' );*/
15         require_once( dirname( __FILE__ ) . '/includes/inc-lib-forms.php' );
16         $retval='';
17         $MonLabo_access_data = New MonLabo_access_data();
18         $options0 = get_option( 'MonLabo_settings_group0' );
19         $options2 = get_option( 'MonLabo_settings_group2' );
21         list( $retval, $member_id, $page_id_if_created )=form_edit_member_processing();
23         $myurl = admin_url( 'admin.php?page=MonLabo_edit_members_and_groups&tab=tab_one' );
25         $members_name_actif = $MonLabo_access_data->get_persons_name( $status='actif' );
26         $members_name_alumni = $MonLabo_access_data->get_persons_name( $status='alumni' );
27         if ( !empty( $members_name_actif ) )  { asort( $members_name_actif, SORT_STRING ); }
28         if ( !empty( $members_name_alumni ) ) { asort( $members_name_alumni, SORT_STRING ); }
30         //Get member infomation. If invalid of new, return an empty object
31         if ( !empty( $member_id ) ) {
32                 $member_information = $MonLabo_access_data->get_person_information( $member_id );
33                 //If invalid ID
34                 if ( NULL === $member_information ) {
35                         $member_id = 0;
36                 }
37         }
38         if ( empty( $member_id ) ) {
39                 $member_information = (object) Array( 'wp_post_id'=>'', 'title'=>'', 'first_name'=>'', 'last_name'=>''
40                                 , 'category'=>'', 'function_en'=>'', 'function_fr'=>'', 'id'=>0
41                                 , 'date_departure'=>'', 'mail'=>'', 'room'=>'', 'external_url'=>''
42                                 , 'phone'=>'', 'address_alt'=>'', 'descartes_publi_author_id'=>'', 'hal_publi_author_id'=>''
43                                 , 'uid_ENT_parisdescartes'=>'', 'status'=>'', 'visible'=>''
44                                 , 'custom1'=>'', 'custom2'=>'', 'custom3'=>'', 'custom4'=>'', 'custom5'=>''
45                                 , 'custom6'=>'', 'custom7'=>'', 'custom8'=>'', 'custom9'=>'', 'custom10'=>'' );
46                 $member_id = 0;
47         }
48         $nouveau_membre_string='&mdash; '.__( 'Nouveau membre', 'mon-laboratoire' ).' &mdash;';
49         if ( is_array( $members_name_actif ) && array_key_exists( $member_id, $members_name_actif ) ) {
50                 $valeur_initiale = $members_name_actif[$member_id];
51         } elseif ( is_array( $members_name_alumni ) && array_key_exists( $member_id, $members_name_alumni ) ) {
52                 $valeur_initiale = $members_name_alumni[$member_id];
53         } else {
54                 $valeur_initiale = $nouveau_membre_string;
55         }
57         // formulaire choix du membre à éditer
58         $name = 'item';
59         $values = Array( '0' => $nouveau_membre_string, 'Actifs' => $members_name_actif , 'Alumni' => $members_name_alumni );
60         $isMandatory = false;
61         $legend = __( 'Membre', 'mon-laboratoire' );
62         $description = '';
63         $onchange = 'changeMember(this.value)';
64         $retval .= '  <form class="navbar-form" id="choix_membre" method="post" action="'.$myurl.'">
65             <div class="form-group">';
67         $retval .= '<fieldset><legend>'.__( 'Sélection :', 'mon-laboratoire' ).'</legend>';
68         $retval .= generate_champ_formulaire_select( $name, $values, $isMandatory, $legend, $description, $valeur_initiale, $onchange );
69         $retval .= '</fieldset></div>';
70         $retval .= '</form>';
71         $retval .= '<hr />';
73         // formulaire d'édition du membre
74         $retval .= '  <form class="navbar-form" id="form_edit_member" accept-charset="utf-8" method="post"
75             enctype="multipart/form-data" action="'.$myurl.'&submit_item='.$member_id.'">
76             <div class="form-group">';
78         // Identité
79         //---------
80         $retval .= '<fieldset class="alignleft"><legend>'.__( "Identité :", 'mon-laboratoire' ).'</legend>';
81         $retval .= '<input type="hidden" name="submit_id" value="'.$member_id.'" />';
82         $retval .= '<input type="hidden" name="action" id="action" value="" />';
83         if ( 0 != $member_id ) {
84                 $retval .= 'Id : '.$member_information->id.'<br />';
85         }
86         $retval .= generate_champ_formulaire_select( 'title', Array( ''=>'&nbsp;', 'Pr.'=>'Pr.', 'Dr.'=>'Dr.' ), false, _x( 'Titre', 'titre honnorifique', 'mon-laboratoire' )
87                 , get_MonLabo_Members_fields_comments( 'title' )
88                 , $member_information->title ) ;
89         $retval .= generate_champ_formulaire_pub( 'first_name', true, _x( 'Prénom', 'personne', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'first_name' ),
90                 $member_information->first_name );
91         $retval .= generate_champ_formulaire_pub( 'last_name', true, _x( 'Nom', 'personne', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'last_name' ),
92                 $member_information->last_name );
94         // Page WordPress
95         //---------------
96         if ( 0 != $member_id ) {
97                 $retval .= '<br />';
98                 if ( ( array_key_exists( 'MonLabo_perso_page_parent', $options2 ) ) && ( !empty( $options2['MonLabo_perso_page_parent'] ) ) ) {
99                   $wp_post_id_edited='';
100                   if ( !is_numeric( $member_information->wp_post_id ) ) {
101                           //Si wp_post_id a été édité
102                           $wp_post_id_edited=$member_information->wp_post_id;
103                           $member_information->wp_post_id=0;
104                   }
105                   $retval .= generate_champ_formulaire_select_page( 'wp_post_id', true, __( 'Page WordPress', 'mon-laboratoire' ), '', $member_information->wp_post_id, $options2['MonLabo_perso_page_parent'] );
106                   $retval.= '<input id="edition_wp_post_id" class="button" value="'.__( "Éditer l&apos;adresse de la page", 'mon-laboratoire' ).'" onclick="displaysEditPageAddress();" type="button" />';
107                   $retval.= '<div id="edit-wp-post-id-field"> ';
108                   $retval .= generate_champ_formulaire_pub( "edition_wp_post_id", false, __( "Adresse spécifique.", 'mon-laboratoire' ) , __( "URL au format http://... ou https://... Plusieurs adresses peuvent être entrées en les séparant par une virgule.", 'mon-laboratoire' ), $wp_post_id_edited );
109                   $retval .= generate_champ_formulaire_pub( "alternate_image", false, __( "URL de l&apos;image de la page", 'mon-laboratoire' ) , " ", $member_information->alternate_image );
110                   $retval .= '<input type="hidden" id="wp_post_id_post_link" value="'.get_permalink( $member_information->wp_post_id ).'" />';
111                   $retval .= '<input type="hidden" id="wp_post_id_edited" value="'.$wp_post_id_edited.'" />';
112                   $retval.= '</div>';
113                   //
114                 } else {
115                   $retval .= MonLabo_admin::error_MonLabo_perso_page_bad_parent();
116                 }
117         }
118         $retval .= '</fieldset>';
120         //photo
121         //-----
122         $retval .= '<div class="alignleft" id="delayedLoadDivThumbnail"><!-- Nous allons afficher ici la suite en asynchone grâce à ajax. --></div>';
124         // Propriété
125         //---------
126         $retval .= '<fieldset class="clear"><legend>'.__( 'Propriétés :', 'mon-laboratoire' ).'</legend>';
128         //Dans le cas où il n'y a qu'une unité, configurer si la personne en est ou pas le directeur
129         if ( empty( $options0['MonLabo_uses_unites'] ) ) {
130                 $valueDirector=__( '(co)directeur ou (co)directrice de l&apos;unité', 'mon-laboratoire' );
131                 $directors_of_default_unit=$MonLabo_access_data->get_directors_id_for_an_unit( MAIN_STRUCT_NO_UNIT, $status='all' );
132                 if ( !empty( $directors_of_default_unit ) and ( in_array( $member_id, $directors_of_default_unit ) ) ) {
133                         $valeur_initiale_check_director=Array( '0'=>$valueDirector );
134                         //$valeur_initiale_check_director=$valueDirector;
135                 } else {
136                         $valeur_initiale_check_director=null;
137                 }
138                 $retval .= generate_champ_formulaire_checkboxes( 'is_director', $values=Array( 0=>$valueDirector ), true, __( 'Direction ?', 'mon-laboratoire' ), '', $valeur_initiale_check_director );
139         }
141         $retval .= '<br />';
142         $functions_by_category=$MonLabo_access_data->get_multilingual_functions_by_category();
144         $member_information->category=mb_strtolower( $member_information->category, 'UTF-8' ); //On converti la catégorie en minuscule ( pour une compatibilité avec les anciennes versions de MonLabo )
145         $retval .= generate_champ_formulaire_select( 'category', get_MonLabo_persons_categories(), false, _x( 'Catégorie et fonction', 'personne', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'category' ),
146                                                                                                 $member_information->category );
147         $onchange = 'touchPersonFunction()';
148         $retval .= generate_champ_formulaire_select( 'fonction', $functions_by_category, false, '', get_MonLabo_Members_fields_comments( 'fonction' ),
149                                                                                                 $member_information->function_en.' | '.$member_information->function_fr, $onchange );
150         $retval.= '<input id="edition_fonctions_button" class="button" value="'.__( 'Éditer / Nouveau', 'mon-laboratoire' ).'" onclick="displaysEditFunctionsFields();" type="button">';
151         $retval .= '<br /><div id="edit-functions-fields">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
152         $retval .= generate_champ_formulaire_pub( 'function_en', true, _x( 'Nouvelle fonction (anglais)', 'personne', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'function_en' ),
153                                                                                         $member_information->function_en );
154         $retval .= generate_champ_formulaire_pub( 'function_fr', true, _x( 'Nouvelle fonction (français)', 'personne', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'function_fr' ),
155                                                                                         $member_information->function_fr );
156         $retval .= '<br /></div>';
157         $all_teams_name = $MonLabo_access_data->get_teams_name( 'fr' );
158         if ( 0 != $member_id ) {
159                 $teams_name = $MonLabo_access_data->get_teams_name_for_a_person( $member_information->id, 'fr' );
160         } else {
161                 $teams_name = Array();
162         }
163         $retval .= generate_champ_formulaire_checkboxes( 'teams', $all_teams_name, true, __( 'Équipes', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'teams' ),
164         $teams_name );
165         $retval .= '<br />';
166         //choix des tuteurs
167         if ( 0 != $member_id ) {
168                 $mentors_name = $MonLabo_access_data->get_mentors_name_for_a_person( $member_information->id, $status='all' );
169         } else {
170                 $mentors_name = Array();
171         }
172         unset( $members_name_actif[$member_information->id] );  // on ne peut pas être tuteur de soi-même
173         unset( $members_name_alumni[$member_information->id] ); // même si on est alumni
174         $values = Array( 'Actifs' => $members_name_actif , 'Alumni' => $members_name_alumni );
175         $retval .= generate_champ_formulaire_select_multiple( 'mentors', $values, false, __( 'Tuteur(s)', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'mentors' ),
176                 $mentors_name );
177         //choix des étudiants
178         if ( 0 != $member_id ) {
179                 $students_name = $MonLabo_access_data->get_students_name_for_a_person( $member_information->id, $status='all' );
180         } else {
181                 $students_name = Array();
182         }
183         unset( $members_name_actif[$member_information->id] ); // on ne peut pas être étudiant de soi-même
184         unset( $members_name_alumni[$member_information->id] ); // même si on est alumni
185         $values = Array( 'Actifs' => $members_name_actif , 'Alumni' => $members_name_alumni );
186         $retval .= generate_champ_formulaire_select_multiple( 'students', $values, false, __( 'Etudiant(s)', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'students' ),
187                 $students_name );
190         // Coordonnées
191         //------------
192         $retval .= '</fieldset><fieldset><legend>'._x( 'Coordonnées :', 'personne', 'mon-laboratoire' ).'</legend>';
193         $retval .= generate_champ_formulaire_pub( 'mail', false, __( 'E-mail', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'mail' ),
194                 $member_information->mail );
195         $retval .= generate_champ_formulaire_pub( 'room', false, __( 'N° de porte', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'room' ),
196                 $member_information->room );
197         $retval .= generate_champ_formulaire_pub( 'external_url', false, __( 'Site perso ext.', 'mon-laboratoire' ) , get_MonLabo_Members_fields_comments( 'external_url' ),
198                 $member_information->external_url );
199         $retval .= generate_champ_formulaire_pub( 'phone', false, __( 'Poste téléphonique', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'phone' ),
200                 $member_information->phone );
201         $retval .= '<br />';
202         $retval .= generate_champ_formulaire_pub( 'address_alt', false, __( 'Adresse alternative', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'address_alt' ),
203                 $member_information->address_alt );
205         // Liens externes
206         //---------------
207         if ( 'aucun' != $options0['MonLabo_publication_server_type'] ) {
208                 $retval .= '</fieldset><fieldset><legend>'.__( 'Publications :', 'mon-laboratoire' ).'</legend>';
209                 if ( ( 'hal' === $options0['MonLabo_publication_server_type'] ) or ( 'both' === $options0['MonLabo_publication_server_type'] ) ) {
210                         $retval .= generate_champ_formulaire_pub( 'hal_publi_author_id', false, __( 'ID d\'auteur HAL', 'mon-laboratoire' ),
211                                 get_MonLabo_Members_fields_comments( 'hal_publi_author_id' ), $member_information->hal_publi_author_id );
212                 }
213                 if ( ( 'DescartesPubli' === $options0['MonLabo_publication_server_type'] ) or ( 'both' === $options0['MonLabo_publication_server_type'] ) ) {
214                         $retval .= generate_champ_formulaire_pub( 'descartes_publi_author_id', false, __( 'ID d\'auteur Descartes Publi', 'mon-laboratoire' ),
215                                 get_MonLabo_Members_fields_comments( 'descartes_publi_author_id' ), $member_information->descartes_publi_author_id );
216                 }
217                 $retval .= '<br />';
218         }
220         // Etat
221         //------------
222                 $retval .= '</fieldset><fieldset><legend>'._x( 'États :', 'personne', 'mon-laboratoire' ).'</legend>';
223         $retval .= generate_champ_formulaire_select( 'status', Array( 'actif'=>__( 'actif', 'mon-laboratoire' ), 'alumni'=>__( 'alumni', 'mon-laboratoire' ) ), false, _x( 'Statut', 'personne', 'mon-laboratoire' ),
224                 get_MonLabo_Members_fields_comments( 'status' ), $member_information->status );
226         $retval .= "<div id='MonLabo-date-departure-form'>".generate_champ_formulaire_pub( 'date_departure', false, __( 'Date depart de l&apos;unité', 'mon-laboratoire' ), get_MonLabo_Members_fields_comments( 'date_departure' ),
227                                                                                         $member_information->date_departure ).'</div>';
228         $retval .= '<br />';
229         $retval .= generate_champ_formulaire_select( 'visible', Array( 'oui'=>__( 'oui', 'mon-laboratoire' ), 'non'=>__( 'non', 'mon-laboratoire' ) ), false, __( 'Personnel visible ?', 'mon-laboratoire' ),
230                 get_MonLabo_Members_fields_comments( 'visible' ), $member_information->visible );
231         $retval .= '</fieldset>';
233         // Custtom fiels
234         //--------------
235         if ( isset( $options0['MonLabo_uses_custom_fields_for_staff'] ) && ( intval( $options0['MonLabo_uses_custom_fields_for_staff'] ) === 1 ) ) {
236                 $retval .= '</fieldset><fieldset><legend>'.__( 'Champs personnalisés :', 'mon-laboratoire' ).'</legend>';
237                 $options3 = get_option( 'MonLabo_settings_group3' );
238                 if ( $options3['MonLabo_custom_fields_number']<'1' ) { $nb=0; }
239                 elseif ( $options3['MonLabo_custom_fields_number']>'10' ) { $nb=10; }
240                 else { $nb=intval( $options3['MonLabo_custom_fields_number'] ); }
241                 for ( $i=1; $i <= $nb; $i++ ) {
242                         $nom_variable = 'custom'.$i;
243                         $retval .= generate_champ_formulaire_pub( $nom_variable, false, $nom_variable,
244                                                                                 'custom_'.$options3['MonLabo_custom_field'.$i.'_title'], $member_information->$nom_variable );
245                 }
246                 $retval .= '</fieldset>';
247         }
249         //For security
250         //------------
251         $retval .= wp_nonce_field( 'edit_members_form', 'edit_members_form_wpnonce', true, false );
253         // Validation
254         //------------
255         $onclick = 'edit_member()';
256         if ( $valeur_initiale != $nouveau_membre_string ) {
257                 $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_modify_member', $onclick );
258         } else {
259                 $retval .= generate_submit_button( __( 'Créer', 'mon-laboratoire' ), 'submit_new_member', $onclick );
260         }
261         if ( $valeur_initiale != $nouveau_membre_string ) {
262                 $onclick = 'removeMember()';
263                 $retval .= generate_submit_button( __( 'Supprimer', 'mon-laboratoire' ), 'submit_delete_member', $onclick );
264         }
265         $retval .= '</div></form>';
266         return $retval;
269 function edit_teams_form() {
270         require_once( dirname( __FILE__ ) . '/includes/inc-lib-forms.php' );
272         $options0 = get_option( 'MonLabo_settings_group0' );
273         $MonLabo_access_data = New MonLabo_access_data();
275         list( $retval, $team_id, $team_id_if_created )=form_edit_team_processing();
277         $myurl = admin_url( 'admin.php?page=MonLabo_edit_members_and_groups&tab=tab_two' );
279         $nouvelle_equipe_string='&mdash; '.__( 'Nouvelle équipe', 'mon-laboratoire' ).' &mdash;';
280         $teams_name = $MonLabo_access_data->get_teams_name( 'fr' );
281         if ( NULL === $teams_name) {
282                 $teams_name = array();
283         }
284         $teams_name = array( '0' => $nouvelle_equipe_string ) + $teams_name;
287         //Get team infomation. If invalid of new, return an empty object
288         if ( !empty( $team_id ) ) {
289                 $team_information = $MonLabo_access_data->get_team_information( $team_id );
290                 //If invalid ID
291                 if ( NULL == $team_information ) {
292                         $team_id = 0;
293                 }
294         }
295         if ( empty( $team_id ) ) {
296                 $team_information = (object) Array( 'id'=>0, 'name_en'=>'', 'name_fr'=>''
297                                 , 'wp_post_id'=>'', 'external_url'=>'', 'descartes_publi_team_id'=>'', 'hal_publi_team_id'=>''
298                                 , 'logo'=>'', 'color'=>'' );
299                 $valeur_initiale = $nouvelle_equipe_string;
300                 $team_id = 0;
301         } else {
302                 $valeur_initiale = $teams_name[$team_id];
303         }
304         // formulaire choix de l'équipe à éditer
305         $name = 'item';
306         $values = $teams_name;
307         $isMandatory = false;
308         $legend = __( 'Équipe', 'mon-laboratoire' );
309         $description = '';
310         $onchange='changeTeam(this.value)';
311         $retval .= '<form class="navbar-form" id="choix_equipe" method="post" action="'.$myurl.'">
312     <div class="form-group">';
313         $retval .= '<fieldset><legend>'.__( 'Sélection :', 'mon-laboratoire' ).'</legend>';
314         $retval .= generate_champ_formulaire_select( $name, $values, $isMandatory, $legend, $description, $valeur_initiale, $onchange );
315         $retval .= '</fieldset>';
316         $retval .= '</form>';
317         $retval .= '<hr />';
319         // formulaire d'édition de l'équipe
320         $retval .= '<form class="navbar-form" id="form_edit_team" accept-charset="utf-8" method="post"
321             enctype="multipart/form-data" action="'.$myurl.'&submit_item='.$team_id.'">
322             <div class="form-group">';
323         $retval .= '<fieldset><legend>'.__( 'Informations :', 'mon-laboratoire' ).'</legend>';
324         $retval .= '<input type="hidden" name="submit_id" value="'.$team_id.'">';
325         $retval .= '<input type="hidden" name="action" id="action" value="">';
326         if ( 0 != $team_id ) {
327                 $retval .= 'Id : '.$team_information->id.'<br />';
328         }
329         $retval .= generate_champ_formulaire_pub( 'name_fr', true, __( 'Nom français', 'mon-laboratoire' ), get_MonLabo_Team_fields_comments( 'name_fr' ),
330                 $team_information->name_fr );
331         $retval .= generate_champ_formulaire_pub( 'name_en', true, __( 'Nom anglais', 'mon-laboratoire' ), get_MonLabo_Team_fields_comments( 'name_en' ),
332                 $team_information->name_en );
333         $retval .= '<br />';
334         $retval .= generate_champ_formulaire_pub( 'wp_post_id', false, __( 'Pages ID', 'mon-laboratoire' ),
335                 get_MonLabo_Team_fields_comments( 'wp_post_id' ), $team_information->wp_post_id );
336         $retval .= '<br />';
337         $retval .= generate_champ_formulaire_pub( 'external_url', false, __( 'URL externe', 'mon-laboratoire' ),
338                 get_MonLabo_Team_fields_comments( 'external_url' ), $team_information->external_url );
339         $retval .= '<br />';
341         if ( !empty( $team_id ) ) {
342                 $members_name_actif = $MonLabo_access_data->get_persons_name_for_a_team( $team_id, $status='actif' );
343                 $members_name_alumni = $MonLabo_access_data->get_persons_name_for_a_team( $team_id, $status='alumni' );
344         } else {
345                 $members_name_actif = NULL;
346                 $members_name_alumni = NULL;
347         }
348         if ( null == $members_name_actif ) {
349                 $members_name_actif = $MonLabo_access_data->get_persons_name( $status='actif' );
350                 $members_name_alumni = $MonLabo_access_data->get_persons_name( $status='alumni' );
351         }
352         $values = Array( 'Actifs' => $members_name_actif , 'Alumni' => $members_name_alumni );
353         if ( !empty( $team_id ) ) {
354                 $leaders_name = $MonLabo_access_data->get_leaders_name_for_a_team( $team_id, $status='all' );
355         } else {
356                 $leaders_name = NULL;
357         }
358         $retval .= generate_champ_formulaire_select_multiple( 'leaders', $values, false, __( 'Chefs d’équipe', 'mon-laboratoire' ), get_MonLabo_Team_fields_comments( 'leaders' ), $leaders_name );
359         $retval .= '</fieldset>';
361         $retval .= '<fieldset><legend>'.__( 'Apparence :', 'mon-laboratoire' ).'</legend>';
362         $retval .= generate_champ_formulaire_pub( 'logo', false, __( 'Logo', 'mon-laboratoire' ), get_MonLabo_Team_fields_comments( 'logo' ), $team_information->logo );
364         //couleurs
365         //$retval .= '<br />';
366         $retval .= '<div class="input-group"><label for="">'.__( 'Couleur', 'mon-laboratoire' ).' : </label>';
367         $retval .= generate_champ_formulaire_pub( 'color', false, __( 'Couleur', 'mon-laboratoire' ), get_MonLabo_Team_fields_comments( 'color' ), $team_information->color );
368         $retval .= '</fieldset>';
370         $retval .= '<fieldset><legend>'.__( 'Appartenance :', 'mon-laboratoire' ).'</legend>';
371         $units_name=array();
372         if ( isset( $options0['MonLabo_uses_unites'] ) && ( intval( $options0['MonLabo_uses_unites'] ) === 1 ) ) { //On n'affiche cette option que si l'on gère les unités
373                 $units_name = $MonLabo_access_data->get_units_name( 'fr' );
374                 if ( !empty( $units_name ) ) {
375                         foreach ( $units_name as $unit_id => $unit_name ) {
376                                 $units_name[$unit_id]=__( 'Unité', 'mon-laboratoire' ).' '.$unit_id.' : '.$unit_name;
377                         }
378                 }
379         }
380         $units_name[MAIN_STRUCT_NO_UNIT]=__( 'Structure principale', 'mon-laboratoire' );
381         if ( ( property_exists( $team_information, 'id_unit' ) ) and ( array_key_exists( $team_information->id_unit, $units_name ) ) ) {
382                 $id_unit_valeur_initiale=$team_information->id_unit;
383         } else {
384                 $id_unit_valeur_initiale=MAIN_STRUCT_NO_UNIT;
385         }
386         $retval .= generate_champ_formulaire_radio( 'id_unit', $units_name, true, __( 'Structure', 'mon-laboratoire' ), get_MonLabo_Team_fields_comments( 'id_unit' ), $units_name[$id_unit_valeur_initiale] );
387         if ( isset( $options0['MonLabo_uses_thematiques'] ) && ( intval( $options0['MonLabo_uses_thematiques'] ) === 1 ) ) { //On n'affiche cette option que si l'on gère les thématiques
388                 $all_thematics_name = $MonLabo_access_data->get_thematics_name( 'fr' );
389                 $thematics_name = $MonLabo_access_data->get_thematics_name_for_a_team( $team_id, 'fr' );
390                 $retval .= generate_champ_formulaire_select_multiple( 'thematics', $all_thematics_name, false,  MonLaboLib::get_teamGroupName_pl(),
391                         get_MonLabo_Team_fields_comments( 'thematics' ), $thematics_name );
392         }
393         $retval .= '</fieldset>';
394         if ( 'aucun' != $options0['MonLabo_publication_server_type'] ) {
395                 $retval .= '<fieldset><legend>'.__( 'Publications :', 'mon-laboratoire' ).'</legend>';
396                 if ( ( 'hal' === $options0['MonLabo_publication_server_type'] ) or ( 'both' === $options0['MonLabo_publication_server_type'] ) ) {
397                         $retval .= generate_champ_formulaire_pub( 'hal_publi_team_id', false, __( 'ID HAL de l&apos;équipe', 'mon-laboratoire' ),
398                         get_MonLabo_Team_fields_comments( 'hal_publi_team_id' ), $team_information->hal_publi_team_id );
399                 }
400                 if ( ( 'DescartesPubli' === $options0['MonLabo_publication_server_type'] ) or ( 'both' === $options0['MonLabo_publication_server_type'] ) ) {
401                         $retval .= generate_champ_formulaire_pub( 'descartes_publi_team_id', false, __( 'ID Descartes Publi de l&apos;équipe', 'mon-laboratoire' ),
402                         get_MonLabo_Team_fields_comments( 'descartes_publi_team_id' ), $team_information->descartes_publi_team_id );
403                 }
404                 $retval .= '</fieldset>';
405         }
407         //For security
408         //------------
409         $retval .= wp_nonce_field( 'edit_teams_form', 'edit_teams_form_wpnonce', true, false );
411         // Validation
412         //------------
413         $onclick = 'edit_team()';
414         if ( $valeur_initiale != $nouvelle_equipe_string ) {
415                 $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_edit_team', $onclick );
416         } else {
417                 $retval .= generate_submit_button( __( 'Créer', 'mon-laboratoire' ), 'submit_new_team', $onclick );
418         }
419         if ( $valeur_initiale != $nouvelle_equipe_string ) {
420                 $onclick = 'removeTeam()';
421                 $retval .= generate_submit_button( __( 'Supprimer', 'mon-laboratoire' ), 'submit_delete_team', $onclick );
422         }
423         $retval .= '</div></form>';
424         return $retval;
427 function edit_thematics_form() {
428         require_once( dirname( __FILE__ ) . '/includes/inc-lib-forms.php' );
429         $MonLabo_access_data = New MonLabo_access_data();
431         list( $retval, $thematic_id, $thematic_id_if_created )=form_edit_thematic_processing();
433         $myurl = admin_url( 'admin.php?page=MonLabo_edit_members_and_groups&tab=tab_three' );
435         $thematics_name = $MonLabo_access_data->get_thematics_name( 'fr' );
436         if( NULL === $thematics_name) {
437                 $thematics_name = array();
438         }
439         $nouvelle_thematique_string='&mdash; '.__('Nouvelle thématique', 'mon-laboratoire' ).' &mdash;';
440         $thematics_name = array( '0' => $nouvelle_thematique_string ) + $thematics_name;
442         //Get thematic information. If invalid of new, return an empty object
443         if ( !empty( $thematic_id ) ) {
444                 $thematic_information = $MonLabo_access_data->get_thematic_information( $thematic_id );
445                 //If invalid ID
446                 if ( NULL === $thematic_information ) {
447                         $thematic_id = 0;
448                 }
449         }
450         if ( empty( $thematic_id ) ) {
451                 $thematic_information = (object) Array( 'id'=>0, 'name_en'=>'', 'name_fr'=>'', 'wp_post_id' => ''
452                                 , 'logo'=>'', 'external_url'=>'', 'hal_publi_thematic_id'=>'' );
453                 $thematic_id = 0;
454         }
455         $valeur_initiale = $thematics_name[$thematic_id];
457         // formulaire choix de la thematique à éditer
458         $name = 'item';
459         $values = $thematics_name;
460         $isMandatory = false;
462         $legend =  MonLaboLib::get_teamGroupName_pl();
463         $description = '';
464         $onchange='changeThematic(this.value)';
466         $retval .= '  <form class="navbar-form" id="choix_thematique" method="post" action="'.$myurl.'">
467             <div class="form-group">';
468         $retval .= '<fieldset><legend>'.__( 'Sélection :', 'mon-laboratoire' ).'</legend>';
469         $retval .= generate_champ_formulaire_select( $name, $values, $isMandatory, $legend, $description, $valeur_initiale, $onchange );
470         $retval .= '</fieldset></div>';
471         $retval .= '</form>';
472         $retval .= '<hr />';
474         // formulaire d'édition de la thématique
475         $retval .= '  <form class="navbar-form" id="form_edit_thematic" accept-charset="utf-8" method="post"
476             enctype="multipart/form-data" action="'.$myurl.'&submit_item='.$thematic_id.'">
477             <div class="form-group">';
478         $retval .= '<fieldset><legend>'.__( 'Informations :', 'mon-laboratoire' ).'</legend>';
479         $retval .= '<input type="hidden" name="submit_id" value="'.$thematic_id.'">';
480         $retval .= '<input type="hidden" name="action" id="action" value="">';
481         if ( 0 != $thematic_id ) {
482                 $retval .= 'Id : '.$thematic_information->id.'<br />';
483         }
484         $retval .= generate_champ_formulaire_pub( 'name_fr', true, __( 'Nom français', 'mon-laboratoire' ), get_MonLabo_Thematic_fields_comments( 'name_fr' ),
485                 $thematic_information->name_fr );
486         $retval .= generate_champ_formulaire_pub( 'name_en', true, __( 'Nom anglais', 'mon-laboratoire' ), get_MonLabo_Thematic_fields_comments( 'name_en' ),
487                 $thematic_information->name_en );
488         $retval .= '<br />';
489         $retval .= generate_champ_formulaire_pub( 'wp_post_id', false, __( 'Pages ID', 'mon-laboratoire' ),
490                 get_MonLabo_Thematic_fields_comments( 'wp_post_id' ), $thematic_information->wp_post_id );
491                 $retval .= '<br />';
492         $retval .= generate_champ_formulaire_pub( 'external_url', false, __( 'URL', 'mon-laboratoire' ), get_MonLabo_Thematic_fields_comments( 'external_url' ),
493                 $thematic_information->external_url );
495         $retval .= '</fieldset>';
496         $retval .= '<fieldset><legend>'.__( 'Apparence :', 'mon-laboratoire' ).'</legend>';
497         $retval .= generate_champ_formulaire_pub( 'logo', false, __( 'Logo', 'mon-laboratoire' ), get_MonLabo_Thematic_fields_comments( 'logo' ),
498                 $thematic_information->logo );
500         $retval .= '</fieldset>';
502         //For security
503         //------------
504         $retval .= wp_nonce_field( 'edit_thematics_form', 'edit_thematics_form_wpnonce', true, false );
506         // Validation
507         //------------
508         $onclick = 'edit_thematic()';
509         if ( $valeur_initiale != $nouvelle_thematique_string ) {
510                 $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_modify_thematic', $onclick );
511         } else {
512                 $retval .= generate_submit_button( __( 'Créer', 'mon-laboratoire' ), 'submit_new_thematic', $onclick );
513         }
514         if ( $valeur_initiale != $nouvelle_thematique_string ) {
515                 $onclick = 'removeThematic()';
516                 $retval .= generate_submit_button( __( 'Supprimer', 'mon-laboratoire' ), 'submit_delete_thematic', $onclick );
517         }
518         $retval .= '</div></form>';
519         return $retval;
522 function edit_unites_form() {
523         require_once( dirname( __FILE__ ) . '/includes/inc-lib-forms.php' );
524         $MonLabo_access_data = New MonLabo_access_data();
526         list( $retval, $unit_id, $unit_id_if_created )=form_edit_unite_processing();
527         $myurl=admin_url( 'admin.php?page=MonLabo_edit_members_and_groups&tab=tab_four' );
528         $nouvelle_unite_string='&mdash; '.__( 'Nouvelle unité', 'mon-laboratoire' ).' &mdash;';
530         $units_name = $MonLabo_access_data->get_units_name( 'fr' );
531         if( NULL === $units_name ) {
532                 $units_name = array();
533         }
534         $units_name = array( '0' => $nouvelle_unite_string ) + $units_name;
536         //Get unit information. If invalid of new, return an empty object
537         if ( !empty( $unit_id ) ) {
538                 $unit_information = $MonLabo_access_data->get_unit_information( $unit_id );
539                 //If invalid ID
540                 if ( NULL == $unit_information ) {
541                         $unit_id = 0;
542                 }
543         }
544         if ( empty( $unit_id ) ) {
545                 $unit_information = (object) Array( 'id'=>0, 'code'=>'', 'affiliations'=>''
546                                 , 'name_en'=>'', 'name_fr'=>'', 'wp_post_id' => ''
547                                 , 'external_url'=>'', 'descartes_publi_unit_id'=>'', 'hal_publi_unit_id'=>'', 'logo'=>'', 'address_alt'=>'', 'contact_alt'=>'' );
548                 $unit_id = 0;
549         }
550         $valeur_initiale = $units_name[$unit_id];
552         // formulaire choix de la thematique à éditer
553         $name = 'item';
554         $values = $units_name;
555         $isMandatory = false;
556         $legend = __( 'Unité', 'mon-laboratoire' );
557         $description = '';
558         $onchange='changeUnite(this.value)';
559         $retval .= '<form class="navbar-form" id="choix_unite" method="post" action="'.$myurl.'"><div class="form-group">';
560         $retval .= '<fieldset><legend>'.__( 'Sélection :', 'mon-laboratoire'  ).'</legend>';
561         $retval .= generate_champ_formulaire_select( $name, $values, $isMandatory, $legend, $description, $valeur_initiale, $onchange );
562         $retval .= '</fieldset>';
563         $retval .= '</div></form>';
564         $retval .= '<hr />';
566         // formulaire d'édition de l'unité
567         $retval .= '  <form class="navbar-form" id="form_edit_unite" accept-charset="utf-8" method="post" enctype="multipart/form-data" action="'.$myurl.'&submit_item='.$unit_id.'"><div class="form-group">';
568         $retval .= '<fieldset><legend>'.__( 'Informations :', 'mon-laboratoire' ).'</legend>';
569         $retval .= '<input type="hidden" name="submit_id" value="'.$unit_id.'">';
570         $retval .= '<input type="hidden" name="action" id="action" value="">';
571         if ( 0 != $unit_id ) {
572                 $retval .= 'Id : '.$unit_information->id.'<br />';
573         }
574         $retval .= generate_champ_formulaire_pub( 'affiliations', true, 'Affiliations',
575         get_MonLabo_Unite_fields_comments( 'affiliations' ), $unit_information->affiliations );
576         $retval .= '<br />';
577         $retval .= generate_champ_formulaire_pub( 'code', true, _x( 'Code', 'unité', 'mon-laboratoire' ), get_MonLabo_Unite_fields_comments( 'code' ),
578         $unit_information->code );
579         $retval .= '<br />';
580         $retval .= generate_champ_formulaire_pub( 'name_fr', true, __( 'Nom français', 'mon-laboratoire' ), get_MonLabo_Unite_fields_comments( 'name_fr' ),
581         $unit_information->name_fr );
582         $retval .= generate_champ_formulaire_pub( 'name_en', true, __( 'Nom anglais', 'mon-laboratoire' ), get_MonLabo_Unite_fields_comments( 'name_en' ),
583         $unit_information->name_en );
584         $retval .= '<br />';
585         //$members_name = $MonLabo_access_data->get_persons_name( $status='all' );
586         $members_name_actif = $MonLabo_access_data->get_persons_name( $status='actif' );
587         $members_name_alumni = $MonLabo_access_data->get_persons_name( $status='alumni' );
588         $values = Array( 'Actifs' => $members_name_actif , 'Alumni' => $members_name_alumni );
590         $directors_name = $MonLabo_access_data->get_directors_name_for_an_unit( $unit_id, $status='all' );
591         $retval .= generate_champ_formulaire_select_multiple( 'directors', $values, false, __( 'Directeurs', 'mon-laboratoire' ),
592                 get_MonLabo_Unite_fields_comments( 'directors' ), $directors_name );
593         $retval .= '<br />';
594         $retval .= generate_champ_formulaire_pub( 'wp_post_id', false, __( 'Pages ID', 'mon-laboratoire' ),
595                 get_MonLabo_Unite_fields_comments( 'wp_post_id' ), $unit_information->wp_post_id );
596         $retval .= '<br />';
597         $retval .= generate_champ_formulaire_pub( 'external_url', false, __( 'URL', 'mon-laboratoire' ), get_MonLabo_Unite_fields_comments( 'external_url' ),
598                 $unit_information->external_url );
600         $retval .= '</fieldset>';
601         $retval .= '<fieldset><legend>'.__( 'Apparence :', 'mon-laboratoire' ).'</legend>';
602         $retval .= generate_champ_formulaire_pub( 'logo', false, __( 'Logo', 'mon-laboratoire' ), get_MonLabo_Unite_fields_comments( 'logo' ),
603                 $unit_information->logo );
604         $retval .= '</fieldset>';
606         $options0 = get_option( 'MonLabo_settings_group0' );
607         if ( 'aucun' != $options0['MonLabo_publication_server_type'] ) {
608                 $retval .= '<fieldset><legend>'.__( 'Publications :', 'mon-laboratoire' ).'</legend>';
609                 if ( ( 'hal' === $options0['MonLabo_publication_server_type'] ) or ( 'both' === $options0['MonLabo_publication_server_type'] ) ) {
610                         $retval .= generate_champ_formulaire_pub( 'hal_publi_unit_id', false, __( 'ID HAL de l&apos;unité', 'mon-laboratoire' ),
611                         get_MonLabo_Unite_fields_comments( 'hal_publi_unit_id' ), $unit_information->hal_publi_unit_id );
612                 }
613                 if ( ( 'DescartesPubli' === $options0['MonLabo_publication_server_type'] ) or ( 'both' === $options0['MonLabo_publication_server_type'] ) ) {
614                         $retval .= generate_champ_formulaire_pub( 'descartes_publi_unit_id', false, __( 'ID Descartes Publi de l&apos;unité', 'mon-laboratoire' ),
615                         get_MonLabo_Unite_fields_comments( 'descartes_publi_unit_id' ), $unit_information->descartes_publi_unit_id );
616                 }
617                 $retval .= '</fieldset>';
618         }
619         $retval .= '<fieldset><legend>'.__( 'Coordonnées alternatives (si différentes de la structure principale) :', 'mon-laboratoire' ).'</legend>';
620         $retval .= generate_champ_formulaire_pub( 'address_alt', false, __( 'Adresse alternative', 'mon-laboratoire' ), get_MonLabo_Unite_fields_comments( 'address_alt' ),
621                 $unit_information->address_alt );
622         $retval .= generate_champ_formulaire_pub( 'contact_alt', false, __( 'Contact alternatif', 'mon-laboratoire' ), get_MonLabo_Unite_fields_comments( 'contact_alt' ),
623                 $unit_information->contact_alt );
625         $retval .= '</fieldset>';
627         //For security
628         //------------
629         $retval .= wp_nonce_field( 'edit_unites_form', 'edit_unites_form_wpnonce', true, false );
631         // Validation
632         //------------
633         $onclick = 'edit_unite()';
634         if ( $valeur_initiale != $nouvelle_unite_string ) {
635                 $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_edit_unite', $onclick );
636         } else {
637                 $retval .= generate_submit_button( __( 'Créer', 'mon-laboratoire' ), 'submit_new_unite', $onclick );
638         }
639         if ( $valeur_initiale != $nouvelle_unite_string ) {
640                 $onclick = 'removeUnite()';
641                 $retval .= generate_submit_button( __( 'Supprimer', 'mon-laboratoire' ), 'submit_delete_unite', $onclick );
642         }
643         $retval .= '</div></form>';
644         return $retval;
647 function edit_structure_principale_form() {
648         require_once( dirname( __FILE__ ) . '/includes/inc-lib-forms.php' );
649         $retval=form_edit_structure_principale_processing();
651         $MonLabo_access_data = New MonLabo_access_data();
652         $options0=get_option( 'MonLabo_settings_group0' );
653         $options1=get_option( 'MonLabo_settings_group1' );
655         $myurl=admin_url( 'admin.php?page=MonLabo_edit_members_and_groups&tab=tab_five' );
657         $retval .= '  <form class="navbar-form" id="form_edit_structure_principale" accept-charset="utf-8" method="post"
658             enctype="multipart/form-data" action="'.$myurl.'">
659             <div class="form-group">';
660         if ( isset( $options0['MonLabo_uses_unites'] ) && ( intval( $options0['MonLabo_uses_unites'] ) === 1 ) ) {
661                 $retval .= '<fieldset><legend>'.__( 'Coordonnées de la structure rassemblant les laboratoires :', 'mon-laboratoire' ).'</legend>';
662         } else {
663                 $retval .= '<fieldset><legend>'.__( 'Coordonnées :', 'mon-laboratoire' ).'</legend>';
664         }
665         //Si $options1['truc'] n'existe pas, y mettre une valeur par défaut
666         $default_options=get_options_DEFAULT();
667         foreach ( $default_options['MonLabo_settings_group1'] as $option_name => $option_value ) {
668                 if ( !isset( $options1[$option_name] ) ) {
669                         $options1[$option_name]="$option_value";
670                 }
671         }
673         $retval .= generate_champ_formulaire_pub( 'nom', true, 'Nom de la structure',
674                 get_MonLabo_Structure_principale_fields_comments( 'nom' ), $options1['MonLabo_nom'] );
675         $retval .= generate_champ_formulaire_pub( 'code', true, 'Code de la structure',
676                 get_MonLabo_Structure_principale_fields_comments( 'code' ), $options1['MonLabo_code'] );
677         $retval .= '<br />'.generate_champ_formulaire_pub( 'adresse', true, 'Adresse de la structure',
678                 get_MonLabo_Structure_principale_fields_comments( 'adresse' ), $options1['MonLabo_adresse'] );
679         $retval .= '<br />'.generate_champ_formulaire_pub( 'prefixe_tel', false, 'Préfixe téléphonique',
680                 get_MonLabo_Structure_principale_fields_comments( 'prefixe_tel' ), $options1['MonLabo_prefixe_tel'] );
681         $retval .= '<br />'.generate_champ_formulaire_pub( 'contact', false, 'Mail, tel, fax ou contact',
682                 get_MonLabo_Structure_principale_fields_comments( 'contact' ), $options1['MonLabo_contact'] );
683         $retval .= '</fieldset>';
684         if ( 'hal' === $options0['MonLabo_publication_server_type'] ) {
685                 $retval .= '<fieldset><legend>'.__( 'Publications :', 'mon-laboratoire' ).'</legend>';
686                 $retval .= '<br />'.generate_champ_formulaire_pub( 'hal_publi_struct_id', false, 'ID HAL',
687                         get_MonLabo_Structure_principale_fields_comments( 'hal_publi_struct_id' ), $options1['MonLabo_hal_publi_struct_id'] );
688                 $retval .= '</fieldset>';
689         } else {
690         }
691         $retval .= '<fieldset><legend>'.__( 'Direction :', 'mon-laboratoire' ).'</legend>';
692         $members_name_actif = $MonLabo_access_data->get_persons_name( $status='actif' );
693         $members_name_alumni = $MonLabo_access_data->get_persons_name( $status='alumni' );
694         $values = Array( 'Actifs' => $members_name_actif , 'Alumni' => $members_name_alumni );
695         $directors_name = $MonLabo_access_data->get_directors_name_for_an_unit( MAIN_STRUCT_NO_UNIT, $status='all' );
696         $retval .= generate_champ_formulaire_select_multiple( 'directors', $values, false, __( 'Directeurs', 'mon-laboratoire' ),
697                 get_MonLabo_Structure_principale_fields_comments( 'directors' ), $directors_name );
698         $retval .= '<br />';
699         $retval .= '</fieldset>';
701         //For security
702         //------------
703         $retval .= wp_nonce_field( 'edit_structure_principale_form', 'edit_structure_principale_form_wpnonce', true, false );
705         // Validation
706         //------------
707         $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_edit_structure_principale', '' );
708         $retval .= '</div></form>';
709         return $retval;
712 function  display_advanced_features_for_mmebers() {
713         require_once( dirname( __FILE__ ) . '/includes/inc-lib-forms.php' );
714         $retval=form_advanced_features_for_members_processing();
715         $myurl=admin_url( 'admin.php?page=MonLabo_edit_members_and_groups&tab=tab_seven' );
716         $options2=get_option( 'MonLabo_settings_group2' );
718         $MonLabo_access_data = New MonLabo_access_data();
719         $retval .= '  <form class="navbar-form" id="form_creer_pages_manquantes" accept-charset="utf-8" method="post"
720             enctype="multipart/form-data" action="'.$myurl.'">
721             <div class="form-group">';
723         $retval .= '<h3 id="pages_manquantes">'.__( 'Créer les pages manquantes', 'mon-laboratoire' ).'</h3>';
724         $retval .= '<p>'.__( 'Cet outil peut être utile pour ceux qui auraient importé une base de personnels directement dans la base de donnée de MonLabo. Il est alors nécessaire de créer les pages WordPress de chaque membre.', 'mon-laboratoire' ).'</p>';
726         if ( ( array_key_exists( 'MonLabo_perso_page_parent', $options2 ) ) && ( !empty( $options2['MonLabo_perso_page_parent'] ) ) ) {
727                 $members_name_actif = $MonLabo_access_data->get_persons_information( $status='actif' );
728                 $members_without_wp_post_id = array();
729                 if ( !empty( $members_name_actif ) ) {
730                         foreach ( $members_name_actif as $id => $member ) {
731                                 if ( empty( $member->wp_post_id ) ) {
732                                         $members_without_wp_post_id[$id]=$member;
733                                 }
734                         }
735                 }
736                 if ( !empty( $members_without_wp_post_id ) ) {
737                         $retval .=
738                                 '<input type="hidden" name="create_missing_pages_submit_ids" value="'
739                                 .serialize( MonLaboLib::secured_array_keys( $members_without_wp_post_id ) )
740                                 .'">';
741                 }
742                 $retval .= wp_nonce_field( 'creer_pages_manquantes_form', 'creer_pages_manquantes_form_wpnonce', true, false );
743                 $retval .= generate_submit_button( __( 'Créer les pages manquantes', 'mon-laboratoire' ).' ( '.count( $members_without_wp_post_id ).' )', 'submit_creer_pages_manquantes', '' );
744                 $retval .= '<p>'.__( 'Les personnels suivants n\'ont pas encore de page WordPress', 'mon-laboratoire' ).' : ';
745                 if ( !empty( $members_without_wp_post_id ) ) {
746                         foreach ( $members_without_wp_post_id as $id => $member ) {
747                                 $retval .= '<em>'.$member->first_name.' '.$member->last_name.'</em>, ';
748                         }
749                 }
750         } else {
751                 $retval .= MonLabo_admin::error_MonLabo_perso_page_bad_parent();
752         }
753         $retval .= '<p></div>';
754         $retval .= '</form>';
755         return $retval;
757 ?>