Changeset 65692 in spip-zone


Ignore:
Timestamp:
Sep 9, 2012, 9:23:58 AM (7 years ago)
Author:
marcimat@…
Message:

Gestion des langues comme pour les articles (du moins, en théorie) (paolo)

Location:
_plugins_/tradrub/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/tradrub/trunk/base/tradrub.php

    r65690 r65692  
    33/**
    44 * Fonctions de déclarations des tables dans la bdd
     5 * et de sélection spécifique de la langue dans la rubrique...
    56 *
    67 * @package SPIP\Tradrub\Pipelines
     
    2627}
    2728
     29
     30/**
     31 * Ajout lors de l'insertion d'une traduction de rubrique
     32 * de la langue, qui peut ne pas être connue mais héritée
     33 * de la rubrique parente à la destination
     34 *
     35 * @param array $flux    Données du pipeline
     36 * @return array         Données du pipeline
     37**/
     38function tradrub_pre_insertion($flux) {
     39        // pour les rubriques
     40        if ($flux['args']['table'] == 'spip_rubriques') {
     41                // si on crée une traduction
     42                if ($id_rubrique_source = _request('lier_trad')) {
     43                        $id_parent_trad = $flux['data']['id_parent'];
     44
     45                        $row = sql_fetsel("lang, id_secteur", "spip_rubriques", "id_rubrique=$id_parent_trad");
     46                        $lang_rub = $row['lang'];
     47
     48
     49                        $lang = "";
     50                        $choisie = 'non';
     51
     52                        // La langue a la creation : si les liens de traduction sont autorises
     53                        // dans les rubriques, on essaie avec la langue de l'auteur,
     54                        // ou a defaut celle de la rubrique
     55                        // Sinon c'est la langue de la rubrique qui est choisie + heritee
     56                        if (in_array('spip_rubriques',explode(',',$GLOBALS['meta']['multi_objets']))) {
     57                                lang_select($GLOBALS['visiteur_session']['lang']);
     58                                if (in_array($GLOBALS['spip_lang'],
     59                                explode(',', $GLOBALS['meta']['langues_multilingue']))) {
     60                                        $lang = $GLOBALS['spip_lang'];
     61                                        $choisie = 'oui';
     62                                }
     63                        }
     64
     65                        if (!$lang) {
     66                                $choisie = 'non';
     67                                $lang = $lang_rub ? $lang_rub : $GLOBALS['meta']['langue_site'];
     68                        }
     69
     70                        $flux['data']['lang'] = $lang;
     71                        $flux['data']['langue_choisie'] = $choisie;
     72
     73                        // ici on ignore changer_lang qui est poste en cas de trad,
     74                        // car l'heuristique du choix de la langue est pris en charge ici
     75                        // en fonction de la config du site et de la rubrique choisie
     76                        set_request("changer_lang");
     77                }
     78
     79        }
     80
     81        return $flux;
     82}
     83
    2884?>
  • _plugins_/tradrub/trunk/paquet.xml

    r53784 r65692  
    22        prefix="tradrub"
    33        categorie="edition"
    4         version="3.0.0"
     4        version="3.1.0"
    55        etat="test"
    66        compatibilite="[3.0.0-alpha2;["
     
    88        schema="1.0.0"
    99        documentation=""
    10 >       
     10>
    1111
    1212        <nom>TradRub</nom>
     
    1414        <auteur lien="http://magraine.net/">Matthieu Marcillaud</auteur>
    1515        <licence>GNU/GPL</licence>
    16                
     16
    1717        <credit lien="http://people.freedesktop.org/~jimmac/icons/#oxygen">Logo de Jakub 'jimmac' Steiner</credit>
    1818
    1919        <pipeline nom="declarer_tables_objets_sql" inclure="base/tradrub.php" />
     20        <pipeline nom="pre_insertion" inclure="base/tradrub.php" />
    2021
    2122</paquet>
Note: See TracChangeset for help on using the changeset viewer.