uawdijnntqw1x1x1
IP : 216.73.216.249
Hostname : webm001.cluster110.gra.hosting.ovh.net
Kernel : Linux webm001.cluster110.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
etiennec
/
www
/
prive
/
..
/
assets
/
..
/
plugins-dist
/
medias
/
medias_administrations.php
/
/
<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2014 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) return; /** * verifier et maj le statut des documents * @param bool $affiche * @return */ function medias_check_statuts($affiche = false){ $trouver_table = charger_fonction('trouver_table','base'); $desc = $trouver_table('documents'); # securite, si jamais on arrive ici avant un upgrade de base if (!isset($desc['field']['statut'])) return; // utiliser sql_allfetsel pour clore la requete avant la mise a jour en base sur chaque doc (sqlite) // iterer par groupe de 100 pour ne pas exploser sur les grosses bases $docs = array_map('reset',sql_allfetsel('id_document','spip_documents',"statut='0'",'','',"0,100")); while (count($docs)){ include_spip('action/editer_document'); foreach($docs as $id_document) // mettre a jour le statut si necessaire instituer_document($id_document); if ($affiche) echo " ."; $docs = array_map('reset',sql_allfetsel('id_document','spip_documents',"statut='0'",'','',"0,100")); } } /** * Mise a jour de la BDD * @param string $nom_meta_base_version * @param string $version_cible */ function medias_upgrade($nom_meta_base_version,$version_cible){ // ne pas installer tant qu'on est pas a jour sur version base SPIP // cas typique d'un upgrade qui commence par suppression de connect.php // SPIP lance la maj des plugins lors de la connexion, alors que l'upgrade SPIP // a pas encore ete joue : ca casse cet upgrade quand on migre depuis un tres vieux SPIP if (isset($GLOBALS['meta']['version_installee']) AND ($GLOBALS['spip_version_base'] != (str_replace(',','.',$GLOBALS['meta']['version_installee'])))) return; if (!isset($GLOBALS['meta'][$nom_meta_base_version])){ $trouver_table = charger_fonction('trouver_table','base'); if ($desc = $trouver_table('spip_documents') AND !isset($desc['field']['statut'])) ecrire_meta($nom_meta_base_version,'0.1.0'); } $maj = array(); $maj['create'] = array( array('maj_tables',array('spip_documents','spip_documents_liens','spip_types_documents')), array('creer_base_types_doc') ); $maj['0.2.0'] = array( array('sql_alter',"TABLE spip_documents ADD statut varchar(10) DEFAULT '0' NOT NULL"), ); $maj['0.3.0'] = array( array('sql_alter',"TABLE spip_documents ADD date_publication datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"), ); $maj['0.4.0'] = array( // recalculer tous les statuts en tenant compte de la date de publi des articles... array('medias_check_statuts',true), ); $maj['0.5.0'] = array( array('sql_alter',"TABLE spip_documents ADD brise tinyint DEFAULT 0"), ); $maj['0.6.0'] = array( array('sql_alter',"TABLE spip_types_documents ADD media varchar(10) DEFAULT 'file' NOT NULL"), array('creer_base_types_doc','','media'), ); $maj['0.7.0'] = array( array('sql_alter',"TABLE spip_documents ADD credits varchar(255) DEFAULT '' NOT NULL"), ); $maj['0.10.0'] = array( array('sql_alter',"TABLE spip_documents CHANGE fichier fichier TEXT NOT NULL DEFAULT ''"), ); $maj['0.11.0'] = array( array('sql_alter',"TABLE spip_documents CHANGE mode mode varchar(10) DEFAULT 'document' NOT NULL"), ); $maj['0.14.0'] = array( array('medias_maj_meta_documents'), array('creer_base_types_doc','','media'), ); $maj['0.15.0'] = array( array('creer_base_types_doc','','media'), ); $maj['0.15.1'] = array( array('sql_alter',"TABLE spip_documents CHANGE taille taille bigint"), ); $maj['0.16.0'] = array( array('creer_base_types_doc','','media'), ); $maj['1.0.0'] = array( // 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('medias_peuple_media_document', 'media'), // puis on retablit le bon defaut array('sql_alter',"TABLE spip_documents CHANGE media media varchar(10) DEFAULT 'file' NOT NULL"), ); $maj['1.0.1'] = array( // puis on retablit le bon defaut array('sql_alter',"TABLE spip_types_documents CHANGE media media_defaut varchar(10) DEFAULT 'file' NOT NULL"), ); $maj['1.1.0'] = array( array('sql_alter',"TABLE spip_documents_liens ADD INDEX id_objet (id_objet)"), array('sql_alter',"TABLE spip_documents_liens ADD INDEX objet (objet)"), ); $maj['1.1.1'] = array( 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'), ); $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 du champ titre pour json cf oubli dans http://zone.spip.org/trac/spip-zone/changeset/80059 array("sql_updateq","spip_types_documents",array('titre'=>'JSON'),"extension='json'"), ); include_spip('base/upgrade'); include_spip('base/medias'); maj_plugin($nom_meta_base_version, $version_cible, $maj); medias_check_statuts(); } /** * 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; } } /* 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; } } */
/home/etiennec/www/prive/../assets/../plugins-dist/medias/medias_administrations.php