PageRenderTime 26ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/sarkaspip/sarkaspip_202/inc/sarkaspip_filtres.php

https://bitbucket.org/pombredanne/spip-zone-treemap
PHP | 258 lines | 142 code | 28 blank | 88 comment | 15 complexity | 920276d70daf8ccb611c0ab669a54c98 MD5 | raw file
  1. <?php
  2. // =======================================================================================================================================
  3. // Filtre : hauteur_majoree
  4. // =======================================================================================================================================
  5. // Auteur: S. Bellego
  6. // Fonction : Retourne la hauteur d'une image + 20. Sert pour afficher correctemnt le logo d'une rubrique
  7. // =======================================================================================================================================
  8. //
  9. function hauteur_majoree($img) {
  10. if (!$img) return;
  11. include_spip('logos.php');
  12. list ($h,$l) = taille_image($img);
  13. $h+=20;
  14. return $h;
  15. }
  16. //FIN du Filtre : hauteur_majoree
  17. // =======================================================================================================================================
  18. // Filtre : largeur_majoree
  19. // =======================================================================================================================================
  20. // Auteur: S. Bellego
  21. // Fonction : Retourne la largeur d'une image argument.Utilisee pour dimensionner les cadres des documents dans les articles
  22. // =======================================================================================================================================
  23. //
  24. function largeur_majoree($img, $maj = 0) {
  25. if (!$img) return;
  26. include_spip('logos.php');
  27. list ($h,$l) = taille_image($img);
  28. $l+=$maj;
  29. return $l;
  30. }
  31. //FIN du Filtre : largeur_majoree
  32. // =======================================================================================================================================
  33. // Filtre : typo_couleur
  34. // =======================================================================================================================================
  35. // Auteur : Smellup, inspire du filtre original de A. Pierard
  36. // Fonction : permettant de modifier la couleur du texte ou de l'introduction d'un article
  37. // Utilisation :
  38. // - pour le redacteur : [rouge]xxxxxx[/rouge]
  39. // - pour le webmaster : [(#TEXTE|typo_couleur)]
  40. // =======================================================================================================================================
  41. //
  42. function typo_couleur($texte) {
  43. // Variables personnalisables par l'utilisateur
  44. // --> Activation (oui) ou desactivation (non) de la fonction
  45. $typo_couleur_active = 'oui';
  46. // --> Nuances personnalisables par l'utilisateur
  47. $couleur = array(
  48. 'noir' => "#000000",
  49. 'blanc' => "#FFFFFF",
  50. 'rouge' => "#FF0000",
  51. 'vert' => "#00FF00",
  52. 'bleu' => "#0000FF",
  53. 'jaune' => "#FFFF00",
  54. 'gris' => "#808080",
  55. 'marron' => "#800000",
  56. 'violet' => "#800080",
  57. 'rose' => "#FFC0CB",
  58. 'orange' => "#FFA500"
  59. );
  60. $recherche = array(
  61. 'noir' => "/(\[noir\])(.*?)(\[\/noir\])/",
  62. 'blanc' => "/(\[blanc\])(.*?)(\[\/blanc\])/",
  63. 'rouge' => "/(\[rouge\])(.*?)(\[\/rouge\])/",
  64. 'vert' => "/(\[vert\])(.*?)(\[\/vert\])/",
  65. 'bleu' => "/(\[bleu\])(.*?)(\[\/bleu\])/",
  66. 'jaune' => "/(\[jaune\])(.*?)(\[\/jaune\])/",
  67. 'gris' => "/(\[gris\])(.*?)(\[\/gris\])/",
  68. 'marron' => "/(\[marron\])(.*?)(\[\/marron\])/",
  69. 'violet' => "/(\[violet\])(.*?)(\[\/violet\])/",
  70. 'rose' => "/(\[rose\])(.*?)(\[\/rose\])/",
  71. 'orange' => "/(\[orange\])(.*?)(\[\/orange\])/"
  72. );
  73. $remplace = array(
  74. 'noir' => "<span style=\"color:".$couleur['noir'].";\">\\2</span>",
  75. 'blanc' => "<span style=\"color:".$couleur['blanc'].";\">\\2</span>",
  76. 'rouge' => "<span style=\"color:".$couleur['rouge'].";\">\\2</span>",
  77. 'vert' => "<span style=\"color:".$couleur['vert'].";\">\\2</span>",
  78. 'bleu' => "<span style=\"color:".$couleur['bleu'].";\">\\2</span>",
  79. 'jaune' => "<span style=\"color:".$couleur['jaune'].";\">\\2</span>",
  80. 'gris' => "<span style=\"color:".$couleur['gris'].";\">\\2</span>",
  81. 'marron' => "<span style=\"color:".$couleur['marron'].";\">\\2</span>",
  82. 'violet' => "<span style=\"color:".$couleur['violet'].";\">\\2</span>",
  83. 'rose' => "<span style=\"color:".$couleur['rose'].";\">\\2</span>",
  84. 'orange' => "<span style=\"color:".$couleur['orange'].";\">\\2</span>"
  85. );
  86. $supprime = "\\2";
  87. if ($typo_couleur_active == 'non') {
  88. $texte = preg_replace($recherche, $supprime, $texte);
  89. }
  90. else {
  91. $texte = preg_replace($recherche, $remplace, $texte);
  92. }
  93. return $texte;
  94. }
  95. // =======================================================================================================================================
  96. // Filtre : premier_jour_annee
  97. // =======================================================================================================================================
  98. // Auteur: Smellup
  99. // Fonction : Retourne la date du premier jour de l'annee passe en argument
  100. // =======================================================================================================================================
  101. //
  102. function premier_jour_annee($annee) {
  103. if (!$annee) return;
  104. $jour = date("Y-m-d H:i:s", mktime(0,0,0,1,1,$annee));
  105. return $jour;
  106. }
  107. // FIN du Filtre : premier_jour_annee
  108. // =======================================================================================================================================
  109. // Filtre : dernier_jour_annee
  110. // =======================================================================================================================================
  111. // Auteur: Smellup
  112. // Fonction : Retourne la date du dernier jour de l'annee passe en argument
  113. // =======================================================================================================================================
  114. //
  115. function dernier_jour_annee($annee) {
  116. if (!$annee) return;
  117. $jour = date("Y-m-d H:i:s", mktime(23,59,59,12,31,$annee));
  118. return $jour;
  119. }
  120. // FIN du Filtre : dernier_jour_annee
  121. // =======================================================================================================================================
  122. // Filtre : debut_journee
  123. // =======================================================================================================================================
  124. // Auteur: Smellup
  125. // Fonction : Retourne la date-heure de debut de la journee passee en argument
  126. // =======================================================================================================================================
  127. //
  128. function debut_journee($date) {
  129. if (!$date) return;
  130. $jour = date('d', strtotime($date));
  131. $mois = date('m', strtotime($date));
  132. $annee = date('Y', strtotime($date));
  133. $jour = date("Y-m-d H:i:s", mktime(0,0,0,$mois,$jour,$annee));
  134. return $jour;
  135. }
  136. // FIN du Filtre : debut_journee
  137. // =======================================================================================================================================
  138. // Filtre : fin_journee
  139. // =======================================================================================================================================
  140. // Auteur: Smellup
  141. // Fonction : Retourne la date-heure de fin de la journee passee en argument
  142. // =======================================================================================================================================
  143. //
  144. function fin_journee($date) {
  145. if (!$date) return;
  146. $jour = date('d', strtotime($date));
  147. $mois = date('m', strtotime($date));
  148. $annee = date('Y', strtotime($date));
  149. $jour = date("Y-m-d H:i:s", mktime(23,59,59,$mois,$jour,$annee));
  150. return $jour;
  151. }
  152. // FIN du Filtre : fin_journee
  153. // =======================================================================================================================================
  154. // Filtre : mot_associations
  155. // =======================================================================================================================================
  156. // Auteur: Smellup
  157. // Fonction : Retourne le nombre d'associations valides du mot-cle user passe en argument
  158. // =======================================================================================================================================
  159. //
  160. function mot_associations($mot) {
  161. if (!$mot) return;
  162. $nb = 0;
  163. $rub_agenda = calcul_rubrique_agenda();
  164. $rub_galerie = calcul_rubrique_galerie();
  165. // Decompte des associations avec des articles
  166. $query = "SELECT COUNT(DISTINCT id_mot) AS assocations FROM spip_mots_articles, spip_articles
  167. WHERE spip_mots_articles.id_mot=$mot AND spip_mots_articles.id_article=spip_articles.id_article
  168. AND spip_articles.id_rubrique!=$rub_agenda AND spip_articles.id_rubrique!=$rub_galerie";
  169. $result = spip_query($query);
  170. $nb_articles = 0;
  171. if ($row = @spip_fetch_array($result)) {
  172. $nb_articles = $row['assocations'];
  173. }
  174. // Decompte des associations avec des breves
  175. $query = "SELECT COUNT(DISTINCT id_mot) AS assocations FROM spip_mots_breves, spip_breves
  176. WHERE spip_mots_breves.id_mot=$mot AND spip_mots_breves.id_breve=spip_breves.id_breve
  177. AND spip_breves.id_rubrique!=$rub_agenda AND spip_breves.id_rubrique!=$rub_galerie";
  178. $result = spip_query($query);
  179. $nb_breves = 0;
  180. if ($row = @spip_fetch_array($result)) {
  181. $nb_breves = $row['assocations'];
  182. }
  183. // Decompte des associations avec des rubriques
  184. $query = "SELECT COUNT(DISTINCT id_mot) AS assocations FROM spip_mots_rubriques
  185. WHERE spip_mots_rubriques.id_mot=$mot
  186. AND spip_mots_rubriques.id_rubrique!=$rub_agenda AND spip_mots_rubriques.id_rubrique!=$rub_galerie";
  187. $result = spip_query($query);
  188. $nb_rubriques = 0;
  189. if ($row = @spip_fetch_array($result)) {
  190. $nb_rubriques = $row['assocations'];
  191. }
  192. // Decompte des associations avec des messages de forums
  193. $query = "SELECT COUNT(DISTINCT id_mot) AS assocations FROM spip_mots_forum, spip_forum
  194. WHERE spip_mots_forum.id_mot=$mot AND spip_mots_forum.id_forum=spip_forum.id_forum
  195. AND spip_forum.id_rubrique!=$rub_agenda AND spip_forum.id_rubrique!=$rub_galerie";
  196. $result = spip_query($query);
  197. $nb_forums = 0;
  198. if ($row = @spip_fetch_array($result)) {
  199. $nb_forums = $row['assocations'];
  200. }
  201. // Decompte des associations avec des sites
  202. $query = "SELECT COUNT(DISTINCT id_mot) AS assocations FROM spip_mots_syndic, spip_syndic
  203. WHERE spip_mots_syndic.id_mot=$mot AND spip_mots_syndic.id_syndic=spip_syndic.id_syndic
  204. AND spip_syndic.id_rubrique!=$rub_agenda AND spip_syndic.id_rubrique!=$rub_galerie";
  205. $result = spip_query($query);
  206. $nb_syndics = 0;
  207. if ($row = @spip_fetch_array($result)) {
  208. $nb_syndics = $row['assocations'];
  209. }
  210. $nb = $nb_articles + $nb_breves + $nb_rubriques + $nb_forums + $nb_syndics;
  211. return $nb;
  212. }
  213. // FIN du Filtre : mot_associations
  214. // =======================================================================================================================================
  215. // Filtres : module AGENDA
  216. // =======================================================================================================================================
  217. // Auteur: Smellup
  218. // Fonction : regroupe les filtres permettant les affichages de l'agenda
  219. // =======================================================================================================================================
  220. //
  221. include_spip('inc/sarkaspip_filtres_agenda');
  222. // =======================================================================================================================================
  223. // Filtres : module GALERIE
  224. // =======================================================================================================================================
  225. // Auteur: Smellup
  226. // Fonction : regroupe les filtres permettant les affichages de la galerie
  227. // =======================================================================================================================================
  228. //
  229. include_spip('inc/sarkaspip_filtres_galerie');
  230. ?>