source: spip-zone/_core_/plugins/svp/plugins/preparer_sql_paquet.php @ 62326

Last change on this file since 62326 was 62326, checked in by marcimat@…, 8 years ago

Encore des notices PHP

  • Property svn:eol-style set to native
File size: 2.7 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) return;
4
5function plugins_preparer_sql_paquet($plugin)
6{
7        include_spip('inc/svp_outiller');
8
9        $champs = array();
10        if (!$plugin)
11                return $champs;
12
13        // On initialise les champs ne necessitant aucune transformation
14        foreach (array(
15                'categorie'     => 'categorie',
16                'etat'          => 'etat',
17                'version_base'  => 'schema',
18                'logo'          => 'logo',
19                'lien_doc'      => 'documentation',
20                'lien_demo'     => 'demonstration',
21                'lien_dev'      => 'developpement'
22                ) as $cle_champ => $cle_plugin)
23        {
24                 $champs[$cle_champ] = (isset($plugin[$cle_plugin]) and $plugin[$cle_plugin])
25                        ? $plugin[$cle_plugin]
26                        : '';
27        }
28
29        // on normalise la version 1.3.12 => 001.003.012
30        $champs['version'] = (isset($plugin['version']) AND $plugin['version'])
31                        ? normaliser_version($plugin['version'])
32                        : '';
33
34        // On passe le prefixe en lettres majuscules comme ce qui est fait dans SPIP
35        // Ainsi les valeurs dans la table spip_plugins coincideront avec celles de la meta plugin
36        $champs['prefixe'] = strtoupper($plugin['prefix']);
37
38        // Indicateurs d'etat numerique (pour simplifier la recherche des maj de STP)
39        static $num = array('stable'=>4, 'test'=>3, 'dev'=>2, 'experimental'=>1);
40        $champs['etatnum'] = isset($num[$plugin['etat']]) ? $num[$plugin['etat']] : 0;
41
42
43        // On passe en utf-8 avec le bon charset les champs pouvant contenir des entites html
44        foreach (array(
45                'nom'         => 'nom',
46                'description' => 'description',
47                'slogan'      => 'slogan'
48                ) as $cle_champ => $cle_plugin)
49        {
50                 $champs[$cle_champ] = (isset($plugin[$cle_plugin]) and $plugin[$cle_plugin])
51                        ? entite2charset($plugin[$cle_plugin])
52                        : '';
53        }
54
55        // Cles necessitant d'etre serialisees
56        // Tags : liste de mots-cles
57        // Traitement des auteurs, credits, licences et copyright
58        foreach (array(
59                'tags'       => 'tags',
60                'auteur'     => 'auteur',
61                'credit'     => 'credit',
62                'licence'    => 'licence',
63                'copyright'  => 'copyright',
64                ) as $cle_champ => $cle_plugin)
65        {
66                 $champs[$cle_champ] = (isset($plugin[$cle_plugin]) and $plugin[$cle_plugin])
67                        ? serialize($plugin[$cle_plugin])
68                        : '';
69        }
70
71        // Extraction de la compatibilite SPIP et construction de la liste des branches spip supportees
72        $champs['compatibilite_spip'] = (isset($plugin['compatibilite']) AND $plugin['compatibilite'])
73                        ? $plugin['compatibilite']
74                        : '';
75        $champs['branches_spip']      = (isset($plugin['compatibilite']) AND $plugin['compatibilite'])
76                        ? compiler_branches_spip($plugin['compatibilite'])
77                        : '';
78       
79        // Construction du tableau des dependances necessite, lib et utilise
80        $dependances['necessite'] = $plugin['necessite'];
81        $dependances['librairie'] = $plugin['lib'];
82        $dependances['utilise']   = $plugin['utilise'];
83        $champs['dependances']    = serialize($dependances);
84
85        return $champs;
86}
87
88?>
Note: See TracBrowser for help on using the repository browser.