sites.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?php
  2. /***************************************************************************\
  3. * SPIP, Systeme de publication pour l'internet *
  4. * *
  5. * Copyright (c) 2001-2014 *
  6. * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
  7. * *
  8. * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
  9. * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
  10. \***************************************************************************/
  11. if (!defined('_ECRIRE_INC_VERSION')) return;
  12. /**
  13. * Interfaces des tables syndic et syndic article
  14. *
  15. * @param array $interfaces
  16. * @return array
  17. */
  18. function sites_declarer_tables_interfaces($interfaces){
  19. $interfaces['table_des_tables']['sites']='syndic'; // compat pour les boucles (SITES)
  20. $interfaces['table_des_tables']['syndication']='syndic';
  21. $interfaces['table_des_tables']['syndic']='syndic';
  22. $interfaces['table_des_tables']['syndic_articles']='syndic_articles';
  23. # ne sert plus ? verifier balise_URL_ARTICLE
  24. $interfaces['exceptions_des_tables']['syndic_articles']['url_article']='url';
  25. # ne sert plus ? verifier balise_LESAUTEURS
  26. $interfaces['exceptions_des_tables']['syndic_articles']['lesauteurs']='lesauteurs';
  27. $interfaces['exceptions_des_tables']['syndic_articles']['url_site']=array('syndic', 'url_site');
  28. $interfaces['exceptions_des_tables']['syndic_articles']['nom_site']=array('syndic', 'nom_site');
  29. $interfaces['table_date']['syndication'] = 'date';
  30. $interfaces['tables_jointures']['spip_syndic_articles'][]= 'syndic';
  31. $interfaces['table_des_traitements']['NOM_SITE'][]= _TRAITEMENT_TYPO;
  32. // Articles syndiques : passage des donnees telles quelles, sans traitement typo
  33. // la securite et conformite XHTML de ces champs est assuree par safehtml()
  34. foreach(array('DESCRIPTIF','SOURCE','URL','URL_SOURCE','LESAUTEURS','TAGS') as $balise)
  35. if (!isset($interfaces['table_des_traitements'][$balise]['syndic_articles']))
  36. $interfaces['table_des_traitements'][$balise]['syndic_articles'] = 'safehtml(%s)';
  37. else
  38. if (strpos($interfaces['table_des_traitements'][$balise]['syndic_articles'],'safehtml')==false)
  39. $interfaces['table_des_traitements'][$balise]['syndic_articles'] = 'safehtml('.$interfaces['table_des_traitements'][$balise]['syndic_articles'].')';
  40. return $interfaces;
  41. }
  42. function sites_declarer_tables_objets_sql($tables){
  43. $tables['spip_syndic'] = array(
  44. 'table_objet_surnoms'=>array('site'),
  45. 'type'=>'site',
  46. 'type_surnoms' => array('syndic'),
  47. 'texte_retour' => 'icone_retour',
  48. 'texte_objets' => 'icone_sites_references',
  49. 'texte_objet' => 'sites:icone_site_reference',
  50. 'texte_modifier' => 'sites:icone_modifier_site',
  51. 'texte_creer' => 'sites:icone_referencer_nouveau_site',
  52. 'info_aucun_objet'=> 'info_aucun_site',
  53. 'info_1_objet' => 'info_1_site',
  54. 'info_nb_objets' => 'info_nb_sites',
  55. 'titre' => "nom_site AS titre, '' AS lang",
  56. 'date' => 'date',
  57. 'principale' => 'oui',
  58. 'field'=> array(
  59. "id_syndic" => "bigint(21) NOT NULL",
  60. "id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
  61. "id_secteur" => "bigint(21) DEFAULT '0' NOT NULL",
  62. "nom_site" => "text DEFAULT '' NOT NULL",
  63. "url_site" => "text DEFAULT '' NOT NULL",
  64. "url_syndic" => "text DEFAULT '' NOT NULL",
  65. "descriptif" => "text DEFAULT '' NOT NULL",
  66. "maj" => "TIMESTAMP",
  67. "syndication" => "VARCHAR(3) DEFAULT '' NOT NULL",
  68. "statut" => "varchar(10) DEFAULT '0' NOT NULL",
  69. "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
  70. "date_syndic" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
  71. "date_index" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
  72. "moderation" => "VARCHAR(3) DEFAULT 'non'",
  73. "miroir" => "VARCHAR(3) DEFAULT 'non'",
  74. "oubli" => "VARCHAR(3) DEFAULT 'non'",
  75. "resume" => "VARCHAR(3) DEFAULT 'oui'"
  76. ),
  77. 'key' => array(
  78. "PRIMARY KEY" => "id_syndic",
  79. "KEY id_rubrique" => "id_rubrique",
  80. "KEY id_secteur" => "id_secteur",
  81. "KEY statut" => "statut, date_syndic",
  82. ),
  83. 'join' => array(
  84. "id_syndic"=>"id_syndic",
  85. "id_rubrique"=>"id_rubrique"
  86. ),
  87. 'statut' => array(
  88. array('champ'=>'statut','publie'=>'publie','previsu'=>'publie,prop','exception'=>'statut')
  89. ),
  90. 'texte_changer_statut' => 'sites:info_statut_site_1',
  91. 'statut_textes_instituer' => array(
  92. 'prop' => 'texte_statut_propose_evaluation',
  93. 'publie' => 'texte_statut_publie',
  94. 'refuse' => 'texte_statut_poubelle',
  95. ),
  96. 'rechercher_champs' => array(
  97. 'nom_site' => 5, 'url_site' => 1, 'descriptif' => 3
  98. ),
  99. 'champs_versionnes' => array('id_rubrique', 'id_secteur', 'nom_site', 'url_site', 'url_syndic','descriptif'),
  100. );
  101. $tables['spip_syndic_articles'] = array(
  102. 'table_objet_surnoms'=>array('syndic_article'),
  103. 'texte_retour' => 'icone_retour',
  104. 'texte_objets' => 'sites:icone_articles_syndic',
  105. 'texte_objet' => 'sites:icone_article_syndic',
  106. 'texte_modifier' => 'icone_modifier_article', # inutile en vrai
  107. 'info_aucun_objet'=> 'info_aucun_article_syndique',
  108. 'info_1_objet' => 'info_1_article_syndique',
  109. 'info_nb_objets' => 'info_nb_articles_syndiques',
  110. 'icone_objet' => 'site',
  111. // pas de page propre ni dans ecrire ni dans le site public
  112. 'url_voir'=>'',
  113. 'url_edit'=>'',
  114. 'page'=>'',
  115. 'date' => 'date',
  116. 'editable' => 'non',
  117. 'principale' => 'oui',
  118. 'field'=> array(
  119. "id_syndic_article" => "bigint(21) NOT NULL",
  120. "id_syndic" => "bigint(21) DEFAULT '0' NOT NULL",
  121. "titre" => "text DEFAULT '' NOT NULL",
  122. "url" => "VARCHAR(255) DEFAULT '' NOT NULL",
  123. "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
  124. "lesauteurs" => "text DEFAULT '' NOT NULL",
  125. "maj" => "TIMESTAMP",
  126. "statut" => "varchar(10) DEFAULT '0' NOT NULL",
  127. "descriptif" => "text DEFAULT '' NOT NULL",
  128. "lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
  129. "url_source" => "TINYTEXT DEFAULT '' NOT NULL",
  130. "source" => "TINYTEXT DEFAULT '' NOT NULL",
  131. "tags" => "TEXT DEFAULT '' NOT NULL"
  132. ),
  133. 'key' => array(
  134. "PRIMARY KEY" => "id_syndic_article",
  135. "KEY id_syndic" => "id_syndic",
  136. "KEY statut" => "statut",
  137. "KEY url" => "url"
  138. ),
  139. 'join' => array(
  140. "id_syndic_article"=>"id_syndic_article",
  141. "id_syndic"=>"id_syndic"
  142. ),
  143. 'statut' => array(
  144. array('champ'=>'statut','publie'=>'publie','previsu'=>'publie,prop','exception'=>'statut'),
  145. array('champ'=>array(array('spip_syndic','id_syndic'),'statut'),'publie'=>'publie','previsu'=>'publie,prop','exception'=>'statut'),
  146. ),
  147. 'statut_images' => array(
  148. 'puce-rouge-anim.gif','publie'=>'puce-publier-8.png','refuse'=>'puce-supprimer-8.png','dispo'=>'puce-proposer-8.png','off'=>'puce-refuser-8.png',
  149. ),
  150. 'rechercher_champs' => array(
  151. 'titre' => 5, 'descriptif' => 1
  152. )
  153. );
  154. return $tables;
  155. }
  156. ?>