Changeset 110165 in spip-zone for _plugins_/roles_documents


Ignore:
Timestamp:
May 9, 2018, 9:26:01 PM (5 months ago)
Author:
tcharlss@…
Message:

v1.2.12 : le JS du formulaire d'ajout des documents bogue quand il est présent plusieurs fois sur la page, et le cas se présente avec les logos en documents. On change les identifiants pour les rendre vraiment uniques (sans surcharge).

Location:
_plugins_/roles_documents/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/roles_documents/trunk/paquet.xml

    r110138 r110165  
    22        prefix="roles_documents"
    33        categorie="edition"
    4         version="1.2.11"
     4        version="1.2.12"
    55        etat="dev"
    66        compatibilite="[3.2.0;3.2.*]"
  • _plugins_/roles_documents/trunk/roles_documents_pipelines.php

    r110029 r110165  
    302302 * Modifier le résultat du calcul d’un squelette donné.
    303303 *
    304  * Ajout du sélecteur de rôle sur un inclure du formulaire d'ajout de document.
     304 * Formulaire d'ajout de document : ajout du sélecteur de rôle, et rendre les identifiants uniques pour éviter un pb de JS quand le form est présent plusieurs fois sur la page.
    305305 *
    306306 * @pipeline recuperer_fond
     
    316316                and isset($flux['args']['contexte']['id_objet'])
    317317        ) {
     318
     319                // 1) Ajout du sélecteur de rôle
    318320
    319321                // Est-ce qu'il s'agit d'un ajout de logo ?
     
    338340                );
    339341
     342                // On place le sélecteur au début (compliqué de le placer juste avant les boutons, déplacés en JS, et des blocs cachés)
    340343                $selecteur_roles = recuperer_fond('formulaires/inc-selecteur_role', $contexte);
    341344                $flux['data']['texte'] = $selecteur_roles . $flux['data']['texte'];
     345
     346                // 2) Rendre les identifiants vraiment uniques pour le JS
     347
     348                if (preg_match('/id=["\']defaultsubmit([^"\']+)/i', $flux['data']['texte'], $res)) {
     349                        $domid = $res[1]; // L'identifiant pas si unique présent par défaut
     350                        $uniqid = $domid . '_' . uniqid(); // Identifiant vraiement unique
     351                        $flux['data']['texte'] = str_replace($domid, $uniqid, $flux['data']['texte']);
     352                }
     353
    342354        }
    343355
Note: See TracChangeset for help on using the changeset viewer.