Changeset 65580 in spip-zone


Ignore:
Timestamp:
Sep 5, 2012, 5:35:07 PM (7 years ago)
Author:
marcimat@…
Message:

Un peu plus de migration de Formidable vers SPIP 3 :

  • paquet.xml et administration nouvelle mode
  • un peu de phpdoc.
Location:
_plugins_/formidable/trunk
Files:
5 added
1 deleted
2 edited
2 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/formidable/trunk/base/formidable_tables.php

    r57654 r65580  
    11<?php
     2
     3/**
     4 * Déclarations relatives à la base de données
     5 *
     6 * @package SPIP\Formidable\Pipelines
     7**/
    28
    39// Sécurité
    410if (!defined('_ECRIRE_INC_VERSION')) return;
    511
    6 function formidable_declarer_tables_interfaces($interface){
     12/**
     13 * Déclarer les interfaces des tables de formidable pour le compilateur
     14 *
     15 * @pipeline declarer_tables_interfaces
     16 * @param array $interfaces
     17 *     Déclarations d'interface pour le compilateur
     18 * @return array
     19 *     Déclarations d'interface pour le compilateur
     20 */
     21function formidable_declarer_tables_interfaces($interfaces) {
    722        // 'spip_' dans l'index de $tables_principales
    8         $interface['table_des_tables']['formulaires'] = 'formulaires';
    9         $interface['table_des_tables']['formulaires_reponses'] = 'formulaires_reponses';
    10         $interface['table_des_tables']['formulaires_reponses_champs'] = 'formulaires_reponses_champs';
    11        
    12        
    13         $interface['table_titre']['formulaires'] = 'titre';
    14        
    15         $interface['tables_jointures']['spip_formulaires'][] = 'formulaires_liens';
    16         $interface['tables_jointures']['spip_articles'][] = 'formulaires_liens';
    17         $interface['tables_jointures']['spip_rubriques'][] = 'formulaires_liens';
    18        
    19         return $interface;
     23        $interfaces['table_des_tables']['formulaires'] = 'formulaires';
     24        $interfaces['table_des_tables']['formulaires_reponses'] = 'formulaires_reponses';
     25        $interfaces['table_des_tables']['formulaires_reponses_champs'] = 'formulaires_reponses_champs';
     26
     27        $interfaces['table_titre']['formulaires'] = 'titre';
     28
     29        $interfaces['tables_jointures']['spip_formulaires'][] = 'formulaires_liens';
     30        $interfaces['tables_jointures']['spip_articles'][] = 'formulaires_liens';
     31        $interfaces['tables_jointures']['spip_rubriques'][] = 'formulaires_liens';
     32
     33        return $interfaces;
    2034}
    2135
     36
     37/**
     38 * Déclarer les tables principales de formidable
     39 *
     40 * @pipeline declarer_tables_principales
     41 * @param array $tables_principales
     42 *     Description des tables
     43 * @return array
     44 *     Description complétée des tables
     45 */
    2246function formidable_declarer_tables_principales($tables_principales){
    2347        //-- Table formulaires -----------------------------------------------------
     
    93117}
    94118
     119/**
     120 * Déclarer les tables auxiliaires de formidable
     121 *
     122 * @pipeline declarer_tables_auxiliaires
     123 * @param array $tables_auxiliaires
     124 *     Description des tables
     125 * @return array
     126 *     Description complétée des tables
     127 */
    95128function formidable_declarer_tables_auxiliaires($tables_auxiliaires){
    96129        $formulaires_liens = array(
     
    113146}
    114147
     148/**
     149 * Déclarer les champs inclus dans la recherche
     150 *
     151 * @pipeline rechercher_liste_des_champs
     152 * @param array $tables
     153 *     Liste des tables, de leurs champs de recherche et pondération
     154 * @return array
     155 *     Liste ddes tables complétée
     156**/
    115157function formidable_rechercher_liste_des_champs($tables){
    116158        $tables['formulaire']['titre'] = 5;
  • _plugins_/formidable/trunk/formidable_administrations.php

    r65533 r65580  
    11<?php
     2
     3/**
     4 * Fichier gérant l'installation et désinstallation du plugin
     5 *
     6 * @package SPIP\Formidable\Installation
     7**/
    28
    39// Sécurité
    410if (!defined("_ECRIRE_INC_VERSION")) return;
    511
    6 include_spip('inc/meta');
     12/**
     13 * Installation/maj des tables de formidable...
     14 *
     15 * @param string $nom_meta_base_version
     16 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
     17 * @param string $version_cible
     18 *     Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
     19 * @return void
     20 */
     21function formidable_upgrade($nom_meta_base_version, $version_cible){
     22        // Création des tables
     23        include_spip('base/create');
     24        include_spip('base/abstract_sql');
    725
    8 // Installation et mise à jour
    9 function formidable_upgrade($nom_meta_version_base, $version_cible){
     26        $maj = array();
     27        $maj['create'] = array(
     28                array('maj_tables',array(
     29                        'spip_formulaires',
     30                        'spip_formulaires_reponses'
     31                        'spip_formulaires_reponses_champs'
     32                        'spip_formulaires_liens')),
     33        );
     34        // Ajout du choix de ce qu'on affiche à la fin des traitements
     35        $maj['0.4.0'] = array(array('maj_tables',array('spip_formulaires')));
     36        // Ajout d'une URL de redirection
     37        $maj['0.5.0'] = array(array('maj_tables',array('spip_formulaires')));
     38        // Modif du type du message de retour pour pouvoir mettre plus de chose
     39        $maj['0.5.1'] = array(array('sql_alter','TABLE spip_formulaires CHANGE message_retour message_retour text NOT NULL default ""'));
    1040
    11         $version_actuelle = '0.0';
    12         if (
    13                 (!isset($GLOBALS['meta'][$nom_meta_version_base]))
    14                 || (($version_actuelle = $GLOBALS['meta'][$nom_meta_version_base]) != $version_cible)
    15         ){
    16                
    17                 if (version_compare($version_actuelle,'0.0','=')){
    18                         // Création des tables
    19                         include_spip('base/create');
    20                         include_spip('base/abstract_sql');
    21                         creer_base();
    22                        
    23                         echo "Installation du plugin formidable<br/>";
    24                         ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    25                 }
    26                
    27                 // Ajout du choix de ce qu'on affiche à la fin des traitements
    28                 if (version_compare($version_actuelle,$version_cible='0.4.0','<')){     
    29                         include_spip('base/create');
    30                         maj_tables('spip_formulaires');
    31 
    32                         echo "Mise à jour du plugin formidable en version 0.4.0<br/>";
    33                         ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    34                 }
    35                
    36                 // Ajout d'une URL de redirection
    37                 if (version_compare($version_actuelle,$version_cible='0.5.0','<')){     
    38                         include_spip('base/create');
    39                         maj_tables('spip_formulaires');
    40                        
    41                         echo "Mise à jour du plugin formidable en version 0.5.0<br/>";
    42                         ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    43                 }
    44                
    45                 // Modif du type du message de retour pour pouvoir mettre plus de chose
    46                 if (version_compare($version_actuelle,$version_cible='0.5.1','<')){     
    47                         include_spip('base/abstract_sql');
    48                         sql_alter('TABLE spip_formulaires CHANGE message_retour message_retour text NOT NULL default ""');
    49                        
    50                         echo "Mise à jour du plugin formidable en version 0.5.1<br/>";
    51                         ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    52                 }
    53         }
    54        
     41        include_spip('base/upgrade');
     42        maj_plugin($nom_meta_base_version, $version_cible, $maj);
    5543}
    5644
    57 // Désinstallation
    58 function formidable_vider_tables($nom_meta_version_base){
     45/**
     46 * Désinstallation/suppression des tables de formidable
     47 *
     48 * @param string $nom_meta_base_version
     49 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
     50 * @return void
     51 */
     52function formidable_vider_tables($nom_meta_base_version){
    5953
     54        include_spip('inc/meta');
    6055        include_spip('base/abstract_sql');
    61        
     56
    6257        // On efface les tables du plugin
    6358        sql_drop_table('spip_formulaires');
     
    6560        sql_drop_table('spip_formulaires_reponses_champs');
    6661        sql_drop_table('spip_formulaires_liens');
    67                
     62
    6863        // On efface la version entregistrée
    69         effacer_meta($nom_meta_version_base);
    70 
     64        effacer_meta($nom_meta_base_version);
    7165}
    7266
  • _plugins_/formidable/trunk/formidable_options.php

    r65547 r65580  
    11<?php
     2
     3/**
     4 * Options globales chargées à chaque hit
     5 *
     6 * @package SPIP\Formidable\Options
     7**/
    28
    39// Sécurité
     
    7884);
    7985
    80 function puce_statut_formulaires_reponse_dist($id, $statut, $id_rubrique, $type='formulaires_reponse', $ajax=false){
    81         global $lang_objet;
    82        
    83         static $coord = array(
    84                 'publie' => 1,
    85                 'prop' => 0,
    86                 'poubelle' => 2
    87         );
    8886
    89         $lang_dir = lang_dir($lang_objet);
    90         $ajax_node = " id='imgstatut$type$id'";
    91         $inser_puce = puce_statut($statut, " width='9' height='9' style='margin: 1px;'$ajax_node");
    92 
    93         if (!autoriser('instituer', 'formulaires_reponse', $id)
    94                 or !_ACTIVER_PUCE_RAPIDE
    95         )
    96                 return $inser_puce;
    97 
    98         $titles = array(
    99                 "orange" => _T('texte_statut_propose_evaluation'),
    100                 "verte" => _T('texte_statut_publie'),
    101                 "poubelle" => _T('texte_statut_poubelle')
    102         );
    103        
    104         $clip = 1 + (11 * $coord[$statut]);
    105 
    106         if ($ajax){
    107                 return  "<span class='puce_article_fixe'>"
    108                 . $inser_puce
    109                 . "</span>"
    110                 . "<span class='puce_article_popup' id='statutdecal$type$id' style='width:33px; margin-left: -$clip"."px;'>"
    111                   . afficher_script_statut($id, $type, -1, 'puce-orange.gif', 'prop', $titles['orange'])
    112                   . afficher_script_statut($id, $type, -12, 'puce-verte.gif', 'publie', $titles['verte'])
    113                   . afficher_script_statut($id, $type, -23, 'puce-poubelle.gif', 'poubelle', $titles['poubelle'])
    114                   . "</span>";
    115         }
    116 
    117         $nom = "puce_statut_";
    118 
    119         if ((! _SPIP_AJAX) AND $type != 'formulaires_reponse')
    120           $over ='';
    121         else {
    122                 $action = generer_url_ecrire('puce_statut_formulaires',"",true);
    123                 $action = "if (!this.puce_loaded) { this.puce_loaded = true; prepare_selec_statut('$nom', '$type', '$id', '$action'); }";
    124                 $over = "\nonmouseover=\"$action\"";
    125         }
    126 
    127         return  "<span class='puce_article' id='$nom$type$id' dir='$lang_dir'$over>"
    128         . $inser_puce
    129         . '</span>';
    130 }
    131 
    132 if (!function_exists('array_fill_keys')){
     87if (!function_exists('array_fill_keys')) {
     88        /**
     89         * Remplit un tableau avec des valeurs, en spécifiant les clés
     90         *
     91         * Fonction dans PHP 5.2+
     92         * @see http://php.net/manual/fr/function.array-fill-keys.php
     93         *
     94         * @param array $keys
     95         *     Tableau de valeurs qui sera utilisé comme clés.
     96         * @param mixed $value
     97         *     Valeur à utiliser pour remplir le tableau.
     98         * @return array
     99         *     Le tableau rempli.
     100        **/
    133101        function array_fill_keys($keys, $value){
    134102                array_combine($keys,array_fill(0,count($keys),$value));
Note: See TracChangeset for help on using the changeset viewer.