Changeset 111124 in spip-zone for _plugins_/dictionnaires/trunk


Ignore:
Timestamp:
Jul 13, 2018, 7:18:47 PM (4 months ago)
Author:
real3t@…
Message:

Migrer les sigles du précédent plugin sans avoir besoin de la présence de F&T. + des autoriser_exception pour que ça marche avec SPIP-cli.

Location:
_plugins_/dictionnaires/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/dictionnaires/trunk/dictionnaires_administrations.php

    r92115 r111124  
    6868**/
    6969function dictionnaires_migrer_acronymes(){
    70         // Si F&T est actif là tout de suite et qu'il y a une table d'acronymes
    71         if (
    72                 _DIR_PLUGIN_FORMS
    73                 and include_spip('base/forms_base_api')
    74                 and count($liste=Forms_liste_tables('acronymes_sigles'))
    75         ){
    76                 include_spip('forms_fonctions');
     70        // Si F&T contient une table d'acronymes
     71        if ($liste = sql_fetsel('id_form', 'spip_forms', "type_form='acronymes_sigles'")) {
    7772                $id_form = intval(reset($liste));
    7873                $acronymes = sql_allfetsel('id_donnee, statut, date', 'spip_forms_donnees', 'id_form = '.$id_form);
     
    8277                        if ($id_dictionnaire = insert_dictionnaire()){
    8378                                // On lui met des champs par défaut
     79                                autoriser_exception('modifier', 'dictionnaire', $id_dictionnaire);
    8480                                dictionnaire_set($id_dictionnaire, array(
    8581                                        'titre' => _T('dictionnaire:importer_acronymes_titre'),
     
    8884                                        'type_defaut' => 'abbr',
    8985                                ));
     86                                autoriser_exception('modifier', 'dictionnaire', $id_dictionnaire, false);
    9087                               
    9188                                // On parcourt ensuite les acronymes à importer pour récupérer leurs infos
    9289                                foreach ($acronymes as $acronyme){
    93                                         if ($titre = trim(str_replace("." , "", forms_calcule_les_valeurs('forms_donnees_champs', $acronyme['id_donnee'], 'ligne_1', $id_form,' ', true)))){
     90                                        if ($titre = trim(str_replace("." , "", reset(sql_fetsel("valeur", "spip_forms_donnees_champs", array('id_donnee='.$acronyme['id_donnee'], "champ='ligne_1'")))))){
     91                                                $lang_select = reset(sql_fetsel("valeur", "spip_forms_donnees_champs", array('id_donnee='.$acronyme['id_donnee'], "champ='select_2'")));
     92                                                $lang = reset(sql_fetsel("titre", "spip_forms_champs_choix", array("champ='select_2'", "choix='$lang_select'")));
    9493                                                $definition = array(
    9594                                                        'id_dictionnaire' => $id_dictionnaire,
    9695                                                        'titre' => $titre,
    97                                                         'texte' => forms_calcule_les_valeurs('forms_donnees_champs', $acronyme['id_donnee'], 'texte_1', $id_form,' ', true),
     96                                                        'texte' => reset(sql_fetsel("valeur", "spip_forms_donnees_champs", array('id_donnee='.$acronyme['id_donnee'], "champ='texte_1'"))),
    9897                                                        'type' => 'abbr',
    9998                                                        'casse' => 1,
    10099                                                        'date' => $acronyme['date'],
    101100                                                        'statut' => ($acronyme['statut'] == 'publie') ? 'publie' : 'prop',
    102                                                         'lang' => forms_calcule_les_valeurs('forms_donnees_champs', $acronyme['id_donnee'], 'select_2', $id_form,' ', true)
     101                                                        'lang' => $lang
    103102                                                );
    104103                                               
     
    106105                                                include_spip('action/editer_definition');
    107106                                                if ($id_definition = insert_definition()){
     107                                                        // 0 et pas $id_dictionnaire
     108                                                        // car insert_definition a utilisé les valeurs par défaut
     109                                                        autoriser_exception('publierdans', 'dictionnaire', 0);
     110                                                        autoriser_exception('modifier', 'definition', $id_definition);
    108111                                                        definition_set($id_definition, $definition, false);
     112                                                        autoriser_exception('modifier', 'definition', $id_definition, false);
     113                                                        autoriser_exception('publierdans', 'dictionnaire', 0, false);
    109114                                                }
    110115                                        }
  • _plugins_/dictionnaires/trunk/paquet.xml

    r110957 r111124  
    22        prefix="dictionnaires"
    33        categorie="divers"
    4         version="1.1.9"
     4        version="1.1.10"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
     
    2929
    3030        <utilise nom="inserer_modeles" compatibilite="[1.2.11;[" />
     31        <utilise nom="forms" compatibilite="[0.5.6;[" />
    3132
    3233        <menu nom="dictionnaires" titre="dictionnaire:titre_dictionnaires" parent="bando_edition" icone="images/dictionnaire-16.png" action="dictionnaires" />
Note: See TracChangeset for help on using the changeset viewer.