Skip to content
Extraits de code Groupes Projets
Valider 3456f67e rédigé par marcimat@rezo.net's avatar marcimat@rezo.net
Parcourir les fichiers

Migration un peu plus vers SPIP 3 avec spip_formulaires_reponses en objet éditorial

parent 18fdb602
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 155 ajouts et 109 suppressions
......@@ -54,6 +54,7 @@ lang/formidable_fr.php -text
lang/formidable_it.php -text
lang/formidable_sk.php -text
lang/formulaire_fr.php -text
lang/formulaires_reponse_fr.php -text
lang/paquet-formidable_fr.php -text
modeles/formulaire_aide_memoire.html -text
modeles/formulaire_analyse.html -text
......@@ -64,11 +65,12 @@ noisettes/formulaire_formidable.yaml -text
notifications/formulaire_accuse.html -text
notifications/formulaire_email.html -text
/paquet.xml -text
prive/liste/formulaires.html -text
prive/liste/formulaires_reponses.html -text
prive/objets/contenu/formulaire.html -text
prive/objets/contenu/formulaires_reponse.html -text
prive/objets/infos/formulaire.html -text
prive/objets/infos/formulaires_reponse.html -text
prive/objets/liste/formulaires.html -text
prive/objets/liste/formulaires_reponses.html -text
prive/squelettes/contenu/configurer_formidable.html -text
prive/squelettes/contenu/formulaire.html -text
prive/squelettes/contenu/formulaire_edit.html -text
......
......@@ -74,6 +74,54 @@ function formidable_declarer_tables_objets_sql($tables) {
'titre' => 5, 'descriptif' => 3
),
);
$tables['spip_formulaires_reponses'] = array(
'type'=>'formulaires_reponse',
'titre' => "'' AS titre, '' AS lang",
'date' => 'date',
'principale' => 'oui',
'field' => array(
"id_formulaires_reponse" => "bigint(21) NOT NULL",
"id_formulaire" => "bigint(21) NOT NULL default 0",
"date" => "datetime NOT NULL default '0000-00-00 00:00:00'",
"ip" => "varchar(255) NOT NULL default ''",
"id_auteur" => "bigint(21) NOT NULL default 0",
"cookie" => "varchar(255) NOT NULL default ''",
"statut" => "varchar(10) NOT NULL default ''",
"maj" => "timestamp"
),
'key' => array(
"PRIMARY KEY" => "id_formulaires_reponse",
"KEY id_formulaire" => "id_formulaire",
"KEY id_auteur" => "id_auteur",
"KEY cookie" => "cookie"
),
'join' => array(
'id_formulaires_reponse' => 'id_formulaires_reponse',
'id_formulaire' => 'id_formulaire',
'id_auteur' => 'id_auteur'
),
'statut'=> array(
array(
'champ' => 'statut',
'publie' => 'publie',
'previsu' => 'publie,prop',
'exception' => array('statut', 'tout'),
)
),
'texte_changer_statut' => 'formulaires_reponse:changer_statut',
'statut_titres' => array(
'prop'=>'info_article_propose',
'publie'=>'info_article_publie',
'poubelle'=>'info_article_supprime'
),
'statut_textes_instituer' => array(
'prop' => 'texte_statut_propose_evaluation',
'publie' => 'texte_statut_publie',
'refuse' => 'texte_statut_poubelle',
),
);
return $tables;
}
......@@ -88,34 +136,6 @@ function formidable_declarer_tables_objets_sql($tables) {
**/
function formidable_declarer_tables_principales($tables_principales){
// Table formulaires_reponses
$formulaires_reponses = array(
"id_formulaires_reponse" => "bigint(21) NOT NULL",
"id_formulaire" => "bigint(21) NOT NULL default 0",
"date" => "datetime NOT NULL default '0000-00-00 00:00:00'",
"ip" => "varchar(255) NOT NULL default ''",
"id_auteur" => "bigint(21) NOT NULL default 0",
"cookie" => "varchar(255) NOT NULL default ''",
"statut" => "varchar(10) NOT NULL default ''",
"maj" => "timestamp"
);
$formulaires_reponses_cles = array(
"PRIMARY KEY" => "id_formulaires_reponse",
"KEY id_formulaire" => "id_formulaire",
"KEY id_auteur" => "id_auteur",
"KEY cookie" => "cookie"
);
$tables_principales['spip_formulaires_reponses'] = array(
'field' => &$formulaires_reponses,
'key' => &$formulaires_reponses_cles,
'join'=> array(
'id_formulaires_reponse' => 'id_formulaires_reponse',
'id_formulaire' => 'id_formulaire',
'id_auteur' => 'id_auteur'
)
);
// Table formulaires_reponses_champs
$formulaires_reponses_champs = array(
"id_formulaires_reponse" => "bigint(21) NOT NULL default 0",
......
......@@ -9,27 +9,6 @@
// Sécurité
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Gérer les statut des boucles de réponses de formulaire
*
* Si pas de critère "statut", on n'affiche que les réponses publiées
*
* @pipeline pre_boucle
* @param Boucle $boucle
* Définition de la Boucle
* @return Boucle
* Définition de la boucle complétée
*/
function formidable_pre_boucle($boucle){
if ($boucle->type_requete == 'formulaires_reponses') {
$id_table = $boucle->id_table;
$statut = "$id_table.statut";
if (!isset($boucle->modificateur['criteres']['statut']) and !isset($boucle->modificateur['tout'])){
$boucle->where[] = array("'='", "'$statut'", "sql_quote('publie')");
}
}
return $boucle;
}
/**
* Optimiser la base de donnée en enlevant les liens de formulaires supprimés
......
......@@ -5,7 +5,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
// I
'icone_creer_formulaire' => 'Créer un nouveau formuraile',
'icone_creer_formulaire' => 'Créer un nouveau formulaire',
// M
'modifier_formulaire' => 'Modifier ce formulaire',
......
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/formidable/trunk/lang/
if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
// I
'icone_creer_formulaire' => 'Créer une nouvelle réponse de formulaire',
// M
'modifier_formulaire' => 'Modifier cette réponse de formulaire',
'changer_statut' => 'Cette réponse de formulaire est :',
// F
'formulaires_reponse_numero' => 'Réponse de formulaire n°@nb@',
// R
'reponses_donnees' => 'Réponses données :',
// T
'titre_formulaires_reponses' => 'Réponses de formulaire',
'titre_logo_formulaires_reponse' => 'Logo de cette réponse de formulaire',
'titre_formulaires_reponse' => 'Réponse de formulaire',
);
<paquet
prefix="formidable"
categorie="communication"
version="1.2.0"
version="1.3.0"
etat="dev"
compatibilite="[3.0.0-dev;3.0.99]"
logo="images/formidable-64.png"
......@@ -23,7 +23,6 @@
<pipeline nom="declarer_tables_auxiliaires" inclure="base/formidable_tables.php" />
<pipeline nom="declarer_tables_interfaces" inclure="base/formidable_tables.php" />
<pipeline nom="pre_boucle" inclure="formidable_pipelines.php" />
<pipeline nom="optimiser_base_disparus" inclure="formidable_pipelines.php" />
<necessite nom="spip_bonux" compatibilite="[1.9.3;[" />
......
<BOUCLE_formulaires_reponse(FORMULAIRES_REPONSES){tout}{id_formulaires_reponse}>
<div class="champ contenu_auteur[ (#ID_AUTEUR*|strlen|?{'',vide})]">
<div class='label'><:auteur:></div>
<div dir='#LANG_DIR'>
[(#ID_AUTEUR|>{0}|oui)
<a href="[(#INFO_URL{auteur,#ID_AUTEUR})]">[(#INFO_TITRE{auteur,#ID_AUTEUR})]</a>
]
[(#ID_AUTEUR|>{0}|non)
<:formidable:reponses_anonyme:>
]
</div>
</div>
<div class="champ contenu_formulaire[ (#ID_FORMULAIRE*|strlen|?{'',vide})]">
<div class='label'><:formulaire:titre_formulaire:></div>
<div dir='#LANG_DIR'>
<a href="[(#URL_ECRIRE{formulaire,id_formulaire=#ID_FORMULAIRE})]">
[(#INFO_TITRE{formulaire,#ID_FORMULAIRE})]
</a>
</div>
</div>
<div class="champ contenu_date[ (#DATE*|strlen|?{'',vide})]">
<div class='label'><:date:></div>
<div dir='#LANG_DIR'>
[(#DATE|affdate_jourcourt|concat{#DATE|affdate{", H:i"}})]
</div>
</div>
</BOUCLE_formulaires_reponse>
Fichier déplacé
......@@ -15,7 +15,7 @@
<th class="date" scope='col'>[(#TRI{date,<:date:>,ajax})]</th>
<th class="auteur" scope='col'>[(#TRI{id_auteur,<:formidable:reponses_auteur:>,ajax})]</th>
<th class="ip" scope='col'>[(#TRI{ip,<:formidable:reponses_ip:>,ajax})]</th>
<th class="titre" scope='col'></th>
<th class="action" scope='col'></th>
</tr>
</thead>
<tbody>
......@@ -31,7 +31,7 @@
<//B_auteur>
</td>
<td class="ip">#IP</td>
<td class="titre">
<td class="action">
<a href="[(#URL_ECRIRE{formulaires_reponse}|parametre_url{id_formulaires_reponse,#ID_FORMULAIRES_REPONSE})]" title="<:formidable:reponses_voir_detail:>">
<img src="#CHEMIN{images/formulaire-reponse-24.png}" alt="<:formidable:reponses_voir_detail:>" />
</a>
......
......@@ -4,10 +4,10 @@
})]
#BOITE_FERMER
<INCLURE{fond=prive/liste/formulaires, titre=<:formulaire:titre_formulaires:>, ajax} />
<INCLURE{fond=prive/objets/liste/formulaires, titre=<:formulaire:titre_formulaires:>, ajax} />
[(#AUTORISER{editer, formulaire}|oui)
[(#URL_ECRIRE{formulaire_edit}
|parametre_url{nouveau,oui}
|icone_verticale{<:formulaire:formulaires_nouveau:>,formulaire,formulaire-nouveau-48,center})]
|icone_verticale{<:formulaire:icone_creer_formulaire:>,formulaire,formulaire-nouveau-48,center})]
]
<BOUCLE_formulaires_reponse(FORMULAIRES_REPONSES){tout}{id_formulaires_reponse}>
<BOUCLE_autoriser(CONDITION){si #AUTORISER{voir, formulaires_reponse, #ID_FORMULAIRES_REPONSE}}>
[(#BOITE_OUVRIR{'','info'})]
[(#URL_ECRIRE{formulaires_reponses}|parametre_url{id_formulaire,#ID_FORMULAIRE}|icone_verticale{<:retour:>,formulaire,formulaire-reponses-24,left})]
[(#SET{auteur,[(#ID_AUTEUR|>{0}|?{<a href="[(#INFO_URL{auteur,#ID_AUTEUR})]">[(#INFO_TITRE{auteur,#ID_AUTEUR})]</a>,<:formidable:reponses_anonyme:>})]})]
[(#SET{formulaire,<a href="[(#URL_ECRIRE{formulaire,id_formulaire=#ID_FORMULAIRE})]">[(#INFO_TITRE{formulaire,#ID_FORMULAIRE})]</a>})]
[(#SET{date,#DATE|affdate_jourcourt|concat{#DATE|affdate{", H:i"}}})]
<h1><:formidable:reponse_intro{auteur=#GET{auteur}, formulaire=#GET{formulaire}}:></h1>
<strong>#GET{date}</strong>
#BOITE_FERMER
[(#BOITE_OUVRIR{
<h1><:formulaires_reponse:formulaires_reponse_numero{nb=#ID_FORMULAIRES_REPONSE}:></h1>
,simple fiche_objet})]
<!--affiche_milieu-->
[(#BOITE_OUVRIR{'','simple'})]
<div id="wysiwyg">
<INCLURE{fond=prive/objets/contenu/formulaires_reponse,
id=#ID_FORMULAIRES_REPONSE,
id_formulaires_reponse=#ID_FORMULAIRES_REPONSE,
virtuel=oui,ajax=wysiwyg,wysiwyg=1} />
</div>
<div class='nettoyeur'></div>
[(#BOITE_OUVRIR{<h3><:formulaires_reponse:reponses_donnees:></h3>,reponses})]
#INCLURE{fond=modeles/formulaires_reponse,id_formulaires_reponse}
#BOITE_FERMER
#BOITE_FERMER
</BOUCLE_autoriser>
</BOUCLE_formulaires_reponse>
......@@ -7,9 +7,9 @@
<h1>#TITRE</h1>
#BOITE_FERMER
<INCLURE{fond=prive/liste/formulaires_reponses}{id_formulaire}{statut=prop}{titre=<:formidable:reponses_liste_prop:>}{ajax}>
<INCLURE{fond=prive/objets/liste/formulaires_reponses}{id_formulaire}{statut=prop}{titre=<:formidable:reponses_liste_prop:>}{ajax}>
<INCLURE{fond=prive/liste/formulaires_reponses}{id_formulaire}{statut=publie}{titre=<:formidable:reponses_liste_publie:>}{ajax}>
<INCLURE{fond=prive/objets/liste/formulaires_reponses}{id_formulaire}{statut=publie}{titre=<:formidable:reponses_liste_publie:>}{ajax}>
</BOUCLE_autoriser>
</BOUCLE_formulaire>
<BOUCLE_formulaire(FORMULAIRES){id_formulaire}>
<BOUCLE_autoriser(CONDITION){si #AUTORISER{voir, formulaires_reponse}}>
<a href="#URL_ECRIRE{accueil}"><:info_racine_site:></a> &gt;
<a href="#URL_ECRIRE{formulaires}"><:formidable:formulaires_tous:></a> &gt;
<a href="#URL_ECRIRE{formulaires}"><:formulaire:titre_formulaires:></a> &gt;
<a href="[(#URL_ECRIRE{formulaire}|parametre_url{id_formulaire,#ID_FORMULAIRE})]">#TITRE</a> &gt;
<strong class="on"><:formidable:reponses_analyse:></strong>
</BOUCLE_autoriser>
......
<BOUCLE_formulaire(FORMULAIRES_REPONSES){id_formulaires_reponse}>
<a href="#URL_ECRIRE{accueil}"><:info_racine_site:></a> &gt;
<a href="#URL_ECRIRE{formulaires}"><:formulaire:titre_formulaires:></a> &gt;
<a href="[(#URL_ECRIRE{formulaire}|parametre_url{id_formulaire,#ID_FORMULAIRE})]">#INFO_TITRE{formulaire,#ID_FORMULAIRE}</a> &gt;
<a class="on" href="[(#URL_ECRIRE{formulaires_reponses}|parametre_url{id_formulaire,#ID_FORMULAIRE})]"><:formidable:voir_reponses:></a>
<a class="on" href="[(#URL_ECRIRE{formulaires_reponses}|parametre_url{id_formulaire,#ID_FORMULAIRE})]"><:formidable:voir_reponses:></a> &gt;
<strong class="on"><:formulaires_reponse:titre_formulaires_reponse:></strong>
</BOUCLE_formulaire>
<BOUCLE_formulaire(FORMULAIRES){id_formulaire}>
<a href="#URL_ECRIRE{accueil}"><:info_racine_site:></a> &gt;
<a href="#URL_ECRIRE{formulaires}"><:formulaire:titre_formulaires:></a> &gt;
<a href="[(#URL_ECRIRE{formulaire}|parametre_url{id_formulaire,#ID_FORMULAIRE})]">#INFO_TITRE{formulaire,#ID_FORMULAIRE}</a> &gt;
<strong class="on"><:formidable:voir_reponses:></strong>
</BOUCLE_formulaire>
......@@ -2,42 +2,13 @@
<BOUCLE_autoriser(CONDITION){si #AUTORISER{voir, formulaires_reponse, #ID_FORMULAIRES_REPONSE}}>
[(#BOITE_OUVRIR{'','info'})]
#PIPELINE{boite_infos,#ARRAY{data,'',args,#ARRAY{'type','formulaires_reponse','id',#ENV{id_formulaires_reponse}}}}
[(#PIPELINE{boite_infos,#ARRAY{data,'',
args,#ARRAY{'type','formulaires_reponse','id',#ENV{id_formulaires_reponse}}}})]
#FORMULAIRE_INSTITUER_OBJET{formulaires_reponses,#ID_FORMULAIRES_REPONSE}
[(#URL_ECRIRE{formulaires_analyse}
|parametre_url{id_formulaire,#ID_FORMULAIRE}
|icone_horizontale{<:formidable:reponses_analyse:>,formulaire,formulaire-analyse-24,center})]
<ul class="instituer instituer_formulaires_reponse">
<li><:formidable:reponse_statut:>
<ul>
<li class="prop[ (#STATUT|=={prop}|oui)selected]">
[(#STATUT|=={prop}|non)<a onclick="javascript:return confirm(confirm_changer_statut);" href="#URL_ACTION_AUTEUR{instituer_formulaires_reponse, #ID_FORMULAIRES_REPONSE-prop, #SELF}">]
<img width="9" height="9" alt="" src="#CHEMIN{images/puce-orange.gif}">
<:texte_statut_propose_evaluation:>
[(#STATUT|=={prop}|non)</a>]
</li>
<li class="publie[ (#STATUT|=={publie}|oui)selected]">
[(#STATUT|=={publie}|non)<a onclick="javascript:return confirm(confirm_changer_statut);" href="#URL_ACTION_AUTEUR{instituer_formulaires_reponse, #ID_FORMULAIRES_REPONSE-publie, #SELF}">]
<img width="9" height="9" alt="" src="#CHEMIN{images/puce-verte.gif}">
<:texte_statut_publie:>
[(#STATUT|=={publie}|non)</a>]
</li>
<li class="poubelle[ (#STATUT|=={poubelle}|oui)selected]">
[(#STATUT|=={poubelle}|non)<a onclick="javascript:return confirm(confirm_changer_statut);" href="#URL_ACTION_AUTEUR{instituer_formulaires_reponse, #ID_FORMULAIRES_REPONSE-poubelle, #SELF}">]
<img width="9" height="9" alt="" src="#CHEMIN{images/puce-poubelle.gif}">
<:texte_statut_poubelle:>
[(#STATUT|=={poubelle}|non)</a>]
</li>
</ul>
</li>
</ul>
[(#URL_ECRIRE{formulaires_analyse}|parametre_url{id_formulaire,#ID_FORMULAIRE}|icone_horizontale{<:formidable:reponses_analyse:>,formulaire,formulaire-analyse-24,center})]
[(#REM) Si le statut "poubelle" marche bien, on supprimera totalement cette option
[(#AUTORISER{supprimer, formulaires_reponse, #ID_FORMULAIRES_REPONSE}|oui)
[(#URL_ACTION_AUTEUR{supprimer_formulaires_reponse,#ID_FORMULAIRES_REPONSE
|icone_horizontale{<:formidable:reponse_supprimer:>,formulaires_reponse,formulaire-reponse-supprimer-24,center}})]
]
]
#BOITE_FERMER
</BOUCLE_autoriser>
......
......@@ -18,3 +18,15 @@ body .formidable_analyse .progress-bar span {
}
#contenu .box.traitements ul.spip {margin-bottom:0;}
#contenu .liste-objets.formulaires_reponses tr > .date {width:auto;}
#contenu .liste-objets.formulaires_reponses tr > .auteur {width:auto;}
.formulaires_reponse #contenu #wysiwyg {margin-top:1em;}
.formulaires_reponse #contenu #wysiwyg .label {
width:140px; float:left; display:block;
}
.formulaires_reponse #contenu .fiche_objet .reponses .inner { border:none; }
.formulaires_reponse #contenu .fiche_objet .reponses .hd {
padding-bottom: 3px; margin-bottom:10px; border-bottom:1px solid #ccc;
}
......@@ -12,6 +12,7 @@
*
* [TODO] Migrer en 3...
**/
/*
function puce_statut_formulaires_reponse_dist($id, $statut, $id_rubrique, $type='formulaires_reponse', $ajax=false){
global $lang_objet;
......@@ -63,3 +64,4 @@ function puce_statut_formulaires_reponse_dist($id, $statut, $id_rubrique, $type=
. $inser_puce
. '</span>';
}
*/
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter