Ignore:
Timestamp:
Mar 23, 2012, 7:23:19 PM (9 years ago)
Author:
gildas.cotomale@…
Message:

homogenisation+refactorisation interface/source/etc. diverses corrections

File:
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/Association/Associaspip/exec/export_compteresultats_xml.php

    r59463 r59668  
    1616
    1717// Export du Compte de Resultat au format Xml
    18 
    19 function exec_export_compte_resultat_xml() {
    20         if (!autoriser('associer', 'export_compte_resultat_xml')) {
     18function exec_export_compteresultats_xml() {
     19        if (!autoriser('associer', 'export_compteresultats_xml')) {
    2120                include_spip('inc/minipres');
    2221                echo minipres();
    23         }
    24         else {
    25 
     22        } else {
    2623                include_spip('inc/charsets');
    2724                include_spip('inc/association_plan_comptable');
     
    3330                }
    3431                $xml->Pied();
    35                 $xml->Enregistre('cpte_resultat.xml');
     32                $xml->Enregistre();
    3633        }
    3734}
     
    5148
    5249        function __construct($var) {
    53                 $tableau = @unserialize($var);
    54                 $this->exercice = $tableau[0]; $this->join = $tableau[1]; $this->sel = $tableau[2];
    55                 $this->where = $tableau[3]; $this->having = $tableau[4]; $this->order = $tableau[5];
     50                $tableau = unserialize(rawurldecode($var));
     51                $this->exercice = $tableau[0];
     52                $this->join = $tableau[1];
     53                $this->sel = $tableau[2];
     54                $this->where = $tableau[3];
     55                $this->having = $tableau[4];
     56                $this->order = $tableau[5];
    5657                $this->out = '';
    5758        }
    5859
    5960        function EnTete() {
    60                 $this->out .= '<?xml version="1.0" encoding="iso-8859-1"?>'."\n";
    61                 $this->out .= '<CompteDeResultat>'."\n";
    62                 $this->out .= '<Entete>'."\n";
    63                 $this->out .= '<Titre>'. html_entity_decode(_T('asso:cpte_resultat_titre_general')) .'</Titre>'."\n";
    64                 $this->out .= '<Nom>Association - '. utf8_decode($GLOBALS['association_metas']['nom']) .'</Nom>'."\n";
    65                 $this->out .= '<Exercice>Exercice : '. utf8_decode(exercice_intitule($this->exercice)) .'</Exercice>'."\n";
    66                 $this->out .= '</Entete>'."\n";
     61                $this->out .= '<?xml version="1.0" encoding="'.$GLOBALS['meta']['charset'].'"?>'."\n";
     62                $this->out .= "<CompteDeResultat>\n";
     63                $this->out .= "<Entete>\n";
     64                $this->out .= '<Titre>'. utf8_decode(html_entity_decode(_T('asso:cpte_resultat_titre_general'))) ."</Titre>\n";
     65                $this->out .= '<Nom>'. $GLOBALS['association_metas']['nom'] ."</Nom>\n";
     66                $this->out .= '<Exercice>'. sql_asso1champ('exercice', $this->exercice, 'intitule') ."</Exercice>\n";
     67                $this->out .= "</Entete>\n";
    6768        }
    6869
     
    7980                                break;
    8081                }
    81 
    82                 $this->out .= '<'. ucfirst($key) .'>'."\n";
     82                $this->out .= '<'. ucfirst($key) .">\n";
    8383                $query = sql_select(
    84                                 "imputation, $quoi, date_format(date, '%Y') AS annee" . $this->sel,
    85                                 'spip_asso_comptes' . $this->join,
    86                                 $this->where, $this->order, 'code ASC', '',
    87                                 $this->having . $GLOBALS['association_metas']['classe_' . $key]);
     84                        "imputation, $quoi, DATE_FORMAT(date, '%Y') AS annee ".$this->sel, // select
     85                        'spip_asso_comptes'.$this->join, // from
     86                        $this->where, // where
     87                        $this->order, // group by
     88                        $this->order, // order by
     89                        '', // limit
     90                        $this->having .$GLOBALS['association_metas']['classe_'.$key] // having
     91                );
    8892                $chapitre = '';
    8993                $i = 0;
    9094                while ($data = sql_fetch($query)) {
    9195                        if ($key==='contributions_volontaires') {
    92                                 $charge_evaluee = $data['charge_evaluee'];
    93                                 $produit_evalue = $data['produit_evalue'];
    94                         }
    95                         else {
     96                                if ($data['charge_evaluee']>0) {
     97                                        $valeurs = $data['charge_evaluee'];
     98                                } else {
     99                                        $valeurs = $data['produit_evalue'];
     100                                }
     101                        } else {
    96102                                $valeurs = $data['valeurs'];
    97103                        }
     
    99105                        if ($chapitre!=$new_chapitre) {
    100106                                if ($chapitre!='') {
    101                                         $this->out .= '</Chapitre>'."\n";
     107                                        $this->out .= "</Chapitre>\n";
    102108                                }
    103                                 $this->out .= '<Chapitre>'."\n";
    104                                 $this->out .= '<Code>'. utf8_decode($new_chapitre) .'</Code>'."\n";
    105                                 $this->out .= '<Libelle>'. utf8_decode(association_plan_comptable_complet($new_chapitre)) .'</Libelle>'."\n";
     109                                $this->out .= "<Chapitre>\n";
     110                                $this->out .= '<Code>'. str_replace(array('<','>'), array('&lt;','&gt;'), $new_chapitre) ."</Code>\n";
     111                                $this->out .= '<Libelle>'. str_replace(array('<','>'), array('&lt;','&gt;'), ($GLOBALS['association_metas']['plan_comptable_prerenseigne']?association_plan_comptable_complet($new_chapitre):sql_getfetsel('intitule','spip_asso_plan',"code='$new_chapitre'"))) ."</Libelle>\n";
    106112                                $chapitre = $new_chapitre;
    107113                        }
    108                         $this->out .= '<Categorie>'."\n";
    109                         $this->out .= '<Code>'. utf8_decode($data['code']) .'</Code>'."\n";
    110                         $this->out .= '<Intitule>'. utf8_decode($data['intitule']) .'</Intitule>'."\n";
    111                         if ($key==='contributions_volontaires') {
    112                                 if ($charge_evaluee>0) {
    113                                         $this->out .= '<Montant>'. number_format($charge_evaluee, 2, ',', ' ') .'</Montant>'."\n";
    114                                 }
    115                                 else {
    116                                         $this->out .= '<Montant>'. number_format($produit_evalue, 2, ',', ' ') .'</Montant>'."\n";
    117                                 }
    118                         }
    119                         else {
    120                                 $this->out .= '<Montant>'. number_format($valeurs, 2, ',', ' ') .'</Montant>'."\n";
    121                         }
    122                         $this->out .= '</Categorie>'."\n";
     114                        $this->out .= "<Categorie>\n";
     115                        $this->out .= '<Code>'. str_replace(array('<','>'), array('&lt;','&gt;'), $data['code']) ."</Code>\n";
     116                        $this->out .= '<Intitule>'. str_replace(array('<','>'), array('&lt;','&gt;'), $data['intitule']) ."</Intitule>\n";
     117                        $this->out .= "<Montant>$valeurs</Montant>\n";
     118                        $this->out .= "</Categorie>\n";
    123119                }
    124120                if ($chapitre!='') {
    125                         $this->out .= '</Chapitre>'."\n";
     121                        $this->out .= "</Chapitre>\n";
    126122                }
    127123                $this->out .= '</'. ucfirst($key) .'>'."\n";
     
    132128        }
    133129
    134         function Enregistre($fichier) {
     130        function Enregistre() {
     131                $fichier =_DIR_RACINE.'/'._NOM_TEMPORAIRES_ACCESSIBLES.'compte_resultats_'.$this->exercice.'.xml';
    135132                $f = fopen($fichier, 'w');
    136133                fputs($f, $this->out);
     
    138135                header('Content-Type: text/xml');
    139136                header('Content-Type: application/xml');
    140                 header('Content-Disposition: attachment; filename="' . $fichier . '"');
     137                header('Content-Disposition: attachment; filename="'.$fichier.'"');
    141138                readfile($fichier);
    142139        }
Note: See TracChangeset for help on using the changeset viewer.