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

index e455b48..9ed918f 100644 (file)
@@ -15,6 +15,8 @@ function edit_members_form() {
        require_once( dirname( __FILE__ ) . '/includes/inc-lib-forms.php' );
        $retval='';
        $MonLabo_access_data = New MonLabo_access_data();
+       $options0 = get_option( 'MonLabo_settings_group0' );
+       $options2 = get_option( 'MonLabo_settings_group2' );
 
        list( $retval, $member_id, $page_id_if_created )=form_edit_member_processing();
 
@@ -26,14 +28,14 @@ function edit_members_form() {
        if ( !empty( $members_name_alumni ) ) { asort( $members_name_alumni, SORT_STRING ); }
 
        //Get member infomation. If invalid of new, return an empty object
-       if ( 0 != $member_id ) {
+       if ( !empty( $member_id ) ) {
                $member_information = $MonLabo_access_data->get_person_information( $member_id );
                //If invalid ID
                if ( NULL === $member_information ) {
                        $member_id = 0;
                }
        }
-       if ( 0 === $member_id ) {
+       if ( empty( $member_id ) ) {
                $member_information = (object) Array( 'wp_post_id'=>'', 'title'=>'', 'first_name'=>'', 'last_name'=>''
                                , 'category'=>'', 'function_en'=>'', 'function_fr'=>'', 'id'=>0
                                , 'date_departure'=>'', 'mail'=>'', 'room'=>'', 'external_url'=>''
@@ -41,6 +43,7 @@ function edit_members_form() {
                                , 'uid_ENT_parisdescartes'=>'', 'status'=>'', 'visible'=>''
                                , 'custom1'=>'', 'custom2'=>'', 'custom3'=>'', 'custom4'=>'', 'custom5'=>''
                                , 'custom6'=>'', 'custom7'=>'', 'custom8'=>'', 'custom9'=>'', 'custom10'=>'' );
+               $member_id = 0;
        }
        $nouveau_membre_string='— '.__( 'Nouveau membre', 'mon-laboratoire' ).' —';
        if ( is_array( $members_name_actif ) && array_key_exists( $member_id, $members_name_actif ) ) {
@@ -90,8 +93,6 @@ function edit_members_form() {
 
        // Page WordPress
        //---------------
-       $options2 = get_option( 'MonLabo_settings_group2' );
-
        if ( 0 != $member_id ) {
                $retval .= '<br />';
                if ( ( array_key_exists( 'MonLabo_perso_page_parent', $options2 ) ) && ( !empty( $options2['MonLabo_perso_page_parent'] ) ) ) {
@@ -111,11 +112,7 @@ function edit_members_form() {
                  $retval.= '</div>';
                  //
                } else {
-                 $retval .= MonLabo_admin::notice_message(
-                         'error',
-                         __( 'Erreur :', 'mon-laboratoire' ),
-                         __( "La page de rattachement des pages personnelles est mal renseignée <a href=\"admin.php?page=MonLabo_config&tab=tab_appearance\">dans les configurations générales</a>.", 'mon-laboratoire' )
-                 );
+                 $retval .= MonLabo_admin::error_MonLabo_perso_page_bad_parent();
                }
        }
        $retval .= '</fieldset>';
@@ -129,7 +126,6 @@ function edit_members_form() {
        $retval .= '<fieldset class="clear"><legend>'.__( 'Propriétés :', 'mon-laboratoire' ).'</legend>';
 
        //Dans le cas où il n'y a qu'une unité, configurer si la personne en est ou pas le directeur
-       $options0=get_option( 'MonLabo_settings_group0' );
        if ( empty( $options0['MonLabo_uses_unites'] ) ) {
                $valueDirector=__( '(co)directeur ou (co)directrice de l&apos;unité', 'mon-laboratoire' );
                $directors_of_default_unit=$MonLabo_access_data->get_directors_id_for_an_unit( MAIN_STRUCT_NO_UNIT, $status='all' );
@@ -208,7 +204,6 @@ function edit_members_form() {
 
        // Liens externes
        //---------------
-       $options0 = get_option( 'MonLabo_settings_group0' );
        if ( 'aucun' != $options0['MonLabo_publication_server_type'] ) {
                $retval .= '</fieldset><fieldset><legend>'.__( 'Publications :', 'mon-laboratoire' ).'</legend>';
                if ( ( 'hal' === $options0['MonLabo_publication_server_type'] ) or ( 'both' === $options0['MonLabo_publication_server_type'] ) ) {
@@ -235,7 +230,8 @@ function edit_members_form() {
                get_MonLabo_Members_fields_comments( 'visible' ), $member_information->visible );
        $retval .= '</fieldset>';
 
-       $options = get_option( 'MonLabo_settings_group0' );
+       // Custtom fiels
+       //--------------
        if ( isset( $options0['MonLabo_uses_custom_fields_for_staff'] ) && ( intval( $options0['MonLabo_uses_custom_fields_for_staff'] ) === 1 ) ) {
                $retval .= '</fieldset><fieldset><legend>'.__( 'Champs personnalisés :', 'mon-laboratoire' ).'</legend>';
                $options3 = get_option( 'MonLabo_settings_group3' );
@@ -249,6 +245,13 @@ function edit_members_form() {
                }
                $retval .= '</fieldset>';
        }
+
+       //For security
+       //------------
+       $retval .= wp_nonce_field( 'edit_members_form', 'edit_members_form_wpnonce', true, false );
+
+       // Validation
+       //------------
        $onclick = 'edit_member()';
        if ( $valeur_initiale != $nouveau_membre_string ) {
                $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_modify_member', $onclick );
@@ -282,18 +285,19 @@ function edit_teams_form() {
 
 
        //Get team infomation. If invalid of new, return an empty object
-       if ( 0 != $team_id ) {
+       if ( !empty( $team_id ) ) {
                $team_information = $MonLabo_access_data->get_team_information( $team_id );
                //If invalid ID
                if ( NULL == $team_information ) {
-                       $team_id=0;
+                       $team_id = 0;
                }
        }
-       if ( 0 == $team_id ) {
+       if ( empty( $team_id ) ) {
                $team_information = (object) Array( 'id'=>0, 'name_en'=>'', 'name_fr'=>''
                                , 'wp_post_id'=>'', 'external_url'=>'', 'descartes_publi_team_id'=>'', 'hal_publi_team_id'=>''
                                , 'logo'=>'', 'color'=>'' );
-                               $valeur_initiale = $nouvelle_equipe_string;
+               $valeur_initiale = $nouvelle_equipe_string;
+               $team_id = 0;
        } else {
                $valeur_initiale = $teams_name[$team_id];
        }
@@ -399,6 +403,13 @@ function edit_teams_form() {
                }
                $retval .= '</fieldset>';
        }
+
+       //For security
+       //------------
+       $retval .= wp_nonce_field( 'edit_teams_form', 'edit_teams_form_wpnonce', true, false );
+
+       // Validation
+       //------------
        $onclick = 'edit_team()';
        if ( $valeur_initiale != $nouvelle_equipe_string ) {
                $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_edit_team', $onclick );
@@ -414,7 +425,6 @@ function edit_teams_form() {
 }
 
 function edit_thematics_form() {
-       $options0 = get_option( 'MonLabo_settings_group0' );
        require_once( dirname( __FILE__ ) . '/includes/inc-lib-forms.php' );
        $MonLabo_access_data = New MonLabo_access_data();
 
@@ -430,16 +440,17 @@ function edit_thematics_form() {
        $thematics_name = array( '0' => $nouvelle_thematique_string ) + $thematics_name;
 
        //Get thematic information. If invalid of new, return an empty object
-       if ( 0 != $thematic_id ) {
+       if ( !empty( $thematic_id ) ) {
                $thematic_information = $MonLabo_access_data->get_thematic_information( $thematic_id );
                //If invalid ID
                if ( NULL === $thematic_information ) {
                        $thematic_id = 0;
                }
        }
-       if ( 0 === $thematic_id ) {
+       if ( empty( $thematic_id ) ) {
                $thematic_information = (object) Array( 'id'=>0, 'name_en'=>'', 'name_fr'=>'', 'wp_post_id' => ''
                                , 'logo'=>'', 'external_url'=>'', 'hal_publi_thematic_id'=>'' );
+               $thematic_id = 0;
        }
        $valeur_initiale = $thematics_name[$thematic_id];
 
@@ -487,6 +498,13 @@ function edit_thematics_form() {
                $thematic_information->logo );
 
        $retval .= '</fieldset>';
+
+       //For security
+       //------------
+       $retval .= wp_nonce_field( 'edit_thematics_form', 'edit_thematics_form_wpnonce', true, false );
+
+       // Validation
+       //------------
        $onclick = 'edit_thematic()';
        if ( $valeur_initiale != $nouvelle_thematique_string ) {
                $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_modify_thematic', $onclick );
@@ -516,17 +534,18 @@ function edit_unites_form() {
        $units_name = array( '0' => $nouvelle_unite_string ) + $units_name;
 
        //Get unit information. If invalid of new, return an empty object
-       if ( 0 != $unit_id ) {
+       if ( !empty( $unit_id ) ) {
                $unit_information = $MonLabo_access_data->get_unit_information( $unit_id );
                //If invalid ID
                if ( NULL == $unit_information ) {
-                       $unit_id=0;
+                       $unit_id = 0;
                }
        }
-       if ( 0 == $unit_id ) {
+       if ( empty( $unit_id ) ) {
                $unit_information = (object) Array( 'id'=>0, 'code'=>'', 'affiliations'=>''
                                , 'name_en'=>'', 'name_fr'=>'', 'wp_post_id' => ''
                                , 'external_url'=>'', 'descartes_publi_unit_id'=>'', 'hal_publi_unit_id'=>'', 'logo'=>'', 'address_alt'=>'', 'contact_alt'=>'' );
+               $unit_id = 0;
        }
        $valeur_initiale = $units_name[$unit_id];
 
@@ -604,6 +623,13 @@ function edit_unites_form() {
                $unit_information->contact_alt );
 
        $retval .= '</fieldset>';
+
+       //For security
+       //------------
+       $retval .= wp_nonce_field( 'edit_unites_form', 'edit_unites_form_wpnonce', true, false );
+
+       // Validation
+       //------------
        $onclick = 'edit_unite()';
        if ( $valeur_initiale != $nouvelle_unite_string ) {
                $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_edit_unite', $onclick );
@@ -671,6 +697,13 @@ function edit_structure_principale_form() {
                get_MonLabo_Structure_principale_fields_comments( 'directors' ), $directors_name );
        $retval .= '<br />';
        $retval .= '</fieldset>';
+
+       //For security
+       //------------
+       $retval .= wp_nonce_field( 'edit_structure_principale_form', 'edit_structure_principale_form_wpnonce', true, false );
+
+       // Validation
+       //------------
        $retval .= generate_submit_button( __( 'Modifier', 'mon-laboratoire' ), 'submit_edit_structure_principale', '' );
        $retval .= '</div></form>';
        return $retval;
@@ -680,16 +713,15 @@ function  display_advanced_features_for_mmebers() {
        require_once( dirname( __FILE__ ) . '/includes/inc-lib-forms.php' );
        $retval=form_advanced_features_for_members_processing();
        $myurl=admin_url( 'admin.php?page=MonLabo_edit_members_and_groups&tab=tab_seven' );
+       $options2=get_option( 'MonLabo_settings_group2' );
 
        $MonLabo_access_data = New MonLabo_access_data();
-       $options2=get_option( 'MonLabo_settings_group2' );
        $retval .= '  <form class="navbar-form" id="form_creer_pages_manquantes" accept-charset="utf-8" method="post"
             enctype="multipart/form-data" action="'.$myurl.'">
             <div class="form-group">';
 
        $retval .= '<h3 id="pages_manquantes">'.__( 'Créer les pages manquantes', 'mon-laboratoire' ).'</h3>';
        $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>';
-       $options2 = get_option( 'MonLabo_settings_group2' );
 
        if ( ( array_key_exists( 'MonLabo_perso_page_parent', $options2 ) ) && ( !empty( $options2['MonLabo_perso_page_parent'] ) ) ) {
                $members_name_actif = $MonLabo_access_data->get_persons_information( $status='actif' );
@@ -707,6 +739,7 @@ function  display_advanced_features_for_mmebers() {
                                .serialize( MonLaboLib::secured_array_keys( $members_without_wp_post_id ) )
                                .'">';
                }
+               $retval .= wp_nonce_field( 'creer_pages_manquantes_form', 'creer_pages_manquantes_form_wpnonce', true, false );
                $retval .= generate_submit_button( __( 'Créer les pages manquantes', 'mon-laboratoire' ).' ( '.count( $members_without_wp_post_id ).' )', 'submit_creer_pages_manquantes', '' );
                $retval .= '<p>'.__( 'Les personnels suivants n\'ont pas encore de page WordPress', 'mon-laboratoire' ).' : ';
                if ( !empty( $members_without_wp_post_id ) ) {
@@ -715,15 +748,7 @@ function  display_advanced_features_for_mmebers() {
                        }
                }
        } else {
-         $retval .= MonLabo_admin::notice_message(
-               'error',
-               __( 'Erreur :', 'mon-laboratoire' ),
-               sprintf(
-                       __( "La page de rattachement des pages personnelles est mal renseignée %sdans les configurations générales%s.", 'mon-laboratoire' )
-                       , '<a href="admin.php?page=MonLabo_config&tab=tab_appearance">'
-                       , '</a>'
-                       )
-               );
+               $retval .= MonLabo_admin::error_MonLabo_perso_page_bad_parent();
        }
        $retval .= '<p></div>';
        $retval .= '</form>';