From 359a1cb6d61674229c868a78f7bcfb82d3d96663 Mon Sep 17 00:00:00 2001
From: "cedric@yterium.com" <>
Date: Fri, 1 Apr 2011 11:05:28 +0000
Subject: [PATCH] =?UTF-8?q?utiliser=20la=20declaration=20de=20statut=20au?=
 =?UTF-8?q?=20lieu=20de=20la=20coder,=20=C3=A7a=20evitera=20en=20plus=20de?=
 =?UTF-8?q?=20generer=20une=20condition=20invalide=20dans=20pgsql?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 base/medias.php      | 10 +++++++++-
 medias_fonctions.php | 18 ------------------
 2 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/base/medias.php b/base/medias.php
index 6d19e129..deaf8234 100644
--- a/base/medias.php
+++ b/base/medias.php
@@ -147,6 +147,15 @@ function medias_declarer_tables_objets_sql($tables){
 			"id_document"=>"id_document",
 			"extension"=>"extension"
 		),
+		'statut'=> array(
+			array(
+				'champ' => 'statut',
+				'publie' => 'publie',
+				'previsu' => 'publie,prop,prepa',
+				'post_date' => 'date_publication',
+				'exception' => array('statut','tout')
+			)
+		),
 		'tables_jointures' => array('types_documents'),
 		'rechercher_champs' => array(
 			'titre' => 3, 'descriptif' => 1, 'fichier' => 1
@@ -163,7 +172,6 @@ function medias_declarer_tables_objets_sql($tables){
 	return $tables;
 }
 
-
 /**
  * Creer la table des types de document
  *
diff --git a/medias_fonctions.php b/medias_fonctions.php
index fb02066a..e606bd22 100644
--- a/medias_fonctions.php
+++ b/medias_fonctions.php
@@ -62,24 +62,6 @@ function boucle_DOCUMENTS($id_boucle, &$boucles) {
 		array_unshift($boucle->where,array("'IN'", "'$id_table.mode'", "'(\\'image\\',\\'document\\')'"));
 	}
 
-	// Pour une boucle generique (DOCUMENTS) sans critere de lien, verifier
-	// qu notre document est lie a un element publie
-	// (le critere {tout} permet de les afficher tous quand meme)
-	// S'il y a un critere de lien {id_article} par exemple, on zappe
-	// ces complications (et tant pis si la boucle n'a pas prevu de
-	// verification du statut de l'article)
-	if (!isset($boucle->modificateur['tout'])
-	AND !isset($boucle->modificateur['criteres']['statut'])
-	) {
-		if ($GLOBALS['var_preview']) {
-			array_unshift($boucle->where,"'($id_table.statut IN (\"publie\",\"prop\",\"prepa\"))'");
-		} else {
-			if ($GLOBALS['meta']["post_dates"] == 'non')
-				array_unshift($boucle->where,"quete_condition_postdates('$id_table" . ".date_publication',"._q($boucle->serveur).")");
-			array_unshift($boucle->where,"'(($id_table.statut = \"publie\"))'");
-		}
-	}
-
 	return calculer_boucle($id_boucle, $boucles);
 }
 
-- 
GitLab