source: spip-zone/_plugins_/jeux/trunk/jeux_fonctions.php @ 64468

Last change on this file since 64468 was 64468, checked in by maieul@…, 7 years ago

code mort

File size: 3.5 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION")) return;
3#---------------------------------------------------#
4#  Plugin  : Jeux                                   #
5#  Auteur  : Patrice Vanneufville, 2006             #
6#  Gestion des scores : Maieul Rouquette, 2007      #
7#  Contact : patrice¡.!vanneufville¡@!laposte¡.!net #
8#  Licence : GPL                                    #
9#--------------------------------------------------------------------------#
10#  Documentation : http://www.spip-contrib.net/Des-jeux-dans-vos-articles  #
11#--------------------------------------------------------------------------#
12
13include_spip('base/jeux_tables');
14
15
16
17// filtre retournant un lien cliquable si $nb!=0, sinon un simple tiret
18function jeux_lien_jeu($nb='0', $exec='', $id_jeu=0) {
19        $lien = generer_url_ecrire($exec,'id_jeu='.$id_jeu);
20        return $nb=='0'?'-':"<a href='$lien'>$nb</a>";
21}
22// filtre qui evite d'afficher le resultat obtenu par certains plugins
23// grace aux espions : <div title='PLUGIN-DEBUT'></div> et <div title='PLUGIN-FIN'></div>
24// ou : <div title='PLUGIN-DEBUT-#xxxx'></div> et <div title='PLUGIN-FIN-#xxxx'></div>
25//       ou xxxx est le numero d'identification du plugin.
26if (!function_exists("pas_de_plugin")) {       
27 function pas_de_plugin($texte){
28        $texte = preg_replace(",<div[^<]+['\"]JEUX-HEAD-#[0-9]+[^>]+></div>,", '', $texte);
29        return preg_replace(",<div[^<]+['\"]PLUGIN-DEBUT(-#[0-9]*)?.*<[^<]+['\"]PLUGIN-FIN\\1?[^>]+></div>,UmsS", '', $texte);
30 }
31}
32
33// filtre qui retire le code source des jeux du texte original
34function pas_de_balise_jeux($texte) {
35        if(strpos($texte, _JEUX_DEBUT)===false) return $texte;
36        return preg_replace(','.preg_quote(_JEUX_DEBUT).'.*?'.preg_quote(_JEUX_FIN).',UimsS', '', $texte);
37}
38
39// aide le Couteau Suisse a calculer la balise #INTRODUCTION
40$GLOBALS['cs_introduire'][] = 'pas_de_balise_jeux';
41
42// ajoute l'id_jeu du jeu a sa config interne et traite le jeu grace a propre()
43// ce filtre doit agir sur #CONTENU*
44function traite_contenu_jeu($texte, $id_jeu) {
45        return propre(str_replace(_JEUX_FIN, "[config]id_jeu=$id_jeu"._JEUX_FIN, $texte));
46}
47
48// renvoie le titre public du jeu que l'on peut trouver grace au separateur [titre]
49function titre_jeu($texte) {
50        include_spip('jeux_utils');
51        return jeux_trouver_titre_public($texte);
52}
53
54// renvoie le type du jeu
55function type_jeu($texte) {
56        include_spip('jeux_utils');
57        return jeux_trouver_nom($texte);
58}
59
60/* Quelques balises "raccourcis" */
61
62// extraction du titre public, equivalent a : #CONTENU*|titre_jeu
63function balise_TITRE_PUBLIC_dist($p) {
64        $texte = champ_sql('contenu', $p);
65        $p->code = "titre_jeu($texte)";
66        return $p;
67}
68
69// interpretation du jeu, equivalent a : #CONTENU*|traite_contenu_jeu{#ID_JEU}
70function balise_CONTENU_PROPRE_dist($p) {
71        $id = champ_sql('id_jeu', $p);
72        $texte = champ_sql('contenu', $p);
73        $p->code = "traite_contenu_jeu($texte, $id)";
74        return $p;
75}
76
77// traduction longue du type de resultat
78function balise_TYPE_RESULTAT_LONG_dist($p) {
79        $type = champ_sql('type_resultat', $p);
80        $p->code = "_T('jeux:resultat2_'.$type)";
81        return $p;
82}
83
84// traduction courte du type de resultat
85function balise_TYPE_RESULTAT_COURT_dist($p) {
86        $type = champ_sql('type_resultat', $p);
87        $p->code = "_T('jeux:resultat_'.$type)";
88        return $p;
89}
90
91function balise_NETTOYER_URI_dist($p) {
92        $p->code = 'nettoyer_uri()';
93        $p->interdire_scripts = false;
94        return $p;
95}
96
97
98
99include_spip('public/interfaces');
100global $table_des_traitements;
101// TITRE_PUBLIC est un TITRE :
102if (!isset($table_des_traitements['TITRE_PUBLIC']))
103        $table_des_traitements['TITRE_PUBLIC'] = $table_des_traitements['TITRE'];
104
105?>
Note: See TracBrowser for help on using the repository browser.