source: spip-zone/_plugins_/spipmotion/trunk/base/spipmotion.php @ 71588

Last change on this file since 71588 was 71588, checked in by kent1@…, 7 years ago

PHPdoc

File size: 5.6 KB
Line 
1<?php
2/**
3 * SPIPmotion
4 * Gestion de l'encodage et des métadonnées de vidéos directement dans spip
5 *
6 * Auteurs :
7 * kent1 (http://www.kent1.info - kent1@arscenic.info)
8 * 2008-2013 - Distribué sous licence GNU/GPL
9 *
10 * Déclaration des tables et champs supplémentaires
11 *
12 * @package SPIP\SPIPmotion\Pipelines
13 */
14
15if (!defined("_ECRIRE_INC_VERSION")) return;
16
17/**
18 * Insertion dans le pipeline declarer_tables_principales (SPIP)
19 *
20 * On ajoute 20 champs à la table spip_documents pour conserver les informations dont
21 * on a besoin issues des metadonnées pour les fichiers audio et vidéo
22 *
23 * @param array $flux
24 *              Le tableau de description des tables
25 * @return arrau $flux
26 *              Le tableau de description des tables complétées
27 */
28function spipmotion_declarer_tables_principales($tables_principales){
29        $tables_principales['spip_documents']['field']['duree'] = "VARCHAR(255) DEFAULT '' NOT NULL";
30        $tables_principales['spip_documents']['field']['bitrate'] = "INTEGER";
31        $tables_principales['spip_documents']['field']['hasvideo'] = "VARCHAR(3) DEFAULT '' NOT NULL";
32        $tables_principales['spip_documents']['field']['hasaudio'] = "VARCHAR(3) DEFAULT '' NOT NULL";
33        $tables_principales['spip_documents']['field']['framecount'] = "INTEGER";
34        $tables_principales['spip_documents']['field']['framerate'] = "FLOAT";
35        $tables_principales['spip_documents']['field']['rotation'] = "INTEGER";
36        $tables_principales['spip_documents']['field']['aspect_ratio'] = "VARCHAR(255) DEFAULT '' NOT NULL";
37        $tables_principales['spip_documents']['field']['pixelformat'] = "VARCHAR(255) DEFAULT '' NOT NULL";
38        $tables_principales['spip_documents']['field']['videobitrate'] = "INTEGER";
39        $tables_principales['spip_documents']['field']['videocodec'] = "VARCHAR(255) DEFAULT '' NOT NULL";
40        $tables_principales['spip_documents']['field']['videocodecid'] = "VARCHAR(255) DEFAULT '' NOT NULL";
41        $tables_principales['spip_documents']['field']['audiobitrate'] = "INTEGER";
42        $tables_principales['spip_documents']['field']['audiobitratemode'] = "text DEFAULT '' NOT NULL";
43        $tables_principales['spip_documents']['field']['audiosamplerate'] = "INTEGER";
44        $tables_principales['spip_documents']['field']['audiocodec'] = "VARCHAR(255) DEFAULT '' NOT NULL";
45        $tables_principales['spip_documents']['field']['audiocodecid'] = "VARCHAR(255) DEFAULT '' NOT NULL";
46        $tables_principales['spip_documents']['field']['audiochannels'] = "INTEGER";
47        $tables_principales['spip_documents']['field']['encodeur'] = "text DEFAULT '' NOT NULL";
48        $tables_principales['spip_documents']['field']['metadatas'] = "LONGTEXT DEFAULT '' NOT NULL";
49
50        return $tables_principales;
51}
52
53/**
54 * Insertion dans le pipeline declarer_tables_interfaces (SPIP)
55 *
56 * On ajoute la table des metas de spipmotion dans table_des_tables
57 * pour qu'elle soit sauvegardée
58 *
59 * @param array $interfaces
60 *              Le table de description des interfaces
61 * @return array $interfaces
62 *              Le table de description des interfaces complété
63 */
64function spipmotion_declarer_tables_interfaces($interfaces){
65        $interfaces['table_des_tables']['spipmotion_metas'] = 'spipmotion_metas';
66        return $interfaces;
67}
68
69/**
70 * Insertion dans le pipeline declarer_tables_auxiliaires (SPIP)
71 *
72 * Déclaration de la table de metas spipmotion_metas qui accueille
73 * les metas spécifiques à SPIPmotion
74 *
75 * @param array $tables_auxiliaires
76 *              Le tableau des tables auxiliaires
77 * @return array $tables_auxiliaires
78 *              Le tableau des tables auxiliaires complété
79 */
80function spipmotion_declarer_tables_auxiliaires($tables_auxiliaires){   
81        $spip_spipmotion_metas = array(
82                "nom" => "VARCHAR (255) NOT NULL",
83                "valeur" => "text DEFAULT ''",
84                "impt"  => "VARCHAR(3) DEFAULT 'oui' NOT NULL",
85                "maj"   => "TIMESTAMP");
86
87        $spip_spipmotion_metas_key = array(
88                "PRIMARY KEY"   => "nom");
89
90        $tables_auxiliaires['spip_spipmotion_metas'] = array(
91                'field' => &$spip_spipmotion_metas, 
92                'key' => &$spip_spipmotion_metas_key
93        );
94        return $tables_auxiliaires;
95}
96
97/**
98 * Insertion dans le pipeline declarer_tables_objets_sql (SPIP)
99 *
100 * On ajoute nos champs ajoutés dans declarer_tables_principales
101 * dans les champs editables de la table spip_documents
102 *
103 * @param array $tables
104 *              Le tableau des objets déclarés
105 * @return array $tables
106 *              Le tableau des objets déclarés complété
107 */
108function spipmotion_declarer_tables_objets_sql($tables){
109        $tables['spip_documents']['champs_editables'][] = 'duree';
110        $tables['spip_documents']['champs_editables'][] = 'bitrate';
111        $tables['spip_documents']['champs_editables'][] = 'hasvideo';
112        $tables['spip_documents']['champs_editables'][] = 'hasaudio';
113        $tables['spip_documents']['champs_editables'][] = 'framecount';
114        $tables['spip_documents']['champs_editables'][] = 'framerate';
115        $tables['spip_documents']['champs_editables'][] = 'pixelformat';
116        $tables['spip_documents']['champs_editables'][] = 'aspect_ratio';
117        $tables['spip_documents']['champs_editables'][] = 'bitrate_mode';
118        $tables['spip_documents']['champs_editables'][] = 'videobitrate';
119        $tables['spip_documents']['champs_editables'][] = 'videocodec';
120        $tables['spip_documents']['champs_editables'][] = 'videocodecid';
121        $tables['spip_documents']['champs_editables'][] = 'audiobitrate';
122        $tables['spip_documents']['champs_editables'][] = 'audiobitratemode';
123        $tables['spip_documents']['champs_editables'][] = 'audiosamplerate';
124        $tables['spip_documents']['champs_editables'][] = 'audiocodec';
125        $tables['spip_documents']['champs_editables'][] = 'audiocodecid';
126        $tables['spip_documents']['champs_editables'][] = 'audiochannels';
127        $tables['spip_documents']['champs_editables'][] = 'rotation';
128        $tables['spip_documents']['champs_editables'][] = 'encodeur';
129        $tables['spip_documents']['champs_editables'][] = 'metadatas';
130       
131        return $tables;
132}
133?>
Note: See TracBrowser for help on using the repository browser.