Valider 764b8fd7 rédigé par cy.altern's avatar cy.altern
Parcourir les fichiers

si le plugin breves n'est pas activé mais que la table spip_breves existe et...

si le plugin breves n'est pas activé mais que la table spip_breves existe et n'est pas vide, envoyer une erreur de squelette pour avertir qu'il faut réactiver le plugin ou supprimer la table correspondante (cf #3)
parent c470329c
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+3 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -13,6 +13,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
	'auteur' => '@nb@ auteur',
	'auteurs' => '@nb@ auteurs',
	'auteurs_tous' => 'Toutes les personnes connectées',
	'alerte_table_breves' => '<strong>Attention !</strong> Votre site utilise le plugin <strong>Accès restreint</strong> mais le plugin <strong>Brèves</strong> n\'est pas actif : 
		vous courrez le risque d\'afficher des forums qui étaient en accès réservés jusque là. 
		Il est conseillé de le réinstaller ou, si vous êtes certain de ne pas l\'utiliser, de supprimer définitivement la table spip_breves.',

	// B
	'bouton_configurer_acces' => 'Configuration des accès .htaccess',
+19 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -250,10 +250,20 @@ function accesrestreint_forums_accessibles_where($primary, $_publique = '') {
	$where = "array('OR',$where,"
		."array('AND','zzzf.objet=\'article\'',".accesrestreint_articles_accessibles_where('zzzf.id_objet', $_publique).")"
		.")";
	
	if (test_plugin_actif('breves')) {
		$where = "array('OR',$where,"
			."array('AND','zzzf.objet=\'breve\'',".accesrestreint_breves_accessibles_where('zzzf.id_objet', $_publique).")"
			.")";
	} else {	
		// en SPIP 4 par défaut le plugin breves n'est pas présent/actif
		// si la table des brèves n'existe pas ou est vide, on peut ignorer toute vérification la concernant
		// sinon il faut avertir qu'il serait peut être bon d'activer le plugin brève sous peine de "démasquer" des forums liés à des brèves protégées
		$trouver_table = charger_fonction('trouver_table', 'base');		
		if ($trouver_table('spip_breves') !== null and sql_countsel('spip_breves')) {
			$debusquer = charger_fonction('debusquer', 'public');
			$debusquer(_T('accesrestreint:alerte_table_breves'));
		}
	}
	if(!defined('AR_RESTRICTION_LIENS_STRICTE')) {
		$where = "array('OR',$where,sql_in('zzzf.objet',array('rubrique','article','breve'),'NOT',\$connect))";
@@ -290,6 +300,15 @@ function accesrestreint_documents_accessibles_where($primary, $_publique = '') {
	$where = "array('OR',$where,array('AND','zzzd.objet=\'article\'',".accesrestreint_articles_accessibles_where('zzzd.id_objet', $_publique)."))";
	if (test_plugin_actif('breves')) {
		$where = "array('OR',$where,array('AND','zzzd.objet=\'breve\'',".accesrestreint_breves_accessibles_where('zzzd.id_objet', $_publique)."))";
	} else {	
		// en SPIP 4 par défaut le plugin breves n'est pas présent/actif
		// si la table des brèves n'existe pas ou est vide, on peut ignorer toute vérification la concernant
		// sinon il faut avertir qu'il serait peut être bon d'activer le plugin brève sous peine de "démasquer" des forums liés à des brèves protégées
		$trouver_table = charger_fonction('trouver_table', 'base');		
		if ($trouver_table('spip_breves') !== null and sql_countsel('spip_breves')) {
			$debusquer = charger_fonction('debusquer', 'public');
			$debusquer(_T('accesrestreint:alerte_table_breves'));
		}
	}
	$where = "array('OR',$where,array('AND','zzzd.objet=\'forum\'',".accesrestreint_forums_accessibles_where('zzzd.id_objet', $_publique)."))";
	if(!defined('AR_RESTRICTION_LIENS_STRICTE')) {