Valider c119bf9f rédigé par RastaPopoulos's avatar RastaPopoulos
Parcourir les fichiers

Plus de sécurité, on fait *toujours* un test dans le charger() d'editer_liens,...

Plus de sécurité, on fait *toujours* un test dans le charger() d'editer_liens, qui consiste à appeler l'autorisation "associerTABLES" suivant la table de liaison demandée. Par ex "associermots", "associerauteurs".

Le 4ème argument du formulaire ne devient plus qu'une addition permettant de forcer le fait que ce ne soit pas éditable.

On supprime donc l'autorisation dans le squelette des auteurs (à faire pour les mots).

Cela implique aussi que tout plugin fournissant une table de liaison, devrait toujours définir une fonction "autoriser_associertrucs_dist" au minimum.
parent 6f692314
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+5 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -68,6 +68,9 @@ function formulaires_editer_liens_charger_dist($a,$b,$c,$editable=true){
	if (!objet_associable($objet_lien))
		return false;
	
	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
	$editable = ($editable and autoriser('associer'.$table_source, $objet, $id_objet));
	
	if (!$editable AND !count(objet_trouver_liens(array($objet_lien=>'*'),array(($objet_lien==$objet_source?$objet:$objet_source)=>'*'))))
		return false;
	
@@ -85,7 +88,7 @@ function formulaires_editer_liens_charger_dist($a,$b,$c,$editable=true){
		'ajouter_lien'=>'',
		'supprimer_lien'=>'',
		'_oups' => _request('_oups'),
		'editable' => $editable?true:false,
		'editable' => $editable,
	);

	return $valeurs;
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -20,7 +20,7 @@
</div>

<div class="ajax">
	#FORMULAIRE_EDITER_LIENS{auteurs,article,#ID_ARTICLE,#AUTORISER{associerauteurs,article,#ID_ARTICLE}}
	#FORMULAIRE_EDITER_LIENS{auteurs,article,#ID_ARTICLE}
</div>

<!--affiche_milieu-->