Changeset 125331 in spip-zone


Ignore:
Timestamp:
Jun 29, 2020, 2:34:58 PM (2 weeks ago)
Author:
Cerdic
Message:

eviter une boucle infinie quand on selectionne une organisation parente erronée

Location:
_plugins_/contacts_et_organisations/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/contacts_et_organisations/trunk

    • Property subgit:lock:f5d98874fc726b779f5ebcd778dd4ddc3a8133b7 deleted
    • Property subgit:lock:a7cf0afa96abe5d747848067de693aad5c22346f set to 2020-06-30T09:26:14.655
  • _plugins_/contacts_et_organisations/trunk/formulaires/editer_organisation.php

    r123211 r125331  
    210210                $erreurs = array_merge($erreurs, $editer_organisation_verifier($id_organisation, $id_parent));
    211211        }
     212
     213        // verifier que la hiearchie n'introduit pas une boucle infinie de parente
     214        if (!isset($erreurs['id_parent'])
     215                and intval($id_organisation) and $idp = intval(_request('id_parent'))) {
     216                $deja = [$id_organisation];
     217                while ($idp and !in_array($idp, $deja)) {
     218                        $deja[] = $idp;
     219                        $idp = sql_getfetsel("id_parent", "spip_organisations", "id_organisation=".intval($idp));
     220                }
     221                if ($idp) {
     222                        $erreurs['id_parent'] = _T('contacts:erreur_parent_organisation_boucle_infinie');
     223                }
     224        }
    212225       
    213226        return $erreurs;
  • _plugins_/contacts_et_organisations/trunk/lang/contacts_fr.php

    r121720 r125331  
    102102        // E
    103103        'erreur_annuaire_identifiant_existant' => 'Cet identifiant est déjà utilisé par l’un de vos annuaires.',
     104        'erreur_parent_organisation_boucle_infinie' => 'Impossible de sélectionner cette organisation comme parent, cela créé une boucle infinie de parents',
    104105        'est_un_contact' => 'Cet auteur est défini comme étant un contact.',
    105106        'est_une_organisation' => 'Cet auteur est défini comme étant une organisation.',
Note: See TracChangeset for help on using the changeset viewer.