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

authorHerve Suaudeau <herve.suaudeau@parisdescartes.fr>
Thu, 1 Oct 2020 15:09:16 +0000 (17:09 +0200)
committerHerve Suaudeau <herve.suaudeau@parisdescartes.fr>
Thu, 1 Oct 2020 15:09:16 +0000 (17:09 +0200)
admin/MonLabo-admin.php
changelog.txt
includes/MonLabo-translate.php
mon-laboratoire.php

index 5fb1ce8..23f35a8 100644 (file)
@@ -173,23 +173,26 @@ class MonLabo_admin {
                $options0=get_option( 'MonLabo_settings_group0' );
                if ( !isset( $options0['MonLabo_uses_members_and_groups'] ) || ( '1' != $options0['MonLabo_uses_members_and_groups'] ) ) { $disableMembers=true; }
                if ( 'aucun' != $options0['MonLabo_publication_server_type'] ) { $disablePublications=true; }
-               $this->add_field( 'checkbox2',  'MonLabo_uses_thematiques',      __( 'Groupes d\'équipes', 'mon-laboratoire' ),                 $disableMembers, __( 'Pour pouvoir grouper les équipes (thématique, groupe de recherche, axe...).', 'mon-laboratoire' ) );
+               $this->add_field(
+                       'checkbox2',
+                       'MonLabo_uses_thematiques',
+                       __( 'Groupes d\'équipes', 'mon-laboratoire' ),
+                       $disableMembers,
+                       sprintf (
+                               __( 'Pour pouvoir grouper les équipes (thématique, groupe de recherche, axe...). Vous pouvez configurer le nom du regroupement sur <a href="%s">cette page</a>', 'mon-laboratoire' ),
+                               "admin.php?page=MonLabo_config&tab=tab_customtexts"
+                               )
+                        );
                if ( isset( $options0['MonLabo_uses_thematiques'] ) ) {
                        $dissableThematic=$disableMembers;
                } else {
                        $dissableThematic=true;
                }
-               $this->curent_settings_group='MonLabo_settings_group5';
-               $this->add_field( 'text_field',  'MonLabo_custom_text_Thematic_fr',     '', $dissableThematic, __( 'Nom du regroupement en français (singulier).', 'mon-laboratoire' ) );
-               $this->add_field( 'text_field',  'MonLabo_custom_text_Thematics_fr', '', $dissableThematic, __( 'Nom du regroupement en français (pluriel).', 'mon-laboratoire' ) );
-               $this->add_field( 'text_field',  'MonLabo_custom_text_Thematic_en',     '', $dissableThematic, __( 'Nom du regroupement en anglais (singulier).', 'mon-laboratoire' ) );
-               $this->add_field( 'text_field',  'MonLabo_custom_text_Thematics_en', '', $dissableThematic, __( 'Nom du regroupement en anglais (pluriel).', 'mon-laboratoire' ) );
 
                $this->curent_settings_group='MonLabo_settings_group0';
                $this->add_field( 'checkbox2',  'MonLabo_uses_unites',            __( 'Unités multiples', 'mon-laboratoire' ),                            $disableMembers, __( 'Pour une structure rassemblant plusieurs laboratoires.', 'mon-laboratoire' ) );
                $this->add_field( 'hidden',  'MonLabo_activated_version',          '', true );
                $this->add_section( 'MonLabo_pluginPage_section_fonctionalites2', __( 'Fonctions avancées', 'mon-laboratoire' ), 'MonLaboPageFunctionalities' );
-               $this->add_field( 'checkbox2',  'MonLabo_uses_custom_texts_in_shortcodes',  __( 'Personnaliser les textes dans les shortcodes', 'mon-laboratoire' ), $disableMembers, __( "Affiche l'onglet \"Textes personnalisés\" pour pouvoir modifier les titres et les expressions qui sont affichés par défaut dans les paneaux, listes ou tables générés par le plugin.", 'mon-laboratoire' ) );
                $this->add_field( 'checkbox2',  'MonLabo_uses_custom_fields_for_staff',  __( 'Champs personnalisé pour les personnels', 'mon-laboratoire' ), $disableMembers, __( "Affiche l'onglet \"Champs personnalisés\" pour pouvoir ajouter des colonnes personnalisées aux tables d'utilisateurs.", 'mon-laboratoire' ) );
 
                // Onglet 'Publications'
@@ -252,39 +255,58 @@ class MonLabo_admin {
 
                // Onglet 'Textes personalisés'
                //------------------------------
-               if ( isset( $options0['MonLabo_uses_custom_texts_in_shortcodes'] ) && ( intval( $options0['MonLabo_uses_custom_texts_in_shortcodes'] ) === 1 ) ) {
-                       $this->curent_settings_group='MonLabo_settings_group5';
-                       $this->add_section( 'MonLabo_pluginPage_section_custom_persons_texts',    __( 'Affichage des personnels', 'mon-laboratoire' ), 'MonLaboPageCustomTexts' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Room_en', __( 'Bureau', 'mon-laboratoire' ).' (en/fr)' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Room_fr', '');
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Personal_website_en',     __( 'Liens vers un site extérieur', 'mon-laboratoire' ).' (en/fr)' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Personal_website_fr',     '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Team_leader_en',  __( 'Titre par défaut pour les chefs d\'équipe (en/fr/en pluriel/fr pluriel)', 'mon-laboratoire' ) );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Team_leader_fr',  '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Team_leaders_en', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Team_leaders_fr', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Direction_en',    __( 'Titre par défaut pour les membres de la direction (en/fr)', 'mon-laboratoire' ) );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Direction_fr', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Member_en',       __( 'Titre par défaut pour les membres courants (en/fr/en pluriel/fr pluriel)', 'mon-laboratoire' ) );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Member_fr', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Members_en', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Members_fr', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Faculty_en', __( 'Catégories', 'mon-laboratoire' ).' (Faculty en/faculty fr/staff en/staff fr/postdocs en/postdocs en/students en/students fr/visitors en/visitors fr)' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Faculty_fr', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Staff_en' , '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Staff_fr', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Postdocs_en', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Postdocs_fr', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Students_en', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Students_fr' , '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Visitors_en', '' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Visitors_fr', '' );
-                       $this->add_section( 'MonLabo_pluginPage_section_custom_publications_texts', __( 'Affichage des publications', 'mon-laboratoire' ), 'MonLaboPageCustomTexts' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Recent_Publications_en', __( 'Titre par défaut devant la liste des publications', 'mon-laboratoire' ).' (en/fr)' );
-                       $this->add_field( 'text_field',  'MonLabo_custom_text_Recent_Publications_fr', '' );
-               }
+               $this->curent_settings_group='MonLabo_settings_group5';
+               $this->add_simple_html( '<p>' .  __( 'Raccourcis :', 'mon-laboratoire' )
+                       . ( $dissableThematic ? '' : ' <a href="#group">'.__( 'Groupes d\'équipes', 'mon-laboratoire' ).'</a>,' )
+                       . ( $disableMembers ? '' : ' <a href="#persons">'.__( 'Affichage des personnels', 'mon-laboratoire' ).'</a>,' )
+                       . ' <a href="#publications">'.__( 'Affichage des publications', 'mon-laboratoire' ).'</a></p>',  'MonLaboPageCustomTexts' );
+               $this->add_simple_html( '<div id="group">',  'MonLaboPageCustomTexts' );
+               $this->add_section(
+                       'MonLabo_pluginPage_section_custom_groupName',
+                       ( $dissableThematic ? '' : __( 'Nom des groupes d\'équipes (thématique, groupe de recherche, axe...).', 'mon-laboratoire' ) ),
+                       'MonLaboPageCustomTexts'
+               );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Thematic_fr',     '', $dissableThematic, __( 'Nom du regroupement en français (singulier).', 'mon-laboratoire' ) );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Thematics_fr', '', $dissableThematic, __( 'Nom du regroupement en français (pluriel).', 'mon-laboratoire' ) );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Thematic_en',     '', $dissableThematic, __( 'Nom du regroupement en anglais (singulier).', 'mon-laboratoire' ) );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Thematics_en', '', $dissableThematic, __( 'Nom du regroupement en anglais (pluriel).', 'mon-laboratoire' ) );
 
 
+               $this->add_simple_html( '</div><div id="persons">',  'MonLaboPageCustomTexts' );
+               $this->add_section( 'MonLabo_pluginPage_section_custom_persons_texts',
+                       ($disableMembers ? '' : __( 'Affichage des personnels', 'mon-laboratoire' ) ),
+                       'MonLaboPageCustomTexts'
+               );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Room_en', __( 'Bureau', 'mon-laboratoire' ).' (en/fr)', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Room_fr', '', $disableMembers);
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Personal_website_en',     __( 'Liens vers un site extérieur', 'mon-laboratoire' ).' (en/fr)', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Personal_website_fr',     '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Team_leader_en',  __( 'Titre par défaut pour les chefs d\'équipe (en/fr/en pluriel/fr pluriel)', 'mon-laboratoire' ), $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Team_leader_fr',  '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Team_leaders_en', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Team_leaders_fr', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Direction_en',    __( 'Titre par défaut pour les membres de la direction (en/fr)', 'mon-laboratoire' ), $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Direction_fr', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Member_en',       __( 'Titre par défaut pour les membres courants (en/fr/en pluriel/fr pluriel)', 'mon-laboratoire' ), $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Member_fr', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Members_en', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Members_fr', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Faculty_en', __( 'Catégories', 'mon-laboratoire' ).' (Faculty en/faculty fr/staff en/staff fr/postdocs en/postdocs en/students en/students fr/visitors en/visitors fr)', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Faculty_fr', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Staff_en' , '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Staff_fr', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Postdocs_en', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Postdocs_fr', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Students_en', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Students_fr' , '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Visitors_en', '', $disableMembers );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Visitors_fr', '', $disableMembers );
+               $this->add_simple_html( '</div><div id="publications">',  'MonLaboPageCustomTexts' );
+               $this->add_section( 'MonLabo_pluginPage_section_custom_publications_texts', __( 'Affichage des publications', 'mon-laboratoire' ), 'MonLaboPageCustomTexts' );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Recent_Publications_en', __( 'Titre par défaut devant la liste des publications', 'mon-laboratoire' ).' (en/fr)' );
+               $this->add_field( 'text_field',  'MonLabo_custom_text_Recent_Publications_fr', '' );
+               $this->add_simple_html( '</div>',  'MonLaboPageCustomTexts' );
+
                // Onglet 'Champs personnalisés'
                //------------------------------
                if ( isset( $options0['MonLabo_uses_custom_fields_for_staff'] ) && ( intval( $options0['MonLabo_uses_custom_fields_for_staff'] ) === 1 ) ) {
@@ -328,6 +350,23 @@ class MonLabo_admin {
                                                                array( &$this, 'MonLabo_pluginPage_section_generic_callback' ), // Callback used to render the description of the section
                                                                $page );                                                                                                                 // Page on which to add this section of options
        }
