source: spip-zone/_plugins_/_stable_/forms/forms_et_tables_1_9_1/forms_options.php @ 7907

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

syndrome de la page blanche (pas la fonction _q)

File size: 2.4 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 */
13if (!defined('_DIR_PLUGIN_FORMS')){
14        $p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__FILE__))));
15        define('_DIR_PLUGIN_FORMS',(_DIR_PLUGINS.end($p))."/");
16}
17include_spip('base/forms');
18
19function autoriser_form($faire, $type='', $id=0, $qui = NULL, $opt = NULL) {
20        if ($type=='form')
21                if ($faire=='administrer'){
22                        return ($qui['statut'] == '0minirezo');
23                }
24                else
25                        return ($qui['statut'] == '0minirezo');
26        return false;
27}
28
29// Code a rapatrier dans inc-public et inc_forms
30// (NB : le reglage du cookie doit se faire avant l'envoi de tout HTML au client)
31function Forms_poser_cookie_sondage() {
32        if ($id_form = intval($_POST['id_form'])) {
33                $nom_cookie = $GLOBALS['cookie_prefix'].'cookie_form_'.$id_form;
34                // Ne generer un nouveau cookie que s'il n'existe pas deja
35                if (!$cookie = $_COOKIE[$nom_cookie]) {
36                        include_spip("inc/acces");
37                        $cookie = creer_uniqid();
38                }
39                $GLOBALS['cookie_form'] = $cookie; // pour utilisation dans inc_forms...
40                // Expiration dans 30 jours
41                setcookie($nom_cookie, $cookie, time() + 30 * 24 * 3600);
42        }
43}
44
45function Forms_generer_url_sondage($id_form) {
46        return generer_url_public("sondage","id_form=$id_form",true);
47}
48
49if (isset($GLOBALS['ajout_reponse']) && $GLOBALS['ajout_reponse'] == 'oui' &&
50                isset($GLOBALS['ajout_cookie_form']) && $GLOBALS['ajout_cookie_form'] == 'oui')
51        Forms_poser_cookie_sondage();
52
53// test si un cookie sondage a ete pose
54foreach($_COOKIE as $cookie=>$value){
55        if (preg_match(",".$GLOBALS['cookie_prefix']."cookie_form_([0-9]+),",$cookie)){
56                $idf = preg_replace(",".$GLOBALS['cookie_prefix']."cookie_form_([0-9]+),","\\1",$cookie);
57                $res = spip_query("SELECT id_article FROM spip_forms_articles WHERE id_form=".intval($idf));
58                while($row=spip_fetch_array($res)){
59                        $ida = $row['id_article'];
60                        if (
61                                                (isset($GLOBALS['article'])&&($GLOBALS['article']==$ida))
62                                        ||(isset($GLOBALS['id_article'])&&($GLOBALS['id_article']==$ida))
63                                        ||(isset($GLOBALS["article$ida"]))
64                                        ||(isset($GLOBALS['contexte_inclus']['id_article'])&&($GLOBALS['contexte_inclus']['id_article']==$ida)) ){
65                                        // un article qui utilise le form va etre rendu
66                                        // il faut utiliser le marquer cache pour ne pas polluer la page commune
67                                        $GLOBALS['marqueur'].=":sondage $idf";
68                                        break;
69                                }
70                }
71        }
72}
73
74?>
Note: See TracBrowser for help on using the repository browser.