‰PNG

   
IHDR  6   £   7¾Âß  PLTEÿÿÿL‹õïïïåååLŒõOŽõÜÜÜRõI‰ôÙÙÙçççáááJ‰ñÞÞÞDU¶Oò6€ö©Çüb|‰ÕÕ×e÷÷÷ÒÒÖÛåð^w‡„«ôÍÍÓ^•óöôïEnÓBP°ÇÈÐDV´>…õpŠ•ÂÃÎüùîÊ×ñÃÇÉš¨°±óPo{~¦óZw…\tˆ>P³m öc˜ó°Æòäéï»Íñ«³¸2F³Yf¸ó÷ýŸ¾øÕáûéðýÚåûØÙá¢°Ôwœæ°ºÕÀÑñ‡¦å’©ßº¾ÏŸ¯Ú—¶óPt¢PƒÔ^r|t‡pƒ”}š„¢äMi“¡©—¤ª¬±½Mr¢ÕÏÉ¡¦Æ™Ñ’˜Â}„¿oy»½ÁÞhuÂ¨«Å–š¿þ­)€  (IDATxœíÝ
[ÚÈ p"&bEA gÓDQ«-½¸­v÷”êzzv{¶ÝïÿAÎÜ’L’É¥ä™$ÿgût­í®ù=ï;—db
…<yòäÉ“'Ož”äêæú¸õÄ^%ýÕ'•³‰ZÚZ(NÀqÒ_~2y=V+‘	!ì\%}Iäõd+Z-Œ
d±K¯b©…±md±K·ct(J) ¤K“¾†Õçªó,5Â¦f¯KÏŸWlÄ-ƒ]ÚŠ5²…³e°KÇË`S2×¥“Xj!lØ
\'}«N<¶52¸e®K—Â¶fI_ÇŠo±Æ–É.Åª–É.][æºt	l¤K·“¾Õ&[„éÒIÒ²Ú,ƒ”Ûë¤¯d¥‰Á©FØÎ’¾’•&š-MU³7—.…
—ÌÔ­ñH¶è¥lÙêÒ(¶8j´KÇI_Ê*Á­f±mÁiÒ×²Â,‡téyÒ×²Â„³ÅP#l¤K I_Ë
Æ ªárÛ {I_ÌêÂKÍaËT—³-¢ÆºtÏëáû>Ü'd*Ö@¶xj6.7¥Ûm¿yóF¯V«E”u.Þ]Ÿ A¬%­;l1Ñl5ºQxËÜt,W-ÆI•OQ8![\4Žté»>q{2ú3’¸	Øâ£qjô€\·kšíç°Éâæe[ÀÌÏßš(
Ë,t(
$”bfp±-fæR#_Z»]/©E@¶õ¤Iâ¤ƒŠ$ÒK¨¡j¨äs[X¹ÉPn˜m+ÔÂÎñÙÍl6;<¿ƒcƒï	[£»Ú}*ÃèÁ¦Ô7k=ÃXÃ1ŒžÑ¼ƒP
RC]Ú&lúúÓÙdèÒP6ÞM{”ÌŽaœW`€šªTpµ5P´˜n‚i¡˜´IŒ„±ÁÁÔcÆà¶QÁ‰Ô¬.ÅnåXÅ–>6ÞˆÐ\³Ø~m°.­ë™dS*ÂR³àZb7¥Cæ4)`·mš26elFê
w©é¸EÂ¥‹Mõ¨8Ü‡³ 5Ô¥m›­®G/CÒÅV™òfkÍÃ³í³óÙÔZ‰ª‘.¥nx|+G¹yÕ¤f«€™SZÆôzB7	°48Ä¿nª¡¥Û{êFØp½e‡
l÷œJ»Öú¶¤*pÜ4BÕTøÁìb·s[¬G¥f›Øµf4éÚÖ™*àÍM-D
uiŸÜ>Šç–&6xh±áÂòN `ÉfwéGÊË-ElêØVkúÕ"ƒ»´Ëº±i¡nR³¹o9»ã	jª2qwiX½ùÔ¤bsËT¬­7PW£]ÚuØ´z©IÊŽ­b›Á§¨¡.íÚ]JªMÓ‚ÜRÄfO½±ú5Ö¥ÖŠ—°iÕÔ³{ƒPãY©‰"œUÙ\Ú°ÊM«÷ûýFch““MíXóÁ9ß£Ê`Úôg*º¢À[÷œ õO†ÃáÊAzÙ¬GcnBPÁÀÞ8ð»Õ3Á†A¬K96D¶‹’^6{FèMì¡
7žmM°ÏRÅZñºØv|l~5‰Ùî,¶ŠƒÈæ¿í†Ôh—:ûÆ¶“
¶’ÊMŸqÙ°šÆ¦ˆÍ;¶¥Ší˜¯6gv\„M®9!€M &/›Òr–mü¢"USÈa{åæ°íVÓÊfoä;àf3¸L	LMïúB¶~Ý›*¶R%€„ßï[Kb´¶©¡rkX›+´EÐ6]/Zÿyá–A^6Ød×Õ
¾©Xy
…j
sd<?php

/***************************************************************************\
 *  SPIP, Système de publication pour l'internet                           *
 *                                                                         *
 *  Copyright © avec tendresse depuis 2001                                 *
 *  Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James  *
 *                                                                         *
 *  Ce programme est un logiciel libre distribué sous licence GNU/GPL.     *
\***************************************************************************/

/**
 * Déclarations des tables et objets au compilateur
 *
 * @package SPIP\Core\Pipelines
 **/

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

/**
 * Interfaces de la table forum pour le compilateur
 *
 * @pipeline declarer_tables_interfaces
 * @param array $interfaces
 * @return array $interfaces
 */
function forum_declarer_tables_interfaces($interfaces) {

	$interfaces['table_des_tables']['forums'] = 'forum';

	$interfaces['exceptions_des_tables']['forums']['date'] = 'date_heure';
	$interfaces['exceptions_des_tables']['forums']['nom'] = 'auteur';
	$interfaces['exceptions_des_tables']['forums']['email'] = 'email_auteur';

	// il ne faut pas essayer de chercher le forum du mot cle, mais bien le mot cle associe au forum
	$interfaces['exceptions_des_jointures']['spip_forum']['id_secteur'] = ['spip_articles', 'id_secteur'];
	$interfaces['exceptions_des_jointures']['spip_forum']['id_mot'] = ['spip_mots', 'id_mot'];
	$interfaces['exceptions_des_jointures']['spip_forum']['titre_mot'] = ['spip_mots', 'titre'];
	$interfaces['exceptions_des_jointures']['spip_forum']['type_mot'] = ['spip_mots', 'type'];
	$interfaces['exceptions_des_jointures']['spip_forum']['id_groupe'] = ['spip_mots', 'id_groupe'];


	#$interfaces['table_titre']['forums']= "titre, '' AS lang";
	#$interfaces['table_date']['forums']='date_heure';

	$interfaces['table_statut']['spip_forum'][] = [
		'champ' => 'statut',
		'publie' => 'publie',
		'previsu' => 'publie,prop',
		'exception' => 'statut'
	];

	$interfaces['table_des_traitements']['PARAMETRES_FORUM'][] = 'spip_htmlspecialchars(%s)';
	$interfaces['table_des_traitements']['TEXTE']['forums'] = 'liens_nofollow(safehtml(' . str_replace(
		'%s',
		'interdit_html(%s)',
		_TRAITEMENT_RACCOURCIS
	) . '))';
	$interfaces['table_des_traitements']['TITRE']['forums'] = 'liens_nofollow(safehtml(' . str_replace(
		'%s',
		'interdit_html(%s)',
		_TRAITEMENT_TYPO
	) . '))';
	$interfaces['table_des_traitements']['NOTES']['forums'] = 'liens_nofollow(safehtml(' . str_replace(
		'%s',
		'interdit_html(%s)',
		_TRAITEMENT_RACCOURCIS
	) . '))';
	$interfaces['table_des_traitements']['NOM_SITE']['forums'] = 'liens_nofollow(safehtml(' . str_replace(
		'%s',
		'interdit_html(%s)',
		_TRAITEMENT_TYPO
	) . '))';
	$interfaces['table_des_traitements']['URL_SITE']['forums'] = 'safehtml(vider_url(%s))';
	$interfaces['table_des_traitements']['AUTEUR']['forums'] = 'liens_nofollow(safehtml(vider_url(%s)))';
	$interfaces['table_des_traitements']['EMAIL_AUTEUR']['forums'] = 'safehtml(vider_url(%s))';

	return $interfaces;
}

/**
 * Déclaration de la table spip_forum et de l'objet forum
 *
 * @pipeline declarer_tables_objets_sql
 * @param array $tables Tableau des objets déclarés
 * @return array $tables Tableau des objets complété
 */
function forum_declarer_tables_objets_sql($tables) {
	$tables['spip_forum'] = [
		'table_objet' => 'forums',
		# ??? hum hum redevient spip_forum par table_objet_sql mais casse par un bete "spip_".table_objet()
		'type' => 'forum',
		'url_voir' => 'controler_forum',
		'url_edit' => 'controler_forum',
		'editable' => 'non',
		'principale' => 'oui',
		'page' => '',
		// pas de page editoriale pour un forum

		'texte_retour' => 'icone_retour',
		'texte_objets' => 'forum:forum',
		'texte_objet' => 'forum:forum',
		'info_aucun_objet' => 'forum:aucun_message_forum',
		'info_1_objet' => 'forum:info_1_message_forum',
		'info_nb_objets' => 'forum:info_nb_messages_forum',
		'titre' => "titre, '' AS lang",
		'date' => 'date_heure',

		'champs_editables' => ['titre', 'texte', 'nom_site', 'url_site'],

		'field' => [
			'id_forum' => 'bigint(21) NOT NULL',
			'id_objet' => "bigint(21) DEFAULT '0' NOT NULL",
			'objet' => "VARCHAR (25) DEFAULT '' NOT NULL",
			'id_parent' => "bigint(21) DEFAULT '0' NOT NULL",
			'id_thread' => "bigint(21) DEFAULT '0' NOT NULL",
			'date_heure' => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
			'date_thread' => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
			'titre' => "text DEFAULT '' NOT NULL",
			'texte' => "mediumtext DEFAULT '' NOT NULL",
			'auteur' => "text DEFAULT '' NOT NULL",
			'email_auteur' => "text DEFAULT '' NOT NULL",
			'nom_site' => "text DEFAULT '' NOT NULL",
			'url_site' => "text DEFAULT '' NOT NULL",
			'statut' => "varchar(8) DEFAULT '0' NOT NULL",
			'ip' => "varchar(40) DEFAULT '' NOT NULL",
			'maj' => 'TIMESTAMP',
			'id_auteur' => "bigint DEFAULT '0' NOT NULL"
		],
		'key' => [
			'PRIMARY KEY' => 'id_forum',
			'KEY id_auteur' => 'id_auteur',
			'KEY id_parent' => 'id_parent',
			'KEY id_thread' => 'id_thread',
			'KEY optimal' => 'statut,id_parent,id_objet,objet,date_heure'
		],
		'join' => [
			'id_forum' => 'id_forum',
			'id_parent' => 'id_parent',
			'id_objet' => 'id_objet',
			'objet' => 'objet',
			'id_auteur' => 'id_auteur',
		],
		'rechercher_champs' => [
			'titre' => 3,
			'texte' => 1,
			'auteur' => 2,
			'email_auteur' => 2,
			'nom_site' => 1,
			'url_site' => 1
		],
	];

	// jointures sur les forum pour tous les objets
	$tables[]['tables_jointures'][] = 'forums';

	return $tables;
}
