X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fplugins-dist%2Fsvp%2Fplugins%2Fpreparer_sql_paquet.php;fp=www%2Fplugins-dist%2Fsvp%2Fplugins%2Fpreparer_sql_paquet.php;h=287ba84534e72b3b5813bf8a79c8a2766cba46dd;hb=52cf8ed924d5dcd0c28dde4b6c3196be6ec2d4f7;hp=0000000000000000000000000000000000000000;hpb=90fe1de0acd20fe72334eb4cc59f300ab705c774;p=ptitvelo%2Fweb%2Fwww.git diff --git a/www/plugins-dist/svp/plugins/preparer_sql_paquet.php b/www/plugins-dist/svp/plugins/preparer_sql_paquet.php new file mode 100644 index 0000000..287ba84 --- /dev/null +++ b/www/plugins-dist/svp/plugins/preparer_sql_paquet.php @@ -0,0 +1,108 @@ + valeurs de description du paquet +**/ +function plugins_preparer_sql_paquet($plugin) +{ + include_spip('inc/svp_outiller'); + + $champs = array(); + if (!$plugin) + return $champs; + + // On initialise les champs ne necessitant aucune transformation + foreach (array( + 'categorie' => 'categorie', + 'etat' => 'etat', + 'version_base' => 'schema', + 'logo' => 'logo', + 'lien_doc' => 'documentation', + 'lien_demo' => 'demonstration', + 'lien_dev' => 'developpement' + ) as $cle_champ => $cle_plugin) + { + $champs[$cle_champ] = (isset($plugin[$cle_plugin]) and $plugin[$cle_plugin]) + ? $plugin[$cle_plugin] + : ''; + } + + // on normalise la version 1.3.12 => 001.003.012 + $champs['version'] = (isset($plugin['version']) AND $plugin['version']) + ? normaliser_version($plugin['version']) + : ''; + + // On passe le prefixe en lettres majuscules comme ce qui est fait dans SPIP + // Ainsi les valeurs dans la table spip_plugins coincideront avec celles de la meta plugin + $champs['prefixe'] = strtoupper($plugin['prefix']); + + // Indicateurs d'etat numerique (pour simplifier la recherche des maj de STP) + static $num = array('stable'=>4, 'test'=>3, 'dev'=>2, 'experimental'=>1); + $champs['etatnum'] = isset($num[$plugin['etat']]) ? $num[$plugin['etat']] : 0; + + + // On passe en utf-8 avec le bon charset les champs pouvant contenir des entites html + foreach (array( + 'nom' => 'nom', + 'description' => 'description', + 'slogan' => 'slogan' + ) as $cle_champ => $cle_plugin) + { + $champs[$cle_champ] = (isset($plugin[$cle_plugin]) and $plugin[$cle_plugin]) + ? entite2charset($plugin[$cle_plugin]) + : ''; + } + + // Cles necessitant d'etre serialisees + // Tags : liste de mots-cles + // Traitement des auteurs, credits, licences et copyright + foreach (array( + 'tags' => 'tags', + 'auteur' => 'auteur', + 'credit' => 'credit', + 'licence' => 'licence', + 'copyright' => 'copyright', + ) as $cle_champ => $cle_plugin) + { + $champs[$cle_champ] = (isset($plugin[$cle_plugin]) and $plugin[$cle_plugin]) + ? serialize($plugin[$cle_plugin]) + : ''; + } + + // Extraction de la compatibilite SPIP et construction de la liste des branches spip supportees + $champs['compatibilite_spip'] = (isset($plugin['compatibilite']) AND $plugin['compatibilite']) + ? $plugin['compatibilite'] + : ''; + $champs['branches_spip'] = (isset($plugin['compatibilite']) AND $plugin['compatibilite']) + ? compiler_branches_spip($plugin['compatibilite']) + : ''; + + // Construction du tableau des dependances necessite, lib et utilise + $dependances['necessite'] = $plugin['necessite']; + $dependances['librairie'] = $plugin['lib']; + $dependances['utilise'] = $plugin['utilise']; + $champs['dependances'] = serialize($dependances); + + return $champs; +} + +?>