Changeset 96380 in spip-zone


Ignore:
Timestamp:
Apr 1, 2016, 1:39:14 PM (3 years ago)
Author:
marcimat@…
Message:

Écriture de l'installation à la nouvelle mode.

Location:
_plugins_/videos/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/videos/trunk/paquet.xml

    r96370 r96380  
    22        prefix="videos"
    33        categorie="multimedia"
    4         version="0.12.0"
     4        version="0.12.1"
    55        etat="dev"
    66        compatibilite="[3.1.0;3.1.*]"
    77        logo="theme/img/videos-32.png"
    8         schema="0.3"
     8        schema="0.4"
    99        documentation="http://contrib.spip.net/Plugin-Video-s"
    1010>
  • _plugins_/videos/trunk/videos_administrations.php

    r96376 r96380  
    11<?php
     2
    23if (!defined("_ECRIRE_INC_VERSION")) {
    34        return;
     
    56
    67function videos_upgrade($nom_meta_base_version, $version_cible) {
    7         $current_version = 0.0;
    8         if ((!isset($GLOBALS['meta'][$nom_meta_base_version]))
    9                 || (($current_version = $GLOBALS['meta'][$nom_meta_base_version]) != $version_cible)
    10         ) {
    11                 if (version_compare($current_version, '0.1', '<')) {
    12                         include_spip('base/abstract_sql');
     8        $maj = array();
    139
    14                         /* Mettre à jour la table DOCUMENTS pour regrouper les extensions "distantes" (changement de nomenclature) */
    15                         sql_updateq('spip_documents', array('extension' => 'dist_daily'), "extension='dailym'");
    16                         sql_updateq('spip_documents', array('extension' => 'dist_vimeo'), "extension='vimeo'");
    17                         sql_updateq('spip_documents', array('extension' => 'dist_youtu'), "extension='youtube'");
     10        $maj['create'] = array(
     11                /* Ajouter les nouvelles extensions en base pour qu'elles soient prises en compte comme des vidéos */
     12                array('sql_insertq_multi', 'spip_types_documents', array(
     13                        array('extension' => 'dist_daily', 'titre' => 'Dailymotion',   'inclus' => 'embed', 'upload' => 'oui', 'media_defaut' => 'video'),
     14                        array('extension' => 'dist_vimeo', 'titre' => 'Vimeo',         'inclus' => 'embed', 'upload' => 'oui', 'media_defaut' => 'video'),
     15                        array('extension' => 'dist_youtu', 'titre' => 'Youtube',       'inclus' => 'embed', 'upload' => 'oui', 'media_defaut' => 'video'),
     16                        array('extension' => 'dist_cubox', 'titre' => 'CultureBox',    'inclus' => 'embed', 'upload' => 'oui', 'media_defaut' => 'video'),
     17                )),
     18        );
    1819
    19                         /* Ajouter les nouvelles extensions en base pour qu'elles soient prises en compte comme des vidéos */
    20                         sql_insertq('spip_types_documents',
    21                                 array('extension' => 'dist_daily', 'titre' => 'Dailymotion', 'inclus' => 'embed', 'upload' => 'oui'));
    22                         sql_insertq('spip_types_documents',
    23                                 array('extension' => 'dist_vimeo', 'titre' => 'Vimeo', 'inclus' => 'embed', 'upload' => 'oui'));
    24                         sql_insertq('spip_types_documents',
    25                                 array('extension' => 'dist_youtu', 'titre' => 'Youtube', 'inclus' => 'embed', 'upload' => 'oui'));
     20        $maj['0.1'] = array(
     21                /* Mettre à jour la table DOCUMENTS pour regrouper les extensions "distantes" (changement de nomenclature) */
     22                array('sql_updateq', 'spip_documents', array('extension' => 'dist_daily'), "extension='dailym'"),
     23                array('sql_updateq', 'spip_documents', array('extension' => 'dist_vimeo'), "extension='vimeo'"),
     24                array('sql_updateq', 'spip_documents', array('extension' => 'dist_youtu'), "extension='youtube'"),
    2625
    27                         ecrire_meta($nom_meta_base_version, $current_version = "0.1", 'non');
    28                 }
    29                 if (version_compare($current_version, '0.2', '<')) {
    30                         include_spip('base/abstract_sql');
     26                /* Ajouter les nouvelles extensions en base pour qu'elles soient prises en compte comme des vidéos */
     27                array('sql_insertq_multi', 'spip_types_documents', array(
     28                        array('extension' => 'dist_daily', 'titre' => 'Dailymotion',   'inclus' => 'embed', 'upload' => 'oui'),
     29                        array('extension' => 'dist_vimeo', 'titre' => 'Vimeo',         'inclus' => 'embed', 'upload' => 'oui'),
     30                        array('extension' => 'dist_youtu', 'titre' => 'Youtube',       'inclus' => 'embed', 'upload' => 'oui'),
     31                )),
     32        );
    3133
    32                         sql_updateq('spip_documents', array('extension' => 'dist_cubox'), "extension='culturebox'");
    33                         sql_insertq('spip_types_documents',
    34                                 array('extension' => 'dist_cubox', 'titre' => 'CultureBox', 'inclus' => 'embed', 'upload' => 'oui'));
     34        $maj['0.2'] = array(
     35                array('sql_updateq', 'spip_documents', array('extension' => 'dist_cubox'), "extension='culturebox'"),
     36                array('sql_insertq', 'spip_types_documents', array('extension' => 'dist_cubox', 'titre' => 'CultureBox', 'inclus' => 'embed', 'upload' => 'oui')),
     37        );
    3538
    36                         ecrire_meta($nom_meta_base_version, $current_version = "0.2", 'non');
    37                 }
    38                 if (version_compare($current_version, '0.3', '<')) {
    39                         /* 0.1 et 0.2 rataient leurs insertions SI le plugin Mediatheque n'avait pas inséré le champ media, on relance donc l'insertion pour ceux qui ont raté le coche */
    40                         include_spip('base/abstract_sql');
    41                         sql_insertq('spip_types_documents',
    42                                 array('extension' => 'dist_daily', 'titre' => 'Dailymotion', 'inclus' => 'embed', 'upload' => 'oui'));
    43                         sql_insertq('spip_types_documents',
    44                                 array('extension' => 'dist_vimeo', 'titre' => 'Vimeo', 'inclus' => 'embed', 'upload' => 'oui'));
    45                         sql_insertq('spip_types_documents',
    46                                 array('extension' => 'dist_youtu', 'titre' => 'Youtube', 'inclus' => 'embed', 'upload' => 'oui'));
    47                         sql_insertq('spip_types_documents',
    48                                 array('extension' => 'dist_cubox', 'titre' => 'CultureBox', 'inclus' => 'embed', 'upload' => 'oui'));
     39        $maj['0.3'] = array(
     40                /* 0.1 et 0.2 rataient leurs insertions SI le plugin Mediatheque n'avait pas inséré le champ media,
     41                 * on relance donc l'insertion pour ceux qui ont raté le coche */
     42                array('sql_insertq_multi', 'spip_types_documents', array(
     43                        array('extension' => 'dist_daily', 'titre' => 'Dailymotion',   'inclus' => 'embed', 'upload' => 'oui'),
     44                        array('extension' => 'dist_vimeo', 'titre' => 'Vimeo',         'inclus' => 'embed', 'upload' => 'oui'),
     45                        array('extension' => 'dist_youtu', 'titre' => 'Youtube',       'inclus' => 'embed', 'upload' => 'oui'),
     46                        array('extension' => 'dist_cubox', 'titre' => 'CultureBox',    'inclus' => 'embed', 'upload' => 'oui'),
     47                )),
     48        );
    4949
    50                         echo "Mise à jour du plugin Vidéo(s) en version base $version_cible<br/>";
    51                         ecrire_meta($nom_meta_base_version, $current_version = $version_cible, 'non');
    52                 }
    53         }
     50        $maj['0.4'] = array(
     51                /* corriger le champ media_defaut si besoin */
     52                array('sql_updateq', 'spip_types_documents', array('media_defaut' => 'video'), "extension REGEXP '^dist_'")
     53        );
    5454
    55         // Si présence du champ MEDIA_DEFAUT : on MAJ
    56         $trouver_table = charger_fonction('trouver_table', 'base');
    57         $desc = $trouver_table('spip_types_documents');
    58         if (array_key_exists('media_defaut', $desc['field'])) {
    59                 sql_updateq('spip_types_documents', array('media_defaut' => 'video'), "extension REGEXP '^dist_'");
    60         }
    61 
     55        include_spip('base/upgrade');
     56        maj_plugin($nom_meta_base_version, $version_cible, $maj);
    6257}
    6358
     59
    6460function videos_vider_tables($nom_meta_base_version) {
    65         sql_delete("spip_types_documents", "extension='dist_daily'");
    66         sql_delete("spip_types_documents", "extension='dist_vimeo'");
    67         sql_delete("spip_types_documents", "extension='dist_youtu'");
    68         sql_delete("spip_types_documents", "extension='dist_cubox'");
    69         sql_delete("spip_meta", "nom='videos'");
     61        sql_delete("spip_types_documents", sql_in("extension", array('dist_daily', 'dist_vimeo', 'dist_youtu', 'dist_cubox')));
    7062
     63        effacer_meta('videos');
    7164        effacer_meta($nom_meta_base_version);
    7265}
Note: See TracChangeset for help on using the changeset viewer.