source: spip-zone/_plugins_/mesfavoris/mesfavoris_pipelines.php @ 74912

Last change on this file since 74912 was 74912, checked in by gilles.vincent@…, 8 years ago

Un peu de PHPDoc et un classement plus standard des pipelines et exemples de demo (encore faudrait-il qu'il existe un standard des bonnes pratiques pour le developpement de plugins ;) )

  • Property svn:executable set to *
File size: 2.3 KB
Line 
1<?php
2/**
3 * Plugin mesfavoris
4 * (c) 2009-2013 Olivier Sallou, Cedric Morin, Gilles Vincent
5 * Distribue sous licence GPL
6 *
7 */
8
9/**
10 * Utilisation des pipelines
11 *
12 * @package SPIP\Mesfavoris\Pipelines
13 */
14
15// Sécurité
16if (!defined("_ECRIRE_INC_VERSION")) return;
17
18/**
19 * Déclaration de l'index de $tables_principales qui sera utilisé dans les 'spip_'
20 *
21 * @pipeline declarer_tables_interfaces
22 * @param  array $interface Array contenant les infos des tables visibles par recherche sur 'spip_bidule'
23 * @return array            Cet Array de description modifié
24 */
25function mesfavoris_declarer_tables_interfaces($interface){
26        $interface['table_des_tables']['favoris']='favoris';
27        return $interface;
28}
29
30/**
31 * Declaration des tables principales
32 *
33 * @pipeline declarer_tables_principales
34 * @param array $tables_principales Un array de description des tables
35 * @return array $tables_principales L'Array de description complété
36 */
37function mesfavoris_declarer_tables_principales($tables_principales){
38        $spip_favoris = array(
39                "id_favori"     => "bigint(21) NOT NULL",
40                "id_auteur"     => "bigint DEFAULT '0' NOT NULL",
41                "id_objet"      => "bigint(21) DEFAULT '0' NOT NULL",
42                "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
43                "categorie"     => "VARCHAR (25) DEFAULT '' NOT NULL",
44                "maj"   => "TIMESTAMP"
45        );
46
47        $spip_favoris_key = array(
48                "PRIMARY KEY"           => "id_favori",
49                "KEY auteur_objet"      => "id_auteur,id_objet,objet",
50                "KEY id_auteur" => "id_auteur",
51                "KEY id_objet" => "id_objet",
52                "KEY objet" => "objet",
53                "KEY categorie" => "categorie",
54        );
55
56        $tables_principales['spip_favoris'] =
57                array('field' => &$spip_favoris, 'key' => &$spip_favoris_key);
58
59        return $tables_principales;
60}
61
62/**
63 * Insertion dans le pipeline insert_head_css
64 *
65 * @pipeline insert_head_css
66 * @param string $flux Le contenu CSS du head
67 * @param string $flux Le contenu CSS du head modifié
68 */
69function mesfavoris_insert_head_css($flux){
70        $config = "";
71        if (isset($GLOBALS['meta']['mesfavoris']))
72                $config = unserialize($GLOBALS['meta']['mesfavoris']);
73        if ($config AND isset($config['style_formulaire']))
74                $config = $config['style_formulaire'];
75
76        if (!$config OR !$css=find_in_path("mesfavoris-$config.css"))
77                $css = find_in_path("mesfavoris-32.css");
78        $flux .= "<link rel='stylesheet' type='text/css' media='all' href='".direction_css($css)."' />\n";
79        return $flux;
80}
81
82?>
Note: See TracBrowser for help on using the repository browser.