+
+       function add_simple_html( $html_code, $page ) {
+               $this->current_page=$page;
+               //$this->current_section='simple_text_section_'.uniqid();
+               //$this->add_section( $this->current_section, "", $page );
+               add_settings_section(
+                   'simple_text_'.uniqid(),
+                   "",
+                               /*array( &$this, 'MonLabo_simple_html_render' ),*/
+                               function () use ( $html_code ) {
+                                       echo ( $html_code );
+                               },
+                   $page
+               );
+       }
+
+
        function MonLabo_pluginPage_section_generic_callback( $arg ) { /*echo __( '<h3>'.$arg['title'].'</h3>', 'MonLabo' ); */ }
 
        function  add_additional_field( $type, $option_name, $disable=false, $description='' ) {
@@ -349,7 +388,7 @@ class MonLabo_admin {
                );
        }
 
-       function  add_field( $type, $option_name, $title, $disable=false, $description='' ) {
+       function  add_field( $type, $option_name, $title, $disable=false, $description='') {
                $options_DEFAULT = get_options_DEFAULT();
                if ( true === $disable ) { $type='hidden'; }
                if ( 'hidden' === $type ) { $title=''; }
@@ -468,6 +507,10 @@ class MonLabo_admin {
                echo $retval;
        }
 
+       function MonLabo_lone_html_description_generic_render( $args )  {
+               echo( $args['description'] );
+       }
+
        function cron() {
                //Si timer non défini attendre configuration adresse ou nombre utilisateur ou équipes > defaut
                //Quand timer défini; Regarder s'il n'a pas été executé depuis DELAY
@@ -617,9 +660,7 @@ function MonLabo_admin_config_render() {
                        echo( '<a href="?page=MonLabo_config&tab=tab_customfields" class="nav-tab '. ( $active_tab === 'tab_customfields' ? 'nav-tab-active' : '' ).'">'.__( 'Champs personnalisés', 'mon-laboratoire' ).'</a>' );
                }
        }
-       if ( isset( $options0['MonLabo_uses_custom_texts_in_shortcodes'] ) && ( intval( $options0['MonLabo_uses_custom_texts_in_shortcodes'] ) === 1 ) ) {
-               echo( '<a href="?page=MonLabo_config&tab=tab_customtexts" class="nav-tab '. ( $active_tab === 'tab_customtexts' ? 'nav-tab-active' : '' ).'">'.__( 'Textes personnalisés', 'mon-laboratoire' ).'</a>' );
-       }
+       echo( '<a href="?page=MonLabo_config&tab=tab_customtexts" class="nav-tab '. ( $active_tab === 'tab_customtexts' ? 'nav-tab-active' : '' ).'">'.__( 'Textes personnalisés', 'mon-laboratoire' ).'</a>' );
        echo( '</h2>' );
        if ( 'tab_functionalities' === $active_tab )      {
                settings_fields( 'pluginSettings_group0' );
index c972396..cd57228 100644 (file)
@@ -98,8 +98,9 @@ Remember, check_admin_referer alone is not bulletproof security. Do not rely on
 * BUG : In some server configuration, URL of default image for a person was wrong.
 * TEST: Tester en multisite WordPress
 * CODE : Improve unit test coverage (XXXXX tests)
-* NEW FUNC: Allows you to customize other shortcode texts ("Room", "Thematic" in team_panel).
+* NEW FUNC: Allows you to customize other shortcode texts ("Room" in team_panel).
 * BUG : Correction of poor display of radio buttons in config interface.
+* DESIGN : Always display customize text config tab. Lighten functionalites config tab.
 
 
 = 3.0.5 =
index 4a5aef2..4d80a42 100644 (file)
@@ -45,11 +45,9 @@ class MonLabo_translate {
                //Step 2 : return custom text if defined
                $custom_text_defined = false;
                $options0 = get_option( 'MonLabo_settings_group0' );
-               if ( isset( $options0['MonLabo_uses_custom_texts_in_shortcodes'] ) && ( intval( $options0['MonLabo_uses_custom_texts_in_shortcodes'] ) === 1 ) ) {
-                       $options5 = get_option( 'MonLabo_settings_group5' );
-                       if ( array_key_exists( $custom_text_tag.'_'.$suffix, $options5 ) ) {
-                               return $options5[$custom_text_tag.'_'.$suffix];
-                       }
+               $options5 = get_option( 'MonLabo_settings_group5' );
+               if ( array_key_exists( $custom_text_tag.'_'.$suffix, $options5 ) ) {
+                       return $options5[$custom_text_tag.'_'.$suffix];
                }
 
                //Step 3 : return default custom text if defined
index 398adf8..9ad85eb 100644 (file)
@@ -8,7 +8,7 @@ defined( 'ABSPATH' ) or die( 'No direct script access allowed' );
 * Plugin Name:       Mon Laboratoire
 * Plugin URI:        http://www.monlabo.org
 * Description:       Simplify the management of a research unit's website
-* Version:           3.0.995
+* Version:           3.0.997
 * Requires at least: 4.8
 * Requires PHP:      5.4
 * License:           GPLv2 or later
@@ -170,6 +170,12 @@ if ( !class_exists( 'MonLabo' ) ) {
  * This action is documented in includes/class-plugin-name-activator.php
  */
 function activate_MonLabo() {
+
+       /*echo("<pre>");
+       var_dump(get_option( 'MonLabo_settings_group0' ));
+       var_dump(get_option( 'MonLabo_settings_group5' ));
+       echo("</pre>");*/
+
        $MonLabo_DB = New MonLabo_db();
        $options0 = get_option( 'MonLabo_settings_group0' );
        if( $MonLabo_DB->check_tables_exist() ) {