1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/spip_ynh.git synced 2024-09-03 20:25:59 +02:00
spip_ynh/sources/plugins-dist/petitions/base/petitions.php
2015-04-28 17:10:23 +02:00

139 lines
5.1 KiB
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;
/**
* Interfaces des tables petitions et signatures pour le compilateur
*
* @param array $interfaces
* @return array
*/
function petitions_declarer_tables_interfaces($interfaces){
$interfaces['table_des_tables']['petitions']='petitions';
$interfaces['table_des_tables']['signatures']='signatures';
$interfaces['exceptions_des_tables']['signatures']['date']='date_time';
$interfaces['exceptions_des_tables']['signatures']['nom']='nom_email';
$interfaces['exceptions_des_tables']['signatures']['email']='ad_email';
$interfaces['tables_jointures']['spip_articles'][]= 'petitions';
$interfaces['tables_jointures']['spip_articles'][]= 'signatures';
$interfaces['exceptions_des_jointures']['petition'] = array('spip_petitions', 'texte');
$interfaces['exceptions_des_jointures']['id_signature']= array('spip_signatures', 'id_signature');
$interfaces['table_des_traitements']['MESSAGE'][]= _TRAITEMENT_RACCOURCIS;
// Signatures : passage des donnees telles quelles, sans traitement typo
// la securite et conformite XHTML de ces champs est assuree par safehtml()
foreach(array('NOM_EMAIL','AD_EMAIL','NOM_SITE','URL_SITE','MESSAGE') as $balise)
if (!isset($interfaces['table_des_traitements'][$balise]['signatures']))
$interfaces['table_des_traitements'][$balise]['signatures'] = 'liens_nofollow(safehtml(%s))';
else
if (strpos($interfaces['table_des_traitements'][$balise]['signatures'],'safehtml')==false)
$interfaces['table_des_traitements'][$balise]['signatures'] = 'liens_nofollow(safehtml('.$interfaces['table_des_traitements'][$balise]['signatures'].'))';
return $interfaces;
}
function petitions_declarer_tables_objets_sql($tables){
$tables['spip_petitions'] = array(
'url_voir'=>'controler_petition',
'url_edit'=>'controler_petition',
'editable'=>'non',
'principale' => 'oui',
'page'=>'', // pas de page editoriale pour une petition
'texte_retour' => 'icone_retour',
'texte_objets' => 'petitions:titre_petitions',
'texte_objet' => 'petitions:titre_petition',
'titre' => "texte as titre, '' AS lang",
'field'=> array(
"id_petition" => "bigint(21) NOT NULL",
"id_article" => "bigint(21) DEFAULT '0' NOT NULL",
"email_unique" => "CHAR (3) DEFAULT '' NOT NULL",
"site_obli" => "CHAR (3) DEFAULT '' NOT NULL",
"site_unique" => "CHAR (3) DEFAULT '' NOT NULL",
"message" => "CHAR (3) DEFAULT '' NOT NULL",
"texte" => "LONGTEXT DEFAULT '' NOT NULL",
"statut" => "VARCHAR (10) DEFAULT 'publie' NOT NULL",
"maj" => "TIMESTAMP"
),
'key' => array(
"PRIMARY KEY" => "id_petition",
"UNIQUE id_article" => "id_article"
),
'statut' => array(
array('champ'=>'statut','publie'=>'publie,off','previsu'=>'publie,off','exception'=>array('statut')),
),
);
$tables['spip_signatures'] = array(
'url_voir'=>'controler_petition',
'url_edit'=>'controler_petition',
'editable'=>'non',
'principale' => 'oui',
'page'=>'', // pas de page editoriale pour une signature
'texte_retour' => 'icone_retour',
'texte_objets' => 'public:signatures_petition',
'texte_objet' => 'entree_signature',
'info_aucun_objet'=> 'petitions:aucune_signature',
'info_1_objet' => 'petitions:une_signature',
'info_nb_objets' => 'petitions:nombre_signatures',
'titre' => "nom_email as titre, '' AS lang",
'date' => 'date_time',
'field'=> array(
"id_signature" => "bigint(21) NOT NULL",
"id_petition" => "bigint(21) DEFAULT '0' NOT NULL",
# "id_article" => "bigint(21) DEFAULT '0' NOT NULL",
"date_time" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"nom_email" => "text DEFAULT '' NOT NULL",
"ad_email" => "text DEFAULT '' NOT NULL",
"nom_site" => "text DEFAULT '' NOT NULL",
"url_site" => "text DEFAULT '' NOT NULL",
"message" => "mediumtext DEFAULT '' NOT NULL",
"statut" => "varchar(10) DEFAULT '0' NOT NULL",
"maj" => "TIMESTAMP"
),
'key' => array(
"PRIMARY KEY" => "id_signature",
"KEY id_petition" => "id_petition",
# "KEY id_article" => "id_article",
"KEY statut" => "statut"
),
'join' => array(
"id_signature"=>"id_signature",
"id_petition"=>"id_petition"
),
'tables_jointures'=> array(
'petitions'
),
'statut' => array(
array('champ'=>'statut','publie'=>'publie','previsu'=>'publie','exception'=>array('statut','tout')),
),
'rechercher_champs' => array(
'nom_email' => 2, 'ad_email' => 4,
'nom_site' => 2, 'url_site' => 4,
'message' => 1
),
'icone_objet' => 'petition',
);
return $tables;
}
?>