Skip to content
Extraits de code Groupes Projets

Comparer les révisions

Les modifications sont affichées comme si la révision source était fusionnée avec la révision cible. En savoir plus sur la comparaison des révisions.

Source

Sélectionner le projet cible
No results found

Cible

Sélectionner le projet cible
  • spip/medias
  • pierre.laszczak/medias
  • cy.altern/medias
  • MathieuAlphamosa/medias
  • taffit/medias
  • RealET/medias
  • johan/medias
  • Yohooo/medias
  • pierretux/medias
  • placido/medias
  • JLuc/medias
11 résultats
Afficher les modifications
Affichage de
avec 2395 ajouts et 261 suppressions
......@@ -105,6 +105,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'image_tourner_180' => 'Rotation 180°',
'image_tourner_droite' => 'Rotation 90° à droite',
'image_tourner_gauche' => 'Rotation 90° à gauche',
'info_alt' => 'Description du contenu de l’image quand elle n’est pas visible, en complément du titre.',
'info_dimensions_image' => 'Dimensions',
'info_doc_max_poids' => 'Les documents doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
'info_document' => 'Document',
......@@ -117,6 +118,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_illustrations' => 'Illustrations',
'info_image_max_poids' => 'Les images doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
'info_image_max_taille' => 'Les images doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
'info_image_min_taille' => 'Les images doivent obligatoirement faire au moins @mini@ (ce fichier fait @actuel@).',
'info_inclusion_directe' => 'Inclusion directe :',
'info_inclusion_vignette' => 'Inclusion de la vignette :',
'info_installer_tous_documents' => 'Installer tous les documents',
......@@ -134,11 +136,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_telecharger' => 'Télécharger depuis votre ordinateur :',
'info_utilisation' => 'Utilisation(s)',
'infos' => 'Infos techniques',
'inserer_raccourci' => 'Insérer ce raccourci dans le texte',
'item_autoriser_selectionner_date_en_ligne' => 'Permettre de modifier la date de chaque document',
'item_non_autoriser_selectionner_date_en_ligne' => 'La date des documents est celle de leur ajout sur le site',
// L
'label_activer_document_objets' => 'Activer le téléversement pour les contenus :',
'label_alt' => 'Alternative textuelle (alt)',
'label_apercu' => 'Aperçu',
'label_caracteristiques' => 'Caractéristiques',
'label_credits' => 'Crédits',
......@@ -147,6 +151,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_paginer_par' => 'Paginer par :',
'label_parents' => 'Ce document est lié à',
'label_refdoc_joindre' => 'Document numéro',
'label_titre_mimetype' => 'Type de fichier',
'lien_tout_desordonner' => 'Réinitialiser l’ordre',
'lien_tout_desordonner_verif' => 'L’ordre définit pour cette liste de documents sera réinitialisé. Êtes-vous sûre ?',
'lien_tout_enlever' => 'Tout détacher',
......
......@@ -42,8 +42,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'bouton_remplacer_image' => 'Remplacer cette image',
'bouton_remplacer_image_document' => 'Remplacer par une image ou un document',
'bouton_supprimer' => 'Supprimer',
'bouton_supprimer_tous_orphelins' => 'Supprimer tous les orphelins', # MODIF
'bouton_supprimer_tous_orphelins_confirmation' => 'Es-tu sûr de vouloir supprimer @nb@ orphelins ?', # MODIF
'bouton_supprimer_tous_orphelins' => 'Supprimer tous les documents inutilisés',
'bouton_supprimer_tous_orphelins_confirmation' => 'Es-tu sûr de vouloir supprimer @nb@ documents inutilisés ?',
'bouton_upload' => 'Téléverser',
// D
......@@ -105,6 +105,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'image_tourner_180' => 'Rotation 180°',
'image_tourner_droite' => 'Rotation 90° à droite',
'image_tourner_gauche' => 'Rotation 90° à gauche',
'info_alt' => 'Description du contenu de l’image quand elle n’est pas visible, en complément du titre.',
'info_dimensions_image' => 'Dimensions',
'info_doc_max_poids' => 'Les documents doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
'info_document' => 'Document',
......@@ -117,6 +118,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_illustrations' => 'Illustrations',
'info_image_max_poids' => 'Les images doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
'info_image_max_taille' => 'Les images doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
'info_image_min_taille' => 'Les images doivent obligatoirement faire au moins @mini@ (ce fichier fait @actuel@).',
'info_inclusion_directe' => 'Inclusion directe :',
'info_inclusion_vignette' => 'Inclusion de la vignette :',
'info_installer_tous_documents' => 'Installer tous les documents',
......@@ -134,11 +136,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_telecharger' => 'Télécharger depuis ton ordinateur :',
'info_utilisation' => 'Utilisation(s)',
'infos' => 'Infos techniques',
'inserer_raccourci' => 'Insérer ce raccourci dans le texte',
'item_autoriser_selectionner_date_en_ligne' => 'Permettre de modifier la date de chaque document',
'item_non_autoriser_selectionner_date_en_ligne' => 'La date des documents est celle de leur ajout sur le site',
// L
'label_activer_document_objets' => 'Activer le téléversement pour les contenus :',
'label_alt' => 'Alternative textuelle (alt)',
'label_apercu' => 'Aperçu',
'label_caracteristiques' => 'Caractéristiques',
'label_credits' => 'Crédits',
......@@ -147,6 +151,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_paginer_par' => 'Paginer par :',
'label_parents' => 'Ce document est lié à',
'label_refdoc_joindre' => 'Document numéro',
'label_titre_mimetype' => 'Type de fichier',
'lien_tout_desordonner' => 'Réinitialiser l’ordre',
'lien_tout_desordonner_verif' => 'L’ordre définit pour cette liste de documents sera réinitialisé. Es-tu sûr ?',
'lien_tout_enlever' => 'Tout détacher',
......
......@@ -10,6 +10,9 @@ if (!defined('_ECRIRE_INC_VERSION')) {
$GLOBALS[$GLOBALS['idx_lang']] = array(
// A
'affichage_documents_en_cases' => 'Visualizza in box',
'affichage_documents_en_grand' => 'Visualizza in grande',
'affichage_documents_en_liste_compacte' => 'Visualizzazione elenco compatto',
'aucun_audio' => 'Nessun suono',
'aucun_document' => 'Nessun documento',
'aucun_file' => 'Nessun documento',
......@@ -39,8 +42,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'bouton_remplacer_image' => 'Sostituisci l’immagine',
'bouton_remplacer_image_document' => 'Sostituisci con un’immagine o un documento',
'bouton_supprimer' => 'Cancella',
'bouton_supprimer_tous_orphelins' => 'Cancella tutti i non utilizzati', # MODIF
'bouton_supprimer_tous_orphelins_confirmation' => 'Vuoi veramente cancellare @nb@ documenti non utilizzati?', # MODIF
'bouton_supprimer_tous_orphelins' => 'Elimina tutti i documenti non utilizzati',
'bouton_supprimer_tous_orphelins_confirmation' => 'Vuoi veramente eliminare @nb@ documenti non utilizzati?',
'bouton_upload' => 'Carica',
// D
......@@ -51,6 +54,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'des_utilisations' => '@nb@ utilizzazioni',
'des_videos' => '@nb@ video',
'descriptif' => 'Descrizione',
'details_document' => 'Dettagli',
'details_document_afficher_masquer' => 'Visualizza/nascondi i dettagli del documento',
'document_attache_succes' => 'Il documento è stato aggiunto con successo',
'document_copie_locale_succes' => 'Il documento è stato copiato con successo nel sito',
'document_installe_succes' => 'Il file è stato caricato con successo',
......@@ -71,14 +76,17 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'entree_titre_image' => 'Titolo dell’immagine:',
'erreur_aucun_document' => 'Il documento non esiste nella media library',
'erreur_aucun_fichier' => 'Nessun file è stato trovato',
'erreur_autorisation' => 'Autorizzazione fallita',
'erreur_chemin_distant' => 'Il file remoto @nom@ non può essere trovato',
'erreur_chemin_ftp' => 'Il file indicato non è stato trovato nel server',
'erreur_copie_fichier' => 'Impossibile copiare il file @nom@',
'erreur_deplacement_impossible' => 'Spostamento impossibile',
'erreur_dossier_tmp_manquant' => 'La directory temporanea per scaricare il file è mancante',
'erreur_ecriture_fichier' => 'Errore scrivendo il file sul disco',
'erreur_format_fichier_image' => 'Il formato di @nom@ non è assimilabile a un’immagine',
'erreur_indiquez_un_fichier' => 'Specifica un file!',
'erreur_insertion_document_base' => 'Impossibile salvare il documento @fichier@ nel database',
'erreur_objet_absent' => 'Informazioni ricevute incomplete',
'erreur_suppression_vignette' => 'Errore durante la cancellazione della miniatura',
'erreur_upload_type_interdit' => 'Il caricamento di file del tipo @nom@ non è consentito',
'erreur_upload_vignette' => 'Errore caricando la miniatura @nom@',
......@@ -97,16 +105,20 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'image_tourner_180' => 'Ruota 180°',
'image_tourner_droite' => 'Ruota 90° a destra',
'image_tourner_gauche' => 'Ruota 90° a sinistra',
'info_alt' => 'Descrizione del contenuto dell’immagine quando non è visibile, oltre al titolo.',
'info_dimensions_image' => 'Dimensioni',
'info_doc_max_poids' => 'Il documento deve necessariamente essere più piccolo di @maxi@ (il file è attualmente @actuel@).',
'info_document' => 'Documento',
'info_document_indisponible' => 'Questo documento non è disponibile',
'info_documents' => 'Documenti',
'info_duree' => 'Durata',
'info_gauche_numero_document' => 'DOCUMENTO NUMERO',
'info_hauteur' => 'Altezza',
'info_heure' => 'Ora',
'info_illustrations' => 'Illustrazioni',
'info_image_max_poids' => 'L’immagine deve essere necessariamente grande meno di @maxi@ (il file è @actuel@).',
'info_image_max_taille' => 'L’immagine deve essere necessariamente grande meno di @maxi@ (il file è @actuel@).',
'info_image_min_taille' => 'Le immagini devono essere almeno @mini@ (questo file è @actuel@).',
'info_inclusion_directe' => 'Inclusione diretta:',
'info_inclusion_vignette' => 'Inclusione dell’immagine:',
'info_installer_tous_documents' => 'Installare tutti i documenti',
......@@ -116,16 +128,21 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_modifier_document' => 'Modifica il documento',
'info_portfolio' => 'Portfolio',
'info_referencer_doc_distant' => 'Mettere in repertorio un documento su Internet:',
'info_resolution_image' => 'Risoluzione',
'info_resolution_mpx' => '@resolution@ Mpx',
'info_sans_vignette' => 'Nessuna miniatura',
'info_statut_document' => 'Il documento è:',
'info_taille' => 'Peso',
'info_telecharger' => 'Upload dal tuo computer:',
'info_utilisation' => 'Utilizzo(i)',
'infos' => 'Informazioni tecniche',
'inserer_raccourci' => 'Inserisci questa scorciatoia nel testo',
'item_autoriser_selectionner_date_en_ligne' => 'Permetti di modificare la data di ogni documento',
'item_non_autoriser_selectionner_date_en_ligne' => 'La data dei documenti è quella in cui sono stati aggiunti al sito.',
// L
'label_activer_document_objets' => 'Attiva il caricamento di documento per il contenuto:',
'label_alt' => 'Testo alternativo (alt)',
'label_apercu' => 'Anteprima',
'label_caracteristiques' => 'Specifiche',
'label_credits' => 'Crediti',
......@@ -134,7 +151,11 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_paginer_par' => 'Impaginare da :',
'label_parents' => 'Il documento è collegato a',
'label_refdoc_joindre' => 'Documento numero',
'lien_tout_enlever' => 'Rimuovi tutto', # MODIF
'label_titre_mimetype' => 'Tipo di file',
'lien_tout_desordonner' => 'Ripristina l’ordine',
'lien_tout_desordonner_verif' => 'L’ordine definito per questo elenco di documenti verrà reimpostato. Sei sicuro?',
'lien_tout_enlever' => 'Rimuovi tutto',
'lien_tout_enlever_verif' => 'Vuoi staccare tutti i documenti?',
'logo' => 'Logo',
// M
......@@ -151,6 +172,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// O
'objet_document' => 'Documento',
'objet_documents' => 'Documenti',
'ordonner_ce_document' => 'Ordina questo documento',
// P
'par_date' => 'Data',
......
......@@ -136,6 +136,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_telecharger' => 'Transferir do seu computador:',
'info_utilisation' => 'Utilização(ões)',
'infos' => 'Exibir informações técnicas',
'inserer_raccourci' => 'Inserir este atalho no texto',
'item_autoriser_selectionner_date_en_ligne' => 'Permite modificar a data de cada documento',
'item_non_autoriser_selectionner_date_en_ligne' => 'A data dos documentos é a mesma da incorporação ao site',
......@@ -150,6 +151,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_paginer_par' => 'Paginar por:',
'label_parents' => 'Este documento está relacionado a',
'label_refdoc_joindre' => 'Número do documento',
'label_titre_mimetype' => 'Tipo de arquivo',
'lien_tout_desordonner' => 'Reinicializar a ordenação',
'lien_tout_desordonner_verif' => 'A ordenação desta listagem de documentos será reinicializada. Você confirma?',
'lien_tout_enlever' => 'Desvincular todos',
......
......@@ -62,7 +62,8 @@ function medias_upgrade($nom_meta_base_version, $version_cible) {
// 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'])
if (
isset($GLOBALS['meta']['version_installee'])
and ($GLOBALS['spip_version_base'] != (str_replace(',', '.', $GLOBALS['meta']['version_installee'])))
) {
return;
......@@ -70,165 +71,165 @@ function medias_upgrade($nom_meta_base_version, $version_cible) {
if (!isset($GLOBALS['meta'][$nom_meta_base_version])) {
$trouver_table = charger_fonction('trouver_table', 'base');
if ($desc = $trouver_table('spip_documents')
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(
$maj = [];
$maj['create'] = [
['maj_tables', ['spip_documents', 'spip_documents_liens', 'spip_types_documents']],
['creer_base_types_doc']
];
$maj['0.2.0'] = [
['sql_alter', "TABLE spip_documents ADD statut varchar(10) DEFAULT '0' NOT NULL"],
];
$maj['0.3.0'] = [
['sql_alter', "TABLE spip_documents ADD date_publication datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"],
];
$maj['0.4.0'] = [
// 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'),
);
['medias_check_statuts', true],
];
$maj['0.5.0'] = [
['sql_alter', 'TABLE spip_documents ADD brise tinyint DEFAULT 0'],
];
$maj['0.6.0'] = [
['sql_alter', "TABLE spip_types_documents ADD media varchar(10) DEFAULT 'file' NOT NULL"],
['creer_base_types_doc', '', 'media'],
];
$maj['0.7.0'] = [
['sql_alter', "TABLE spip_documents ADD credits varchar(255) DEFAULT '' NOT NULL"],
];
$maj['0.10.0'] = [
['sql_alter', "TABLE spip_documents CHANGE fichier fichier TEXT NOT NULL DEFAULT ''"],
];
$maj['0.11.0'] = [
['sql_alter', "TABLE spip_documents CHANGE mode mode varchar(10) DEFAULT 'document' NOT NULL"],
];
$maj['0.14.0'] = [
['medias_maj_meta_documents'],
['creer_base_types_doc', '', 'media'],
];
$maj['0.15.0'] = [
['creer_base_types_doc', '', 'media'],
];
$maj['0.15.1'] = [
['sql_alter', 'TABLE spip_documents CHANGE taille taille bigint'],
];
$maj['0.16.0'] = [
['creer_base_types_doc', '', 'media'],
];
$maj['1.0.0'] = array(
$maj['1.0.0'] = [
// 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'),
['sql_alter', "TABLE spip_documents ADD media varchar(10) DEFAULT '?' NOT NULL"],
['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(
['sql_alter', "TABLE spip_documents CHANGE media media varchar(10) DEFAULT 'file' NOT NULL"],
];
$maj['1.0.1'] = [
// puis on retablit le bon defaut
array('sql_alter', "TABLE spip_types_documents CHANGE media media_defaut varchar(10) DEFAULT 'file' NOT NULL"),
);
['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'),
);
$maj['1.1.0'] = [
['sql_alter', 'TABLE spip_documents_liens ADD INDEX id_objet (id_objet)'],
['sql_alter', 'TABLE spip_documents_liens ADD INDEX objet (objet)'],
];
$maj['1.1.1'] = [
['creer_base_types_doc'],
];
// reparer les media sur les file suite a upgrade rate depuis SPIP 2.x
$maj['1.2.0'] = array(
$maj['1.2.0'] = [
// on remet en ? tous les media=file
array('sql_updateq', 'spip_documents', array('media' => '?'), "media='file'"),
['sql_updateq', 'spip_documents', ['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(
['medias_peuple_media_document'],
];
$maj['1.2.1'] = [
['creer_base_types_doc'],
];
$maj['1.2.3'] = [
// ajout de mbtiles
array('creer_base_types_doc'),
['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(
['sql_alter', "TABLE spip_documents CHANGE extension extension VARCHAR(10) DEFAULT '' NOT NULL"],
['sql_alter', "TABLE spip_documents CHANGE credits credits varchar(255) DEFAULT '' NOT NULL"],
['sql_alter', "TABLE spip_documents CHANGE statut statut varchar(10) DEFAULT '0' NOT NULL"],
];
$maj['1.2.4'] = [
// ajout de tar
array('creer_base_types_doc')
);
$maj['1.2.5'] = array(
['creer_base_types_doc']
];
$maj['1.2.5'] = [
// ajout de json
array('creer_base_types_doc')
);
$maj['1.2.6'] = array(
['creer_base_types_doc']
];
$maj['1.2.6'] = [
// ajout de md (markdown)
array('creer_base_types_doc')
);
$maj['1.2.7'] = array(
['creer_base_types_doc']
];
$maj['1.2.7'] = [
// ajout de ics + vcf
array('creer_base_types_doc')
);
$maj['1.3.0'] = array(
['creer_base_types_doc']
];
$maj['1.3.0'] = [
// ajout de rang_lien
array('maj_tables', 'spip_documents_liens'),
);
$maj['1.3.1'] = array(
['maj_tables', 'spip_documents_liens'],
];
$maj['1.3.1'] = [
// 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(
['sql_alter', "TABLE spip_documents CHANGE credits credits text DEFAULT '' NOT NULL"],
];
$maj['1.3.2'] = [
// buggons en 2038 plutôt qu'en 2018'
array('medias_check_statuts', true),
);
$maj['1.3.4'] = array(
['medias_check_statuts', true],
];
$maj['1.3.4'] = [
// 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(
['medias_maj_date_publication_documents'],
['medias_check_statuts', true]
];
$maj['1.3.5'] = [
// ajout de duree
array('maj_tables', 'spip_documents'),
);
$maj['1.3.6'] = array(
['maj_tables', 'spip_documents'],
];
$maj['1.3.6'] = [
// ajout de vtt
array('creer_base_types_doc')
);
['creer_base_types_doc']
];
$maj['1.4.0'] = array(
$maj['1.4.0'] = [
// update de SVG
array('creer_base_types_doc')
);
['creer_base_types_doc']
];
$maj['1.5.0'] = array(
$maj['1.5.0'] = [
// ajout de webp
array('creer_base_types_doc'),
);
['creer_base_types_doc'],
];
// upgrade des logos
$maj['1.6.0'] = [];
$tables_objets_sql = lister_tables_objets_sql();
foreach(array_keys($tables_objets_sql) as $table) {
foreach (array_keys($tables_objets_sql) as $table) {
$maj['1.6.0'][] = ['medias_upgrade_logo_objet', objet_type($table)];
};
$maj['1.7.0'] = array(
$maj['1.7.0'] = [
// ajout de alt
array('maj_tables', 'spip_documents'),
);
['maj_tables', 'spip_documents'],
];
include_spip('base/upgrade');
include_spip('base/medias');
maj_plugin($nom_meta_base_version, $version_cible, $maj);
}
/**
......@@ -246,7 +247,7 @@ function medias_upgrade_logo_objet($objet) {
* Maj des meta documents
*/
function medias_maj_meta_documents() {
$config = array();
$config = [];
if (isset($GLOBALS['meta']['documents_article']) and $GLOBALS['meta']['documents_article'] !== 'non') {
$config[] = 'spip_articles';
}
......@@ -261,7 +262,7 @@ function medias_peuple_media_document($champ_media = 'media_defaut') {
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']));
sql_updateq('spip_documents', ['media' => $media], 'media=' . sql_quote('?') . ' AND extension=' . sql_quote($row['extension']));
if (time() >= _TIME_OUT) {
return;
}
......@@ -272,8 +273,8 @@ function medias_peuple_media_document($champ_media = 'media_defaut') {
* 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'));
sql_update('spip_documents', ['statut' => '0'], 'date_publication > ' . sql_quote('2017-01-01 00:00:00'));
sql_update('spip_documents', ['statut' => '0'], 'date_publication = ' . sql_quote('1970-01-01 01:33:58'));
}
/*
......
......@@ -81,7 +81,8 @@ function autoriser_document_tailler_dist($faire, $type, $id, $qui, $options) {
// (on ne le propose pas pour les images qu'on sait
// lire : gif jpg png), sauf bug, ou document distant
if (in_array($document['extension'], array('gif', 'jpg', 'png'))
if (
in_array($document['extension'], ['gif', 'jpg', 'png'])
and $document['hauteur']
and $document['largeur']
and $document['distant'] != 'oui'
......@@ -93,7 +94,8 @@ function autoriser_document_tailler_dist($faire, $type, $id, $qui, $options) {
$extension = $document['extension'];
$type_inclus = sql_getfetsel('inclus', 'spip_types_documents', 'extension=' . sql_quote($extension));
if (($type_inclus == 'embed' or $type_inclus == 'image')
if (
($type_inclus == 'embed' or $type_inclus == 'image')
and (
// documents dont la taille est definie
($document['largeur'] * $document['hauteur'])
......@@ -156,7 +158,7 @@ function autoriser_joindredocument_dist($faire, $type, $id, $qui, $opt) {
* @return bool true s'il a le droit, false sinon
*/
function autoriser_document_modifier_dist($faire, $type, $id, $qui, $opt) {
static $m = array();
static $m = [];
$q = $qui['id_auteur'];
if (isset($m[$q][$id])) {
......@@ -165,7 +167,8 @@ function autoriser_document_modifier_dist($faire, $type, $id, $qui, $opt) {
$s = sql_getfetsel('statut', 'spip_documents', 'id_document=' . intval($id));
// les admins ont le droit de modifier tous les documents existants
if ($qui['statut'] == '0minirezo'
if (
$qui['statut'] == '0minirezo'
and !$qui['restreint']
) {
return is_string($s) ? true : false;
......@@ -210,7 +213,8 @@ function autoriser_document_modifier_dist($faire, $type, $id, $qui, $opt) {
* @return bool true s'il a le droit, false sinon
*/
function autoriser_document_supprimer_dist($faire, $type, $id, $qui, $opt) {
if (!intval($id)
if (
!intval($id)
or !$qui['id_auteur']
or !autoriser('ecrire', '', '', $qui)
) {
......@@ -230,11 +234,13 @@ function autoriser_document_supprimer_dist($faire, $type, $id, $qui, $opt) {
return !$id_document or autoriser('modifier', 'document', $id_document);
}
// si c'est un document annexe, se ramener a l'autorisation de son parent
if ($id_document = sql_getfetsel(
'id_objet',
'spip_documents_liens',
"objet='document' AND id_document=" . intval($id)
)) {
if (
$id_document = sql_getfetsel(
'id_objet',
'spip_documents_liens',
"objet='document' AND id_document=" . intval($id)
)
) {
return autoriser('modifier', 'document', $id_document);
}
......@@ -264,7 +270,8 @@ function autoriser_document_supprimer_dist($faire, $type, $id, $qui, $opt) {
**/
function autoriser_document_voir_dist($faire, $type, $id, $qui, $opt) {
if (!isset($GLOBALS['meta']['creer_htaccess'])
if (
!isset($GLOBALS['meta']['creer_htaccess'])
or $GLOBALS['meta']['creer_htaccess'] != 'oui'
) {
return true;
......@@ -274,7 +281,7 @@ function autoriser_document_voir_dist($faire, $type, $id, $qui, $opt) {
return false;
}
if (in_array($qui['statut'], array('0minirezo', '1comite'))) {
if (in_array($qui['statut'], ['0minirezo', '1comite'])) {
return 'htaccess';
}
......@@ -282,13 +289,15 @@ function autoriser_document_voir_dist($faire, $type, $id, $qui, $opt) {
foreach ($liens as $l) {
$table_sql = table_objet_sql($l['objet']);
$id_table = id_table_objet($l['objet']);
if (sql_countsel(
$table_sql,
"$id_table = " . intval($l['id_objet'])
. (in_array($l['objet'], array('article', 'rubrique', 'breve'))
if (
sql_countsel(
$table_sql,
"$id_table = " . intval($l['id_objet'])
. (in_array($l['objet'], ['article', 'rubrique', 'breve'])
? " AND statut = 'publie'"
: '')
) > 0) {
) > 0
) {
return 'htaccess';
}
}
......@@ -327,7 +336,8 @@ function autoriser_autoassocierdocument_dist($faire, $type, $id, $qui, $opt) {
* @return bool true s'il a le droit, false sinon
*/
function autoriser_orphelins_supprimer_dist($faire, $type, $id, $qui, $opt) {
if ($qui['statut'] == '0minirezo'
if (
$qui['statut'] == '0minirezo'
and !$qui['restreint']
) {
return true;
......
......@@ -23,7 +23,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
}
// nettoyer les zip abandonnes par l'utilisateur
if (isset($GLOBALS['visiteur_session']['zip_to_clean'])
if (
isset($GLOBALS['visiteur_session']['zip_to_clean'])
and test_espace_prive()
and isset($_SERVER['REQUEST_METHOD'])
and $_SERVER['REQUEST_METHOD'] !== 'POST'
......@@ -41,7 +42,8 @@ if (isset($GLOBALS['visiteur_session']['zip_to_clean'])
// capturer un formulaire POST plus grand que post_max_size
// on genere un minipres car on ne peut rien faire de mieux
if (isset($_SERVER['REQUEST_METHOD'])
if (
isset($_SERVER['REQUEST_METHOD'])
and $_SERVER['REQUEST_METHOD'] == 'POST'
and empty($_POST)
and isset($_SERVER['CONTENT_TYPE'])
......@@ -50,7 +52,7 @@ if (isset($_SERVER['REQUEST_METHOD'])
and $_SERVER['CONTENT_LENGTH'] > medias_inigetoctets('post_max_size')
) {
include_spip('inc/minipres');
echo minipres(_T('medias:upload_limit', array('max' => ini_get('post_max_size'))));
echo minipres(_T('medias:upload_limit', ['max' => ini_get('post_max_size')]));
exit;
}
......@@ -65,12 +67,12 @@ function medias_modeles_styliser($modele, $id) {
if (defined('_COMPORTEMENT_HISTORIQUE_IMG_DOC_EMB') and _COMPORTEMENT_HISTORIQUE_IMG_DOC_EMB) {
return $modele;
}
switch($modele) {
switch ($modele) {
case 'img':
case 'doc':
case 'emb':
$m = 'file';
if ($doc = sql_fetsel('id_document,media', 'spip_documents', 'id_document='.intval($id))) {
if ($doc = sql_fetsel('id_document,media', 'spip_documents', 'id_document=' . intval($id))) {
$m = $doc['media']; // image, audio, video, file
}
if (trouve_modele("{$m}_{$modele}")) {
......@@ -167,19 +169,20 @@ function boucle_DOCUMENTS($id_boucle, &$boucles) {
// on ne veut pas des fichiers de taille nulle,
// sauf s'ils sont distants (taille inconnue)
array_unshift($boucle->where, array("'($id_table.taille > 0 OR $id_table.distant=\\'oui\\')'"));
array_unshift($boucle->where, ["'($id_table.taille > 0 OR $id_table.distant=\\'oui\\')'"]);
/**
* N'afficher que les modes de documents que l'on accepte
* Utiliser le "pipeline medias_documents_visibles" pour en ajouter
*/
if (!isset($boucle->modificateur['criteres']['mode'])
if (
!isset($boucle->modificateur['criteres']['mode'])
and !isset($boucle->modificateur['tout'])
) {
$modes = pipeline('medias_documents_visibles', array('image', 'document'));
$modes = pipeline('medias_documents_visibles', ['image', 'document']);
$f = sql_serveur('quote', $boucle->sql_serveur, true);
$modes = addslashes(join(',', array_map($f, array_unique($modes))));
array_unshift($boucle->where, array("'IN'", "'$id_table.mode'", "'($modes)'"));
array_unshift($boucle->where, ["'IN'", "'$id_table.mode'", "'($modes)'"]);
}
return calculer_boucle($id_boucle, $boucles);
......@@ -312,55 +315,56 @@ function medias_lister_methodes_upload($env) {
$env = unserialize($env);
}
$methodes = array();
$methodes = [];
// méthodes d'upload disponibles
$methodes = array();
$methodes['upload'] = array('label_lien'=>_T('medias:bouton_download_local'),'label_bouton'=>_T('bouton_upload'));
$methodes = [];
$methodes['upload'] = ['label_lien' => _T('medias:bouton_download_local'),'label_bouton' => _T('bouton_upload')];
if((isset($env['mediatheque']) and $env['mediatheque'])){
$methodes['mediatheque'] = array('label_lien'=>_T('medias:bouton_download_par_mediatheque'),'label_bouton'=>_T('medias:bouton_attacher_document'));
if ((isset($env['mediatheque']) and $env['mediatheque'])) {
$methodes['mediatheque'] = ['label_lien' => _T('medias:bouton_download_par_mediatheque'),'label_bouton' => _T('medias:bouton_attacher_document')];
}
if((isset($env['proposer_ftp']) and $env['proposer_ftp'])){
$methodes['ftp'] = array('label_lien'=>_T('medias:bouton_download_par_ftp'),'label_bouton'=>_T('bouton_choisir'));
if ((isset($env['proposer_ftp']) and $env['proposer_ftp'])) {
$methodes['ftp'] = ['label_lien' => _T('medias:bouton_download_par_ftp'),'label_bouton' => _T('bouton_choisir')];
}
$methodes['distant'] = array('label_lien'=>_T('medias:bouton_download_sur_le_web'),'label_bouton'=>_T('bouton_choisir'));
$methodes['distant'] = ['label_lien' => _T('medias:bouton_download_sur_le_web'),'label_bouton' => _T('bouton_choisir')];
// pipeline pour les méthodes d'upload
$objet = isset($env['objet']) ? $env['objet'] : '';
$id_objet = isset($env['id_objet']) ? $env['id_objet'] : '';
$methodes = pipeline('medias_methodes_upload',
array(
'args' => array('objet' => $objet, 'id_objet' => $id_objet),
$methodes = pipeline(
'medias_methodes_upload',
[
'args' => ['objet' => $objet, 'id_objet' => $id_objet],
'data' => $methodes
)
]
);
return $methodes;
}
function duree_en_secondes($duree, $precis = false) {
$out = "";
$out = '';
$heures = $minutes = 0;
if ($duree>3600) {
$heures = intval(floor($duree/3600));
if ($duree > 3600) {
$heures = intval(floor($duree / 3600));
$duree -= $heures * 3600;
}
if ($duree>60) {
$minutes = intval(floor($duree/60));
if ($duree > 60) {
$minutes = intval(floor($duree / 60));
$duree -= $minutes * 60;
}
if ($heures>0 or $minutes>0) {
$out = _T('date_fmt_heures_minutes', array('h' => $heures, 'm' => $minutes));
if ($heures > 0 or $minutes > 0) {
$out = _T('date_fmt_heures_minutes', ['h' => $heures, 'm' => $minutes]);
if (!$heures) {
$out = preg_replace(',^0[^\d]+,Uims', '', $out);
}
}
if (!$heures or $precis) {
$out .= intval($duree).'s';
$out .= intval($duree) . 's';
}
return $out;
}
......@@ -371,16 +375,26 @@ function duree_en_secondes($duree, $precis = false) {
* - avec une extension
* - avec un mime_type donne
*
* => modeles/{modele_base}_emb_html.html si il existe
* => modeles/{modele_base}_text_html.html si il existe,
* => modeles/{modele_base}_text.html si il existe,
* => modeles/{modele_base}.html sinon
* En priorité :
* - modeles/{modele_base}_emb_{extension}.html si il existe
* - modeles/{modele_base}_emb_{mimetype}.html si il existe,
* dans {mimetype}, les caractères non alphanumériques (typiquement '/') ont été remplacés par '_'.
* Par exemple "text/css" devient "text_css"
* - modeles/{modele_base}_emb_{mimetypeprincipal}.html si il existe
* {mimetypeprincipal} est la partie du mimetype avant le '/'. C'est par exemple 'text' pour 'text/css'
* - modeles/{modele_base} sinon
*
* Pour une image jpg cela donne par priorité :
* modeles/image_emb_jpg.html
* modeles/image_emb_image_jpeg.html
* modeles/image_emb_image.html
* modeles/image.html
*
* @param $extension
* @param $mime_type
* @return mixed
* @param string $extension
* @param string $mime_type
* @return string
*/
function medias_trouver_modele_emb($extension, $mime_type, $modele_base='file') {
function medias_trouver_modele_emb($extension, $mime_type, $modele_base = 'file') {
if ($extension and trouve_modele($fond = $modele_base . '_emb_' . $extension)) {
return $fond;
}
......@@ -405,7 +419,7 @@ function medias_trouver_modele_emb($extension, $mime_type, $modele_base='file')
* @note
* le nomage au pluriel est historique.
* préférer au singulier pour toute nouvelle classe.
*
*
* @param int $id_document
* @param string $media
* @param array $env
......@@ -429,12 +443,12 @@ function filtre_medias_modele_document_standard_classes_dist($Pile, $id_document
$classes[] = 'spip_document_center';
}
if (!empty($var['legende'])) {
$classes[] = "spip_document_avec_legende";
$classes[] = 'spip_document_avec_legende';
}
if (!empty($env['class'])) {
$classes[] = $env['class'];
}
return implode(" ", $classes);
return implode(' ', $classes);
}
......@@ -454,14 +468,14 @@ function filtre_medias_modele_document_standard_attributs_dist($Pile, $id_docume
if (!empty($var['legende'])) {
$len = spip_strlen(textebrut($var['legende']));
// des x. "x" = 32 caratères, "xx" => 64, "xxx" => 128, etc...
$lenx = medias_str_repeat_log($len, 2, "x", 4);
$lenx = medias_str_repeat_log($len, 2, 'x', 4);
$attrs['data-legende-len'] = $len;
$attrs['data-legende-lenx'] = $lenx;
}
$res = "";
foreach($attrs as $attr => $value) {
$res .= "$attr=\"" . attribut_html($value) . "\"";
$res = '';
foreach ($attrs as $attr => $value) {
$res .= "$attr=\"" . attribut_html($value) . '"';
};
return $res;
}
......@@ -471,54 +485,54 @@ function filtre_medias_modele_document_standard_attributs_dist($Pile, $id_docume
* Retourne une chaine répétée d'autant de fois le logarithme
*
* @example medias_str_repeat_log(124, 2)
*
*
* Avec $base = 2 et $remove = 0
*
* 0 =>
*
* 0 =>
* 2 => x
* 4 => xx
* 8 => xxx
* 16 => xxxx
* 32 => xxxxx
* 64 => xxxxxx
*
*
* @example medias_str_repeat_log(124, 2, "x", 4)
*
*
* Avec $base = 2 et $remove = 4
*
* 0 =>
* 2 =>
* 4 =>
* 8 =>
* 16 =>
*
* 0 =>
* 2 =>
* 4 =>
* 8 =>
* 16 =>
* 32 => x
* 64 => xx
*
* @note
*
* @note
* L'inverse (nb caractères => valeur) est donc `pow($base, $nb_char)`
*
*
* En partant du nombre de "x" on retrouve la fourchette du nombre de départ.
* Si $base = 2 et $remove = 4 :
*
*
* - "xxx" = 2 ^ (strlen("xxx") + 4) = 2 ^ (3 + 4) = 128
* - "xxxxx" = 2 ^ (5 + 4) = 512
* x = 32,
* xx = 64
* xxx = 128
* xxxx = 256
* xxxxx = 512
* xxxxx = 512
* ...
*
*
* Ce qui veut dire que "xxx" provient d'une valeur entre 128 et 255.
*
*
* @note
* C'est surtout utile pour une sélection en CSS (car CSS ne permet pas de sélecteur "lower than" ou "greater than") :
*
*
* ```spip
* <div class='demo' data-demo-lenx='[(#TEXTE|textebrut|spip_strlen|medias_str_repeat_log{2,x,4})]'>...</div>`
* ```
*
*
* ```css
* .demo[data-demo-lenx^="xxxx"] {
* // le contenu fait au moins 256 caractères
......@@ -527,15 +541,15 @@ function filtre_medias_modele_document_standard_attributs_dist($Pile, $id_docume
* // le contenu fait au moins 256 caractères
* }
* ```
*
* @param float $num
*
* @param float $num
* @param float $log
* @param string $pad_string
* @param int $remove : Nombre de caractères à enlever.
*
*
* @return string Des x
*/
function medias_str_repeat_log($num, $base = 2, $string = "x", $remove = 0) {
function medias_str_repeat_log($num, $base = 2, $string = 'x', $remove = 0) {
$pad = str_repeat($string, (int)log($num, $base));
return substr($pad, $remove);
}
......@@ -33,7 +33,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* Nom du squelette par défaut qui sera utilisé
**/
function medias_detecter_fond_par_defaut($fond) {
if (empty($_GET) and empty($_POST) and empty($_FILES)
if (
empty($_GET) and empty($_POST) and empty($_FILES)
and isset($_SERVER['CONTENT_LENGTH'])
and isset($_SERVER['CONTENT_TYPE'])
and strstr($_SERVER['CONTENT_TYPE'], 'multipart/form-data;')
......@@ -75,12 +76,12 @@ function medias_post_insertion($flux) {
# utiliser l'api editer_lien pour les appels aux pipeline edition_lien
include_spip('action/editer_liens');
$liens = objet_trouver_liens(array('document' => '*'), array($objet => 0 - $id_auteur));
$liens = objet_trouver_liens(['document' => '*'], [$objet => 0 - $id_auteur]);
foreach ($liens as $lien) {
objet_associer(array('document' => $lien['document']), array($objet => $id_objet), $lien);
objet_associer(['document' => $lien['document']], [$objet => $id_objet], $lien);
}
// un simple delete pour supprimer les liens temporaires
sql_delete('spip_documents_liens', array('id_objet = ' . (0 - $id_auteur), 'objet=' . sql_quote($objet)));
sql_delete('spip_documents_liens', ['id_objet = ' . (0 - $id_auteur), 'objet=' . sql_quote($objet)]);
}
return $flux;
......@@ -97,7 +98,7 @@ function medias_affiche_milieu($flux) {
if ($flux['args']['exec'] == 'configurer_contenu') {
$flux['data'] .= recuperer_fond(
'prive/squelettes/inclure/configurer',
array('configurer' => 'configurer_documents')
['configurer' => 'configurer_documents']
);
}
......@@ -146,8 +147,16 @@ function medias_post_edition($flux) {
$table_objet = isset($flux['args']['table_objet']) ?
$flux['args']['table_objet'] : table_objet($flux['args']['table'], $serveur);
$marquer_doublons_doc = charger_fonction('marquer_doublons_doc', 'inc');
$marquer_doublons_doc($flux['data'], $flux['args']['id_objet'], $type, id_table_objet($type, $serveur),
$table_objet, $flux['args']['table'], '', $serveur);
$marquer_doublons_doc(
$flux['data'],
$flux['args']['id_objet'],
$type,
id_table_objet($type, $serveur),
$table_objet,
$flux['args']['table'],
'',
$serveur
);
}
if (($flux['args']['action'] and $flux['args']['action'] == 'instituer') or isset($flux['data']['statut'])) {
......@@ -167,9 +176,16 @@ function medias_post_edition($flux) {
if (isset($flux['args']['table']) and $flux['args']['table'] !== 'spip_documents') {
// verifier les doublons !
$marquer_doublons_doc = charger_fonction('marquer_doublons_doc', 'inc');
$marquer_doublons_doc($flux['data'], $flux['args']['id_objet'], $flux['args']['type'],
id_table_objet($flux['args']['type'], $serveur), $flux['args']['table_objet'],
$flux['args']['spip_table_objet'], '', $serveur);
$marquer_doublons_doc(
$flux['data'],
$flux['args']['id_objet'],
$flux['args']['type'],
id_table_objet($flux['args']['type'], $serveur),
$flux['args']['table_objet'],
$flux['args']['spip_table_objet'],
'',
$serveur
);
}
}
......@@ -186,7 +202,8 @@ function medias_post_edition($flux) {
* @return array
*/
function medias_afficher_complement_objet($flux) {
if ($type = $flux['args']['type']
if (
$type = $flux['args']['type']
and $id = intval($flux['args']['id'])
) {
include_spip('inc/config');
......@@ -221,7 +238,8 @@ function medias_afficher_complement_objet($flux) {
* Données du pipeline
*/
function medias_affiche_gauche($flux) {
if ($en_cours = trouver_objet_exec($flux['args']['exec'])
if (
$en_cours = trouver_objet_exec($flux['args']['exec'])
and $en_cours['edition'] !== false // page edition uniquement
and $type = $en_cours['type']
and $id_table_objet = $en_cours['id_table_objet']
......@@ -233,7 +251,7 @@ function medias_affiche_gauche($flux) {
) {
$flux['data'] .= recuperer_fond(
'prive/objets/editer/colonne_document',
array('objet' => $type, 'id_objet' => $id)
['objet' => $type, 'id_objet' => $id]
);
}
......@@ -304,7 +322,8 @@ function medias_renseigner_document_distant($flux) {
* @return array
*/
function medias_objet_compte_enfants($flux) {
if ($objet = $flux['args']['objet']
if (
$objet = $flux['args']['objet']
and $id = intval($flux['args']['id_objet'])
) {
// juste les publies ?
......@@ -332,7 +351,8 @@ function medias_objet_compte_enfants($flux) {
* @return array
*/
function medias_boite_infos($flux) {
if ($flux['args']['type'] == 'rubrique'
if (
$flux['args']['type'] == 'rubrique'
and $id_rubrique = $flux['args']['id']
) {
if ($nb = sql_countsel('spip_documents_liens', "objet='rubrique' AND id_objet=" . intval($id_rubrique))) {
......@@ -357,14 +377,14 @@ function medias_boite_infos($flux) {
* @return array Données du pipeline
**/
function medias_revisions_chercher_label($flux) {
foreach (array('id_vignette', 'hauteur', 'largeur', 'mode', 'taille') as $champ) {
foreach (['id_vignette', 'hauteur', 'largeur', 'mode', 'taille'] as $champ) {
if ($flux['args']['champ'] == $champ) {
$flux['data'] = 'medias:info_' . $champ;
return $flux;
}
}
foreach (array('fichier', 'taille', 'mode', 'credits') as $champ) {
foreach (['fichier', 'taille', 'mode', 'credits'] as $champ) {
if ($flux['args']['champ'] == $champ) {
$flux['data'] = 'medias:label_' . $champ;
......@@ -387,21 +407,24 @@ function medias_revisions_chercher_label($flux) {
*/
function medias_calculer_rubriques($flux) {
$r = sql_select(
"R.id_rubrique AS id, max(D.date) AS date_h",
["spip_rubriques AS R", "spip_documents_liens AS DL", "spip_documents AS D"],
'R.id_rubrique AS id, max(D.date) AS date_h',
['spip_rubriques AS R', 'spip_documents_liens AS DL', 'spip_documents AS D'],
[
"R.id_rubrique = DL.id_objet",
'R.id_rubrique = DL.id_objet',
"DL.objet = 'rubrique'",
"D.id_document = DL.id_document",
'D.id_document = DL.id_document',
"D.statut = 'publie'",
"D.date > R.date_tmp",
sql_in("D.mode", ['image', 'document'])
'D.date > R.date_tmp',
sql_in('D.mode', ['image', 'document'])
],
"R.id_rubrique",
'R.id_rubrique'
);
while ($row = sql_fetch($r)) {
sql_updateq('spip_rubriques', array('statut_tmp' => 'publie', 'date_tmp' => $row['date_h']),
"id_rubrique=" . $row['id']);
sql_updateq(
'spip_rubriques',
['statut_tmp' => 'publie', 'date_tmp' => $row['date_h']],
'id_rubrique=' . $row['id']
);
}
return $flux;
}
\ No newline at end of file
}
<?php
/**
* GetID3
* Gestion des métadonnées de fichiers sonores et vidéos directement dans SPIP
......@@ -24,25 +25,25 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* Le tableau comprenant les différentes metas à mettre en base
*/
function metadata_audio($file) {
$meta = array();
$meta = [];
include_spip('lib/getid3/getid3');
$getID3 = new getID3;
$getID3->setOption(array('tempdir' => _DIR_TMP));
$getID3 = new getID3();
$getID3->setOption(['tempdir' => _DIR_TMP]);
// Scan file - should parse correctly if file is not corrupted
$file_info = $getID3->analyze($file);
if (isset($file_info['id3v2']['comments']['title'])) {
$meta['titre'] = ucfirst(trim(implode(' ',$file_info['id3v2']['comments']['title'])));
$meta['titre'] = ucfirst(trim(implode(' ', $file_info['id3v2']['comments']['title'])));
}
if (isset($file_info['id3v2']['comments']['artist'])) {
$meta['credits'] = implode(', ',$file_info['id3v2']['comments']['artist']);
$meta['credits'] = implode(', ', $file_info['id3v2']['comments']['artist']);
if (isset($file_info['id3v2']['comments']['album'])) {
$meta['credits'] .= '/'.trim(implode(' ',$file_info['id3v2']['comments']['album']));
$meta['credits'] .= '/' . trim(implode(' ', $file_info['id3v2']['comments']['album']));
}
if (isset($file_info['id3v2']['comments']['year'])) {
$meta['credits'] .= ' ('.trim(implode(' ',$file_info['id3v2']['comments']['year'])).')';
$meta['credits'] .= ' (' . trim(implode(' ', $file_info['id3v2']['comments']['year'])) . ')';
}
}
if (isset($file_info['playtime_seconds'])) {
......
......@@ -23,11 +23,12 @@ include_spip('inc/autoriser');
* @return array
*/
function medata_html_dist($file) {
$meta = array();
$meta = [];
// Securite si pas autorise : virer les scripts et les references externes
// sauf si on est en mode javascript 'ok' (1), cf. inc_version
if ($GLOBALS['filtrer_javascript'] < 1
if (
$GLOBALS['filtrer_javascript'] < 1
and !autoriser('televerser', 'script')
) {
$texte = spip_file_get_contents($file);
......
......@@ -15,7 +15,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
}
function metadata_image_dist($fichier) {
$meta = array();
$meta = [];
if ($size_image = @spip_getimagesize($fichier)) {
$meta['largeur'] = intval($size_image[0]);
......
<?php
/**
* GetID3
* Gestion des métadonnées de fichiers sonores et vidéos directement dans SPIP
......@@ -24,11 +25,11 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* Le tableau comprenant les différentes metas à mettre en base
*/
function metadata_video($file) {
$meta = array();
$meta = [];
include_spip('lib/getid3/getid3');
$getID3 = new getID3;
$getID3->setOption(array('tempdir' => _DIR_TMP));
$getID3 = new getID3();
$getID3->setOption(['tempdir' => _DIR_TMP]);
// Scan file - should parse correctly if file is not corrupted
$file_info = $getID3->analyze($file);
......
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
......@@ -56,10 +57,11 @@ function medias_raccourcis_doc(
// Affichage du raccourci <doc...> correspondant
$raccourci = medias_raccourcis_doc_groupe($doc, $id_document);
if ($mode == 'document'
if (
$mode == 'document'
and ($inclus == 'embed' or $inclus == 'image')
and (($largeur > 0 and $hauteur > 0)
or in_array($media, array('video', 'audio')))
or in_array($media, ['video', 'audio']))
) {
$raccourci =
'<span class="raccourcis_group_label">' . _T('medias:info_inclusion_vignette') . '</span>'
......@@ -73,11 +75,11 @@ function medias_raccourcis_doc(
}
function medias_raccourcis_doc_groupe($doc, $id_document) : string {
function medias_raccourcis_doc_groupe($doc, $id_document): string {
$raccourci =
affiche_raccourci_doc($doc, $id_document, '')
. affiche_raccourci_doc($doc, $id_document, 'left', true)
. affiche_raccourci_doc($doc, $id_document, 'center', true)
. affiche_raccourci_doc($doc, $id_document, 'right', true);
return "<div class='groupe-btns'>$raccourci</div>";
}
\ No newline at end of file
}
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
......
[(#REM)
Modele pour les images svg embed (on intègre le SVG directement dans le html, pas via une balise img)
]
<BOUCLE_image (DOCUMENTS) {media=image} {id_document=#ENV{id,#ENV{id_document}}} {inclus=image} {mode?} {tout} {extension=svg}>
[(#SET{autolien,#LARGEUR|>={800}|ou{#HAUTEUR|>={800}}|oui})]
[(#SET{image,[(#ENV{largeur}|ou{#ENV{hauteur}}|?{
[(#FICHIER|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}}|extraire_attribut{src})],
[(#FICHIER)]})]})]
[(#SET{image,[(#GET{image}|balise_svg{#ENV{alt,#ALT}|sinon{''},[(#LARGEUR)x#HAUTEUR]})]})]
[(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})]
<div
class="[(#ID_DOCUMENT|medias_modele_document_standard_classes{image}) ]spip_lien_ok"[
(#ID_DOCUMENT|medias_modele_document_standard_attributs{image})
]>
<figure class="spip_doc_inner">
[<a href="(#ENV{lien})"[ class="(#ENV{lien_class}|concat{' spip_doc_lien'}|trim)"]>]
[(#ENV{lien}|non|et{#GET{autolien}})<a href="#URL_DOCUMENT" class="spip_doc_lien mediabox" type="#MIME_TYPE">]
#GET{image}
[(#ENV{lien}|ou{#GET{autolien}}|?{</a>})]
#GET{legende}
</figure>
</div>
</BOUCLE_image>
<INCLURE{fond=modeles/file,env} />
<//B_image>
cd<paquet
<paquet
prefix="medias"
categorie="multimedia"
version="3.2.0"
version="3.2.1"
etat="stable"
compatibilite="[4.0.0-beta;4.0.*]"
compatibilite="[4.0.0;4.0.*]"
logo="prive/themes/spip/images/portfolio-32.png"
schema="1.7.0"
>
......
<?xml version="1.0"?>
<ruleset>
<file>.</file>
<exclude-pattern>vendor/*</exclude-pattern>
<exclude-pattern>lang/*</exclude-pattern>
<exclude-pattern>lib/*</exclude-pattern>
<rule ref="SPIP41"/>
<config name="ignore_warnings_on_exit" value="1"/>
<arg name="cache" value=".php_cs.cache"/>
<arg name="report-full" value=".php_cs.txt"/>
<arg name="report-summary"/>
<arg value="s"/>
</ruleset>
Ce diff est replié.
includes:
- phpstan-baseline.neon
parameters:
paths:
- .
excludePaths:
analyseAndScan:
- vendor
- lang
analyse:
- lib
level: 0
......@@ -10,7 +10,6 @@
* Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
......