Changeset 114785 in spip-zone


Ignore:
Timestamp:
Apr 4, 2019, 3:44:02 PM (7 months ago)
Author:
abelass@…
Message:
  • Affichage de menu de changement de langue, même si pas activé dans la config multilingue
  • Pas surcharger le formulaire intervenir via pipeline pour personnaliser
  • Bugfix affichage liste compacte quand secteur_langue n'est pas activé
Location:
_plugins_/interface_traduction_objets/trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/interface_traduction_objets/trunk/interface_traduction_objets_pipelines.php

    r114756 r114785  
    2626        $contexte = $flux['args']['contexte'];
    2727        $fond = $flux['args']['fond'];
     28
     29        // Enlever le lien traduction dans le formulaire traduire
     30        if ($fond == 'formulaires/traduire') {
     31                $flux['data']['texte'] = preg_replace('/(<div\sclass="new_trad)([^<]|<.+>.*<\/.+>)+(<\/div>)/i', '', $flux['data']['texte']);
     32        }
    2833
    2934        //Insertion des onglets de langue
     
    152157                */
    153158
     159                // Les auteurs liés s'il y en a en moins un.
    154160                $auteur = sql_getfetsel('id_auteur', 'spip_auteurs_liens', 'objet LIKE' . sql_quote($objet));
    155 
    156161                if ($auteur) {
    157162                        $contexte['champ_auteur'] = TRUE;
     
    203208                        $where[] = $table_objet_sql . '.id_rubrique=' . $contexte['id_rubrique'];
    204209                }
    205                 // Sinon on prend les objets non traduits et ceux de références si traduit.
    206                 else {
     210
     211
     212                // Si pas dans une rubrique ou secteur_langue pas activé,
     213                // on prend les objets non traduits et ceux de références si traduit.
     214                if (!isset($contexte['id_rubrique']) OR !test_plugin_actif('secteur_langue')){
    207215                        $objets = sql_allfetsel(
    208216                                'id_trad,' . $id_table_objet,
     
    216224                                $id_trad = $row['id_trad'];
    217225                                $id_objet = $row[$id_table_objet];
    218                                 if ($id_trad > 0) {
     226                                if ($id_trad > 0 AND $id_trad == $id_objet) {
    219227                                        $id_objets[$id_trad] = $id_objet;
    220228                                }
    221                                 else {
     229                                elseif ($id_trad == 0) {
    222230                                        $id_objets[$id_objet] = $id_objet;
    223231                                }
    224232                        }
    225 
    226                         if (count($id_objet) == 0) {
     233                        if (count($id_objets) == 0) {
    227234                                $id_objets = [-1];
    228235                        }
    229 
    230236                        $where[] = $table_objet_sql . '.' .$id_table_objet . ' IN (' . implode(',', $id_objets) . ')';
    231237                }
     
    261267                if (isset($flux['data']['lang_dest'])) {
    262268                        $flux['data']['_hidden'] .= '<input type="hidden" name="lang_dest" value="' . $flux['data']['lang_dest'] . '"/>';
     269                }
     270        }
     271
     272        if ($form == 'traduire') {
     273                // Rendre le changement de langue possible si pas dans rubrique
     274                // ou si dans rubrique sans que secteur_langue soit activé
     275                if (!isset($flux['data']['id_rubrique']) OR
     276                        (
     277                                isset($flux['data']['id_rubrique']) AND !test_plugin_actif('secteur_langue')
     278                        )
     279                ) {
     280                        $flux['data']['editable'] = TRUE;
     281                        $flux['data']['_langue'] = $flux['data']['langue'];
    263282                }
    264283        }
  • _plugins_/interface_traduction_objets/trunk/paquet.xml

    r114756 r114785  
    22        prefix="interface_traduction_objets"
    33        categorie="edition"
    4         version="1.0.0"
     4        version="1.0.1"
    55        etat="test"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.