Changeset 57484 in spip-zone


Ignore:
Timestamp:
Jan 21, 2012, 9:54:19 PM (8 years ago)
Author:
marcimat@…
Message:

Plusieurs corrections sur le calcul de la vmax.

Location:
_core_/plugins/svp
Files:
2 edited

Legend:

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

    r57483 r57484  
    151151                foreach ($resultats as $plugin) {
    152152                        if (spip_version_compare($plugin['vmax'], $vmax[$plugin['id_plugin']], '='))
    153                                 sql_updateq('spip_plugins',     array('vmax' => '0.0'), 'id_plugin=' . sql_quote($plugin['id_plugin']));
     153                                sql_updateq('spip_plugins',     array('vmax' => ''),    'id_plugin=' . sql_quote($plugin['id_plugin']));
    154154                }
    155155        }
     
    410410                                        // On rajoute le plugin dans la table spip_plugins si celui-ci n'y est pas encore ou on recupere
    411411                                        // l'id si il existe deja et on le met a jour si la version du paquet est plus elevee
    412                                         if (!$plugin = sql_fetsel('id_plugin, vmax', 'spip_plugins',
    413                                                 array('prefixe=' . sql_quote($insert_plugin['prefixe'])))
    414                                         AND !array_key_exists($insert_plugin['prefixe'], $insert_plugins)) {
     412
     413                                        $plugin = sql_fetsel('id_plugin, vmax', 'spip_plugins', array('prefixe=' . sql_quote($insert_plugin['prefixe'])));
     414                                        if (!$plugin AND !array_key_exists($insert_plugin['prefixe'], $insert_plugins)) {
    415415                                                $insert_plugins[ $insert_plugin['prefixe'] ] = array_merge($insert_plugin, array('vmax' => $insert_paquet['version']));
    416416                                        }
    417417                                        else {
     418
    418419                                                if ($plugin) {
    419420                                                        $id_plugin = $plugin['id_plugin'];
    420421                                                        $prefixes[$insert_plugin['prefixe']] = $id_plugin;
    421                                                         $vmax = $plugin['vmax'];
    422422                                                }
    423                                                 else {
    424                                                         $vmax = $insert_plugins[$insert_plugin['prefixe']]['vmax'];
    425                                                 }
    426 
    427                                                 if (spip_version_compare($vmax, $insert_paquet['version'], '<='))
    428                                                         $insert_plugins[ $insert_plugin['prefixe'] ] = array_merge($insert_plugin, array('vmax' => $insert_paquet['version']));
    429423                                        }
    430424       
     
    463457                        // On ne devrait plus arriver ICI...
    464458                        // Code obsolete ?
    465 
     459                        spip_log('!!!!!! Passage dans code obsolete (svp/svp_depoter_distant)', 'depoter');
    466460                       
    467461                        // on effectue les traitements en attente
     
    474468                                                'id_paquet=' . sql_quote($paquet['id_paquet']));
    475469
    476                         // Ensuite, si on est en presence d'un plugin, on le met a jour si le paquet est de version
    477                         // plus elevee ou egale (on gere ainsi les oublis d'incrementation)
    478                         if ($paquet_plugin) {
    479                                 if ($vmax = sql_getfetsel('vmax', 'spip_plugins', array('id_plugin=' . sql_quote($paquet['id_plugin']))))
    480                                         if (spip_version_compare($vmax, $insert_paquet['version'], '<='))
    481                                                 sql_updateq('spip_plugins',
    482                                                                         array_merge($insert_plugin, array('vmax' => $insert_paquet['version'])),
    483                                                                         'id_plugin=' . sql_quote($paquet['id_plugin']));
    484                         }
    485                                
    486        
    487470                }
    488471        }
     
    507490                sql_insertq_multi('spip_depots_plugins', $insert_dp);
    508491        }
    509        
     492
     493        // on recalcul les vmax des plugins de ce depot.
     494        svp_corriger_vmax_plugins(array_values($prefixes));
    510495
    511496        // On compile maintenant certaines informations des paquets mis a jour dans les plugins
     
    704689
    705690                // pour les autres, on la fixe correctement
    706                 $vmax = 0;
    707691               
    708692                // On insere, en encapsulant pour sqlite...
     
    710694                        sql_demarrer_transaction();
    711695                }
    712                                
     696               
    713697                foreach ($p as $id_plugin) {
     698                        $vmax = '';
    714699                        if ($pa = sql_allfetsel('version', 'spip_paquets', 'id_plugin='.$id_plugin)) {
    715700                                foreach ($pa as $v) {
  • _core_/plugins/svp/paquet.xml

    r56780 r57484  
    22        prefix="svp"
    33        categorie="maintenance"
    4         version="0.74.4"
     4        version="0.75.0"
    55        etat="test"
    66        compatibilite="[3.0.0-beta;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.