source: spip-zone/_plugins_/champs_extras/extras_pipelines.php @ 29976

Last change on this file since 29976 was 29976, checked in by fil@…, 12 years ago

signaler obsolete

File size: 2.7 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2008                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13function extras_afficher_contenu_objet($flux){
14        if ($GLOBALS['champs_extra']){
15                include_spip('base/abstract_sql');
16                $type = $flux['args']['type'];
17                $table_objet = table_objet($type);
18                $id_table_objet = id_table_objet($type);               
19                $id_objet = $flux['args']['id_objet'];
20                $spip_table_objet = table_objet_sql($type);
21       
22                // Verfifier qu'il y a bien un champ extra (sinon plantage garanti)
23                $description_table = description_table($spip_table_objet);
24                if ($description_table["field"]["extra"]) $extra = sql_getfetsel('extra',$spip_table_objet,"$id_table_objet=".intval($id_objet));
25                include_spip('inc/extra');
26                $flux['data'].= extra_affichage($extra,$table_objet);
27        }
28       
29        return $flux;
30}
31
32// pipeline obsolete
33function extras_afficher_revision_objet($flux){
34        return extras_afficher_contenu_objet($flux); // pas de revisions sur les extras
35}
36
37function extras_editer_contenu_objet($flux){
38        if ($GLOBALS['champs_extra']){
39                $args = $flux['args'];
40                include_spip('inc/extra');
41                $type_extra = table_objet($args['type']);
42                $extra_saisie = extra_saisie($args['contexte']['extra'],$type_extra,$args['contexte']['id_secteur']);
43                if (strpos($flux['data'],'<!--extra-->')!==FALSE)
44                        $flux['data'] = preg_replace(',(.*)(<!--extra-->),ims',"\\1$extra_saisie\\2",$flux['data'],1);
45                else
46                        $flux['data'] = preg_replace(',(.*)(</fieldset>),ims',"\\1\\\2$extra_saisie",$flux['data'],1);
47        }
48        return $flux;
49}
50
51function extras_pre_edition($flux){
52        $table_objet = $flux['args']['table_objet'];
53        $id_objet = $flux['args']['id_objet'];
54       
55        $trouver_table = charger_fonction('trouver_table', 'base');
56        $desc = $trouver_table($table_objet, $serveur);
57       
58        // recuperer les extras (utilise $_POST, un peu sale...
59        // a voir pour le faire marcher avec les crayons)
60        if (isset($desc['field']['extra'])
61        AND isset($_POST['extra'])
62        AND $GLOBALS['champs_extra']) {
63                include_spip('inc/extra');
64                $extra = extra_update($table_objet, $id_objet, $_POST);
65                if ($extra !== false)
66                        $flux['data']['extra'] = $extra;
67        }
68
69        return $flux;
70}
71
72
73?>
Note: See TracBrowser for help on using the repository browser.