'?'), "media='file'"), // et on repeuple array('medias_peuple_media_document'), ); $maj['1.2.1'] = array( array('creer_base_types_doc'), ); $maj['1.2.3'] = array( // ajout de mbtiles array('creer_base_types_doc'), // reparer les clauses DEFAULT manquantes de maniere reccurente sur cette table array('sql_alter', "TABLE spip_documents CHANGE extension extension VARCHAR(10) DEFAULT '' NOT NULL"), array('sql_alter', "TABLE spip_documents CHANGE credits credits varchar(255) DEFAULT '' NOT NULL"), array('sql_alter', "TABLE spip_documents CHANGE statut statut varchar(10) DEFAULT '0' NOT NULL"), ); $maj['1.2.4'] = array( // ajout de tar array('creer_base_types_doc') ); $maj['1.2.5'] = array( // ajout de json array('creer_base_types_doc') ); $maj['1.2.6'] = array( // ajout de md (markdown) array('creer_base_types_doc') ); $maj['1.2.7'] = array( // ajout de ics + vcf array('creer_base_types_doc') ); $maj['1.3.0'] = array( // ajout de rang_lien array('maj_tables', 'spip_documents_liens'), ); $maj['1.3.1'] = array( // plus de place dans les crédits array('sql_alter', "TABLE spip_documents CHANGE credits credits text DEFAULT '' NOT NULL"), ); $maj['1.3.2'] = array( // buggons en 2038 plutôt qu'en 2018' array('medias_check_statuts', true), ); $maj['1.3.4'] = array( // 1.3.2 et 1.3.3 n'étaient pas suffisants grml' array('medias_maj_date_publication_documents'), array('medias_check_statuts', true) ); $maj['1.3.5'] = array( // ajout de duree array('maj_tables', 'spip_documents'), ); include_spip('base/upgrade'); include_spip('base/medias'); maj_plugin($nom_meta_base_version, $version_cible, $maj); } /** * Maj des meta documents */ function medias_maj_meta_documents() { $config = array(); if (isset($GLOBALS['meta']['documents_article']) and $GLOBALS['meta']['documents_article'] !== 'non') { $config[] = 'spip_articles'; } if (isset($GLOBALS['meta']['documents_rubrique']) and $GLOBALS['meta']['documents_rubrique'] !== 'non') { $config[] = 'spip_rubriques'; } ecrire_meta('documents_objets', implode(',', $config)); } function medias_peuple_media_document($champ_media = 'media_defaut') { $res = sql_select('DISTINCT extension', 'spip_documents', 'media=' . sql_quote('?')); while ($row = sql_fetch($res)) { // attention ici c'est encore le champ media, car on le renomme juste apres $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'])); if (time() >= _TIME_OUT) { return; } } } /** * Maj des date de publication des documents cf ticket #3329, z104221 */ function medias_maj_date_publication_documents() { sql_update('spip_documents', array('statut' => '0'), 'date_publication > ' . sql_quote('2017-01-01 00:00:00')); sql_update('spip_documents', array('statut' => '0'), 'date_publication = ' . sql_quote('1970-01-01 01:33:58')); } /* function medias_install($action, $prefix, $version_cible){ $version_base = $GLOBALS[$prefix."_base_version"]; switch ($action){ case 'test': # plus necessaire si pas de bug :p # medias_check_statuts(); return (isset($GLOBALS['meta'][$prefix."_base_version"]) AND version_compare($GLOBALS['meta'][$prefix."_base_version"],$version_cible,">=")); break; case 'install': medias_upgrade('medias_base_version',$version_cible); break; case 'uninstall': # pas de deinstallation sur les documents pour le moment, trop dangereux # medias_vider_tables(); break; } } */