mirror of
https://github.com/YunoHost-Apps/spip_ynh.git
synced 2024-09-03 20:25:59 +02:00
139 lines
5.1 KiB
PHP
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;
|
|
}
|
|
?>
|