source: spip-zone/_plugins_/_stable_/forms/forms_et_tables_1_9_1/forms_filtres.php @ 7896

Last change on this file since 7896 was 7896, checked in by spipcarto@…, 14 years ago

Le script est ajouté par le modele au besoin => revert !

File size: 3.0 KB
Line 
1<?php
2/*
3 * forms
4 * Gestion de formulaires editables dynamiques
5 *
6 * Auteurs :
7 * Antoine Pitrou
8 * Cedric Morin
9 * Renato
10 * � 2005,2006 - Distribue sous licence GNU/GPL
11 *
12 */
13
14        include_spip("inc/forms");
15
16        function Forms_insert_head($flux){
17                $flux .=        "<link rel='stylesheet' href='".find_in_path('spip_forms.css')."' type='text/css' media='all' />\n";
18                $flux .=        "<link rel='stylesheet' href='"._DIR_PLUGIN_FORMS."img_pack/date_picker.css' type='text/css' media='all' />\n";
19                $flux .=        "<link rel='stylesheet' href='"._DIR_PLUGIN_FORMS."img_pack/jtip.css' type='text/css' media='all' />\n";
20                return $flux;
21        }
22
23        // A reintegrer dans echapper_html()
24        function Forms_forms_avant_propre($texte) {
25                static $reset;
26        //echo "forms_avant_propre::";
27                // Mecanisme de mise a jour des liens
28                $forms = array();
29                $maj_liens = ($_GET['exec']=='articles' AND $id_article = intval($_GET['id_article']));
30                if ($maj_liens) {
31                        if (!$reset) {
32                                $query = "DELETE FROM spip_forms_articles WHERE id_article=$id_article";
33                                spip_query($query);
34                                $reset = true;
35                        }
36                        if (preg_match_all(',<form([0-9]+)([|]([a-z_0-9]+))?'.'>,', $texte, $regs, PREG_SET_ORDER)){
37                                foreach ($regs as $r) {
38                                        $id_form = $r[1];
39                                        $forms[$id_form] = $id_form;
40                                }
41                        }
42                        if ($forms) {
43                                $query = "INSERT INTO spip_forms_articles (id_article, id_form) ".
44                                        "VALUES ($id_article, ".join("), ($id_article, ", $forms).")";
45                                spip_query($query);
46                        }
47                }
48       
49                return $texte;
50        }
51        // compatibilite 1.9.1
52        function Forms_forms_apres_propre($texte){
53                // Reinserer le javascript de confiance (venant des modeles)
54                $a = isset($GLOBALS['auteur_session']['alea_actuel'])?$GLOBALS['auteur_session']['alea_actuel']:'forms';
55                $texte = echappe_retour($texte,"javascript".$a);
56                return $texte;
57        }
58
59        // Hack crade a cause des limitations du compilateur
60        function _Forms_afficher_reponses_sondage($id_form) {
61                return Forms_afficher_reponses_sondage($id_form);
62        }
63
64        function wrap_split($wrap){
65                $wrap_start="";
66                $wrap_end="";
67                if (preg_match(",<([^>]*)>,Ui",$wrap,$regs)){
68                        array_shift($regs);
69                        foreach($regs as $w){
70                                if ($w{0}=='/'){
71                                 //$wrap_end .= "<$w>";
72                                }
73                                else {
74                                        if ($w{strlen($w)-1}=='/')
75                                                $w = strlen($w)-1;
76                                        $wrap_start .= "<$w>";
77                                        $w = explode(" ",$w);
78                                        if (is_array($w)) $w = $w[0];
79                                        $wrap_end = "</$w>" . $wrap_end;
80                                }
81                        }
82                }
83                return array($wrap_start,$wrap_end);
84        }
85       
86        function wrap_champ($texte,$wrap){
87                if (!strlen(trim($wrap)) || !strlen(trim($texte))) return $texte;
88                if (strpos($wrap,'$1')===FALSE){
89                        $wrap = wrap_split($wrap);
90                        $texte = array_shift($wrap).$texte.array_shift($wrap);
91                }
92                else 
93                        $texte = str_replace('$1',trim($texte),$wrap);
94                return $texte;
95        }
96       
97        function forms_valeur($tableserialisee,$cle,$defaut=''){
98                $t = unserialize($tableserialisee);
99                return isset($t[$cle])?$t[$cle]:$defaut;
100        }
101       
102        // http://doc.spip.org/@puce_statut_article
103        function forms_puce_statut_donnee($id, $statut, $id_form, $ajax = false) {
104                include_spip('inc/instituer_forms_donnee');
105                return puce_statut_donnee($id,$statut,$id_form,$ajax);
106        }
107       
108?>
Note: See TracBrowser for help on using the repository browser.