/**
 * filtre de test pour savoir si l'acces a une rubrique est restreinte
 *
 * @param int $id_rubrique
 * @return bool
 */
function accesrestreint_rubrique_restreinte($id_rubrique, $id_auteur=null){
	include_spip('inc/acces_restreint');
	return
		@in_array($id_rubrique,
			accesrestreint_liste_rubriques_exclues(!test_espace_prive(), $id_auteur)
		);
}
function autoriser_rubrique_voir($faire, $type, $id, $qui, $opt) {
	include_spip('inc/acces_restreint');
	static $rub_exclues;
	$publique = isset($opt['publique'])?$opt['publique']:!test_espace_prive();
	$id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
	if (!isset($rub_exclues[$id_auteur][$publique]) || !is_array($rub_exclues[$id_auteur][$publique])) {
		$rub_exclues[$id_auteur][$publique] = accesrestreint_liste_rubriques_exclues($publique,$id_auteur);
		$rub_exclues[$id_auteur][$publique] = array_flip($rub_exclues[$id_auteur][$publique]);
	}
	return !isset($rub_exclues[$id_auteur][$publique][$id]);
}
/**
 * Un auteur donné fait il partie d'une zone permettant de voir telle rubrique.
 * Renvoie true, si l'auteur peut voir la rubrique,
 * quelquesoit la visibilité des rubriques de la zone 
 *
 * @param int $id_auteur	Identifiant de l'auteur
 * @param int $id_rubrique	Identifiant de la rubrique
 * @return bool L'auteur fait partie de la rubrique.
 */
function accesrestreint_auteur_lie_a_rubrique($id_auteur, $id_rubrique)
{
    if (!$id_auteur) {
        return false;
    }
    if (!$id_rubrique) {
        return false;
    }
    // $auteur[3][8] : l'auteur 3 ne peut pas voir la rubrique 8
    static $auteurs = array();
    if (!isset($auteurs[$id_auteur])) {
        $auteurs[$id_auteur] = array();
        include_spip('inc/accesrestreint');
        $auteurs[$id_auteur] = array_flip(accesrestreint_liste_rubriques_exclues(true, $id_auteur, true));
    }
    // si la rubrique est presente, c'est qu'on ne peut pas la voir !
    if (isset($auteurs[$id_auteur][$id_rubrique])) {
        return false;
    }
    return true;
}