Changeset 57483 in spip-zone


Ignore:
Timestamp:
Jan 21, 2012, 8:56:56 PM (8 years ago)
Author:
marcimat@…
Message:
  • ne pas modifier le vmax pour les paquets locaux, suite (eric)
Location:
_core_/plugins/svp/inc
Files:
2 edited

Legend:

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

    r57482 r57483  
    4848                return false;
    4949        }
    50                
     50       
    5151        // Ajout des paquets dans spip_paquets et actualisation des plugins dans spip_plugins
    5252        $ok = svp_actualiser_paquets($id_depot, $infos['paquets'], $nb_paquets, $nb_plugins, $nb_autres);
  • _core_/plugins/svp/inc/svp_depoter_local.php

    r57482 r57483  
    136136        $cle_plugins    = array(); // prefixe => id
    137137        $insert_plugins = array(); // insertion prefixe...
     138        $insert_plugins_vmax = array(); // vmax des nouveaux plugins...
    138139        $insert_paquets = array(); // insertion de paquet...
    139140
     
    185186                                // et il faut donc possiblement mettre a jour la base...
    186187                                //
    187                                 // + on est tolorant avec les versions identiques de plugin deja presentes
     188                                // + on est tolerant avec les versions identiques de plugin deja presentes
    188189                                //   on permet le recalculer le titre...
    189190                                if (!isset($cle_plugins[$prefixe])) {
    190191                                        if (!$res = sql_fetsel('id_plugin, vmax', 'spip_plugins', 'prefixe = '.sql_quote($prefixe))) {
    191                                                 $le_plugin['vmax'] = $le_paquet['version']; // au moins au debut...
     192                                                // on ne stocke pas de vmax pour les plugins locaux dans la bdd... (parait il)
    192193                                                if (!isset($insert_plugins[$prefixe])) {
    193194                                                        $insert_plugins[$prefixe] = $le_plugin;
    194                                                 } elseif (spip_version_compare($le_paquet['version'], $insert_plugins[$prefixe]['vmax'], '>')) {
     195                                                        $insert_plugins_vmax[$prefixe] = $le_paquet['version'];
     196                                                } elseif (spip_version_compare($le_paquet['version'], $insert_plugins_vmax[$prefixe], '>')) {
    195197                                                        $insert_plugins[$prefixe] = $le_plugin;
     198                                                        $insert_plugins_vmax[$prefixe] = $le_paquet['version'];
    196199                                                }
    197200                                        } else {
    198201                                                $id_plugin = $res['id_plugin'];
    199202                                                $cle_plugins[$prefixe] = $id_plugin;
     203                                                // comme justement on ne stocke pas de vmax pour les plugins locaux...
     204                                                // il est possible que ce test soit faux. pff.
    200205                                                if (spip_version_compare($le_paquet['version'], $res['vmax'], '>=')) {
    201206                                                        sql_updateq('spip_plugins', $le_plugin, 'id_plugin='.sql_quote($id_plugin));
     
    209214                                $le_paquet['src_archive'] = $chemin;
    210215                                $le_paquet['recent']      = isset($recents[$chemin]) ? $recents[$chemin] : 0;
    211                                 $le_paquet['installe']    =  in_array($chemin, $installes) ? 'oui': 'non'; // est desinstallable ?
    212                                 $le_paquet['obsolete']    =  'non';
    213                                 $le_paquet['signature']    = $paquet['signature'];
     216                                $le_paquet['installe']    = in_array($chemin, $installes) ? 'oui': 'non'; // est desinstallable ?
     217                                $le_paquet['obsolete']    = 'non';
     218                                $le_paquet['signature']   = $paquet['signature'];
    214219                               
    215220                                $actif = "non";
     
    490495function svp_supprimer_plugins_orphelins($plugins) {
    491496        // tous les plugins encore lies a des depots...
    492         // la vmax est a retablir...
    493497        if ($plugins) {
    494498                $p = sql_allfetsel('DISTINCT(p.id_plugin)', array('spip_plugins AS p', 'spip_paquets AS pa'), array(sql_in('p.id_plugin', $plugins), 'p.id_plugin=pa.id_plugin'));
Note: See TracChangeset for help on using the changeset viewer.