Pour SPIP, des podcasts et de la tendresse avec podlove !
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

99 lines
2.9 KiB

<?php
/**
* Déclarations relatives à la base de données
*
* @plugin podcast
* @copyright 2021
* @author chankalan,vcalame
* @licence GNU/GPL
* @package SPIP\Podcast\Pipelines
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Déclaration des alias de tables et filtres automatiques de champs
*
* @pipeline declarer_tables_interfaces
* @param array $interfaces
* Déclarations d'interface pour le compilateur
* @return array
* Déclarations d'interface pour le compilateur
*/
function podcast_declarer_tables_interfaces($interfaces) {
$interfaces['table_des_tables']['podcasts'] = 'podcasts';
$interfaces['table_des_tables']['chapitres'] = 'chapitres';
return $interfaces;
}
/**
* Déclaration des objets éditoriaux
*
* @pipeline declarer_tables_objets_sql
* @param array $tables
* Description des tables
* @return array
* Description complétée des tables
*/
function podcast_declarer_tables_objets_sql($tables) {
$tables['spip_podcasts'] = array(
'type' => 'podcast',
'principale' => 'oui',
'field'=> array(
'id_podcast' => 'bigint(21) NOT NULL',
'id_article' => 'bigint(21) NOT NULL DEFAULT 0',
'code' => 'varchar(25) NOT NULL DEFAULT ""',
'fichier' => 'tinytext NOT NULL DEFAULT ""',
'duree' => 'varchar(25) NOT NULL DEFAULT ""',
'maj' => 'TIMESTAMP NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP'
),
'key' => array(
'PRIMARY KEY' => 'id_podcast',
'KEY id_article' => 'id_article',
),
'titre' => 'code AS titre, "" AS lang',
#'date' => '',
'champs_editables' => array('code', 'fichier', 'duree', 'id_article'),
'champs_versionnes' => array('code', 'fichier', 'duree', 'id_article'),
'rechercher_champs' => array(),
'tables_jointures' => array(),
);
$tables['spip_chapitres'] = array(
'type' => 'chapitre',
'principale' => 'oui',
'field'=> array(
'id_chapitre' => 'bigint(21) NOT NULL',
'id_podcast' => 'bigint(21) NOT NULL DEFAULT 0',
'titre' => 'tinytext NOT NULL DEFAULT ""',
'nom_identifiant' => 'tinytext NOT NULL DEFAULT ""',
'sujet_principal' => 'tinyint(1) NOT NULL DEFAULT 0',
'debut' => 'varchar(25) NOT NULL DEFAULT ""',
'fin' => 'varchar(25) NOT NULL DEFAULT ""',
'maj' => 'TIMESTAMP NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP'
),
'key' => array(
'PRIMARY KEY' => 'id_chapitre',
'KEY id_podcast' => 'id_podcast',
),
'titre' => 'titre AS titre, "" AS lang',
#'date' => '',
'champs_editables' => array('titre', 'nom_identifiant', 'sujet_principal', 'debut', 'fin', 'id_podcast'),
'champs_versionnes' => array('titre', 'nom_identifiant', 'sujet_principal', 'debut', 'fin', 'id_podcast'),
'rechercher_champs' => array("titre" => 5),
'tables_jointures' => array(),
);
return $tables;
}