Changeset 98215 in spip-zone


Ignore:
Timestamp:
Jun 6, 2016, 9:50:44 AM (3 years ago)
Author:
teddy.spip@…
Message:

Formatage du code.

Location:
_plugins_/comarquage/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/comarquage/trunk/comarquage.css

    r91572 r98215  
    11h2:before {
    2     display:table;
    3     content: " ";
    4 }
    5 h2:after {
    6     clear:both;
    7     display:block;
    8     content: " ";
     2        display: table;
     3        content: " ";
    94}
    105
    11 .spArborescenceItem2Col{
    12     width: 48%;
    13     margin-bottom: 2em;
    14     float: left;
    15     padding-right: 2%;
     6h2:after {
     7        clear: both;
     8        display: block;
     9        content: " ";
    1610}
    1711
    18 .spArborescenceItem2Col ul.spPublicationNoeud li.spPublicationNoeud{
    19     display: inline;
    20     background:none;
    21     padding:0;
     12.spArborescenceItem2Col {
     13        width: 48%;
     14        margin-bottom: 2em;
     15        float: left;
     16        padding-right: 2%;
    2217}
    2318
    24 .spArborescenceItem2Col .spPublicationNoeud h4{
    25     display: inline;
    26     margin-bottom:0;
    27     margin-right:0.2em;
    28     font-size:16px;
     19.spArborescenceItem2Col ul.spPublicationNoeud li.spPublicationNoeud {
     20        display: inline;
     21        background: none;
     22        padding: 0;
     23}
     24
     25.spArborescenceItem2Col .spPublicationNoeud h4 {
     26        display: inline;
     27        margin-bottom: 0;
     28        margin-right: 0.2em;
     29        font-size: 16px;
    2930}
    3031
    3132.entiteImageFloatLeft {
    32     float:left;
    33     margin-right: 0.5em;
     33        float: left;
     34        margin-right: 0.5em;
    3435}
    3536
    36 .spArborescenceItem2Col h3{
    37     font-weight:bold;
    38 }
    39 .spArborescenceItem2Col h3 .entiteImageFloatLeft{
    40     vertical-align:-14px;
    41     margin-right:0.5em;
     37.spArborescenceItem2Col h3 {
     38        font-weight: bold;
    4239}
    4340
    44 .spBarreThemesFils{
    45     border: 1px solid #C8C8C8;
    46     float: left;
    47     margin: 5px;
    48     min-height: 7em;
    49     padding: 8px 0px 0px;
    50     text-align: center;
    51     width: 17%;
     41.spArborescenceItem2Col h3 .entiteImageFloatLeft {
     42        vertical-align: -14px;
     43        margin-right: 0.5em;
    5244}
    5345
    54 .spBarreThemesFils img{
    55     display: block;
    56     margin: 0px auto;
     46.spBarreThemesFils {
     47        border: 1px solid #C8C8C8;
     48        float: left;
     49        margin: 5px;
     50        min-height: 7em;
     51        padding: 8px 0px 0px;
     52        text-align: center;
     53        width: 17%;
    5754}
    5855
    59 .spFilDAriane{
    60     clear:both;
     56.spBarreThemesFils img {
     57        display: block;
     58        margin: 0px auto;
    6159}
    6260
    63 ul.spPublicationSommaire > li.spPublicationSommaire{
    64     background: #F5F5F5 none repeat scroll 0% 0%;
    65     margin: 2px 0px;
    66     padding: 2px 15px;
    67     border: 1px solid #FFF;
    68     list-style-type: none;
     61.spFilDAriane {
     62        clear: both;
    6963}
    7064
    71 ul.spPublicationSommaire > li.spPublicationSommaire h3{
    72     font-size: 1.25em;
    73     line-height: 1.2;
    74     margin-bottom: 0em;
     65ul.spPublicationSommaire > li.spPublicationSommaire {
     66        background: #F5F5F5 none repeat scroll 0% 0%;
     67        margin: 2px 0px;
     68        padding: 2px 15px;
     69        border: 1px solid #FFF;
     70        list-style-type: none;
    7571}
    7672
    77 ul.spPublicationSommaire > li.spPublicationSommaire:hover{
    78     border:1px solid #75736E;
     73ul.spPublicationSommaire > li.spPublicationSommaire h3 {
     74        font-size: 1.25em;
     75        line-height: 1.2;
     76        margin-bottom: 0em;
    7977}
    8078
    81 div.spTousDossiersAZ{
    82     margin:1em 0;
     79ul.spPublicationSommaire > li.spPublicationSommaire:hover {
     80        border: 1px solid #75736E;
     81}
     82
     83div.spTousDossiersAZ {
     84        margin: 1em 0;
    8385}
    8486
    8587ul.spPublicationNoeud li.spPublicationNoeud,
    8688ul.spPublicationSEL li.spPublicationSEL,
    87 ul.spPublicationSIP li.spPublicationSIP{
    88     background: transparent url("images/pictos/puce.gif") no-repeat scroll 0.6em 0.2em;
    89     padding-left:2em;
    90     display:block;
     89ul.spPublicationSIP li.spPublicationSIP {
     90        background: transparent url("images/pictos/puce.gif") no-repeat scroll 0.6em 0.2em;
     91        padding-left: 2em;
     92        display: block;
    9193}
    9294
    9395ul.spPublicationNoeud, ul.spPublicationSEL, ul.spPublicationSIP,
    94 ul.spLienWeb{
    95     margin-bottom: 1.5em;
     96ul.spLienWeb {
     97        margin-bottom: 1.5em;
    9698}
     99
    97100ul.spPublicationNoeud li.spPublicationNoeud h3,
    98101ul.spPublicationSEL li.spPublicationSEL h3,
    99 ul.spPublicationSIP li.spPublicationSIP h3{
    100     display:inline;
    101     margin-bottom:0;
     102ul.spPublicationSIP li.spPublicationSIP h3 {
     103        display: inline;
     104        margin-bottom: 0;
    102105}
    103106
    104 div.spPublicationNoeud h2 img{
    105     vertical-align:-14px;
    106     margin-right:0.5em;
     107div.spPublicationNoeud h2 img {
     108        vertical-align: -14px;
     109        margin-right: 0.5em;
    107110}
    108111
     
    116119
    117120ul.spListe li.spItemChapitre,
    118 ul.spListe li.spItemListe{
    119     background: transparent url("images/pictos/puce.gif") no-repeat scroll 0.6em 0.2em;
    120     padding-left:2em;
    121     display:block;
     121ul.spListe li.spItemListe {
     122        background: transparent url("images/pictos/puce.gif") no-repeat scroll 0.6em 0.2em;
     123        padding-left: 2em;
     124        display: block;
    122125}
    123126
    124 ul.spPublicationActualite li.spPublicationActualite h3{
    125     display:inline;
     127ul.spPublicationActualite li.spPublicationActualite h3 {
     128        display: inline;
    126129}
    127130
    128131ul.spLienWeb li.spLienWeb {
    129     background: transparent url("images/pictos/puce.gif") no-repeat scroll 0.6em 0.2em;
    130     padding-left:2em;
    131     display:block;
     132        background: transparent url("images/pictos/puce.gif") no-repeat scroll 0.6em 0.2em;
     133        padding-left: 2em;
     134        display: block;
    132135}
    133136
    134 .spLetters ul li{
    135     display:inline;
     137.spLetters ul li {
     138        display: inline;
    136139}
    137140
    138 .spLetters ul{
    139     margin-bottom:1em;
     141.spLetters ul {
     142        margin-bottom: 1em;
    140143}
    141144
    142 .spIndex ul.spPublicationNoeud li.spPublicationNoeud{
    143     background:none;
    144     padding:0;
    145     display:inline;
     145.spIndex ul.spPublicationNoeud li.spPublicationNoeud {
     146        background: none;
     147        padding: 0;
     148        display: inline;
    146149}
    147150
    148 .sp-letter-*{
    149     margin-bottom:0.5em;
     151.sp-letter- * {
     152        margin-bottom: 0.5em;
    150153}
    151154
    152 .entiteImageFloatRight{
    153     float:right;
    154     margin-left: 0.5em;
     155.entiteImageFloatRight {
     156        float: right;
     157        margin-left: 0.5em;
    155158}
    156159
    157 .clearall, .spIndex{
    158     clear: both;
     160.clearall, .spIndex {
     161        clear: both;
    159162}
    160163
    161 h2[id^='sp-letter-']{
    162     margin-bottom:0.2em;
     164h2[id^='sp-letter-'] {
     165        margin-bottom: 0.2em;
    163166}
    164167
    165 .spIndex ul.spPublicationNoeud li.spPublicationNoeud h3{
    166     font-size:95%;
    167     padding:0 0.5em;
     168.spIndex ul.spPublicationNoeud li.spPublicationNoeud h3 {
     169        font-size: 95%;
     170        padding: 0 0.5em;
    168171}
  • _plugins_/comarquage/trunk/comarquage_fonctions.php

    r91572 r98215  
    1111include_spip('inc/comarquage');
    1212
    13 function comarquage_run($parametres_defaut){
    14     $url_base = preg_replace(',\?.*$,','',self());
    15     $parametres =& comarquage_parametres($parametres_defaut,$url_base);
     13function comarquage_run($parametres_defaut) {
     14        $url_base = preg_replace(',\?.*$,', '', self());
     15        $parametres =& comarquage_parametres($parametres_defaut, $url_base);
    1616
    17     $ma_page =& comarquage_compile_page_xml($parametres,$url_base);
     17        $ma_page =& comarquage_compile_page_xml($parametres, $url_base);
    1818
    19     if (!is_string($ma_page)) {
    20         if ($ma_page == -20)
    21             $ma_page = _T('comarquage:avis_serveur_indisponible');
    22         else{
    23             $ma_page = _T('comarquage:avis_erreur');
    24         }
    25     }
     19        if (!is_string($ma_page)) {
     20                if ($ma_page == -20) {
     21                        $ma_page = _T('comarquage:avis_serveur_indisponible');
     22                } else {
     23                        $ma_page = _T('comarquage:avis_erreur');
     24                }
     25        }
    2626
    27     return $ma_page;
     27        return $ma_page;
    2828}
    2929
    3030// recuperer les parametres specifiques au comarquage et les autres
    31 function & comarquage_parametres($defaut,&$urlbase) {
    32     $parametres = array();
    33     $parametres_attendus = array('xml' => ',^[a-z0-9_\-]*[.]xml$,i' , 'xsl' => ',^[a-z0-9_\-]*[.]xsl$,i', 'lettre' =>',^[a-z]$,i', 'motcle'=>'','categorie' => '');
     31function & comarquage_parametres($defaut, &$urlbase) {
     32        $parametres = array();
     33        $parametres_attendus = array(
     34                'xml' => ',^[a-z0-9_\-]*[.]xml$,i',
     35                'xsl' => ',^[a-z0-9_\-]*[.]xsl$,i',
     36                'lettre' => ',^[a-z]$,i',
     37                'motcle' => '',
     38                'categorie' => '',
     39        );
    3440
    35     foreach ($parametres_attendus as $k=>$reg) {
    36         $p=_request($k);
     41        foreach ($parametres_attendus as $k => $reg) {
     42                $p = _request($k);
    3743
    38         if (($p==NULL)&&isset($defaut[$k]))
    39             $p = $defaut[$k];
     44                if (($p == null) && isset($defaut[$k])) {
     45                        $p = $defaut[$k];
     46                }
    4047
    41         if (strlen($reg) AND !preg_match($reg,$p)){
    42             $p=NULL;
    43             }
    44         if ($p==NULL) {
    45             $fichier = lire_config('comarquage/default'.$k.'_file');
    46             //$p = isset($GLOBALS['meta']['comarquage_default_'.$k.'_file'])?$GLOBALS['meta']['comarquage_default_'.$k.'_file']:NULL;
    47             $p = isset($fichier)? $fichier:NULL;
    48             //$p = isset(lire_config('comarquage/default'.$k.'_file')) ? lire_config('comarquage/default'.$k.'_file'):NULL;
    49         }
    50         if ($p!==NULL){
    51             $parametres[$k] = $p;
    52             $urlbase = parametre_url($urlbase,$k,'');
    53         }
    54     }
    55     if (strpos($urlbase,'?')===FALSE)
    56         $urlbase.='?';
    57     else
    58         $urlbase.='&';
     48                if (strlen($reg) AND !preg_match($reg, $p)) {
     49                        $p = null;
     50                }
     51                if ($p == null) {
     52                        $fichier = lire_config('comarquage/default' . $k . '_file');
     53                        //$p = isset($GLOBALS['meta']['comarquage_default_'.$k.'_file'])?$GLOBALS['meta']['comarquage_default_'.$k.'_file']:NULL;
     54                        $p = isset($fichier) ? $fichier : null;
     55                        //$p = isset(lire_config('comarquage/default'.$k.'_file')) ? lire_config('comarquage/default'.$k.'_file'):NULL;
     56                }
     57                if ($p !== null) {
     58                        $parametres[$k] = $p;
     59                        $urlbase = parametre_url($urlbase, $k, '');
     60                }
     61        }
     62        if (strpos($urlbase, '?') === false) {
     63                $urlbase .= '?';
     64        } else {
     65                $urlbase .= '&';
     66        }
    5967
    60     if (isset($parametres['xml'])){
    61         $parametres['xml'] = basename($parametres['xml'],'.xml').'.xml';
     68        if (isset($parametres['xml'])) {
     69                $parametres['xml'] = basename($parametres['xml'], '.xml') . '.xml';
    6270
    63         // Regarde si on un xml local dans le répertoire du plugin (pour utiliser Glossaire, Dossiercat, etc...)
    64         $xml_local = _DIR_PLUGIN_COMARQUAGE.'xml/'.$parametres['xml'];
     71                // Regarde si on un xml local dans le répertoire du plugin (pour utiliser Glossaire, Dossiercat, etc...)
     72                $xml_local = _DIR_PLUGIN_COMARQUAGE . 'xml/' . $parametres['xml'];
    6573
     74                // Si le xml dans le dossier du plugin existe, on le prend
     75                // Sinon on regarde dans le répertoire de cache de la categorie
     76                if (file_exists($xml_local)) {
     77                        $parametres['xml_full_path'] = _DIR_PLUGIN_COMARQUAGE . 'xml/' . $parametres['xml'];
     78                } else {
     79                        spip_log("XML LOCAL non trouvé : $xml_local", "comarquage");
     80                        $parametres['xml_full_path'] = sous_repertoire(_DIR_CACHE, _DIR_CACHE_COMARQUAGE_XML . '_' . $parametres['categorie']) . $parametres['xml'];
     81                }
    6682
    67         // Si le xml dans le dossier du plugin existe, on le prend
    68         // Sinon on regarde dans le répertoire de cache de la categorie
    69         if (file_exists($xml_local)) {
    70             $parametres['xml_full_path'] = _DIR_PLUGIN_COMARQUAGE.'xml/'.$parametres['xml'];
    71         }
    72         else {
    73             spip_log("XML LOCAL non trouvé : $xml_local","comarquage");
    74             $parametres['xml_full_path'] = sous_repertoire(_DIR_CACHE, _DIR_CACHE_COMARQUAGE_XML.'_'.$parametres['categorie']).$parametres['xml'];
    75         }
     83        }
     84        if (isset($parametres['xsl'])) {
     85                $parametres['xsl'] = basename($parametres['xsl'], '.xsl') . '.xsl';
     86        }
     87        //  $parametres['xsl_full_path'] = _DIR_PLUGIN_COMARQUAGE.'xsl/'.$parametres['categorie'].'/'.$parametres['xsl'];
    7688
    77     }
    78     if (isset($parametres['xsl']))
    79         $parametres['xsl'] = basename($parametres['xsl'],'.xsl').'.xsl';
    80     //  $parametres['xsl_full_path'] = _DIR_PLUGIN_COMARQUAGE.'xsl/'.$parametres['categorie'].'/'.$parametres['xsl'];
     89        $parametres['xsl_full_path'] = _DIR_PLUGIN_COMARQUAGE . 'xsl/' . $parametres['xsl'];
    8190
    82         $parametres['xsl_full_path'] = _DIR_PLUGIN_COMARQUAGE.'xsl/'.$parametres['xsl'];
    83 
    84     return $parametres;
     91        return $parametres;
    8592}
    8693
    87 
    88 /* Fonction appelé par le modèle */
     94/* Fonction appelée par le modèle */
    8995function comarquage_init($parametres) {
    90     if (comarquage_processeur_disponible() ) {
    91         comarquage_run($parametres);
    92     }
     96        if (comarquage_processeur_disponible()) {
     97                comarquage_run($parametres);
     98        }
    9399}
    94 
    95 ?>
  • _plugins_/comarquage/trunk/comarquage_pipeline.php

    r73586 r98215  
    99 */
    1010
    11 function comarquage_taches_generales_cron($taches_generales){
    12     $taches_generales['comarquage_update_xml'] = 60*60; // mettre a jour une fois par heure
    13     return $taches_generales;
     11function comarquage_taches_generales_cron($taches_generales) {
     12        $taches_generales['comarquage_update_xml'] = 60 * 60; // mettre a jour une fois par heure
     13        return $taches_generales;
    1414}
    1515
    16 // insertion de la feuille de style utilisé par le comarquage
     16// insertion de la feuille de style utilis par le comarquage
    1717function comarquage_insert_head_css($flux) {
    18     $flux .= '<link rel="stylesheet" href="'.find_in_path('comarquage.css').'" media="all" />';
    19     return $flux;
     18        $flux .= '<link rel="stylesheet" href="' . find_in_path('comarquage.css') . '" media="all" />';
     19
     20        return $flux;
    2021}
    2122
    22 ?>
  • _plugins_/comarquage/trunk/formulaires/configurer_comarquage.html

    r91572 r98215  
    11#CACHE{0}
    2 
    32<div class="formulaire_spip formulaire_config formulaire_config_comarquage">
    43
    5 <h3 class='titrem'>[(#CHEMIN_IMAGE{picto-comarquage-service-public-24.png}|image_reduire{24}|inserer_attribut{class,cadre-icone}|inserer_attribut{alt,''})]
    6     <:comarquage:titre_config:></h3>
     4        <h3 class='titrem'>[(#CHEMIN_IMAGE{picto-comarquage-service-public-24.png}|image_reduire{24}|inserer_attribut{class,cadre-icone}|inserer_attribut{alt,''})]<:comarquage:titre_config:></h3>
    75
    8 [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    9 [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
     6        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
     7        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    108
    11 <form method="post" action="#SELF"><div>
    12     #ACTION_FORMULAIRE{SELF}
     9        <form method="post" action="#SELF">
     10                <div>
     11                        #ACTION_FORMULAIRE{SELF}
    1312
    14     <input type="hidden" name="_meta_casier" value="comarquage" />
     13                        <input type="hidden" name="_meta_casier" value="comarquage"/>
    1514
    16     local_refresh : #ENV{local_refresh}
     15                        local_refresh : #ENV{local_refresh}
    1716
    18 <ul>
    19     <li class="editer_local_refresh[ (#GET{erreurs}|oui)erreur]">
    20         <label for='local_refresh'><:comarquage:cfg_local_refresh:></label>
    21         <input type="text" name="local_refresh" class="text" id="local_refresh" value="#ENV{local_refresh,259200}" />
    22     </li>
    23     <li class="editer_local_timeout[ (#GET{erreurs}|oui)erreur]">
    24         <label for='local_timeout'><:comarquage:cfg_local_timeout:></label>
    25         <input type="text" name="local_timeout" class="text" id="local_timeout" value="#ENV{local_timeout,604800}" />
    26     </li>
     17                        <ul>
     18                                <li class="editer_local_refresh[ (#GET{erreurs}|oui)erreur]">
     19                                        <label for='local_refresh'><:comarquage:cfg_local_refresh:></label>
     20                                        <input type="text" name="local_refresh" class="text" id="local_refresh" value="#ENV{local_refresh,259200}"/>
     21                                </li>
     22                                <li class="editer_local_timeout[ (#GET{erreurs}|oui)erreur]">
     23                                        <label for='local_timeout'><:comarquage:cfg_local_timeout:></label>
     24                                        <input type="text" name="local_timeout" class="text" id="local_timeout" value="#ENV{local_timeout,604800}"/>
     25                                </li>
    2726
    28     <li class="editer_default_xml_file[ (#GET{erreurs}|oui)erreur]">
    29         <label for='default_xml_file'><:comarquage:cfg_default_xml_file:></label>
    30         <input type="text" name="default_xml_file" class="text" id="default_xml_file" value="#ENV{default_xml_file,arborescence.xml}" />
    31     </li>
    32     <li class="editer_default_xsl_file[ (#GET{erreurs}|oui)erreur]">
    33         <label for='default_xsl_file'><:comarquage:cfg_default_xsl_file:></label>
    34         <input type="text" name="default_xsl_file" class="text" id="default_xsl_file" value="#ENV{default_xsl_file,spMainArborescence.xsl}" />
    35     </li>
    36     <li class="editer_code_insee[ (#GET{erreurs}|oui)erreur]">
    37         <label for='code_insee'><:comarquage:cfg_code_insee:></label>
    38         <input type="text" name="code_insee" class="text" id="code_insee" value="#ENV{code_insee,34172}" />
    39     </li>
     27                                <li class="editer_default_xml_file[ (#GET{erreurs}|oui)erreur]">
     28                                        <label for='default_xml_file'><:comarquage:cfg_default_xml_file:></label>
     29                                        <input type="text" name="default_xml_file" class="text" id="default_xml_file" value="#ENV{default_xml_file,arborescence.xml}"/>
     30                                </li>
     31                                <li class="editer_default_xsl_file[ (#GET{erreurs}|oui)erreur]">
     32                                        <label for='default_xsl_file'><:comarquage:cfg_default_xsl_file:></label>
     33                                        <input type="text" name="default_xsl_file" class="text" id="default_xsl_file" value="#ENV{default_xsl_file,spMainArborescence.xsl}"/>
     34                                </li>
     35                                <li class="editer_code_insee[ (#GET{erreurs}|oui)erreur]">
     36                                        <label for='code_insee'><:comarquage:cfg_code_insee:></label>
     37                                        <input type="text" name="code_insee" class="text" id="code_insee" value="#ENV{code_insee,34172}"/>
     38                                </li>
    4039
    41 </ul>
     40                        </ul>
    4241
    43 <p class="boutons">
    44     <input type="submit" name="_cfg_ok" value="<:bouton_enregistrer:>" class="submit" />
    45 </p>
     42                        <p class="boutons">
     43                                <input type="submit" name="_cfg_ok" value="<:bouton_enregistrer:>" class="submit"/>
     44                        </p>
    4645
    4746
    48 </div></form>
     47                </div>
     48        </form>
    4949</div>
  • _plugins_/comarquage/trunk/genie/comarquage_update_xml.php

    r73586 r98215  
    88 */
    99
    10 function genie_comarquage_update_xml_dist($t){
     10function genie_comarquage_update_xml_dist($t) {
    1111        include_spip('inc/comarquage');
    1212
     
    1414
    1515        // Recherche des fichiers a mettre a jour
    16         if (isset($GLOBALS['meta']['comarquage_xml_to_update'])){
     16        if (isset($GLOBALS['meta']['comarquage_xml_to_update'])) {
    1717                $file_liste = unserialize($GLOBALS['meta']['comarquage_xml_to_update']);
    18                 if (!is_array($file_liste)){
     18                if (!is_array($file_liste)) {
    1919                        $file_liste = array();
    2020                        effacer_meta('comarquage_xml_to_update');
     
    2222                }
    2323        }
    24         if (!isset($GLOBALS['meta']['comarquage_xml_to_update'])){
     24        if (!isset($GLOBALS['meta']['comarquage_xml_to_update'])) {
    2525                // si liste existe pas, on la construit
    2626                // et on rend la main pour que ce soit pas trop long
    2727
    28                 // On a des dossiers cache différents selon la catégorie
    29                 $categories = array('particuliers','associations','entreprises');
     28                // On a des dossiers cache diff�rents selon la cat�gorie
     29                $categories = array('particuliers', 'associations', 'entreprises');
    3030                foreach ($categories as $cat) {
    31                         $table = preg_files(_DIR_CACHE._DIR_CACHE_COMARQUAGE_XML."_".$cat, '[.]*\.xml$');
     31                        $table = preg_files(_DIR_CACHE . _DIR_CACHE_COMARQUAGE_XML . "_" . $cat, '[.]*\.xml$');
    3232
    3333                        $time = time();
    34                         foreach ($table as $file){
    35                                 if ( (count($file_liste)<1000)
    36                                  && (($time - filemtime($file)) >$GLOBALS['meta']['comarquage_local_refresh'])
    37                                 ) {
     34                        foreach ($table as $file) {
     35                                if ((count($file_liste) < 1000) && (($time - filemtime($file)) > $GLOBALS['meta']['comarquage_local_refresh'])) {
    3836                                        $file_liste[] = $file;
    3937                                }
    4038                        }
    4139                }
    42                 if (count($file_liste)){
    43                         ecrire_meta('comarquage_xml_to_update',serialize($file_liste));
     40                if (count($file_liste)) {
     41                        ecrire_meta('comarquage_xml_to_update', serialize($file_liste));
    4442                        ecrire_metas();
    45                         spip_log("[comarquage] ".count($file_liste)." fichiers a mettre a jour ...","comarquage_update");
     43                        spip_log("[comarquage] " . count($file_liste) . " fichiers a mettre a jour ...", "comarquage_update");
     44
    4645                        //return (0 - $t); // revenir ...
    4746                        return 1; // fini pour cette fois
    48                 }
    49                 else {
    50                         spip_log("Pas de fichier pour la mise à jour","comarquage_update");
     47                } else {
     48                        spip_log("Pas de fichier pour la mise � jour", "comarquage_update");
    5149                        effacer_meta('comarquage_xml_to_update');
    5250                        ecrire_metas();
     51
    5352                        return 1; // fini
    5453                }
     
    5756        $compteur = 10; // nombre maxi de pages mises a jour
    5857
    59         while (($compteur-->0) && is_array($file_liste) && count($file_liste)){
     58        while (($compteur-- > 0) && is_array($file_liste) && count($file_liste)) {
    6059                $file = array_pop($file_liste);
    61                 spip_log("[comarquage] mise a jour $file","comarquage_update");
     60                spip_log("[comarquage] mise a jour $file", "comarquage_update");
    6261
    6362                $parametres = array();
     
    6665
    6766                $ret = comarquage_recuperer_page_xml($parametres);
    68                 if ($ret = 10){ // fichier non modifie
     67                if ($ret = 10) { // fichier non modifie
    6968                        @touch($file);
    7069                }
    71                 // on nettoie les fichiers cache parses au passage
    72                 $file = basename($file,'.xml');
     70                // on nettoie les fichiers cache parses au passage
     71                $file = basename($file, '.xml');
    7372
    74                 $table = preg_files(_DIR_CACHE._DIR_CACHE_COMARQUAGE_CACHE, '^'.$file.'\.[0-9a-f]*\.cache$');
    75                 foreach ($table as $file){
     73                $table = preg_files(_DIR_CACHE . _DIR_CACHE_COMARQUAGE_CACHE, '^' . $file . '\.[0-9a-f]*\.cache$');
     74                foreach ($table as $file) {
    7675                        @unlink($file);
    7776                }
    7877        }
    7978
    80         if (count($file_liste) && is_array($file_liste)){
    81                 ecrire_meta('comarquage_xml_to_update',serialize($file_liste));
     79        if (count($file_liste) && is_array($file_liste)) {
     80                ecrire_meta('comarquage_xml_to_update', serialize($file_liste));
    8281                ecrire_metas();
    83                 spip_log("[comarquage] ".count($file_liste)." fichiers restant a mettre a jour ...","comarquage_update");
     82                spip_log("[comarquage] " . count($file_liste) . " fichiers restant a mettre a jour ...", "comarquage_update");
     83
    8484                //return (0 - $t); // revenir ...
    8585                return 1; // fini pour cette fois
    86         }
    87         else {
     86        } else {
    8887                effacer_meta('comarquage_xml_to_update');
    8988                ecrire_metas();
     89
    9090                return 1; // fini
    9191        }
    9292}
    9393
    94 
    95 ?>
  • _plugins_/comarquage/trunk/inc/comarquage.php

    r91572 r98215  
    88 *
    99 */
    10 if (!defined("_ECRIRE_INC_VERSION")) return;
    11 
    12 
    13 if (!defined('_DIR_PLUGIN_COMARQUAGE')){
    14     $p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(dirname(__FILE__)))));
    15     define('_DIR_PLUGIN_COMARQUAGE',(_DIR_PLUGINS.end($p)).'/');
    16 }
    17 
    18 define('_DIR_PLUGIN_COMARQUAGE_IMAGES',_DIR_PLUGIN_COMARQUAGE."images");
     10if (!defined("_ECRIRE_INC_VERSION")) {
     11        return;
     12}
     13
     14if (!defined('_DIR_PLUGIN_COMARQUAGE')) {
     15        $p = explode(basename(_DIR_PLUGINS) . "/", str_replace('\\', '/', realpath(dirname(dirname(__FILE__)))));
     16        define('_DIR_PLUGIN_COMARQUAGE', (_DIR_PLUGINS . end($p)) . '/');
     17}
     18
     19define('_DIR_PLUGIN_COMARQUAGE_IMAGES', _DIR_PLUGIN_COMARQUAGE . "images");
    1920// atention, ces 2 constantes ne sont pas utilisees partout
    2021// on utilise sous_repertoire(_DIR_CACHE,'cache') et sous_repertoire(_DIR_CACHE,'xml')
    2122// pour assurer la creation des repertoires
    22 define('_DIR_CACHE_COMARQUAGE_XML',"comarq_xml"); // sous repertoire de _DIR_CACHE
    23 define('_DIR_CACHE_COMARQUAGE_CACHE',"comarq_cache");// sous repertoire de _DIR_CACHE
     23define('_DIR_CACHE_COMARQUAGE_XML', "comarq_xml"); // sous repertoire de _DIR_CACHE
     24define('_DIR_CACHE_COMARQUAGE_CACHE', "comarq_cache");// sous repertoire de _DIR_CACHE
    2425
    2526// repertoire des fichiers xlstprocError.
    2627// La constante permet de definir un repertoire different dans les options
    2728// en fonction des specifites des serveurs de chacun.
    28 if (!defined('_DIR_TMP_XSLT_COMARQUAGE')){
    29     define('_DIR_TMP_XSLT_COMARQUAGE', _NOM_TEMPORAIRES_INACCESSIBLES);
     29if (!defined('_DIR_TMP_XSLT_COMARQUAGE')) {
     30        define('_DIR_TMP_XSLT_COMARQUAGE', _NOM_TEMPORAIRES_INACCESSIBLES);
    3031}
    3132
    3233include_spip('inc/config');
    33 
    3434
    3535$local_refresh = lire_config('comarquage/local_refresh');
    3636if (!isset($local_refresh)) {
    37     ecrire_config('comarquage/local_refresh','259200'); /* 60*60*24*3 */
     37        ecrire_config('comarquage/local_refresh', '259200'); /* 60*60*24*3 */
    3838}
    3939$local_timeout = lire_config('comarquage/local_timeout');
    40 if (!isset($local_timeout)){
    41     ecrire_config('comarquage/local_timeout','604800'); /* 60*60*24*7 */
     40if (!isset($local_timeout)) {
     41        ecrire_config('comarquage/local_timeout', '604800'); /* 60*60*24*7 */
    4242}
    4343
    4444$default_xml_file = lire_config('comarquage/default_xml_file');
    45 if (!isset($default_xml_file)){
    46     ecrire_config('comarquage/default_xml_file','arborescence.xml');
     45if (!isset($default_xml_file)) {
     46        ecrire_config('comarquage/default_xml_file', 'arborescence.xml');
    4747}
    4848
    4949$default_xsl_file = lire_config('comarquage/default_xsl_file');
    50 if (!isset($default_xsl_file)){
    51     ecrire_config('comarquage/default_xsl_file','spMainArborescence.xsl');
    52 }
    53 
     50if (!isset($default_xsl_file)) {
     51        ecrire_config('comarquage/default_xsl_file', 'spMainArborescence.xsl');
     52}
    5453
    5554// recuperer le contenu compile d'une page xml
    56 function & comarquage_compile_page_xml($parametres,$url_base){
    57     // regarder si la page parsee est en cache et valide
    58     comarquage_prepare_parametres_cache($parametres,$url_base);
    59     if ($ma_page =& comarquage_lire_cache($parametres))
    60       return $ma_page;
    61 
    62     // sinon la parser
    63 
    64     // s'assurer que la feuille de style est bien la
    65     if (!file_exists($parametres['xsl_full_path'])) {
    66         comarquage_error("la feuille de style XSL '$parametres[xsl]' n'existe pas");
    67         return -10;
    68     }
    69 
    70     // rapatrier tous les fichiers xml necessaires au parsing
    71     // fichier principal + dependances
    72     if (!comarquage_prepare_fichiers_xml($parametres))  {
    73         spip_log("Erreur du rapatriement des fichiers",'comarquage');
    74         return -20;
    75 
    76     }
    77 
    78     /*----------------------------------------
    79      *  definir les parametres xsl
    80      */
    81     $parametres_xsl = array();
    82     $parametres_xsl['IMAGESURL'] = $parametres_xsl['SITEURL'].'/'._DIR_PLUGIN_COMARQUAGE_IMAGES;
    83 
    84     if (isset($parametres['lettre']))   $parametres_xsl['LETTRE'] = $parametres['lettre'];
    85     if (isset($parametres['motcle'])) $parametres_xsl['MOTCLE'] = $parametres['motcle'];
    86 
    87     /* Réglage pour l'URL */
    88     $parametres_xsl['REFERER'] = self();
    89     // spip_log("REFERER 1 : ".$parametres_xsl['REFERER'],"comarquage");
    90     $parametres_xsl['REFERER'] = parametre_url($parametres_xsl['REFERER'],"xml",'','&'); // on enlève les paramètres d'url
    91     // spip_log("REFERER 2 : ".$parametres_xsl['REFERER'],"comarquage");
    92     $parametres_xsl['REFERER'] = parametre_url($parametres_xsl['REFERER'],"xsl",'','&');
    93     // spip_log("REFERER 3 : ".$parametres_xsl['REFERER'],"comarquage");
    94     //$parametres_xsl['REFERER'] = $GLOBALS['REQUEST_URI'].'?&' ; // url principale du comarquage
    95 
    96     // On teste s'il faut un "?" ou un "&" pour la suite
    97     if (strpos($parametres_xsl['REFERER'], '?') !== false){
    98         $parametres_xsl['REFERER'] .= '&';
    99     }
    100     else{
    101         $parametres_xsl['REFERER'] .= '?';
    102     }
    103 
    104 
    105     // MODIF VI :  REFERER / PICTOS / SITEURL / IMAGES / PIVOTS / XMLURL / CATEGORIE
    106     $parametres_xsl['SITEURL'] = lire_meta("adresse_site" );
    107     $parametres_xsl['PICTOS'] = $parametres_xsl['SITEURL'].'/'._DIR_PLUGIN_COMARQUAGE_IMAGES; // url des picto (web, téléphone, ...)
    108     $parametres_xsl['IMAGES'] = $parametres_xsl['SITEURL'].'/'._DIR_PLUGIN_COMARQUAGE_IMAGES.'/'; // URL des images
    109     $parametres_xsl['PIVOTS'] = 'mairie'; // pivots locaux
    110     $parametres_xsl['XMLURL'] = 'http://lecomarquage.service-public.fr/vdd/2.3/part/xml/'; // url des données XML du comarquage
    111     $parametres_xsl['CATEGORIE'] = $parametres['categorie']; // particuliers, associations ou entreprises
    112     $parametres_xsl['DONNEES'] = $parametres_xsl['SITEURL'].'/'._DIR_PLUGIN_COMARQUAGE.'xml';
    113     //~ $parametres_xsl['CATEGORIE_NOM'] = $parametres_xsl['CATEGORIE'];
    114     $parametres_xsl['HYPERLIEN_PART'] = $parametres_xsl['SITEURL'].'/'.$parametres_xsl['REFERER'];
    115     $parametres_xsl['HYPERLIEN_ASSO'] = $parametres_xsl['SITEURL'].'/'.$parametres_xsl['REFERER'];
    116     $parametres_xsl['HYPERLIEN_PRO'] = $parametres_xsl['SITEURL'].'/'.$parametres_xsl['REFERER'];
    117     $parametres_xsl['HYPERLIEN_COURANT'] = $parametres_xsl['SITEURL'].'/'.$parametres_xsl['REFERER'];
    118 
    119     switch ($parametres_xsl['CATEGORIE']) {
    120         case "particuliers":
    121             $parametres_xsl['XMLURL'] = "http://lecomarquage.service-public.fr/vdd/2.3/part/xml/";
    122             $parametres_xsl['CATEGORIE'] ="part";
    123         break;
    124 
    125         case "associations":
    126             $parametres_xsl['XMLURL'] = "http://lecomarquage.service-public.fr/vdd/2.3/asso/xml/";
    127             $parametres_xsl['CATEGORIE'] ="asso";
    128         break;
    129 
    130         case 'entreprises':
    131             $parametres_xsl['XMLURL'] = "http://lecomarquage.service-public.fr/vdd/2.3/pro/xml/";
    132             $parametres_xsl['CATEGORIE'] ="pro";
    133         break;
    134 
    135         default:
    136             $parametres_xsl['XMLURL'] = "http://lecomarquage.service-public.fr/vdd/2.3/part/xml/";
    137             $parametres_xsl['CATEGORIE'] ="part";
    138         break;
    139     }
    140 
    141     $ma_page =& comarquage_transforme_fichier_xml($parametres['xml_full_path'],$parametres['xsl_full_path'], $parametres_xsl);
    142 
    143     if ($ma_page === FALSE) {
    144         comarquage_error("le processeur XSLT a retourné une erreur fatale; l'action ne peut pas continuer");
    145         return -40;
    146     }
    147 
    148     $ma_page = implode("\n", $ma_page)."\n";
    149     // ecrire le fichier cache pour le prochain coup
    150     ecrire_fichier($parametres['cache_full_path'], $ma_page);
    151 
    152     return $ma_page;
     55function & comarquage_compile_page_xml($parametres, $url_base) {
     56        // regarder si la page parsee est en cache et valide
     57        comarquage_prepare_parametres_cache($parametres, $url_base);
     58        if ($ma_page =& comarquage_lire_cache($parametres)) {
     59                return $ma_page;
     60        }
     61
     62        // sinon la parser
     63
     64        // s'assurer que la feuille de style est bien la
     65        if (!file_exists($parametres['xsl_full_path'])) {
     66                comarquage_error("la feuille de style XSL '$parametres[xsl]' n'existe pas");
     67
     68                return -10;
     69        }
     70
     71        // rapatrier tous les fichiers xml necessaires au parsing
     72        // fichier principal + dependances
     73        if (!comarquage_prepare_fichiers_xml($parametres)) {
     74                spip_log("Erreur du rapatriement des fichiers", 'comarquage');
     75
     76                return -20;
     77        }
     78
     79        /*----------------------------------------
     80         *  definir les parametres xsl
     81         */
     82        $parametres_xsl = array();
     83        $parametres_xsl['IMAGESURL'] = $parametres_xsl['SITEURL'] . '/' . _DIR_PLUGIN_COMARQUAGE_IMAGES;
     84
     85        if (isset($parametres['lettre'])) {
     86                $parametres_xsl['LETTRE'] = $parametres['lettre'];
     87        }
     88        if (isset($parametres['motcle'])) {
     89                $parametres_xsl['MOTCLE'] = $parametres['motcle'];
     90        }
     91
     92        /* R�glage pour l'URL */
     93        $parametres_xsl['REFERER'] = self();
     94        // spip_log("REFERER 1 : ".$parametres_xsl['REFERER'],"comarquage");
     95        $parametres_xsl['REFERER'] = parametre_url($parametres_xsl['REFERER'], "xml", '', '&'); // on enl�ve les param�tres d'url
     96        // spip_log("REFERER 2 : ".$parametres_xsl['REFERER'],"comarquage");
     97        $parametres_xsl['REFERER'] = parametre_url($parametres_xsl['REFERER'], "xsl", '', '&');
     98        // spip_log("REFERER 3 : ".$parametres_xsl['REFERER'],"comarquage");
     99        //$parametres_xsl['REFERER'] = $GLOBALS['REQUEST_URI'].'?&' ; // url principale du comarquage
     100
     101        // On teste s'il faut un "?" ou un "&" pour la suite
     102        if (strpos($parametres_xsl['REFERER'], '?') !== false) {
     103                $parametres_xsl['REFERER'] .= '&';
     104        } else {
     105                $parametres_xsl['REFERER'] .= '?';
     106        }
     107
     108        // MODIF VI :  REFERER / PICTOS / SITEURL / IMAGES / PIVOTS / XMLURL / CATEGORIE
     109        $parametres_xsl['SITEURL'] = lire_meta("adresse_site");
     110        $parametres_xsl['PICTOS'] = $parametres_xsl['SITEURL'] . '/' . _DIR_PLUGIN_COMARQUAGE_IMAGES; // url des picto (web, t�l�phone, ...)
     111        $parametres_xsl['IMAGES'] = $parametres_xsl['SITEURL'] . '/' . _DIR_PLUGIN_COMARQUAGE_IMAGES . '/'; // URL des images
     112        $parametres_xsl['PIVOTS'] = 'mairie'; // pivots locaux
     113        $parametres_xsl['XMLURL'] = 'http://lecomarquage.service-public.fr/vdd/2.3/part/xml/'; // url des donn�es XML du comarquage
     114        $parametres_xsl['CATEGORIE'] = $parametres['categorie']; // particuliers, associations ou entreprises
     115        $parametres_xsl['DONNEES'] = $parametres_xsl['SITEURL'] . '/' . _DIR_PLUGIN_COMARQUAGE . 'xml';
     116        //~ $parametres_xsl['CATEGORIE_NOM'] = $parametres_xsl['CATEGORIE'];
     117        $parametres_xsl['HYPERLIEN_PART'] = $parametres_xsl['SITEURL'] . '/' . $parametres_xsl['REFERER'];
     118        $parametres_xsl['HYPERLIEN_ASSO'] = $parametres_xsl['SITEURL'] . '/' . $parametres_xsl['REFERER'];
     119        $parametres_xsl['HYPERLIEN_PRO'] = $parametres_xsl['SITEURL'] . '/' . $parametres_xsl['REFERER'];
     120        $parametres_xsl['HYPERLIEN_COURANT'] = $parametres_xsl['SITEURL'] . '/' . $parametres_xsl['REFERER'];
     121
     122        switch ($parametres_xsl['CATEGORIE']) {
     123                case "particuliers":
     124                        $parametres_xsl['XMLURL'] = "http://lecomarquage.service-public.fr/vdd/2.3/part/xml/";
     125                        $parametres_xsl['CATEGORIE'] = "part";
     126                        break;
     127
     128                case "associations":
     129                        $parametres_xsl['XMLURL'] = "http://lecomarquage.service-public.fr/vdd/2.3/asso/xml/";
     130                        $parametres_xsl['CATEGORIE'] = "asso";
     131                        break;
     132
     133                case 'entreprises':
     134                        $parametres_xsl['XMLURL'] = "http://lecomarquage.service-public.fr/vdd/2.3/pro/xml/";
     135                        $parametres_xsl['CATEGORIE'] = "pro";
     136                        break;
     137
     138                default:
     139                        $parametres_xsl['XMLURL'] = "http://lecomarquage.service-public.fr/vdd/2.3/part/xml/";
     140                        $parametres_xsl['CATEGORIE'] = "part";
     141                        break;
     142        }
     143
     144        $ma_page =& comarquage_transforme_fichier_xml($parametres['xml_full_path'], $parametres['xsl_full_path'], $parametres_xsl);
     145
     146        if ($ma_page === false) {
     147                comarquage_error("le processeur XSLT a retourné une erreur fatale; l'action ne peut pas continuer");
     148
     149                return -40;
     150        }
     151
     152        $ma_page = implode("\n", $ma_page) . "\n";
     153        // ecrire le fichier cache pour le prochain coup
     154        ecrire_fichier($parametres['cache_full_path'], $ma_page);
     155
     156        return $ma_page;
    153157}
    154158
    155159// rapatrier tout le contenu necessaire pour effectuer le rendu
    156 function comarquage_prepare_fichiers_xml($parametres, $profondeur = 2){
    157     static $parsed=array();
    158     if (isset($parsed[$parametres['xml_full_path']]))
    159         return $parsed[$parametres['xml_full_path']];
    160 
    161     $ma_page ="";
    162     $mise_a_jour = comarquage_lire_xml($parametres, $ma_page);
    163 
    164     if ($mise_a_jour == FALSE){
    165         $parsed[$parametres['xml_full_path']] = FALSE;
    166         return FALSE;
    167     }
    168     $parsed[$parametres['xml_full_path']] = TRUE;
    169 
    170 
    171     if ($profondeur>0 && $mise_a_jour !==FALSE && $parametres['xml']{0} != 'M') {
    172         $liste_ressources = comarquage_extraire_ressources($parametres['xml_full_path'], $ma_page);
    173 
    174 
    175     if ($liste_ressources !== FALSE)
    176             foreach ($liste_ressources as $v){
    177                 $pars = array_merge($parametres, array('xml' => $v,'xml_full_path' => dirname($parametres['xml_full_path']).'/'.$v));
    178                 comarquage_prepare_fichiers_xml($pars, $profondeur-1);
    179             }
    180 
    181         if ($liste_ressources === FALSE) {
    182             comarquage_error("impossible de recuperer les ressources associees au fichier $parametres[xml_full_path]");
    183             return FALSE;
    184         }
    185 
    186   }
    187 
    188     return TRUE;
    189 }
    190 
    191 
    192 // recuperer toutes les ressouces associees a un fichier xml,  inutile pour les flux v2
     160function comarquage_prepare_fichiers_xml($parametres, $profondeur = 2) {
     161        static $parsed = array();
     162        if (isset($parsed[$parametres['xml_full_path']])) {
     163                return $parsed[$parametres['xml_full_path']];
     164        }
     165
     166        $ma_page = "";
     167        $mise_a_jour = comarquage_lire_xml($parametres, $ma_page);
     168
     169        if ($mise_a_jour == false) {
     170                $parsed[$parametres['xml_full_path']] = false;
     171
     172                return false;
     173        }
     174        $parsed[$parametres['xml_full_path']] = true;
     175
     176        if ($profondeur > 0 && $mise_a_jour !== false && $parametres['xml']{0} != 'M') {
     177                $liste_ressources = comarquage_extraire_ressources($parametres['xml_full_path'], $ma_page);
     178
     179                if ($liste_ressources !== false) {
     180                        foreach ($liste_ressources as $v) {
     181                                $pars = array_merge($parametres, array(
     182                                        'xml' => $v,
     183                                        'xml_full_path' => dirname($parametres['xml_full_path']) . '/' . $v,
     184                                ));
     185                                comarquage_prepare_fichiers_xml($pars, $profondeur - 1);
     186                        }
     187                }
     188
     189                if ($liste_ressources === false) {
     190                        comarquage_error("impossible de recuperer les ressources associees au fichier $parametres[xml_full_path]");
     191
     192                        return false;
     193                }
     194
     195        }
     196
     197        return true;
     198}
     199
     200// recuperer toutes les ressources associees a un fichier xml, inutile pour les flux v2
    193201// dans un tableau
    194 function comarquage_extraire_ressources($fichier_xml, $ma_page){
    195     $liste_ressources=array();
    196     include_spip('inc/plugin');
    197     include_spip('inc/filtres');
    198     include_spip('inc/xml');
    199     $arbre = spip_xml_parse($ma_page);
    200     if (is_array($arbre)){
    201         $arbre = reset($arbre); // prendre le noeud racine
    202         $arbre = $arbre[0];
    203         if (isset($arbre['Fils']))
    204             foreach($arbre['Fils'] as $subtree)
    205                 foreach($subtree as $tag=>$val){
    206                     $f = extraire_attribut("<$tag>",'lien');
    207                     $f = basename($f,'.xml').'.xml';
    208                     $liste_ressources[]=$f;
    209                 }
    210     }
    211     // spip_log("*********************** DEBUT liste ressource","comarquage");
    212     // spip_log($liste_ressources,"comarquage");
    213     // spip_log("*********************** FIN liste ressource","comarquage");
    214     return $liste_ressources;
    215 }
    216 
    217 function & comarquage_transforme_fichier_xml($fichier_xml, $fichier_xsl = NULL, $parametres = NULL){
    218     static $_executable = 'xsltproc';
    219 
    220     $params = " --path "._DIR_CACHE._DIR_CACHE_COMARQUAGE_XML."/ ";
    221 
    222     if (is_array($parametres))
    223         foreach ($parametres as $k => $v) {
    224             $params .= '--stringparam '.escapeshellarg($k).' '.escapeshellarg($v).' ';
    225         }
    226 //       spip_log("<br><br>\n\nPAR'AM : $params","comarquage");
    227 
    228     $fichier_erreur = tempnam(_DIR_TMP_XSLT_COMARQUAGE, 'xsltprocErrors_');
    229 
    230     $charset = $GLOBALS['meta']['charset'];
    231     $commande = $_executable . $params . ($fichier_xsl ? $fichier_xsl.' ' : '');
    232     $commande .= $fichier_xml;
    233     $commande .=  " 2> $fichier_erreur | iconv --from-code=iso-8859-15 --to-code=$charset";
    234     // spip_log("commande XSLTPROC : ".$commande,"comarquage");
    235 
    236     exec($commande, $retour, $erreur_code);
    237     comarquage_error($commande);
    238 
    239     if (filesize($fichier_erreur)) {
    240         lire_fichier($fichier_erreur,$message);
    241         comarquage_error("la commande '$_executable $params' a retourné ($erreur_code) : $message");
    242     }
    243     unlink($fichier_erreur);
    244     return $erreur_code ? FALSE : $retour;
     202function comarquage_extraire_ressources($fichier_xml, $ma_page) {
     203        $liste_ressources = array();
     204        include_spip('inc/plugin');
     205        include_spip('inc/filtres');
     206        include_spip('inc/xml');
     207        $arbre = spip_xml_parse($ma_page);
     208        if (is_array($arbre)) {
     209                $arbre = reset($arbre); // prendre le noeud racine
     210                $arbre = $arbre[0];
     211                if (isset($arbre['Fils'])) {
     212                        foreach ($arbre['Fils'] as $subtree) {
     213                                foreach ($subtree as $tag => $val) {
     214                                        $f = extraire_attribut("<$tag>", 'lien');
     215                                        $f = basename($f, '.xml') . '.xml';
     216                                        $liste_ressources[] = $f;
     217                                }
     218                        }
     219                }
     220        }
     221        // spip_log("*********************** DEBUT liste ressource","comarquage");
     222        // spip_log($liste_ressources,"comarquage");
     223        // spip_log("*********************** FIN liste ressource","comarquage");
     224        return $liste_ressources;
     225}
     226
     227function & comarquage_transforme_fichier_xml($fichier_xml, $fichier_xsl = null, $parametres = null) {
     228        static $_executable = 'xsltproc';
     229
     230        $params = " --path " . _DIR_CACHE . _DIR_CACHE_COMARQUAGE_XML . "/ ";
     231
     232        if (is_array($parametres)) {
     233                foreach ($parametres as $k => $v) {
     234                        $params .= '--stringparam ' . escapeshellarg($k) . ' ' . escapeshellarg($v) . ' ';
     235                }
     236        }
     237        //       spip_log("<br><br>\n\nPAR'AM : $params","comarquage");
     238
     239        $fichier_erreur = tempnam(_DIR_TMP_XSLT_COMARQUAGE, 'xsltprocErrors_');
     240
     241        $charset = $GLOBALS['meta']['charset'];
     242        $commande = $_executable . $params . ($fichier_xsl ? $fichier_xsl . ' ' : '');
     243        $commande .= $fichier_xml;
     244        $commande .= " 2> $fichier_erreur | iconv --from-code=iso-8859-15 --to-code=$charset";
     245        // spip_log("commande XSLTPROC : ".$commande,"comarquage");
     246
     247        exec($commande, $retour, $erreur_code);
     248        comarquage_error($commande);
     249
     250        if (filesize($fichier_erreur)) {
     251                lire_fichier($fichier_erreur, $message);
     252                comarquage_error("la commande '$_executable $params' a retourné ($erreur_code) : $message");
     253        }
     254        unlink($fichier_erreur);
     255
     256        return $erreur_code ? false : $retour;
    245257}
    246258
    247259// definir le nom du fichier de stockage de la page en cache
    248 function comarquage_prepare_parametres_cache(& $parametres,$url_base){
    249     spip_log("Paramètre avant comarquage_prepare_parametres_cache","comarquage");
    250     spip_log($parametres,"comarquage");
    251 
    252     $cache_id = '';
    253     if (isset($parametres['lettre'])) $cache_id .= 'l'.$parametres['lettre'];
    254     if (isset($parametres['motcle'])) $cache_id .= 'm'.md5($parametres['motcle']);
    255     $cache_id .= md5($url_base.$parametres['categorie']);
    256 
    257     $parametres['cache_full_path'] = sous_repertoire(_DIR_CACHE,_DIR_CACHE_COMARQUAGE_CACHE).
    258         basename($parametres['xml'], '.xml').
    259         ($cache_id ? '.'.$cache_id : '').'.cache';
    260 
    261         spip_log("Paramètre APRES comarquage_prepare_parametres_cache","comarquage");
    262         spip_log($parametres,"comarquage");
     260function comarquage_prepare_parametres_cache(& $parametres, $url_base) {
     261        spip_log("Paramètre avant comarquage_prepare_parametres_cache", "comarquage");
     262        spip_log($parametres, "comarquage");
     263
     264        $cache_id = '';
     265        if (isset($parametres['lettre'])) {
     266                $cache_id .= 'l' . $parametres['lettre'];
     267        }
     268        if (isset($parametres['motcle'])) {
     269                $cache_id .= 'm' . md5($parametres['motcle']);
     270        }
     271        $cache_id .= md5($url_base . $parametres['categorie']);
     272
     273        $parametres['cache_full_path'] = sous_repertoire(_DIR_CACHE, _DIR_CACHE_COMARQUAGE_CACHE) . basename($parametres['xml'], '.xml') . ($cache_id ? '.' . $cache_id : '') . '.cache';
     274
     275        spip_log("Param�tre APRES comarquage_prepare_parametres_cache", "comarquage");
     276        spip_log($parametres, "comarquage");
    263277}
    264278
    265279// lire le fichier xml parse en cache
    266280function & comarquage_lire_cache($parametres) {
    267     $fichier = $parametres['cache_full_path'];
    268     if (file_exists($fichier)
    269         && ($t = filemtime($fichier))
    270         && (time()-$t < $GLOBALS['meta']['comarquage_local_timeout'])
    271         && ($t > filemtime($parametres['xml_full_path']))
    272         && ($t > filemtime(dirname($parametres['xsl_full_path'])))
    273         ) {
    274 
    275         $ma_page = "";
    276         if (lire_fichier ($fichier, $ma_page))
    277             return $ma_page;
    278     }
    279 
    280     return FALSE;
     281        $fichier = $parametres['cache_full_path'];
     282        if (file_exists($fichier) && ($t = filemtime($fichier)) && (time() - $t < $GLOBALS['meta']['comarquage_local_timeout']) && ($t > filemtime($parametres['xml_full_path'])) && ($t > filemtime(dirname($parametres['xsl_full_path'])))) {
     283
     284                $ma_page = "";
     285                if (lire_fichier($fichier, $ma_page)) {
     286                        return $ma_page;
     287                }
     288        }
     289
     290        return false;
    281291}
    282292
    283293function & comarquage_lire_xml($parametres, &$ma_page) {
    284     $fichier = $parametres['xml_full_path'];
    285     // on ne recharge pas la page ici du moment qu'elle n'est pas trop vieille
    286     // la reactualisation des pages est réalisée preferentiellement par tache cron
    287 
    288     if (($ok = file_exists($parametres['xml_full_path'])) &&
    289         time() - filemtime($parametres['xml_full_path']) < $GLOBALS['meta']['comarquage_local_timeout']) {
    290         $mise_a_jour = 10;
    291     }
    292     else if (!$mise_a_jour = comarquage_recuperer_page_xml($parametres)) {
    293         comarquage_error("erreur de telechargement du fichier $parametres[xml]; ".
    294         ($ok ? "l'action continue avec le fichier présent dans le cache ".
    295         "mais la connexion au serveur externe doit être retablie" :
    296         "l'action ne peut pas être poursuivie car le fichier n'existe pas ".
    297         "dans le cache"));
    298         if ($ok==FALSE) return FALSE;
    299         $mise_a_jour = 10;
    300     }
    301 
    302     if (lire_fichier ($fichier, $ma_page))
    303         return $mise_a_jour;
    304     else
    305         return FALSE;
     294        $fichier = $parametres['xml_full_path'];
     295        // on ne recharge pas la page ici du moment qu'elle n'est pas trop vieille
     296        // la reactualisation des pages est r�alis�e preferentiellement par tache cron
     297
     298        if (($ok = file_exists($parametres['xml_full_path'])) && time() - filemtime($parametres['xml_full_path']) < $GLOBALS['meta']['comarquage_local_timeout']) {
     299                $mise_a_jour = 10;
     300        } else {
     301                if (!$mise_a_jour = comarquage_recuperer_page_xml($parametres)) {
     302                        comarquage_error("erreur de telechargement du fichier $parametres[xml]; " . ($ok ? "l'action continue avec le fichier présent dans le cache " . "mais la connexion au serveur externe doit être retablie" : "l'action ne peut pas être poursuivie car le fichier n'existe pas " . "dans le cache"));
     303                        if ($ok == false) {
     304                                return false;
     305                        }
     306                        $mise_a_jour = 10;
     307                }
     308        }
     309
     310        if (lire_fichier($fichier, $ma_page)) {
     311                return $mise_a_jour;
     312        } else {
     313                return false;
     314        }
    306315}
    307316
     
    309318// retourne FALSE en cas d'echec
    310319// 20 en cas de telechargement correct
    311 function comarquage_recuperer_page_xml($parametres){
    312 
    313         // En fonction de la catégorie (particulier / associations / professionnels) l'url cible n'est pas la même
    314         switch ($parametres['categorie']) {
    315         case "particuliers":
    316             $url = "http://lecomarquage.service-public.fr/vdd/2.3/part/xml/";
    317         break;
    318 
    319         case "associations":
    320             $url = "http://lecomarquage.service-public.fr/vdd/2.3/asso/xml/";
    321         break;
    322 
    323         case 'entreprises':
    324             $url = "http://lecomarquage.service-public.fr/vdd/2.3/pro/xml/";
    325         break;
    326 
    327         default:
    328             $url = "http://lecomarquage.service-public.fr/vdd/2.3/part/xml/";
    329             $parametres['categorie'] = "particuliers";
    330         break;
    331         }
    332     //$url = $GLOBALS['meta']['comarquage_xml_server'];
    333 
    334     //get xml 000-PTA-Themes.xml evite les arborescences enormes
    335     $default_xml_file = lire_config('comarquage/default_xml_file');
    336     if($parametres['categorie'] == "particuliers" and $parametres['xml'] == $default_xml_file){
    337         $url =   url_absolue(find_in_path(_DIR_PLUGIN_COMARQUAGE.'xml/part/'));
    338         $parametres['xml'] = "000-PTA-Themes.xml";
    339     } elseif($parametres['categorie'] == "entreprises" and $parametres['xml'] == $default_xml_file) {
    340         $url =   url_absolue(find_in_path(_DIR_PLUGIN_COMARQUAGE.'xml/pro/'));
    341         $parametres['xml'] = "000-PTA-Themes.xml";
    342     }
    343 
    344     $url = $url.$parametres['xml'];
    345     spip_log("URL du flux : $url","comarquage");
    346 
    347     include_spip('inc/distant');
    348     $ma_page = recuperer_page($url,false,false,11000000);
    349     // TEMPO
    350     //~ $ma_page = file_get_contents($parametres['xml_full_path']);
    351 
    352     if ($ma_page===FALSE || !strlen($ma_page)) return FALSE;
    353 
    354     /* Return 20 if the file has been downloaded OK. */
    355     ecrire_fichier($parametres['xml_full_path'],$ma_page);
    356 
    357     /*
    358     spip_log('************************** DEBUT paramètres recuperer_page_xml',"comarquage");
    359     spip_log($parametres,"comarquage");
    360     spip_log('************************** FIN paramètres recuperer_page_xml',"comarquage");
    361     */
    362 
    363     return 20;
     320function comarquage_recuperer_page_xml($parametres) {
     321
     322        // En fonction de la catégorie (particulier / associations / professionnels) l'url cible n'est pas la même
     323        switch ($parametres['categorie']) {
     324                case "particuliers":
     325                        $url = "http://lecomarquage.service-public.fr/vdd/2.3/part/xml/";
     326                        break;
     327
     328                case "associations":
     329                        $url = "http://lecomarquage.service-public.fr/vdd/2.3/asso/xml/";
     330                        break;
     331
     332                case 'entreprises':
     333                        $url = "http://lecomarquage.service-public.fr/vdd/2.3/pro/xml/";
     334                        break;
     335
     336                default:
     337                        $url = "http://lecomarquage.service-public.fr/vdd/2.3/part/xml/";
     338                        $parametres['categorie'] = "particuliers";
     339                        break;
     340        }
     341        //$url = $GLOBALS['meta']['comarquage_xml_server'];
     342
     343        //get xml 000-PTA-Themes.xml evite les arborescences enormes
     344        $default_xml_file = lire_config('comarquage/default_xml_file');
     345        if ($parametres['categorie'] == "particuliers" and $parametres['xml'] == $default_xml_file) {
     346                $url = url_absolue(find_in_path(_DIR_PLUGIN_COMARQUAGE . 'xml/part/'));
     347                $parametres['xml'] = "000-PTA-Themes.xml";
     348        } elseif ($parametres['categorie'] == "entreprises" and $parametres['xml'] == $default_xml_file) {
     349                $url = url_absolue(find_in_path(_DIR_PLUGIN_COMARQUAGE . 'xml/pro/'));
     350                $parametres['xml'] = "000-PTA-Themes.xml";
     351        }
     352
     353        $url = $url . $parametres['xml'];
     354        spip_log("URL du flux : $url", "comarquage");
     355
     356        include_spip('inc/distant');
     357        $ma_page = recuperer_page($url, false, false, 11000000);
     358        // TEMPO
     359        //~ $ma_page = file_get_contents($parametres['xml_full_path']);
     360
     361        if ($ma_page === false || !strlen($ma_page)) {
     362                return false;
     363        }
     364
     365        /* Return 20 if the file has been downloaded OK. */
     366        ecrire_fichier($parametres['xml_full_path'], $ma_page);
     367
     368        /*
     369        spip_log('************************** DEBUT paramètres recuperer_page_xml',"comarquage");
     370        spip_log($parametres,"comarquage");
     371        spip_log('************************** FIN paramètres recuperer_page_xml',"comarquage");
     372        */
     373
     374        return 20;
    364375}
    365376
    366377// enregistrer les erreurs dans le spip log
    367 function comarquage_error($sError, $iType = E_USER_WARNING){
    368   spip_log('[ServicePublic] '.$iType.' '.$sError,"comarquage");
     378function comarquage_error($sError, $iType = E_USER_WARNING) {
     379        spip_log('[ServicePublic] ' . $iType . ' ' . $sError, "comarquage");
    369380}
    370381
    371382// verifier la disponibilite d'un processeur xsl
    372 function comarquage_processeur_disponible(){
    373     static $_available = NULL;
    374     static $_executable = 'xsltproc';
    375 
    376     // on ne verifie qu'une fois a chaque hit
    377     if ($_available === NULL){
    378         foreach (explode(':', getenv('PATH')) as $sPath) {
    379             //if (function_exists('is_executable'))
    380             //  if (is_executable($sPath.'/'.$_executable))
    381                     $_available = TRUE;
    382         }
    383 
    384         if ($_available !== TRUE){
    385             comarquage_error("l'executable $_executable n'a pas ete ".
    386             "trouvé dans le PATH ('".getenv('PATH')."')");
    387             $_available = FALSE;
    388         }
    389     }
    390     return $_available;
    391 }
    392 
    393 ?>
     383function comarquage_processeur_disponible() {
     384        static $_available = null;
     385        static $_executable = 'xsltproc';
     386
     387        // on ne verifie qu'une fois a chaque hit
     388        if ($_available === null) {
     389                foreach (explode(':', getenv('PATH')) as $sPath) {
     390                        //if (function_exists('is_executable'))
     391                        //  if (is_executable($sPath.'/'.$_executable))
     392                        $_available = true;
     393                }
     394
     395                if ($_available !== true) {
     396                        comarquage_error("L'executable $_executable n'a pas été " . "trouvé dans le PATH ('" . getenv('PATH') . "')");
     397                        $_available = false;
     398                }
     399        }
     400
     401        return $_available;
     402}
     403
  • _plugins_/comarquage/trunk/lang/comarquage_fr.php

    r91572 r98215  
    44
    55$GLOBALS[$GLOBALS['idx_lang']] = array(
    6 'comarquage' => 'Le comarquage du service public',
    7 'titre_config' => 'Configurer le comarquage',
     6        'comarquage' => 'Le comarquage du service public',
     7        'titre_config' => 'Configurer le comarquage',
    88
    9 'avis_serveur_indisponible' => "La page Service Public ne peut &ecirc;tre affich&eacute;e pour le moment car le contenu XML n'est pas disponible.<br/>
    10 Le serveur de la documentation fran&ccedil;aise pourrait &egrave;tre momentan&eacute;ment hors ligne.<br/>
    11 Veuillez r&eacute;essayer ult&eacute;rieurement.",
    12 'avis_erreur' => "Une erreur interne s'est produite. Nous faisons notre possible pour la corriger dans les meilleurs d&eacute;lais.<br/>
    13 Nous vous remercions de votre compr&eacute;hension",
     9        'avis_serveur_indisponible' => "La page Service Public ne peut &ecirc;tre affich&eacute;e pour le moment car le contenu XML n'est pas disponible.<br/>Le serveur de la documentation fran&ccedil;aise pourrait &egrave;tre momentan&eacute;ment hors ligne.<br/>Veuillez r&eacute;essayer ult&eacute;rieurement.",
     10        'avis_erreur' => "Une erreur interne s'est produite. Nous faisons notre possible pour la corriger dans les meilleurs d&eacute;lais.<br/>Nous vous remercions de votre compr&eacute;hension",
    1411
    15 'cfg_local_refresh'=> 'Periodicit&eacute; de mise &agrave; jour en tache de fonds (secondes) [259200] :',
    16 'cfg_local_timeout'=> 'Periodicit&eacute; maxi de p&eacute;remption (secondes) [604800] :',
    17 'cfg_default_xml_file' => 'Fiche XML par d&eacute;faut [arborescence.xml] :',
    18 'cfg_default_xsl_file' => 'Fiche XSL par d&eacute;faut [spMainArborescence.xsl] :',
    19 'cfg_code_insee' => 'Code INSEE de la commune (5 chiffres sans espace ou #INSEE# si non applicable)'
     12        'cfg_local_refresh' => 'Periodicit&eacute; de mise &agrave; jour en tache de fonds (secondes) [259200] :',
     13        'cfg_local_timeout' => 'Periodicit&eacute; maxi de p&eacute;remption (secondes) [604800] :',
     14        'cfg_default_xml_file' => 'Fiche XML par d&eacute;faut [arborescence.xml] :',
     15        'cfg_default_xsl_file' => 'Fiche XSL par d&eacute;faut [spMainArborescence.xsl] :',
     16        'cfg_code_insee' => 'Code INSEE de la commune (5 chiffres sans espace ou #INSEE# si non applicable)',
    2017
    2118);
    2219
    23 
    2420?>
  • _plugins_/comarquage/trunk/lang/paquet-comarquage_fr.php

    r73586 r98215  
    11<?php
    22
    3 
    4 if (!defined('_ECRIRE_INC_VERSION')) return;
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4        return;
     5}
    56
    67$GLOBALS[$GLOBALS['idx_lang']] = array(
    7     'comarquage_description' => "Ce plugin n&#233;ecessite la pr&#233;sence
    8         de libxslt sur votre serveur, utilisable en ligne de commande par
    9         'xsltproc', et que la commande php 'exec' ne soit pas inhib&#233;e.",
    10     'comarquage_slogan' => 'Rediffuser le flux de la documentation fran&#231;aise du service public',
     8        'comarquage_description' => "Ce plugin n&#233;ecessite la pr&#233;sence de libxslt sur votre serveur, utilisable en ligne de commande par 'xsltproc', et que la commande php 'exec' ne soit pas inhib&#233;e.",
     9        'comarquage_slogan' => 'Rediffuser le flux de la documentation fran&#231;aise du service public',
    1110);
    1211?>
  • _plugins_/comarquage/trunk/prive/squelettes/contenu/configurer_comarquage.html

    r73586 r98215  
    44
    55<div class="ajax">
    6     #FORMULAIRE_CONFIGURER_COMARQUAGE
     6        #FORMULAIRE_CONFIGURER_COMARQUAGE
    77</div>
Note: See TracChangeset for help on using the changeset viewer.