Browse Source

Le role vide '' est un role acceptable. Ne pas confondre avec le role non defini (null) qu'on traite alors soit comme tous '*' ou comme le role par defaut selon les cas

v1
cedric@yterium.com 8 years ago
parent
commit
058bf956c7
  1. 2
      formulaires/editer_liens.php
  2. 7
      inc/roles.php

2
formulaires/editer_liens.php

@ -223,7 +223,7 @@ function formulaires_editer_liens_traiter_dist($a, $b, $c, $editable = true){
$lien = explode("-", $lien);
list($objet_source, $ids, $objet_lie, $idl, $role) = $lien;
// appliquer une condition sur le rôle si défini ('*' pour tous les roles)
$cond = $role ? array('role' => $role) : array();
$cond = (!is_null($role) ? array('role' => $role) : array());
if ($objet_lien==$objet_source){
$oups = array_merge($oups, objet_trouver_liens(array($objet_source => $ids), array($objet_lie => $idl), $cond));
objet_dissocier(array($objet_source => $ids), array($objet_lie => $idl), $cond);

7
inc/roles.php

@ -168,10 +168,10 @@ function roles_creer_condition_role($objet_source, $objet, $cond, $tous_si_absen
list($role_defaut, $colonne_role) = roles_trouver_dans_qualif($objet_source, $objet);
// chercher d'eventuels rôles transmis
$role = isset($cond['role']) ? $cond['role'] : ($tous_si_absent ? '' : $role_defaut);
$role = (isset($cond['role']) ? $cond['role'] : ($tous_si_absent ? '*' : $role_defaut));
unset($cond['role']); // cette condition est particuliere...
if ($colonne_role and $role) {
if ($colonne_role) {
// on ajoute la condition du role aux autres conditions.
if ($role != '*') {
$cond[] = "$colonne_role=" .sql_quote($role);
@ -277,7 +277,7 @@ function roles_presents_liaisons($objet_source, $objet, $id_objet, $objet_lien)
static $done = array();
// stocker le résultat
$hash = md5($objet_source . $objet . $id_objet . $objet_lien);
$hash = "$objet_source-$objet-$id_objet-$objet_lien";
if (isset($done[$hash])) {
return $done[$hash];
}
@ -317,3 +317,4 @@ function roles_presents_liaisons($objet_source, $objet, $id_objet, $objet_lien)
'ids' => $ids
);
}

Loading…
Cancel
Save