Changeset 62466 in spip-zone


Ignore:
Timestamp:
Jun 13, 2012, 12:14:57 PM (7 years ago)
Author:
marcimat@…
Message:
Location:
_core_/plugins/svp
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/svp/inc/svp_depoter_distant.php

    r60030 r62466  
    296296        $anciens_paquets = array_map('array_shift', $anciens_paquets);
    297297
    298         // tous les plugins correspondants aux anciens paquets
    299         $anciens_plugins = sql_allfetsel('pl.id_plugin',        array('spip_plugins AS pl', 'spip_paquets AS pa'), array('pl.id_plugin=pa.id_plugin', sql_in('pa.id_paquet', $anciens_paquets)));
    300         $anciens_plugins = array_map('array_shift', $anciens_plugins);
    301 
    302         // suppression des anciens paquets
    303         sql_delete('spip_paquets', sql_in('id_paquet', $anciens_paquets));
    304         // suppressions des liaisons depots / anciens plugins
    305         sql_delete('spip_depots_plugins', array('id_depot='. sql_quote($id_depot), sql_in('id_plugin', $anciens_plugins)));
    306 
    307         // supprimer les plugins orphelins
    308         include_spip('inc/svp_depoter_local');
    309         svp_supprimer_plugins_orphelins($anciens_plugins);
    310        
    311         // corriger les vmax des plugins
    312         svp_corriger_vmax_plugins($anciens_plugins);
    313        
     298        // pour ces vieux paquets, on les nettoie de la base
     299        if ($anciens_paquets) {
     300                // tous les plugins correspondants aux anciens paquets
     301                $anciens_plugins = sql_allfetsel('pl.id_plugin', array('spip_plugins AS pl', 'spip_paquets AS pa'), array('pl.id_plugin=pa.id_plugin', sql_in('pa.id_paquet', $anciens_paquets)));
     302                $anciens_plugins = array_map('array_shift', $anciens_plugins);
     303
     304                // suppression des anciens paquets
     305                sql_delete('spip_paquets', sql_in('id_paquet', $anciens_paquets));
     306                // suppressions des liaisons depots / anciens plugins
     307                // on enlève la liaison lorsqu'il n'y a plus aucun paquet lie a un des plugins qui ont vu un paquet enlevé
     308
     309                // liste des plugins qui ont encore des paquets dans ce depot
     310                $plugins_restants = sql_allfetsel('pl.id_plugin',
     311                        array('spip_plugins AS pl', 'spip_paquets AS pa'),
     312                        array(sql_in('pl.id_plugin', $anciens_plugins), 'pl.id_plugin=pa.id_plugin', 'pa.id_depot=' . sql_quote($id_depot)));
     313                $plugins_restants = array_map('array_shift', $plugins_restants);
     314                // par opposition, on retrouve ceux qui n'en ont plus...
     315                $plugins_supprimes = array_diff($anciens_plugins, $plugins_restants);
     316                sql_delete('spip_depots_plugins', array('id_depot='. sql_quote($id_depot), sql_in('id_plugin', $plugins_supprimes)));
     317                unset($plugins_restants, $plugins_supprimes);
     318
     319                // supprimer les plugins orphelins
     320                include_spip('inc/svp_depoter_local');
     321                svp_supprimer_plugins_orphelins($anciens_plugins);
     322               
     323                // corriger les vmax des plugins
     324                svp_corriger_vmax_plugins($anciens_plugins);
     325        }
     326
    314327        // on ne garde que les paquets qui ne sont pas presents dans la base
    315328        $signatures = sql_allfetsel('signature', 'spip_paquets', 'id_depot='.sql_quote($id_depot));
     
    655668        if ($ids_plugin = sql_allfetsel('id_plugin', 'spip_plugins')) {
    656669                $ids_plugin = array_map('reset', $ids_plugin);
    657                 $nb_plugins = count($ids_plugins);
     670                $nb_plugins = count($ids_plugin);
    658671               
    659672                foreach ($ids_plugin as $_id)
  • _core_/plugins/svp/inc/svp_outiller.php

    r62326 r62466  
    182182                return '';
    183183        // -- on complete la borne inf de l'intervalle de x.y en x.y.z et on determine la vraie branche
    184         if (!$t[2]) {
     184        if (!isset($t[2]) or !$t[2]) {
    185185                if ($bornes['min']['incluse'])
    186186                        $borne_inf = $infos_branches_spip[$branche_inf][0];
     
    193193        // -- on initialise la branche sup de l'intervalle que l'on va preciser ensuite
    194194        $t = explode('.', $borne_sup);
    195         $branche_sup = $t[0] . '.' . $t[1];
     195        // des gens mettent juste * (pas glop)
     196        $branche_sup = $t[0] . (isset($t[1]) ? '.' . $t[1] : '');
     197
    196198        // -- pour eviter toutes erreur fatale on verifie que la branche est bien dans la liste des possibles
    197199        // -- -> si non, on renvoie vide
  • _core_/plugins/svp/inc/svp_phraser.php

    r61742 r62466  
    313313        foreach ($balises as $_cle => $_valeur){
    314314                $tag = (is_string($_cle)) ? $_cle : $_valeur;
    315                 $valeur_aplatie = trim(spip_xml_aplatit($arbre_xml[$tag]));
     315                $valeur_applatie = '';
     316                if (isset($arbre_xml[$tag])) {
     317                        $valeur_aplatie = trim(spip_xml_aplatit($arbre_xml[$tag]));
     318                }
    316319                if (($mode == 'vide_et_nonvide')
    317320                OR (($mode == 'nonvide') AND $valeur_aplatie))
  • _core_/plugins/svp/paquet.xml

    r62326 r62466  
    22        prefix="svp"
    33        categorie="maintenance"
    4         version="0.78.12"
     4        version="0.78.13"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
  • _core_/plugins/svp/plugins/fusion_paquet.php

    r54035 r62466  
    2727                        // Deplacement du contenu de chaque balise technique commune si elle est non vide
    2828                        foreach ($balises_techniques as $_btech) {
    29                                 if ($fusion[$_btech]) {
     29                                if (isset($fusion[$_btech]) and $fusion[$_btech]) {
    3030                                        $balise = $fusion[$_btech];
    3131                                        unset($fusion[$_btech]);
  • _core_/plugins/svp/plugins/fusion_plugin.php

    r54400 r62466  
    2020                $fusion = $plugins[0];
    2121                foreach ($balises_techniques as $_btech) {
    22                         if ($fusion[$_btech]) {
     22                        if (isset($fusion[$_btech]) and $fusion[$_btech]) {
    2323                                $balise = $fusion[$_btech];
    2424                                unset($fusion[$_btech]);
     
    5858                if (!$fusion['categorie'] AND $plugins[$cle_min_min]['categorie'])
    5959                        $fusion['categorie'] = $plugins[$cle_min_min]['categorie'];
    60                 if (!$fusion['logo'] AND $plugins[$cle_min_min]['logo'])
     60                if ((!isset($fusion['logo']) OR !$fusion['logo']) AND $plugins[$cle_min_min]['logo'])
    6161                        $fusion['logo'] = $plugins[$cle_min_min]['logo'];
    6262                $fusion['compatibilite'] = fusionner_intervalles($fusion['compatibilite'], $plugins[$cle_min_min]['compatibilite']);
  • _core_/plugins/svp/plugins/preparer_sql_plugin.php

    r57130 r62466  
    1212       
    1313        // On initialise les champs ne necessitant aucune transformation
    14         $champs['categorie'] = $plugin['categorie'] ? $plugin['categorie'] : '';
    15         $champs['etat'] = $plugin['etat'] ? $plugin['etat'] : '';
     14        $champs['categorie'] = (isset($plugin['categorie']) and $plugin['categorie']) ? $plugin['categorie'] : '';
     15        $champs['etat'] = (isset($plugin['etat']) and $plugin['etat']) ? $plugin['etat'] : '';
    1616        $champs['version'] = $plugin['version'] ? normaliser_version($plugin['version']) : '';
    17         $champs['version_base'] = $plugin['schema'] ? $plugin['schema'] : '';
     17        $champs['version_base'] = (isset($plugin['schema']) and $plugin['schema']) ? $plugin['schema'] : '';
    1818
    1919        // Renommage de certains champs
    20         $champs['logo'] = $plugin['logo'] ? $plugin['logo'] : '';
    21         $champs['lien_doc'] = $plugin['documentation'] ? normaliser_lien($plugin['documentation']) : '';
     20        $champs['logo'] = (isset($plugin['logo']) and $plugin['logo']) ? $plugin['logo'] : '';
     21        $champs['lien_doc'] = (isset($plugin['documentation']) and $plugin['documentation']) ? normaliser_lien($plugin['documentation']) : '';
    2222        // On passe le prefixe en lettres majuscules comme ce qui est fait dans SPIP
    2323        // Ainsi les valeurs dans la table spip_plugins coincideront avec celles de la meta plugin
     
    2626        // Indicateurs d'etat numerique (pour simplifier la recherche des maj de STP)
    2727        static $num = array('stable'=>4, 'test'=>3, 'dev'=>2, 'experimental'=>1);
    28         $champs['etatnum'] = isset($num[$plugin['etat']]) ? $num[$plugin['etat']] : 0;
     28        $champs['etatnum'] = (isset($plugin['etat']) and isset($num[$plugin['etat']])) ? $num[$plugin['etat']] : 0;
    2929
    3030        // Tags : liste de mots-cles
    31         $champs['tags'] = ($plugin['tags']) ? serialize($plugin['tags']) : '';
     31        $champs['tags'] = (isset($plugin['tags']) and $plugin['tags']) ? serialize($plugin['tags']) : '';
    3232       
    3333        // On passe en utf-8 avec le bon charset les champs pouvant contenir des entites html
     
    4040        $balise_auteur = entite2charset($plugin['auteur'][0]);
    4141        $auteurs = normaliser_auteur_licence($balise_auteur, 'auteur');
    42         $balise_licence = entite2charset($plugin['licence'][0]);
     42        $balise_licence = isset($plugin['licence'][0]) ? entite2charset($plugin['licence'][0]) : '';
    4343        $licences = normaliser_auteur_licence($balise_licence, 'licence');
    4444        // -- on merge les tableaux recuperes dans auteur et licence
Note: See TracChangeset for help on using the changeset viewer.