Skip to content
Extraits de code Groupes Projets
Valider 1be5891b rédigé par cedric@yterium.com's avatar cedric@yterium.com
Parcourir les fichiers

Ferme http://core.spip.org/issues/2679 : reparer les documents et le processus...

Ferme http://core.spip.org/issues/2679 : reparer les documents et le processus d'upgrade depuis spip 2.1
parent b853b0fe
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -187,13 +187,13 @@ function medias_declarer_tables_objets_sql($tables){ ...@@ -187,13 +187,13 @@ function medias_declarer_tables_objets_sql($tables){
* @param string $serveur * @param string $serveur
* @return void * @return void
*/ */
function creer_base_types_doc($serveur='') { function creer_base_types_doc($serveur='', $champ_media="media_defaut") {
global $tables_images, $tables_sequences, $tables_documents, $tables_mime; global $tables_images, $tables_sequences, $tables_documents, $tables_mime;
include_spip('base/typedoc'); include_spip('base/typedoc');
include_spip('base/abstract_sql'); include_spip('base/abstract_sql');
// charger en memoire tous les types deja definis pour limiter les requettes // charger en memoire tous les types deja definis pour limiter les requettes
$rows = sql_allfetsel('mime_type,titre,inclus,extension,media_defaut,upload,descriptif','spip_types_documents','','','','','',$serveur); $rows = sql_allfetsel('mime_type,titre,inclus,extension,'.$champ_media.',upload,descriptif','spip_types_documents','','','','','',$serveur);
$deja = array(); $deja = array();
foreach ($rows as $k=>$row){ foreach ($rows as $k=>$row){
$deja[$row['extension']] = &$rows[$k]; $deja[$row['extension']] = &$rows[$k];
...@@ -229,13 +229,13 @@ function creer_base_types_doc($serveur='') { ...@@ -229,13 +229,13 @@ function creer_base_types_doc($serveur='') {
$media = "video"; $media = "video";
$set = array( $set = array(
'mime_type' => $type_mime, 'mime_type' => $type_mime,
'titre' => $titre, 'titre' => $titre,
'inclus' => $inclus, 'inclus' => $inclus,
'extension' => $extension, 'extension' => $extension,
'media_defaut' => $media, $champ_media => $media,
'upload' => 'oui', 'upload' => 'oui',
'descriptif' => '', 'descriptif' => '',
); );
if (!isset($deja[$extension])){ if (!isset($deja[$extension])){
$insertions[] = $set; $insertions[] = $set;
......
...@@ -53,7 +53,7 @@ function medias_upgrade($nom_meta_base_version,$version_cible){ ...@@ -53,7 +53,7 @@ function medias_upgrade($nom_meta_base_version,$version_cible){
$maj = array(); $maj = array();
$maj['create'] = array( $maj['create'] = array(
array('maj_tables',array('spip_documents','spip_documents_liens','spip_types_documents')), array('maj_tables',array('spip_documents','spip_documents_liens','spip_types_documents')),
array('creer_base_types_doc') array('creer_base_types_doc','','media')
); );
$maj['0.2.0'] = array( $maj['0.2.0'] = array(
array('sql_alter',"TABLE spip_documents ADD statut varchar(10) DEFAULT '0' NOT NULL"), array('sql_alter',"TABLE spip_documents ADD statut varchar(10) DEFAULT '0' NOT NULL"),
...@@ -70,7 +70,7 @@ function medias_upgrade($nom_meta_base_version,$version_cible){ ...@@ -70,7 +70,7 @@ function medias_upgrade($nom_meta_base_version,$version_cible){
); );
$maj['0.6.0'] = array( $maj['0.6.0'] = array(
array('sql_alter',"TABLE spip_types_documents ADD media varchar(10) DEFAULT 'file' NOT NULL"), array('sql_alter',"TABLE spip_types_documents ADD media varchar(10) DEFAULT 'file' NOT NULL"),
array('creer_base_types_doc'), array('creer_base_types_doc','','media'),
); );
$maj['0.7.0'] = array( $maj['0.7.0'] = array(
array('sql_alter',"TABLE spip_documents ADD credits varchar(255) DEFAULT '' NOT NULL"), array('sql_alter',"TABLE spip_documents ADD credits varchar(255) DEFAULT '' NOT NULL"),
...@@ -88,22 +88,22 @@ function medias_upgrade($nom_meta_base_version,$version_cible){ ...@@ -88,22 +88,22 @@ function medias_upgrade($nom_meta_base_version,$version_cible){
array('medias_maj_meta_documents'), array('medias_maj_meta_documents'),
); );
$maj['0.14.0'] = array( $maj['0.14.0'] = array(
array('creer_base_types_doc'), array('creer_base_types_doc','','media'),
); );
$maj['0.15.0'] = array( $maj['0.15.0'] = array(
array('creer_base_types_doc'), array('creer_base_types_doc','','media'),
); );
$maj['0.15.1'] = array( $maj['0.15.1'] = array(
array('sql_alter',"TABLE spip_documents CHANGE taille taille bigint"), array('sql_alter',"TABLE spip_documents CHANGE taille taille bigint"),
); );
$maj['0.16.0'] = array( $maj['0.16.0'] = array(
array('creer_base_types_doc'), array('creer_base_types_doc','','media'),
); );
$maj['1.0.0'] = array( $maj['1.0.0'] = array(
// on cree le champ en defaut '?' pour reperer les nouveaux a peupler // on cree le champ en defaut '?' pour reperer les nouveaux a peupler
array('sql_alter',"TABLE spip_documents ADD media varchar(10) DEFAULT '?' NOT NULL"), array('sql_alter',"TABLE spip_documents ADD media varchar(10) DEFAULT '?' NOT NULL"),
array('medias_peuple_media_document'), array('medias_peuple_media_document', 'media'),
// puis on retablit le bon defaut // puis on retablit le bon defaut
array('sql_alter',"TABLE spip_documents CHANGE media media varchar(10) DEFAULT 'file' NOT NULL"), array('sql_alter',"TABLE spip_documents CHANGE media media varchar(10) DEFAULT 'file' NOT NULL"),
); );
...@@ -119,6 +119,13 @@ function medias_upgrade($nom_meta_base_version,$version_cible){ ...@@ -119,6 +119,13 @@ function medias_upgrade($nom_meta_base_version,$version_cible){
$maj['1.1.1'] = array( $maj['1.1.1'] = array(
array('creer_base_types_doc'), array('creer_base_types_doc'),
); );
// reparer les media sur les file suite a upgrade rate depuis SPIP 2.x
$maj['1.2.0'] = array(
// on remet en ? tous les media=file
array('sql_updateq',"spip_documents",array('media'=>'?'),"media='file'"),
// et on repeuple
array('medias_peuple_media_document'),
);
include_spip('base/upgrade'); include_spip('base/upgrade');
...@@ -140,11 +147,11 @@ function medias_maj_meta_documents(){ ...@@ -140,11 +147,11 @@ function medias_maj_meta_documents(){
ecrire_meta('documents_objets',implode(',',$config)); ecrire_meta('documents_objets',implode(',',$config));
} }
function medias_peuple_media_document(){ function medias_peuple_media_document($champ_media="media_defaut"){
$res = sql_select("DISTINCT extension","spip_documents","media=".sql_quote('?')); $res = sql_select("DISTINCT extension","spip_documents","media=".sql_quote('?'));
while($row = sql_fetch($res)){ while($row = sql_fetch($res)){
// attention ici c'est encore le champ media, car on le renomme juste apres // attention ici c'est encore le champ media, car on le renomme juste apres
$media = sql_getfetsel('media','spip_types_documents','extension='.sql_quote($row['extension'])); $media = sql_getfetsel($champ_media,'spip_types_documents','extension='.sql_quote($row['extension']));
sql_updateq('spip_documents',array('media'=>$media),"media=".sql_quote('?').' AND extension='.sql_quote($row['extension'])); sql_updateq('spip_documents',array('media'=>$media),"media=".sql_quote('?').' AND extension='.sql_quote($row['extension']));
if (time() >= _TIME_OUT) if (time() >= _TIME_OUT)
return; return;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
etat="stable" etat="stable"
compatibilite="[3.0.0-alpha2;[" compatibilite="[3.0.0-alpha2;["
logo="prive/themes/spip/images/portfolio-32.png" logo="prive/themes/spip/images/portfolio-32.png"
schema="1.1.1" schema="1.2.0"
> >
<nom>Medias</nom> <nom>Medias</nom>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter