Changeset 36995 in spip-zone


Ignore:
Timestamp:
Apr 6, 2010, 6:38:09 PM (11 years ago)
Author:
maieulrouquette@…
Message:

séparer l'analyse des references de l'appel aux passages ... permettra d'analyser plus finement les réferences (par exemple avec des ref du type Gn1,2.3-4) et aussi faire plus facilement des tableaux synoptiques en ne faisant l'analyse qu'une seule foi)

Location:
_plugins_/spip-bible
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-bible/bible_fonctions.php

    r35819 r36995  
    4848
    4949}
    50 
    51 
    52 function bible($passage,$traduction='jerusalem',$retour='non',$numeros='non',$ref='non',$mode_test=false){
    53         $verset_debut = '';
    54        
    55         $tableau_traduction = bible_tableau('traduction');
    56         $tableau_separateur = bible_tableau('separateur');
     50function bible_analyser_ref($passage,$traduction){
     51    $tableau_traduction = bible_tableau('traduction');
     52    $tableau_separateur = bible_tableau('separateur');
    5753        $tableau_livres = bible_tableau('livres');
    58         $langues_originales = bible_tableau('original');
    5954        global $spip_lang;
    60        
    61         $traduction = strtolower($traduction);
    62        
    63         $erreur = true;
    64        
    65         if (array_key_exists($traduction,$tableau_traduction)){$erreur = false;};
    66                
    67         if ($erreur) {
    68                 return _T('bible:traduction_pas_dispo');
    69         }
    70 
    71                
    72        
    73         $gateway = $tableau_traduction[$traduction]['gateway'];
    74         $wissen  = $tableau_traduction[$traduction]['wissen'];
    75         $unbound = $tableau_traduction[$traduction]['unbound'];
    76         $lire = $tableau_traduction[$traduction]['lire'];
     55    $verset_debut = '';
     56
    7757        $lang = $tableau_traduction[$traduction]['lang'];
    78         $lang_original = $lang;
    79        
    80        
    81        
    82         //si langue originel
    83         foreach ($langues_originales as $i=>$dir){
    84                 if ($i ==$lang){
    85                 $original = true;
    86                 $lang     = $spip_lang;
    87                 $lang_original = $i;
    88                 $dir = $dir;
    89                 include_spip('inc/lang');
    90                 break;
    91                 }
    92        
    93         }
     58    $langues_originales = bible_tableau('original');
     59    //var_dump($langues_originales);
     60    array_key_exists($lang,$langues_originales) ? $lang = $spip_lang : $lang = $lang;
    9461       
    9562        $separateur = $tableau_separateur[$lang];
     63   
    9664        $livres=$tableau_livres[$lang];
     65       
    9766        // phase d'anaylse
    9867       
     
    10877                        else{
    10978                                $chapitre_fin   = $tableau2[0];
    110                                 $verset_fin = $tableau2[1];}
    111                        
    112                
    113                 }
    114        
    115        
    116                
     79                                $verset_fin = $tableau2[1];}                   
     80               
     81                }
     82       
    11783        $debut = $tableau[0];
    11884       
    11985        $livre = livre_seul($debut);
    12086       
    121         if (array_key_exists($livre,$livres) == false){
     87        if (!array_key_exists($livre,$livres)){
    12288                return _T('bible:pas_livre');
    12389       
     
    162128        $chapitre_fin=$chapitre_debut;};
    163129        if ($verset_fin=='' and (count($tableau)==2)){$verset_fin=$verset_debut;}
     130    return  array($livre,$chapitre_debut,$verset_debut,$chapitre_fin,$verset_fin);
     131}
     132
     133function bible($passage,$traduction='jerusalem',$retour='non',$numeros='non',$ref='non',$mode_test=false){
     134
     135       
     136        $tableau_traduction = bible_tableau('traduction');
     137    global $spip_lang;
     138       
     139        $traduction = strtolower($traduction);
     140       
     141        $erreur = true;
     142       
     143        if (array_key_exists($traduction,$tableau_traduction)){$erreur = false;};
     144               
     145        if ($erreur) {
     146                return _T('bible:traduction_pas_dispo');
     147        }
     148    $lang = $tableau_traduction[$traduction]['lang'];
     149    $langues_originales = bible_tableau('original');
     150    $lang_original = $lang;
     151       
     152       
     153       
     154        //si langue originel
     155        foreach ($langues_originales as $i=>$dir){
     156                if ($i ==$lang){
     157                $original = true;
     158                $lang     = $spip_lang;
     159                $lang_original = $i;
     160                $dir = $dir;
     161                include_spip('inc/lang');
     162                break;
     163                }
     164       
     165        }
     166    $tableau_analyse = bible_analyser_ref($passage,$traduction);
     167    if (!is_array($tableau_analyse)){
     168        return $tableau_analyse;
     169    }
     170    //var_dump($tableau_analyse);
     171    $livre = $tableau_analyse[0];
     172    $chapitre_debut = $tableau_analyse[1];
     173    $verset_debut = $tableau_analyse[2];
     174    $chapitre_fin = $tableau_analyse[3];
     175    $verset_fin = $tableau_analyse[4];
     176   
     177   
     178    $gateway = $tableau_traduction[$traduction]['gateway'];
     179        $wissen  = $tableau_traduction[$traduction]['wissen'];
     180        $unbound = $tableau_traduction[$traduction]['unbound'];
     181    $lire = $tableau_traduction[$traduction]['lire'];
    164182       
    165183        if ($lire){
Note: See TracChangeset for help on using the changeset viewer.