#PHP
[(#INCLURE{fond=fabrique/entetes/php,env,
description=Déclarations relatives à la base de données,
package=Pipelines})]
/**
* 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 [(#PREFIXE)]_declarer_tables_interfaces($interfaces) {
$interfaces['table_des_tables']['#OBJET'] = '#OBJET';
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 [(#PREFIXE)]_declarer_tables_objets_sql($tables) {
$tables['#TABLE'] = array(
'type' => '#TYPE',
'principale' => "oui",[(#OBJETS_SURNOMS|oui)
'table_objet_surnoms' => [(#OBJETS_SURNOMS|ecrire_tableau)], // table_objet('#TYPE') => '#LOBJET' ]
'field'=> array(
[(#VAL{["(#ID_OBJET)"]} |espacer)] => "#CLE_PRIMAIRE_SQL",[
[(#VAL{'"id_rubrique"'} |espacer)] => "bigint(21) NOT NULL DEFAULT 0",(#VALEUR|champ_present{id_rubrique})][
[(#VAL{'"id_secteur"'} |espacer)] => "bigint(21) NOT NULL DEFAULT 0",(#VALEUR|champ_present{id_secteur})]
[(#VAL{["(#CHAMP)"]} |espacer)] => "#SQL",[
[(#VAL{["(#CHAMP_DATE)"]} |espacer)] => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",(#CHAMP_DATE|oui)][
[(#VAL{'"statut"'} |espacer)] => "varchar(20) DEFAULT '0' NOT NULL",(#STATUT|oui)][
[(#VAL{'"lang"'} |espacer)] => "VARCHAR(10) NOT NULL DEFAULT ''",
[(#VAL{'"langue_choisie"'}|espacer)] => "VARCHAR(3) DEFAULT 'non'",(#VALEUR|champ_present{lang})][
[(#VAL{'"id_trad"'} |espacer)] => "bigint(21) NOT NULL DEFAULT 0",(#VALEUR|champ_present{id_trad})]
[(#VAL{'"maj"'} |espacer)] => "TIMESTAMP"
),
'key' => array(
[(#VAL{'"PRIMARY KEY"'} |espacer)] => "#ID_OBJET",[
[(#VAL{'"KEY id_rubrique"'}|espacer)] => "id_rubrique",(#VALEUR|champ_present{id_rubrique})][
[(#VAL{'"KEY id_secteur"'} |espacer)] => "id_secteur",(#VALEUR|champ_present{id_secteur})][
[(#VAL{'"KEY lang"'} |espacer)] => "lang",(#VALEUR|champ_present{lang})][
[(#VAL{'"KEY id_trad"'} |espacer)] => "id_trad",(#VALEUR|champ_present{id_trad})][
[(#VAL{'"KEY statut"'} |espacer)] => "statut",(#VALEUR|champ_present{statut})]
),
'titre' => "[(#CHAMP_TITRE|sinon{"''"})] AS titre, [(#VALEUR|champ_present{lang}|?{lang,"''"})] AS lang",
[(#CHAMP_DATE|non)#]'date' => "[(#CHAMP_DATE)]",
'champs_editables' => [(#CHAMPS|champs_option_presente{editable, champ}|ecrire_tableau)],
'champs_versionnes' => [(#CHAMPS|champs_option_presente{versionne, champ}|ecrire_tableau)],
'rechercher_champs' => array(=1 }{", "}>["(#VALEUR{champ})"] => #VALEUR{recherche}),
'tables_jointures' => array(['(#NOM_TABLE_LIENS)']),[
'statut_textes_instituer' => array(
'prepa' => 'texte_statut_en_cours_redaction',
'prop' => 'texte_statut_propose_evaluation',
'publie' => 'texte_statut_publie',
'refuse' => 'texte_statut_refuse',
'poubelle' => 'texte_statut_poubelle',
),
'statut'=> array(
array(
'champ' => 'statut',
'publie' => 'publie',
'previsu' => 'publie,prop,prepa',
'post_date' => 'date',
'exception' => array('statut','tout')
)
),
'texte_changer_statut' => '#TYPE:texte_changer_statut_#TYPE',(#STATUT|oui)]
#SET{roles,#VALEUR|fabrique_description_roles}
'roles_colonne' => '#GET{roles/roles_colonne}',
'roles_titres' => array(
'#CLE'=>'#VALEUR',
),
'roles_objets' => array(
'#CLE' => array(
'choix' => [(#VALEUR|ecrire_tableau)],
'defaut' => '#GET{roles/roles_defaut}'),
),
);
return $tables;
}
/**
* Déclaration des tables secondaires (liaisons)
*
* @pipeline declarer_tables_auxiliaires
* @param array $tables
* Description des tables
* @return array
* Description complétée des tables
*/
function [(#PREFIXE)]_declarer_tables_auxiliaires($tables) {
$tables['#NOM_TABLE_LIENS'] = array(
'field' => array(
[(#VAL{["(#ID_OBJET)"]} |espacer)] => "bigint(21) DEFAULT '0' NOT NULL",
[(#VAL{'"id_objet"'} |espacer)] => "bigint(21) DEFAULT '0' NOT NULL",
[(#VAL{'"objet"'} |espacer)] => "VARCHAR(25) DEFAULT '' NOT NULL",[
[(#VAL{'"role"'} |espacer)] => "VARCHAR(25) DEFAULT ''",(#VALEUR|options_presentes{#LISTE{table_liens,roles}})]
[(#VAL{'"vu"'} |espacer)] => "VARCHAR(6) DEFAULT 'non' NOT NULL"
),
'key' => array(
[(#VAL{'"PRIMARY KEY"'} |espacer)] => "#ID_OBJET,id_objet,objet[(#VALEUR|options_presentes{#LISTE{table_liens,roles}}|?{',role'})]",
[(#VAL{["KEY (#ID_OBJET)"]} |espacer)] => "#ID_OBJET"
)
);
return $tables;
}
[
(#ENV*{paquet/inserer/base/tables/fin})
]
?>