Changeset 58825 in spip-zone


Ignore:
Timestamp:
Feb 25, 2012, 1:19:42 PM (8 years ago)
Author:
gildas.cotomale@…
Message:

diverses correction et uniformisation des sources et de l'interface ; + qq ajouts non finalisisees

Location:
_plugins_/Association/Associaspip
Files:
1 deleted
21 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/Association/Associaspip/action/editer_asso_dons.php

    r58798 r58825  
    3535        if ($id_don) { /* c'est une modification */
    3636                // on modifie les operations comptables associees au don
    37                 association_modifier_operation_comptable($date_don, $argent, 0, "[don$id_don->don$id_don] - ". ($id_adherent?"[$bienfaiteur->membre$id_adherent]":$bienfaiteur), $GLOBALS['association_metas']['pc_dons'], $journal, $id_don, $id_compte);
     37                association_modifier_operation_comptable($date_don, $argent, 0, "[don$id_don->don$id_don] -- ". ($id_adherent?"[$bienfaiteur->membre$id_adherent]":$bienfaiteur), $GLOBALS['association_metas']['pc_dons'], $journal, $id_don, $id_compte);
    3838                $association_imputation = charger_fonction('association_imputation', 'inc');
    3939                $critere = $association_imputation('pc_colis');
    4040                $critere .= ($critere?' AND ':'') ."id_journal=$id_don";
    41                 association_modifier_operation_comptable($date_don, $valeur, 0, "[colis$id_don->don$id_don] - ". ($id_adherent?"[$bienfaiteur->membre$id_adherent]":$bienfaiteur), $GLOBALS['association_metas']['pc_colis'], $journal, $id_don, sql_getfetsel('id_compte', 'spip_asso_comptes', $critere) );
     41                association_modifier_operation_comptable($date_don, $valeur, 0, "[colis$id_don->don$id_don] -- ". ($id_adherent?"[$bienfaiteur->membre$id_adherent]":$bienfaiteur), $GLOBALS['association_metas']['pc_colis'], $journal, $id_don, sql_getfetsel('id_compte', 'spip_asso_comptes', $critere) );
    4242                // on modifie les informations relatives au don
    4343                sql_updateq('spip_asso_dons', array(
     
    6666                        $erreur = _T('Erreur_BdD_ou_SQL');
    6767                } else { // on ajoute les operations comptables associees au don
    68                         association_ajouter_operation_comptable($date_don, $argent, 0, "[don$id_don->don$id_don] - ". ($id_adherent?"[$bienfaiteur->membre$id_adherent]":$bienfaiteur), $GLOBALS['association_metas']['pc_dons'], $journal, $id_don);
    69                         association_ajouter_operation_comptable($date_don, $valeur, 0, "[colis$id_don->don$id_don] - ". ($id_adherent?"[$bienfaiteur->membre$id_adherent]":$bienfaiteur), $GLOBALS['association_metas']['pc_colis'], $journal, $id_don);
     68                        association_ajouter_operation_comptable($date_don, $argent, 0, "[don$id_don->don$id_don] -- ". ($id_adherent?"[$bienfaiteur->membre$id_adherent]":$bienfaiteur), $GLOBALS['association_metas']['pc_dons'], $journal, $id_don);
     69                        association_ajouter_operation_comptable($date_don, $valeur, 0, "[colis$id_don->don$id_don] -- ". ($id_adherent?"[$bienfaiteur->membre$id_adherent]":$bienfaiteur), $GLOBALS['association_metas']['pc_colis'], $journal, $id_don);
    7070                }
    7171        }
  • _plugins_/Association/Associaspip/action/editer_asso_prets.php

    r57780 r58825  
    4242    if ($id_pret) { /* modification */
    4343        // on modifie l'operation comptable associe au don
    44         association_modifier_operation_comptable($date_retour, $montant, 0, "[pret$id_pret->pret$id_pret] - ". ($id_emprunteur?"[$emprunteur->membre$id_emprunteur]":$emprunteur), $GLOBALS['association_metas']['pc_prets'], $journal, '', $id_compte);
     44        association_modifier_operation_comptable($date_retour, $montant*($duree?$duree:1), 0, "[pret$id_pret->pret$id_pret] - ". ($id_emprunteur?"[$emprunteur->membre$id_emprunteur]":$emprunteur), $GLOBALS['association_metas']['pc_prets'], $journal, '', $id_compte);
    4545        // on modifie les informations relatives au pret
    4646        sql_updateq('spip_asso_prets', array(
     
    5151            'commentaire_sortie' => $commentaire_sortie,
    5252            'statut' => $statut,
     53            'prix_unitaire' => $montant,
    5354        ), "id_pret=$id_pret" );
    5455        // on met a jour le statut de la ressource
     
    6667            'id_emprunteur' => $id_emprunteur,
    6768            'commentaire_sortie' => $commentaire_sortie,
    68             'commentaire_retour' => $commentaire_retour
     69            'commentaire_retour' => $commentaire_retour,
     70            'prix_unitaire' => $montant,
    6971        ));
    7072        if ($id_pret) {
     
    7779            $erreur = _T('Erreur_BdD_ou_SQL');
    7880        // on ajoute l'operation comptable associe au pret
    79         association_ajouter_operation_comptable($date_sortie, $montant, 0, "[pret$id_pret->pret$id_pret] - ". ($id_emprunteur?"[$emprunteur->membre$id_emprunteur]":$emprunteur), $GLOBALS['association_metas']['pc_prets'], $journal, $id_pret);
    80         $id_pret = prets_ajouter($id_ressource, $id_emprunteur, $date_sortie, $duree, $date_retour, $journal, $montant, $commentaire_sortie,$commentaire_retour);
     81        association_ajouter_operation_comptable($date_sortie, $montant*($duree?$duree:1), 0, "[pret$id_pret->pret$id_pret] - ". ($id_emprunteur?"[$emprunteur->membre$id_emprunteur]":$emprunteur), $GLOBALS['association_metas']['pc_prets'], $journal, $id_pret);
    8182    }
    8283    return array($id_pret, $erreur);
  • _plugins_/Association/Associaspip/action/editer_asso_ventes.php

    r58798 r58825  
    2626        $article = _request('article');
    2727        $code = _request('code');
     28        $id_acheteur = intval(_request('id_acheteur'));
    2829        $acheteur = _request('acheteur');
    29         $id_acheteur = intval(_request('id_acheteur'));
     30        if (!$acheteur AND $id_acheteur) {
     31                $data =  sql_fetsel('sexe, nom_famille, prenom', 'spip_asso_membres', "id_auteur=$id_acheteur");
     32                $acheteur = association_calculer_nom_membre($data['sexe'], $data['prenom'], $data['nom_famille']);
     33        }
    3034        $quantite = association_recupere_montant(_request('quantite'));
    3135        $date_envoi = _request('date_envoi');
     
    4953                }
    5054        }
    51         $justification = "[vente$id_vente->vente$id_vente]";
    5255        $prix_total = $quantite*$prix_unite;
    5356
     
    5861                        'code' => $code,
    5962                        'acheteur' => $acheteur,
     63                        'id_acheteur' => $id_acheteur,
    6064                        'quantite' => $quantite,
    6165                        'date_envoi' => $date_envoi,
     
    6569                ), "id_vente=$id_vente" );
    6670                if ($GLOBALS['association_metas']['pc_ventes']==$GLOBALS['association_metas']['pc_frais_envoi']) { /* si ventes et frais d'envoi sont associes a la meme reference, on modifie une seule operation */
    67                         association_modifier_operation_comptable($date_vente, $prix_total+$frais_envoi, 0, "$justification - $article", $GLOBALS['association_metas']['pc_ventes'], $journal, $id_vente, $id_compte);
     71                        association_modifier_operation_comptable($date_vente, $prix_total+$frais_envoi, 0, "[vente$id_vente->vente$id_vente] : $quantite × '$code' -- ". ($id_acheteur?"[$acheteur->membre$id_acheteur]":$acheteur), $GLOBALS['association_metas']['pc_ventes'], $journal, $id_vente, $id_compte);
    6872                } else { /* sinon on en modifie deux */
    69                         association_modifier_operation_comptable($date_vente, $prix_total, 0, "$justification - $article", $GLOBALS['association_metas']['pc_ventes'], $journal, $id_vente, $id_compte);
     73                        association_modifier_operation_comptable($date_vente, $prix_total, 0, "[vente$id_vente->vente$id_vente] : $quantite × '$code' -- ". ($id_acheteur?"[$acheteur->membre$id_acheteur]":$acheteur), $GLOBALS['association_metas']['pc_ventes'], $journal, $id_vente, $id_compte);
    7074                        $association_imputation = charger_fonction('association_imputation', 'inc');
    7175                        $critere = $association_imputation('pc_frais_envoi');
    7276                        $critere .= ($critere?' AND ':'') ."id_journal=$id_vente";
    73                         association_modifier_operation_comptable($date_vente, $frais_envoi, 0, "$justification - frais d'envoi", $GLOBALS['association_metas']['pc_frais_envoi'], $journal, $id_vente, sql_getfetsel('id_compte', 'spip_asso_comptes', $critere));
     77                        association_modifier_operation_comptable($date_vente, $frais_envoi, 0, "[vente$id_vente->vente$id_vente] : frais d'envoi -- ". ($id_acheteur?"[$acheteur->membre$id_acheteur]":$acheteur), $GLOBALS['association_metas']['pc_frais_envoi'], $journal, $id_vente, sql_getfetsel('id_compte', 'spip_asso_comptes', $critere));
    7478                }
    7579        } else { /* ajout */
     
    7983                        'code' => $code,
    8084                        'acheteur' => $acheteur,
     85                        'id_acheteur' => $id_acheteur,
    8186                        'quantite' => $quantite,
    8287                        'date_envoi' => $date_envoi,
     
    8994                } else { // on ajoute les operations comptables associees a la vente
    9095                        if ($GLOBALS['association_metas']['pc_ventes']==$GLOBALS['association_metas']['pc_frais_envoi']) { /* si ventes et frais d'envoi sont associes a la meme reference, on ajoute une seule operation */
    91                                 association_ajouter_operation_comptable($date_vente, $prix_total+$frais_envoi, 0, "$justification - $article", $GLOBALS['association_metas']['pc_ventes'], $journal, $id_vente);
     96                                association_ajouter_operation_comptable($date_vente, $prix_total+$frais_envoi, 0, "[vente$id_vente->vente$id_vente] : $quantite × '$code' -- ". ($id_acheteur?"[$acheteur->membre$id_acheteur]":$acheteur), $GLOBALS['association_metas']['pc_ventes'], $journal, $id_vente);
    9297                        } else { /* sinon on en insere deux */
    93                                 association_ajouter_operation_comptable($date_vente, $prix_total, 0, "$justification - $article", $GLOBALS['association_metas']['pc_ventes'], $journal, $id_vente);
    94                                 association_ajouter_operation_comptable($date_vente, $frais_envoi, 0, "$justification - frais d'envoi", $GLOBALS['association_metas']['pc_frais_envoi'], $journal, $id_vente);
     98                                association_ajouter_operation_comptable($date_vente, $prix_total, 0, "[vente$id_vente->vente$id_vente] : $quantite × '$code' -- ". ($id_acheteur?"[$acheteur->membre$id_acheteur]":$acheteur), $GLOBALS['association_metas']['pc_ventes'], $journal, $id_vente);
     99                                association_ajouter_operation_comptable($date_vente, $frais_envoi, 0, "[vente$id_vente->vente$id_vente] : frais d'envoi -- ". ($id_acheteur?"[$acheteur->membre$id_acheteur]":$acheteur), $GLOBALS['association_metas']['pc_frais_envoi'], $journal, $id_vente);
    95100                        }
    96101                }
  • _plugins_/Association/Associaspip/association_options.php

    r58798 r58825  
    560560}
    561561
     562// Tableau presentant les chiffres de synthese de la statistique descriptive dans le bloc infos
     563// On prend en entree : la table du plugin sur laquelle va porter les statistique, un tableau de item de langue decrivant la ligne et liste des champs sur lesquels calcuer les statistiques, le critere de selection SQL des lignes
     564// On renvoie pour chaque ligne : la moyenne arithmetique <http://fr.wikipedia.org/wiki/Moyenne#Moyenne_arithm.C3.A9tique> et  l'ecart-type <http://fr.wikipedia.org/wiki/Dispersion_statistique#.C3.89cart_type> ainsi que les extrema <http://fr.wikipedia.org/wiki/Crit%C3%A8res_de_position#Valeur_maximum_et_valeur_minimum> si on le desire (par defaut non car tableau debordant dans ce petit cadre)
     565function totauxinfos_stats($legende='',$sql_table_asso,$sql_champs,$sql_criteres,$decimales_significatives=1,$avec_extrema=false)
     566{
     567        $res = '<table width="100%" class="asso_infos">';
     568        $res .= '<caption>'. _T('asso:totaux_stats', array('de_par'=>$legende)) .'</caption><thead>';
     569        $res .= '<tr class="row_first"> <th>&nbsp;</th>';
     570        $res .= '<th title="'. _T('moyenne') .'">x&#772</th>'; // X <span style="font-size:75%;">X</span>&#772 <span style="text-decoration:overline;">X</span> X<span style="position:relative; bottom:1.0ex; letter-spacing:-1.2ex; right:1.0ex">&ndash;</span> x<span style="position:relative; bottom:1.0ex; letter-spacing:-1.2ex; right:1.0ex">&macr;</span>
     571        $res .= '<th title="'. _T('ecart_type') .'">&sigma;</th>'; // σ &sigma; &#963; &#x3C3;
     572        if ($avec_extrema) {
     573                $res .= '<th title="'. _T('minimum') .'">'. _T('min') .'</th>';
     574                $res .= '<th title="'. _T('maximum') .'">'. _T('max') .'</th>';
     575        }
     576        $res .= '</tr>';
     577        $res .= '</thead><tbody>';
     578        $compteur = 0;
     579        foreach ($sql_champs as $libelle=>$champs) {
     580                $stats = sql_fetsel("AVG($champs) AS valMoy, STDDEV($champs) AS ekrTyp, MIN($champs) AS valMin, MAX($champs) AS valMax ", "spip_asso_$sql_table_asso", $sql_criteres);
     581                $res .= '<tr class="'. ($compteur%2?'row_odd':'row_even') .'">';
     582                $res .= '<td class"text">'. _T('asso:'.(is_numeric($libelle)?$champs:$libelle)) .'</td>';
     583                $res .= '<td class="'.($decimales_significatives?'decimal':'integer').'">'. association_nbrefr($stats['valMoy'],$decimales_significatives) .'</td>';
     584                $res .= '<td class="'.($decimales_significatives?'decimal':'integer').'">'. association_nbrefr($stats['ekrTyp'],$decimales_significatives) .'</td>';
     585                if ($avec_extrema) {
     586                        $res .= '<td class="'.($decimales_significatives?'decimal':'integer').'">'. association_nbrefr($stats['valMin'],$decimales_significatives) .'</td>';
     587                        $res .= '<td class="'.($decimales_significatives?'decimal':'integer').'">'. association_nbrefr($stats['valMax'],$decimales_significatives) .'</td>';
     588                }
     589                $res .= '</tr>';
     590                $compteur++;
     591        }
     592        $res .= '</tbody></table>';
     593        return $res;
     594}
     595
    562596// Tableau des decomptes statistiques dans le bloc infos
    563597// On prend en entree deux tableaux de taille egale (non controlee) --respectivement pour les intitules/libelles et les effectifs/occurences-- qui sont indexes par la classe CSS associee (parce-qu'elle doit etre unique pour chaque ligne)
    564 function totauxinfos_effectifs($module='',$table_textes,$table_nombres,$decimales_significatives=0)
     598function totauxinfos_effectifs($legende='',$table_textes,$table_nombres,$decimales_significatives=0)
    565599{
    566600        $nombre = $nombre_total = 0;
    567         $res = '<table width="100%">';
    568         $res .= '<caption>'. _T('asso:'.$module.'_nombre_titre') .'</caption><tbody>';
     601        $res = '<table width="100%" class="asso_infos">';
     602        $res .= '<caption>'. _T('asso:totaux_nombres', array('de_par'=>$legende)) .'</caption><tbody>';
    569603        foreach ($table_textes as $classe_css=>$libelle) {
    570604                $res .= '<tr class="'.$classe_css.'">';
    571605                $res .= '<td class"text">'._T('asso:'.$libelle).'</td>';
    572                 $res .= '<td class="integer">'. association_nbrefr($table_nombres[$classe_css],$decimales_significatives) .'</td>';
     606                $res .= '<td class="' .($decimales_significatives?'decimal':'integer') .'">'. association_nbrefr($table_nombres[$classe_css],$decimales_significatives) .'</td>';
    573607                $nombre_total += $table_nombres[$classe_css];
    574608                $res .= '</tr>';
     
    578612                $res .= '<tfoot>';
    579613                $res .= '<tr><th class="text">'._T('asso:liste_nombre_total').'</th>';
    580                 $res .= '<th class="integer">'. association_nbrefr($nombre_total,$decimales_significatives) .'</th></tr>';
     614                $res .= '<th class="' .($decimales_significatives?'decimal':'integer') .'">'. association_nbrefr($nombre_total,$decimales_significatives) .'</th></tr>';
    581615                $res .= '</tfoot>';
    582616        }
     
    586620// Tableau des totaux comptables dans le bloc infos
    587621// On prend en entree : le complement de titre du tableau puis les sommes cumulees des recettes et des depenses. (tous ces parametres sont facultatifs, mais attention qu'un tableau est quand meme genere dans tous les cas)
    588 function totauxinfos_sommes($legende='',$somme_recettes=0,$somme_depenses=0)
    589 {
    590         $res = '<table width="100%">';
    591         $res .= '<caption>'. _T('asso:totaux_titre', array('titre'=>$legende)) .'</caption><tbody>';
     622function totauxinfos_montants($legende='',$somme_recettes=0,$somme_depenses=0)
     623{
     624        $res = '<table width="100%" class="asso_infos">';
     625        $res .= '<caption>'. _T('asso:totaux_montants', array('de_par'=>$legende)) .'</caption><tbody>';
    592626        if ($somme_recettes) {
    593627                $res .= '<tr class="impair">'
  • _plugins_/Association/Associaspip/base/association.php

    r58798 r58825  
    157157        "intitule" => "TINYTEXT NOT NULL",
    158158        "date_acquisition" => "DATE NOT NULL DEFAULT '0000-00-00'",
     159        "prix_acquisition" => "DECIMAL(19,2) NOT NULL DEFAULT '0'", // Il s'agit du cout total d'acquisition (pour toutes les quantites acquises, avec les frais afferants)
    159160        "pu" => "DECIMAL(19,2) NOT NULL DEFAULT '0'", // prix unitaire (par tranche de temps) de la location
    160161        "ud" => "CHAR(1) NULL DEFAULT 'D'", // unite des durees (de tranches) de location/pret : ce champ pourrait etre un ENUM('Y','M','W','D','T','H','S') mais un CHAR(1) est plus portable, d'autant que les caracteres geres le sont par la fonction association_dureefr(); ce qui est ca de moins a gerer en base.
    161         "statut" => "TINYINT NULL", // utiliser un entier permet de pouvoir gerer parallelement une quantite disponible ...assez reduite (d'ou du TinyInt et non autre : il ne s'agit pas non plus de gerer un entrepot de grossiste... mais 2-3 unites sans devoir forcement creer des codes distincts --ce qui est recommande meme si on reste flexible)
     162        "statut" => "TINYINT NULL", // utiliser un entier permet de pouvoir associer la quantite acquise ...assez reduite (d'ou du TinyInt et non autre : il ne s'agit pas non plus de gerer un entrepot de grossiste... mais 2-3 unites sans devoir forcement creer des codes distincts --ce qui est recommande meme si on reste flexible)
    162163        "commentaire" => "TEXT NOT NULL",
    163164        "maj" => "TIMESTAMP NOT NULL"
     
    177178        "date_sortie" => "DATETIME NOT NULL DEFAULT '0000-00-00T00:00:00'",
    178179        "duree" => "INT UNSIGNED NOT NULL DEFAULT '0'",
     180        "prix_unitaire" => "DECIMAL(19,2) NOT NULL DEFAULT 0",
    179181        "date_retour" => "DATETIME NOT NULL DEFAULT '0000-00-00T00:00:00'",
    180182        "id_emprunteur" => "BIGINT UNSIGNED NOT NULL",
  • _plugins_/Association/Associaspip/base/association_gestion.php

    r58798 r58825  
    571571);
    572572
    573 // Revue de la gestion des ressources et prets
     573// Revue de la gestion des ressources et prets (debut)
    574574$GLOBALS['association_maj'][58798] = array(
    575575        array ('sql_alter', "TABLE spip_asso_prets DROP statut"), // ce champ ne sert pas, donc...
     
    586586);
    587587
     588// Revue de la gestion des ressources et prets (suite)
     589$GLOBALS['association_maj'][58824] = array(
     590        array ('sql_alter', "TABLE spip_asso_ressoures ADD prix_acquisition DECIMAL(19,2) NOT NULL DEFAULT 0 "), // garder trace du cout d'acquisition pour mieux evaluer l'amortissement et la rentabilite (c'est vite dit mais ce n'est pas encore integre a la compta)
     591        array ('sql_alter', "TABLE spip_asso_prets ADD prix_unitaire DECIMAL(19,2) NOT NULL DEFAULT 0 "), // comme pour les ventes (asso_ventes.prix_vente) et les activites (asso_activites.montant) on garde le cout de base facture car celui-ci (asso_ressources.pu) peut changer par la suite
     592        array('sql_update', 'spip_asso_prets', array('prix_unitaire' => "(SELECT pu FROM spip_asso_ressources WHERE spip_asso_ressources.id_ressource=spip_asso_prets.id_ressource)" ), "EXISTS (SELECT pu FROM spip_asso_ressources WHERE spip_asso_ressources.id_ressource=spip_asso_prets.id_ressource)"), // mettre a jour avec les tarifs actuels... PROBLEME : comment exprimer cela avec l'API SPIP ? ou passer par du PHP ?
     593);
     594
     595
    588596?>
  • _plugins_/Association/Associaspip/exec/action_prets.php

    r58798 r58825  
    2525        } else {
    2626                $id_pret = intval(_request('id_pret'));
    27 
    28                 $id_ressource=$_REQUEST['id_ressource']; // text !
    29                 $id_emprunteur=$_POST['id_emprunteur']; // text !
    30                 $date_sortie=$_POST['date_sortie'];
    31                 $duree=$_POST['duree'];
    32                 $date_retour=$_POST['date_retour'];
    33                 $commentaire_sortie=$_POST['commentaire_sortie'];
    34                 $commentaire_retour=$_POST['commentaire_retour'];
    35                 $statut=$_POST['statut'];
    36                 $montant=$_POST['montant'];
    37                 $journal=$_POST['journal'];
    38 
     27                $id_ressource = intval(_request('id_ressource'));
    3928                $commencer_page = charger_fonction('commencer_page', 'inc');
    4029                echo $commencer_page(_T('asso:prets_titre_suppression_prets')) ;
     
    7665                $infos['statut'] =  '<img src="'._DIR_PLUGIN_ASSOCIATION_ICONES.'puce-'.$puce.'.gif" title="'.$data['statut'].'" alt="" /> '. _T("asso:ressource_statut_$type");
    7766                $infos['nombre_prets'] = sql_countsel('spip_asso_prets', "id_ressource=$id_ressource");
    78                 echo totauxinfos_intro($data['intitule'] , 'ressource', $id_ressource, $infos );
     67                echo totauxinfos_intro($data['intitule'], 'ressource', $id_ressource, $infos );
    7968                // datation
    8069                echo association_date_du_jour();
     
    9079        }
    9180}
     81
    9282?>
  • _plugins_/Association/Associaspip/exec/action_ressources.php

    r58798 r58825  
    6464                $infos['statut'] =  '<img src="'._DIR_PLUGIN_ASSOCIATION_ICONES.'puce-'.$puce.'.gif" title="'.$data['statut'].'" alt="" /> '. _T("asso:ressource_statut_$type");
    6565                $infos['nombre_prets'] = sql_countsel('spip_asso_prets', "id_ressource=$id_ressource");
    66                 echo totauxinfos_intro($data['intitule'] , 'ressource', $id_ressource, $infos );
     66                echo totauxinfos_intro($data['intitule'], 'ressource', $id_ressource, $infos ); // indice de popularite
     67                // STATS sur la duree et le montant des emprunts
     68                echo totauxinfos_stats('prets', 'prets', array('entete_duree'=>'duree','entete_montant'=>'duree*prix_unitaire',), "id_ressource=$id_ressource");
    6769                // datation
    6870                echo association_date_du_jour();
  • _plugins_/Association/Associaspip/exec/adherents.php

    r58798 r58825  
    5252                $res .= association_icone(_T('asso:synchronise_asso_membre_lien'),  generer_url_ecrire('synchroniser_asso_membres'), 'reload.png');
    5353                echo bloc_des_raccourcis($res);
    54                 if (test_plugin_actif('FPDF')) {
     54                if ( test_plugin_actif('FPDF') && test_plugin_actif('COORDONEES') ) {
    5555                        echo debut_cadre_enfonce('',true);
    5656                        echo recuperer_fond('prive/inc_cadre_etiquette');
  • _plugins_/Association/Associaspip/exec/comptes.php

    r58798 r58825  
    4646// traitements
    4747                $where = 'imputation LIKE '. sql_quote($imputation);
    48                 $where .= (!is_numeric($vu) ? '' : (" AND vu=$vu"));
     48                $where .= (!is_numeric($vu) ? '' : " AND vu=$vu");
    4949                $where .= " AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]'";
    5050                $commencer_page = charger_fonction('commencer_page', 'inc');
     
    5353                echo debut_gauche('',true);
    5454                echo debut_boite_info(true);
    55                 // TOTAUX : operations de l'exercice
     55                // INTRO : nom du module et annee affichee
     56                echo totauxinfos_intro($exercice_data['intitule'],'exercice',$exercice);
     57                $journaux = sql_allfetsel('journal, intitule', 'spip_asso_comptes RIGHT JOIN spip_asso_plan ON journal=code',"classe='".$GLOBALS['association_metas']['classe_banques']."' AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]'", "intitule DESC"); // on se permet sql_allfetsel car il s'agit d'une association (mois d'une demie dizaine de comptes) et non d'un etablissement financier (des milliers de comptes clients)
     58/* bof *
     59                // STATS recettes et depenses par comptes financiers (indique rapidement les comptes financiers avec les mouvements les plus importants --en montant !)
     60                foreach ($journaux as $financier) {
     61                        echo totauxinfos_stats($financier['intitule'], 'comptes', array('bilan_recettes'=>'recette','bilan_depenses'=>'depense',), "journal='".$financier['journal']."' AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]'");
     62                }
     63* fob */
     64                // TOTAUX : operations de l'exercice par compte financier (indique rapidement les comptes financiers les plus utilises ou les modes de paiement preferes...)
     65                foreach (array('recette','depense') as $direction) {
     66                        foreach ($journaux as $financier) {
     67                                $nombre_direction = sql_countsel('spip_asso_comptes', "journal='".$financier['journal']."' AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]' AND $direction<>0 ");
     68                                if ($nombre_direction) { // on ne s'embarasse pas avec ceux a zero
     69                                        $direction_libelles[$financier['journal']] = $financier['intitule'];
     70                                        $direction_effectifs[$financier['journal']] = $nombre_direction;
     71                                }
     72                        }
     73                        echo totauxinfos_effectifs(_T('asso:compte_entete_financier') .': '. _T('asso:'.$direction.'s'), $direction_libelles, $direction_effectifs); // ToDo: tri par ordre decroissant (sorte de "top")
     74                }
     75                // TOTAUX : operations de l'exercice par type d'operation
    5676                $classes = array('pair'=>'produits', 'impair'=>'charges', 'cv'=>'contributions_volontaires', 'vi'=>'banques');
    5777                $liste_libelles = $liste_effectifs = array();
     
    6181                }
    6282                echo totauxinfos_effectifs('comptes', $liste_libelles, $liste_effectifs);
    63                 // TOTAUX : montants de l'exercice
     83                // STATS : montants de l'exercice pour l'imputation choisie (toutes si aucune)
     84                echo totauxinfos_stats('mouvements', 'comptes', array('bilan_recettes'=>'recette','bilan_depenses'=>'depense',), $where, 2);
     85                // TOTAUX : montants de l'exercice pour l'imputation choisie (toutes si aucune)
    6486                $data = sql_fetsel( 'SUM(recette) AS somme_recettes, SUM(depense) AS somme_depenses, code, classe',  'spip_asso_comptes RIGHT JOIN spip_asso_plan ON imputation=code', "$where AND classe<>".sql_quote($GLOBALS['association_metas']['classe_banques']). " AND classe<>".sql_quote($GLOBALS['association_metas']['classe_contributions_volontaires']) ); // une contribution benevole ne doit pas etre comptabilisee en charge/produit
    65                 echo totauxinfos_sommes(($imputation=='%' ? _T('asso:tous') : $imputation), $data['somme_recettes'], $data['somme_depenses']);
     87                echo totauxinfos_montants(($imputation=='%' ? _T('asso:tous') : $imputation), $data['somme_recettes'], $data['somme_depenses']);
    6688                // datation
    6789                echo association_date_du_jour();
    6890                echo fin_boite_info(true);
    69                 $url_bilan = generer_url_ecrire('bilan', "exercice=$exercice");
    70                 $url_compte_resultat = generer_url_ecrire('compte_resultat', "exercice=$exercice");
    71                 $url_annexe = generer_url_ecrire('annexe', "exercice=$exercice");
    72                 $res = '<p><strong>Exercice : '.$exercice_data['intitule'].'</strong><p>'
    73                 . association_icone(_T('asso:cpte_resultat_titre_general'),  $url_compte_resultat, 'finances.jpg')
    74                 . association_icone(_T('asso:bilan'),  $url_bilan, 'finances.jpg')
    75                 . association_icone(_T('asso:annexe_titre_general'),  $url_annexe, 'finances.jpg')
     91                $res = '<p><b>'.$exercice_data['intitule'].'</b><p>'
     92                . association_icone(_T('asso:cpte_resultat_titre_general'),  generer_url_ecrire('compte_resultat', "exercice=$exercice"), 'finances.jpg')
     93                . association_icone(_T('asso:bilan'), generer_url_ecrire('bilan', "exercice=$exercice"), 'finances.jpg')
     94                . association_icone(_T('asso:annexe_titre_general'), generer_url_ecrire('annexe', "exercice=$exercice"), 'finances.jpg')
    7695                . association_icone(_T('asso:ajouter_une_operation'),  generer_url_ecrire('edit_compte'), 'ajout_don.png');
    7796                echo bloc_des_raccourcis($res);
     
    104123                        'imputation , code, intitule, classe',
    105124                        'spip_asso_comptes RIGHT JOIN spip_asso_plan ON imputation=code',
    106                         /* ne pas afficher les codes de la classe financiere : ce n'est pas une imputation et les inactifs */
     125                        /* n'afficher ni les comptes de la classe financiere --ce ne sont pas des imputations-- ni les inactifs */
    107126                        "classe<>'".$GLOBALS['association_metas']['classe_banques']."' AND active AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]' ",
    108127                        'code', 'code ASC');
     
    155174                        . '<th>'. _T('asso:entete_montant') .'</th>'
    156175                        . '<th>'. _T('asso:compte_entete_financier') .'</th>'
    157                         . '<th colspan="3" class="actions">'._T('asso:entete_action').</th>'
     176                        . '<th colspan="3" class="actions">'. _T('asso:entete_action') .'</th>'
    158177                        . "</tr>\n</thead><tbody>"
    159178                        . $table
    160179                        . "</tbody>\n</table>\n"
    161                         . "<table width='100%'><tr>\n<td>" . $nav . '</td><td style="text-align:right;"><input type="submit" value="' . _T('asso:valider') . '" class="fondo" /></td></tr></table>';
     180                        . "<table width='100%'><tr>\n<td>" . $nav . '</td><td style="text-align:right;"><input type="submit" value="'. _T('asso:valider') . '" class="fondo" /></td></tr></table>';
    162181                        echo generer_form_ecrire('action_comptes', $table);
    163182                } else {
     
    166185                fin_cadre_relief();
    167186                echo fin_page_association();
    168 
    169187        }
    170188}
  • _plugins_/Association/Associaspip/exec/edit_relances.php

    r57780 r58825  
    1111
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined('_ECRIRE_INC_VERSION'))
     14        return;
    1415
    1516include_spip('inc/presentation');
    1617include_spip ('inc/navigation_modules');
    1718
    18 function exec_edit_relances(){
    19 
     19function exec_edit_relances()
     20{
    2021        $commencer_page = charger_fonction('commencer_page', 'inc');
    2122        echo $commencer_page(_T('asso:titre_gestion_pour_association')) ;
    2223        association_onglets(_T('asso:titre_onglet_membres'));
    23 
    2424        echo debut_gauche('',true);
    25 
    2625        echo debut_boite_info(true);
    2726        echo association_date_du_jour();
    2827        echo fin_boite_info(true);
    29 
    30         $res=association_icone(_T('asso:bouton_impression'),  generer_url_ecrire('edit_labels'), 'print-24.png');
    31 
    32         $res.=association_icone(_T('asso:bouton_retour'),  $_SERVER['HTTP_REFERER'], 'retour-24.png');
     28        $res = association_icone(_T('asso:bouton_retour'),  generer_url_ecrire('adherents'), 'retour-24.png');
    3329        echo bloc_des_raccourcis($res);
    34 
    3530        echo debut_droite('',true);
    36 
    3731        debut_cadre_relief('', false, '', $titre = _T('asso:tous_les_membres_a_relancer'));
    38 
    3932        $statut_interne = _request('statut_interne');
    4033        if (!$statut_interne)
    4134                $statut_interne = 'echu';
    42 
    4335        $corps = '';
    4436        foreach ($GLOBALS['association_liste_des_statuts'] as $var) {
     
    4739                        $corps .= ' selected="selected"';
    4840                }
    49                 $corps .= '> '._T('asso:adherent_entete_statut_'.$var)."</option>\n";
     41                $corps .= '> '. _T('asso:adherent_entete_statut_'.$var) .'</option>';
    5042        }
    51 
    5243        if ($corps) {
    53                 $corps = '<div><select name ="statut_interne" class="fondl" onchange="form.submit()">' . $corps . '</select></div>';
     44                $corps = '<div><select name ="statut_interne" onchange="form.submit()">' . $corps . '</select></div>';
    5445                echo generer_form_ecrire('edit_relances', $corps, 'method="get"', '');
    5546        }
    56 
    5747        $corps = relances_while($statut_interne);
    58 
    5948        if ($corps) {
    60 
    61                 $res = '<fieldset>'
    62                         . '<legend>Message de relance</legend>'
    63                         . '<label for="sujet"><strong>'._T('asso:sujet')
    64                         . " :</strong></label>\n"
    65                         . '<input name="sujet" type="text" value="'.stripslashes(_T('asso:titre_relance')).'" id="sujet" class="formo" />'
    66                         . '<label for="message"><strong>'._T('asso:message')
    67                         . " :</strong></label>\n"
    68                         . '<textarea name="message" rows="15" id="message" class="formo">'.stripslashes(_T('asso:message_relance'))."</textarea>\n"
    69                         . '</fieldset>'
    70                         . "\n<table border='0' cellpadding='2' cellspacing='0' width='100%' class='arial2' style='border: 1px solid #aaaaaa;'>\n"
    71                         . "<tr style='background-color: #DBE1C5;'>\n"
    72                         . '<td><strong>'
    73                         . _T('asso:adherent_libelle_id_auteur')
    74                         . "</strong></td>\n"
    75                         . '<th>' . _T('asso:nom') . "</th>\n"
    76                         . '<th>' . _T('asso:validite') . "</th>\n"
    77                         . '<th>' . _T('asso:envoi') . "</th>\n"
    78                         . '</tr>'
     49                $res = '<div class="formulaire_spip formulaire_edit_relance"><form>'
     50                        . '<ul>'
     51                        . '<li class="editer_sujet">'
     52                        . '<label for="sujet">'. _T('asso:sujet') . '</label>'
     53                        . '<input name="sujet" type="text" value="'.stripslashes(_T('asso:titre_relance')).'" id="sujet" class="text" />'
     54                        . "</li>\n"
     55                        . '<li class="editer_message">'
     56                        . '<label for="message">'. _T('asso:message') . '</label>'
     57                        . '<textarea name="message" rows="15" id="message">'.stripslashes(_T('asso:message_relance')).'</textarea>'
     58                        . "</li>\n"
     59                        . "</ul>\n"
     60                        . "<table width='100%' class='asso_tablo' id='asso_tablo_ressources'>\n"
     61                        . "<thead>\n<tr>"
     62                        . '<th>'. _T('asso:entete_id') .'</th>'
     63                        . '<th>' . _T('asso:entete_nom') .'</th>'
     64                        . '<th>' . _T('asso:adherent_libelle_validite') .'</th>'
     65                        . '<th>' . _T('asso:envoi') .'</th>'
     66                        . "</tr>\n</thead><tbody>"
    7967                        .  $corps
    80                         . '</table>';
    81 
    82                 $bouton = isset($action) ? _T('asso:bouton_'.$action) : _T('asso:bouton_envoyer');
    83 
     68                        . "</tbody>\n</table>\n";
     69                $bouton = '<p class="boutons">'. isset($action) ? _T('asso:bouton_'.$action) : _T('asso:bouton_envoyer') .'</p>';
    8470                echo generer_form_ecrire('action_relances', $res, '', $bouton);
    8571        }
     
    9177{
    9278        $query = sql_select('id_auteur, sexe, nom_famille, prenom, statut_interne, validite', 'spip_asso_membres', " statut_interne like '$statut_interne' AND statut_interne <> 'sorti'", '', 'nom_famille');
    93 
    9479        $res = '';
    9580        $tr_class = 'pair';
    9681        while ($data = sql_fetch($query)) {
    97                 $id_auteur=$data['id_auteur'];
    98                 $class = $GLOBALS['association_styles_des_statuts'][$data['statut_interne']] . ' border1';
    99                 $res .= '<tr class="'.$tr_class.'">'
    100                 .'<td class="$class" style="text-align:center">'
    101                 . $data['id_auteur']
    102                 ."</td>\n"
    103                 .'<td class="$class">'. association_calculer_nom_membre($data['sexe'], $data['prenom'], $data['nom_famille']) ."</td>\n"
    104                 .'<td class="$class">'. association_datefr($data['validite']) ."</td>\n"
    105                 .'<td class="$class" style="text-align:center;">'
    106                 .'<input name="id[]" type="checkbox" value="'.$id_auteur.'" checked="checked" />'
    107                 .'<input name="statut['.$id_auteur.']" type="hidden" value="'.$statut_interne.'" />'
    108                 ."</td>\n"
    109                 .'</tr>';
    110                 $tr_class = ($tr_class=="pair")?"impair":"pair";
     82                $res .= '<tr class="'.$tr_class.' '.$GLOBALS['association_styles_des_statuts'][$data['statut_interne']].'">'
     83                .'<td class="integer">'. $data['id_auteur'] .'</td>'
     84                .'<td class="text">'. association_calculer_nom_membre($data['sexe'], $data['prenom'], $data['nom_famille']) .'</td>'
     85                .'<td class="date">'. association_datefr($data['validite']) .'</td>'
     86                .'<td class="action"><input name="id[]" type="checkbox" value="'.$data['id_auteur'].'" checked="checked" /><input name="statut['.$data['id_auteur'].']" type="hidden" value="'.$data['statut_interne'].'" /></td>'
     87                ."</tr>\n";
     88                $tr_class = ($tr_class=='pair')?'impair':'pair';
    11189        }
    11290        return $res;
  • _plugins_/Association/Associaspip/exec/prets.php

    r58798 r58825  
    6464                }
    6565                $infos['statut'] =  '<img src="'._DIR_PLUGIN_ASSOCIATION_ICONES.'puce-'.$puce.'.gif" title="'.$data['statut'].'" alt="" /> '. _T("asso:ressources_libelle_statut_$type");
    66                 $stats = sql_fetsel('AVG(duree) AS moyenne, STDDEV(duree) AS variance', 'spip_asso_prets', "id_ressource=$id_ressource");
    67                 $infos['duree_emprunt_moyenne'] = association_dureefr($stats['moyenne'],$unite);
    68                 $infos['duree_emprunt_ecart_type'] = association_dureefr(sqrt($stats['variance']),$data['unite']);
    69                 echo totauxinfos_intro($data['intitule'] , 'ressource', $id_ressource, $infos );
     66                echo totauxinfos_intro($data['intitule'], 'ressource', $id_ressource, $infos );
    7067                // TOTAUX : nombres d'emprunts de la ressource depuis le debut
    7168                $liste_libelles = $liste_effectifs = array();
     
    7471                $liste_effectifs['pair'] = sql_countsel('spip_asso_prets', "id_ressource=$id_ressource AND date_retour>=date_sortie");
    7572                $liste_effectifs['impair'] = sql_countsel('spip_asso_prets', "id_ressource=$id_ressource AND date_retour<date_sortie");
     73                echo totauxinfos_effectifs('prets', $liste_libelles, $liste_effectifs);
     74                // STATS sur la duree et le montant des emprunts
     75                echo totauxinfos_stats('prets', 'prets', array('entete_duree'=>'duree','entete_montant'=>'duree*prix_unitaire',), "id_ressource=$id_ressource");
    7676                // TOTAUX : montants generes par les umprunts de la ressources
    77                 $quantiteFacturee = sql_fetsel('SUM(duree) AS totale', 'spip_asso_prets', "id_ressource=$id_ressource");
    78                 echo totauxinfos_sommes(_T('asso:emprunts'), $data['pu']*$quantiteFacturee['totale'], NULL);
     77                $recettes = sql_getfetsel('SUM(duree*prix_unitaire) AS totale', 'spip_asso_prets', "id_ressource=$id_ressource");
     78                echo totauxinfos_montants('asso:emprunts', $recettes, $data['prix_acquisition']); // /!\ les recettes sont calculees simplement (s'il y a un systeme de penalite pour retard, il faut s'adapter a la saisie pour que le module soit utile) ; les depenses ne prennent pas en compte les eventuels frais d'entretien ou de reparation de la ressource...
    7979                // datation
    8080                echo association_date_du_jour();
  • _plugins_/Association/Associaspip/exec/ressources.php

    r58798 r58825  
    2929                echo debut_gauche('',true);
    3030                echo debut_boite_info(true);
    31                 // EXPLICATION
     31                // INTRO : presentation du module
    3232                echo '<p>'._T('asso:ressources_info').'</p>';
    3333                // TOTAUX : nombre de ressources par statut
     
    4141                $liste_effectifs['sorti'] = sql_countsel('spip_asso_ressources', "statut IN ('sorti','',NULL)");
    4242                echo totauxinfos_effectifs('ressources', $liste_libelles, $liste_effectifs);
     43/* mdr : cela n'a de sens que si les ressources se pretent toutes sur la meme unite...
     44                // STATS sur tous les prets
     45                echo totauxinfos_stats('prets', 'prets', array('entete_duree'=>'duree',), "DATE_FORMAT(date_sortie, '%Y')=DATE_FORMAT(NOW(), '%Y')");
     46rdm */
    4347                // TOTAUX : montants des locations sur l'annee en cours
    44                 $data = sql_fetsel('SUM(recette) AS somme_recettes, SUM(depense) AS somme_depenses', 'spip_asso_comptes', "DATE_FORMAT('date', '%Y')=DATE_FORMAT(NOW(), '%Y') AND imputation=".sql_quote($GLOBALS['association_metas']['pc_prets']) );
    45                 echo totauxinfos_sommes(_T('asso:ressources'), $data['somme_recettes'], $data['somme_depenses']);
     48                $recettes = sql_getfetsel('SUM(duree*prix_unitaire) AS somme_recettes', 'spip_asso_prets', "DATE_FORMAT('date_sortie', '%Y')=DATE_FORMAT(NOW(), '%Y') ");
     49                $depences = sql_getfetsel('SUM(prix_acquisition) AS somme_depences', 'spip_asso_ressources', "DATE_FORMAT('date_acquisition', '%Y')=DATE_FORMAT(NOW(), '%Y') ");
     50                echo totauxinfos_montants('ressources', $recettes, $depenses);
     51                // datation
     52                echo association_date_du_jour();
    4653                echo fin_boite_info(true);
    4754                echo bloc_des_raccourcis(association_icone(_T('asso:ressources_nav_ajouter'),  generer_url_ecrire('edit_ressource'), 'ajout_don.png'));
  • _plugins_/Association/Associaspip/exec/ventes.php

    r58798 r58825  
    3232                echo debut_gauche('',true);
    3333                echo debut_boite_info(true);
     34                // INTRO : nom du module et annee affichee
     35                echo totauxinfos_intro('','ventes',$annee);
     36                // STATS sur les paniers/achats/commandes
     37                echo totauxinfos_stats('paniers/commandes', 'ventes', array('entete_quantite'=>'quantite','entete_montant'=>'prix_vente*quantite',), "DATE_FORMAT(date_vente, '%Y')=$annee");
    3438                // TOTAUX : nombre de ventes selon etat de livraison
    3539                $liste_libelles = array('pair'=>'ventes_enregistrees', 'impair'=>'ventes_expediees', );
     
    3842                echo totauxinfos_effectifs('ventes', $liste_libelles, $liste_effectifs);
    3943                // TOTAUX : montants des ventes et des frais de port
     44/* Il est interessant d'interroger le livre comptable pour des cas complexes et si on sait recuperer les achats-depenses liees aux ventes(c'est faisable s'ils ne concerne qu'un ou deux comptes) ; mais ici, les montant etant dupliques dans la table des ventes autant faire simple...
    4045                $data1 = sql_fetsel('SUM(recette) AS somme_recettes, SUM(depense) AS somme_depenses', 'spip_asso_comptes', "DATE_FORMAT(date, '%Y')=$annee AND imputation=".sql_quote($GLOBALS['association_metas']['pc_ventes']) );
    4146                $data2 = sql_fetsel('SUM(recette) AS somme_recettes, SUM(depense) AS somme_depenses', 'spip_asso_comptes', "DATE_FORMAT(date, '%Y')=$annee AND imputation=".sql_quote($GLOBALS['association_metas']['pc_frais_envoi']) );
    42                 echo totauxinfos_sommes($annee, $data1['somme_recettes']-$data1['somme_depenses'], $data2['somme_depenses']-$data2['somme_recettes']);
     47                echo totauxinfos_montants($annee, $data1['somme_recettes']-$data1['somme_depenses']+$data2['somme_recettes']-$data2['somme_depenses']);
     48*/
     49                $data = sql_fetsel('SUM(prix_vente*quantite) AS somme_ventes, SUM(frais_envoi) AS somme_frais', 'spip_asso_ventes', "DATE_FORMAT(date_vente, '%Y')=$annee" );
     50                echo totauxinfos_montants($annee, $data['somme_ventes']+$data['somme_frais'], $data['somme_frais']); // les frais de port etant facturees a l'acheteur, ce sont bien des recettes... mais ces frais n'etant (normalement) pas refacturees (et devant meme etre transparents) ils n'entrent pas dans la marge (enfin, facon de dire car les couts d'acquisition ne sont pas pris en compte... le "solde" ici est le montant effectif des ventes.)
    4351                // datation
    4452                echo association_date_du_jour();
     
    6573                echo '<th>'. _T('asso:entete_code') .'</th>';
    6674                echo '<th>'. _T('asso:entete_nom') .'</th>';
    67                 echo '<th>'. _T('asso:vente_entete_quantite') . '</th>';
     75                echo '<th>'. _T('asso:entete_quantite') . '</th>';
    6876                echo '<th>'. _T('asso:entete_montant') .'</th>';
    6977                echo '<th colspan="2" class="actions">'._T('asso:entete_action').'</th>';
  • _plugins_/Association/Associaspip/exec/voir_activites.php

    r58798 r58825  
    3838                echo debut_boite_info(true);
    3939                $evenement = sql_fetsel('*', 'spip_evenements', "id_evenement=$id_evenement") ;
    40                 // Rappel Infos Evenement
     40                // INTRO : Rappel Infos Evenement
    4141                $infos['date_debut'] = association_datefr($evenement['date_debut'],'dtstart').' '.substr($data['date_debut'],10,6);
    4242                $infos['date_fin'] = association_datefr($evenement['date_fin'],'dtend').' '.substr($data['date_debut'],10,6);
    4343                $infos['lieu'] = $evenement['lieu'];
    44                 $stats = sql_fetsel('AVG(inscrits) AS moy_i, STDDEV(inscrits) AS var_i, AVG(montant) AS moy_m, STDDEV(montant) AS var_m ', 'spip_asso_activites', "id_evenement=$id_evenement");
    45                 $infos['inscrits_par_personne_moyenne'] = _T('asso:duree_temps', array('nombre'=>association_nbrefr($stats['moy_i'],1), 'unite'=>_T('personnes')) );
    46                 $infos['inscrits_par_personne_ecart_type'] = _T('asso:duree_temps', array('nombre'=>association_nbrefr(sqrt($stats['var_i']),1), 'unite'=>_T('personnes')) );
    47                 $infos['montant_par_personne_moyenne'] = association_prixfr($stats['moy_m']);
    48                 $infos['montant_par_personne_ecart_type'] = association_prixfr(sqrt($stats['var_i']));
    49                 echo totauxinfos_intro($evenement['titre'] , 'evenement', $id_evenement, $infos );
     44                echo totauxinfos_intro($evenement['titre'], 'evenement', $id_evenement, $infos );
     45                // STATS sur les participations (nombre de personnes inscrites et montant paye)
     46                echo totauxinfos_stats('participations', 'activites', array('entete_quantite'=>'inscrits','entete_montant'=>'montant',), "id_evenement=$id_evenement");
    5047                // TOTAUX : nombres d'inscrits par etat de paiement
    5148                $liste_libelles = $liste_effectifs = array();
     
    5754                // TOTAUX : montants des participations validees
    5855                $montant = sql_fetsel('SUM(montant) AS encaisse', 'spip_asso_activites', "id_evenement=$id_evenement AND statut='ok' " );
    59                 echo totauxinfos_sommes(_T('asso:participations'), $montant['encaisse'], NULL);
     56                echo totauxinfos_montants(_T('asso:participations'), $montant['encaisse'], NULL);
    6057                // datation
    6158                echo association_date_du_jour();
  • _plugins_/Association/Associaspip/formulaires/editer_asso_ressources.html

    r58798 r58825  
    2222                                <input type="[(#HTML5|?{date,text})]" name="date_acquisition" [value="(#ENV{date_acquisition}|affdate{Y-m-d})"] id="date_acquisition"  class="date" />
    2323                        </li>
     24                        <li class="editer_prix_acquisition">
     25                                [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{prix_acquisition})</span>]
     26                                <label for="prix_acquisition"><:asso:ressources_libelle_prix_acquisition:></label>
     27                                <input type="[(#HTML5|?{number,text})]" name="prix_acquisition" [value="(#ENV{prix_acquisition})"] id="prix_acquisition"  class="number float price" />
     28                        </li>
    2429                        <li class="editer_prix">
    2530                                [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{pu})</span>]
     
    3742                                        <option value="D"[ (#ENV{ut}|strtoupper|=={D})selected="selected"]><:spip:jour:></option>
    3843                                        <option value="I"[ (#ENV{ut}|strtoupper|=={I})selected="selected"]><:spip:ans:>-<:spip:date_mois:>-<:spip:date_jours:></option>
     44                                [(#META{/association/petites_durees}|oui)
    3945                                        <option value="H"[ (#ENV{ut}|strtoupper|=={H})selected="selected"]><:spip:date_une_heure:></option>
    4046                                        <option value="T"[ (#ENV{ut}|strtoupper|=={T})selected="selected"]><:spip:date_heures:>:<:spip:date_minutes:>:<:spip:date_secondes:></option>
     47                                ]
    4148                                </select>
    4249                        </li>
    4350                        <li class="editer_statut">
    4451                                [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{statut})</span>]
     52                        [(#ENV{statut}|is_numeric|oui)
     53                                [(#REM)<!-- Nouveaux statuts numeriques -->]
     54                                <label for="statut"><:asso:libelle_quantite:></label>
     55                        ]
     56                        [(#ENV{statut}|is_numeric|non)
     57                                [(#REM)<!-- Anciens statuts textuels -->]
    4558                                <label for="statut"><:asso:ressources_libelle_statut:></label>
    4659                                <div class="choix">
     
    6073                                        <label for="statut_sorti"><:asso:ressources_libelle_statut_sorti:></label>
    6174                                </div>
     75                        ]
    6276                        </li>
    6377                        <li class="editer_commentaire">
  • _plugins_/Association/Associaspip/formulaires/editer_asso_ressources.php

    r58798 r58825  
    1414 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
    1515\***************************************************************************/
    16 function formulaires_editer_asso_ressources_charger_dist($id_ressource='') {
     16function formulaires_editer_asso_ressources_charger_dist($id_ressource='')
     17{
    1718        /* cet appel va charger dans $contexte tous les champs de la table spip_asso_dons associes a l'id_don passe en param */
    1819        $contexte = formulaires_editer_objet_charger('asso_ressources', $id_ressource, '', '',  generer_url_ecrire('ressources'), '');
     
    2324        }
    2425
     26        // par defaut utiliser les nouveaux statuts numeriques (onne garde la compatibilite qu'en edition ...si ln'entree n'est pas convertie)
     27        if (!$contexte['statut'])
     28                $contexte['statut'] = 0;
     29
    2530        /* paufiner la presentation des valeurs  */
    2631        if ($contexte['pu'])
    2732                $contexte['pu'] = association_nbrefr($contexte['pu']);
     33        if ($contexte['prix_acquisition'])
     34                $contexte['prix_acquisition'] = association_nbrefr($contexte['prix_acquisition']);
    2835
    2936        return $contexte;
    3037}
    3138
    32 function formulaires_editer_asso_ressources_verifier_dist($id_ressource='') {
     39function formulaires_editer_asso_ressources_verifier_dist($id_ressource='')
     40{
    3341        $erreurs = array();
    3442        /* on verifie que prix de location ne soit pas negatifs */
    3543        if ($erreur = association_verifier_montant(_request('pu')) )
    3644                $erreurs['pu'] = $erreur;
     45        if ($erreur = association_verifier_montant(_request('prix_acquisition')) )
     46                $erreurs['prix_acquisition'] = $erreur;
    3747        /* verifier la date */
    3848        if ($erreur = association_verifier_date(_request('date_acquisition')) )
     
    4555}
    4656
    47 function formulaires_editer_asso_ressources_traiter($id_ressource='') {
     57function formulaires_editer_asso_ressources_traiter($id_ressource='')
     58{
    4859        return formulaires_editer_objet_traiter('asso_ressources', $id_ressource, '', '',  generer_url_ecrire('ressources'), '');
    4960}
     61
    5062?>
  • _plugins_/Association/Associaspip/formulaires/editer_asso_ventes.html

    r58798 r58825  
    55                <div>#ACTION_FORMULAIRE{#ENV{action}}</div>
    66                <h3 class="legend"><:asso:ressources_titre_mise_a_jour:></h3>
     7                <INCLURE{fond=inc/choisir_mbr_nom, champ_nom=acheteur, valeur_nom=#ENV{acheteur}, champ_id=id_acheteur, valeur_id=#ENV{id_acheteur}, champs_legende=Acheteur }>
    78                <fieldset>
    8                         <legend>Produit</legend>
     9                        <legend>Facturation</legend>
    910                        <ul>
    1011                <B_catalogue_produits>
     
    4546                                        <input type="[(#HTML5|?{number,text})]" name="prix_vente" [value="(#ENV{prix_vente})"] id="prix_vente"  class="number float price" />
    4647                                </li>
    47                         </ul>
    48                 </fieldset>
    49                 <INCLURE{fond=inc/choisir_mbr_nom, champ_nom=acheteur, valeur_nom=#ENV{acheteur}, champ_id=id_acheteur, valeur_id=#ENV{id_acheteur}, champs_legende=Acheteur }>
    50                 <fieldset>
    51                         <legend>Transaction</legend>
    52                         <ul>
    5348                                <li class="editer_date_vente">
    5449                                        [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{date_vente})</span>]
     
    6156                                        <input type="[(#HTML5|?{number,text})]" name="quantite" [value="(#ENV{quantite})"] id="text number float" class="number float" />
    6257                                </li>
    63                                 <INCLURE{fond=inc/mode_de_paiement, journal, type_operation=#META{/association/classe_produits}, id_dest, montant_dest, unique_dest, defaut_dest, env}>
    6458                                <li class="editer_date_envoi">
    6559                                        [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{date_envoi})</span>]
     
    7872                        </ul>
    7973                </fieldset>
     74                <INCLURE{fond=inc/mode_de_paiement, journal, type_operation=#META{/association/classe_produits}, id_dest, montant_dest, unique_dest, defaut_dest, champs_legende=Paiement, env}>
    8075                <p class="boutons">
    8176                        <input type="submit" value="<:pass_ok:>" class="submit" />
  • _plugins_/Association/Associaspip/formulaires/etiquettes.php

    r51217 r58825  
    11<?php
    22
    3 function formulaires_etiquettes_charger_dist(){
    4        
     3function formulaires_etiquettes_charger_dist()
     4{
    55        include_spip('base/abstract_sql');
    66        $valeurs = array(
    7                                         'statut_interne'=>_request('statut_interne'),
    8                                         'filtre_email'=>true
    9                                         );     
    10        
     7                'statut_interne'=>_request('statut_interne'),
     8                'filtre_email'=>true
     9        );
    1110
    12        
    1311        // on peut faire beaucoup mais comment ??
    14         if(!isset($GLOBALS['association_metas']['etiquette_nb_colonne']))
    15                 {
    16                         $tab_meta_eti=array('etiquette_nb_colonne'=>3,
    17                                                                 'etiquette_nb_ligne'=>7,
    18                                                                 'etiquette_largeur_page'=>210,
    19                                                                 'etiquette_hauteur_page'=>297,
    20                                                                 'etiquette_marge_haut_etiquette'=>10,
    21                                                                 'etiquette_marge_gauche_etiquette'=>3,
    22                                                                 'etiquette_marge_droite_etiquette'=>10,
    23                                                                 'etiquette_marge_haut_page'=>10,
    24                                                                 'etiquette_marge_bas_page'=>10,
    25                                                                 'etiquette_marge_gauche_page'=>10,
    26                                                                 'etiquette_marge_droite_page'=>10,
    27                                                                 'etiquette_espace_etiquettesh'=>0,
    28                                                                 'etiquette_espace_etiquettesl'=>5);     
    29                         foreach($tab_meta_eti as $key=>$value)
    30                         {
    31                                 ecrire_meta($key, $value, null, 'association_metas');
    32                         }
    33                        
     12        if(!isset($GLOBALS['association_metas']['etiquette_nb_colonne'])) {
     13                $tab_meta_eti = array(
     14                        'etiquette_nb_colonne'=>3,
     15                        'etiquette_nb_ligne'=>7,
     16                        'etiquette_largeur_page'=>210,
     17                        'etiquette_hauteur_page'=>297,
     18                        'etiquette_marge_haut_etiquette'=>10,
     19                        'etiquette_marge_gauche_etiquette'=>3,
     20                        'etiquette_marge_droite_etiquette'=>10,
     21                        'etiquette_marge_haut_page'=>10,
     22                        'etiquette_marge_bas_page'=>10,
     23                        'etiquette_marge_gauche_page'=>10,
     24                        'etiquette_marge_droite_page'=>10,
     25                        'etiquette_espace_etiquettesh'=>0,
     26                        'etiquette_espace_etiquettesl'=>5,
     27                        );
     28                foreach($tab_meta_eti as $key=>$value) {
     29                        ecrire_meta($key, $value, null, 'association_metas');
    3430                }
     31        }
    3532
    3633        return $valeurs;
    3734}
    3835
    39 function formulaires_etiquettes_verifier_dist(){
    40         $erreurs = array();     
     36function formulaires_etiquettes_verifier_dist()
     37{
     38        $erreurs = array();
     39
    4140        // Verifier si il a au moins une selection
    4241        $etiquette = _request('statut_interne') ;
    43         if($etiquette=='')              {$erreurs['etiquette'] = _T('asso:etiquette_aucun_choix');
    44         $message=$erreurs['etiquette'] ;
     42        if($etiquette=='') {
     43                $erreurs['etiquette'] = _T('asso:etiquette_aucun_choix');
     44                $message = $erreurs['etiquette'] ;
    4545        }
    46        
    47         if (count($erreurs))    {$erreurs['message_erreur'] = 'Votre saisie contient des erreurs !<BR/>'.$message;     
     46
     47        if (count($erreurs)) {
     48                $erreurs['message_erreur'] = 'Votre saisie contient des erreurs !<BR/>'.$message;
    4849    }
    49    return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera re-soumis
     50    return $erreurs;
    5051}
    5152
     53function formulaires_etiquettes_traiter_dist()
     54{
     55        include_spip('base/abstract_sql');
     56        include_spip('inc/acces');
     57        include_spip('pdf/extends');
     58        $ok = false;
     59        $nb_colonne = $GLOBALS['association_metas']['etiquette_nb_colonne'];
     60        $nb_ligne = $GLOBALS['association_metas']['etiquette_nb_ligne'];
     61        $largeur_page = $GLOBALS['association_metas']['etiquette_largeur_page'];
     62        $hauteur_page = $GLOBALS['association_metas']['etiquette_hauteur_page'];
     63        $marge_haut_etiquette = $GLOBALS['association_metas']['etiquette_marge_haut_etiquette'];
     64        $marge_gauche_etiquette = $GLOBALS['association_metas']['etiquette_marge_gauche_etiquette'];
     65        $marge_droite_etiquette = $GLOBALS['association_metas']['etiquette_marge_droite_etiquette'];
     66        $marge_haut_page = $GLOBALS['association_metas']['etiquette_marge_haut_page'];
     67        $marge_bas_page = $GLOBALS['association_metas']['etiquette_marge_bas_page'];
     68        $marge_gauche_page = $GLOBALS['association_metas']['etiquette_marge_gauche_page'];
     69        $marge_droite_page = $GLOBALS['association_metas']['etiquette_marge_droite_page'];
     70        $espace_etiquettesh = $GLOBALS['association_metas']['etiquette_espace_etiquettesh'];
     71        $espace_etiquettesl = $GLOBALS['association_metas']['etiquette_espace_etiquettesl'];
     72        $pas_horizontal = (($largeur_page-$marge_gauche_page-$marge_droite_page-($nb_colonne-1)*$espace_étiquettesl)/$nb_colonne)+$espace_etiquettesl;
     73        $pas_vertical=($hauteur_page-$marge_haut_page-$marge_bas_page-($nb_ligne-1)*$espace_etiquettesh)/$nb_ligne+$espace_etiquettesh;
     74        $tab_etiquette = array();
     75        $indice_colonne = 0;
     76        $indice_ligne = 0;
     77        $num_page = 1;
    5278
     79        $pdf=new PDF('P','mm','A4',false);
     80        $pdf->titre = _T('asso:adherent_titre_liste_actifs');
     81        $pdf->Open();
     82        $pdf->AddPage();
     83        $pdf->SetAutoPageBreak(0 ,0);
     84        $pdf->AliasNbPages();
     85        $pdf->SetFont('Arial','',8);
    5386
    54 function formulaires_etiquettes_traiter_dist(){
    55        
     87        $affiche_civilite = $GLOBALS['association_metas']['etiquette_avec_civilite'];
    5688
    57 
    58 include_spip('base/abstract_sql');
    59 include_spip('inc/acces');
    60 include_spip('pdf/extends');
    61 $ok=false;
    62 $nb_colonne                             = $GLOBALS['association_metas']['etiquette_nb_colonne'];
    63 $nb_ligne                               = $GLOBALS['association_metas']['etiquette_nb_ligne'];
    64 $largeur_page                   = $GLOBALS['association_metas']['etiquette_largeur_page'];
    65 $hauteur_page                   = $GLOBALS['association_metas']['etiquette_hauteur_page'];
    66 $marge_haut_etiquette   = $GLOBALS['association_metas']['etiquette_marge_haut_etiquette'];
    67 $marge_gauche_etiquette = $GLOBALS['association_metas']['etiquette_marge_gauche_etiquette'];
    68 $marge_droite_etiquette = $GLOBALS['association_metas']['etiquette_marge_droite_etiquette'];
    69 $marge_haut_page                = $GLOBALS['association_metas']['etiquette_marge_haut_page'];
    70 $marge_bas_page                 = $GLOBALS['association_metas']['etiquette_marge_bas_page'];
    71 $marge_gauche_page              = $GLOBALS['association_metas']['etiquette_marge_gauche_page'];
    72 $marge_droite_page              = $GLOBALS['association_metas']['etiquette_marge_droite_page'];
    73 $espace_etiquettesh             = $GLOBALS['association_metas']['etiquette_espace_etiquettesh'];
    74 $espace_etiquettesl             = $GLOBALS['association_metas']['etiquette_espace_etiquettesl'];
    75 
    76 $pas_horizontal=(($largeur_page-$marge_gauche_page-$marge_droite_page-($nb_colonne-1)*$espace_étiquettesl)/$nb_colonne)+$espace_etiquettesl;
    77 $pas_vertical=($hauteur_page-$marge_haut_page-$marge_bas_page-($nb_ligne-1)*$espace_etiquettesh)/$nb_ligne+$espace_etiquettesh;
    78 $tab_etiquette=array();
    79 $indice_colonne=0;
    80 $indice_ligne=0;
    81 $num_page=1;
    82 
    83 
    84 $pdf=new PDF('P','mm','A4',false);     
    85 $pdf->titre = _T('asso:adherent_titre_liste_actifs');
    86 $pdf->Open();
    87 $pdf->AddPage();
    88 $pdf->SetAutoPageBreak(0 ,0);
    89 $pdf->AliasNbPages();
    90 $pdf->SetFont('Arial','',8);
    91 
    92 $affiche_civilite = $GLOBALS['association_metas']['etiquette_avec_civilite'];
    93 
    94 
    95 
    96 $table = array('m'=>'spip_asso_membres', 'al'=>'spip_adresses_liens','a'=>'spip_adresses');
    97 $where = 'al.objet=\'auteur\' AND al.id_objet=m.id_auteur AND al.id_adresse=a.id_adresse AND code_postal<>\'\' AND ville<>\'\'';
    98 $statut_interne=_request('statut_interne');
    99 if($statut_interne!='tous')
    100         {
    101 
    102         $where .= ' AND statut_interne = '.sql_quote($statut_interne);
     89        $table = array('m'=>'spip_asso_membres', 'al'=>'spip_adresses_liens','a'=>'spip_adresses');
     90        $where = 'al.objet=\'auteur\' AND al.id_objet=m.id_auteur AND al.id_adresse=a.id_adresse AND ( (code_postal<>\'\' AND ville<>\'\') OR (boite_postale<>\'\') )';
     91        $statut_interne =_request('statut_interne');
     92        if($statut_interne!='tous'){
     93                $where .= ' AND statut_interne = '.sql_quote($statut_interne);
     94        }
     95        $filtre_email = _request('filtre_email');
     96        if($filtre_email) {
     97                $table['auteur'] ='spip_auteurs';
     98                $where .=' AND m.id_auteur=auteur.id_auteur AND auteur.email=\'\'';
     99        }
     100        $res = sql_select('*',$table, $where,'','nom_famille,prenom');
     101        $indice = 0;
     102        include_spip('ifltres','inc'); // http://doc.spip.org/@extraire_multi
     103        while($val = sql_fetch($res)) {
     104                if ($GLOBALS['association_metas']['etiquette_avec_civilite']) {
     105                        $vnom = trim($val['sexe'].' '.$val['nom_famille'].' '.$val['prenom']);
     106                } else {
     107                        $vnom = $val['prenom'].' '.$val['nom_famille'];
     108                }
     109                // cf. : http://fr.wikipedia.org/wiki/Adresse_postale#Exemples
     110                $etiquette = array(
     111                        'ligne1'=>$val['id_auteur'],
     112                        'ligne2'=>$vnom,
     113                        'ligne4'=>$val['voie'],
     114                        'ligne3'=>$val['complement'],
     115                        'ligne5'=>trim($val['boite_postale']),
     116                        'ligne6'=>trim($val['code_postal']).' '.$val['ville'],
     117                        'ligne7'=>($val['pays']==$GLOBALS['association_metas']['pays'] ? '' : extraire_multi(sql_getfetsel('nom','spip_pays', (is_numeric($val['pays'])?'id_pays':'code').'='.sql_quote($val['pays']) ,'','')) ), // pas terrible de devoir faire une requete separee pour une adresse, mais ceci ne devrait pas se produire souvent (en general)
     118                );
     119                if((fmod($indice,$nb_colonne*$nb_ligne)==0)and ($indice>0)) {
     120                        $pdf->AddPage();
     121                        $num_page++;
     122                }
     123                $indice_colonne = $indice%$nb_colonne;
     124                $indice_ligne = floor($indice/$nb_colonne)%$nb_ligne;
     125                $posx = $marge_gauche_page+$indice_colonne*$pas_horizontal+$marge_gauche_etiquette;
     126                $posy = $indice_ligne*$pas_vertical+$marge_haut_etiquette+$marge_haut_page;
     127                $imp_droite = ($posx+$pas_horizontal-$marge_droite_etiquette-$espace_etiquettesl-$marge_gauche_etiquette);
     128                $pdf->SetrightMargin($imp_droite);
     129                $pdf->SetLeftMargin($posx);
     130                //$pdf->setX($posx);
     131                $pdf->setY($posy);
     132                $pdf->SetFont('Arial','',7);
     133                /* la ligne ci-dessous active l'affichage des  id_adresse-id_auteur au dessus de l'etiquette d'adresse : utile en deboguage */
     134#               $pdf->Cell(0,5,($indice+1).' -'.$etiquette['ligne1'],0,2);
     135                /* la ligne ci-dessous cree une petite ligne vide : a mettre en lieu et place de la precedente en phase finale */
     136                $pdf->Cell(0,5,' ',0,2);
     137                $pdf->SetFont('Arial','B',9);
     138                $pdf->Cell(0,5,utf8_decode($etiquette['ligne2']),0,2);
     139                $pdf->SetFont('Arial','',8);
     140                if ($etiquette['ligne3'] >'') {
     141                        $pdf->Cell(0,5,utf8_decode($etiquette['ligne3']),0,2);
     142                }
     143                if ($etiquette['ligne4'] >'') {
     144                        $pdf->Cell(0,5,utf8_decode($etiquette['ligne4']),0,2);
     145                }
     146                $pdf->SetFont('Arial','B',9);
     147                if ($etiquette['ligne5'] >'') {
     148                        $pdf->cell(0,5,utf8_decode($etiquette['ligne5']),0,2);
     149                }
     150                if ($etiquette['ligne6'] >'') {
     151                        $pdf->cell(0,5,utf8_decode($etiquette['ligne6']),0,2);
     152                }
     153                $pdf->SetFont('Arial','',8);
     154                if ($etiquette['ligne7'] >'') {
     155                        $pdf->cell(0,5,utf8_decode($etiquette['ligne7']),0,2);
     156                }
     157#               $pdf->Rect($indice_colonne*$pas_horizontal, $indice_ligne*$pas_vertical, $pas_horizontal, $pas_vertical );
     158                $indice++;
     159        }
     160        if ($indice==0) {
     161                $message .= 'Aucune étiquette à imprimer<br />';
     162        } else {
     163                $nom_fic = 'etiquette.pdf';
     164                $pdf->Output('etiquettes.pdf', 'D');
     165                $message .='<a href="'.$nom_fic.'">Telecharger le fichier</a>';
    103166        }
    104167
    105 $filtre_email = _request('filtre_email');
    106 if($filtre_email)
    107         {
    108         $table['auteur']='spip_auteurs';
    109         $where .=' AND m.id_auteur=auteur.id_auteur AND auteur.email=\'\'';
    110         }
    111 
    112 $res = sql_select('*',$table, $where,'','nom_famille,prenom');
    113 //echo( sql_get_select('*',$table, $where,'','nom_famille,prenom'));
    114 
    115 $indice==0;
    116 while($val = sql_fetch($res)){
    117 
    118                  
    119                 if ($affiche_civilite) {       
    120                         $vnom=trim($val['sexe'].' '.$val['nom_famille'].' '.$val['prenom']);
    121                 }
    122                 else {
    123                         $vnom=$val['prenom'].' '.$val['nom_famille'];
    124                 }
    125                 $etiquette = array(
    126                                         'ligne1'=>'id-'.$val['id_auteur'],
    127                                         'ligne2'=>$vnom,
    128                                         'ligne3'=>$val['voie'],
    129                                         'ligne4'=>$val['complement'],
    130                                         'ligne5'=>trim($val['boite_postale'].' '.$val['code_postal']).' '.$val['ville'],
    131                                         'ligne6'=>$val['pays']);                                               
    132 
    133                         if((fmod($indice,$nb_colonne*$nb_ligne)==0)and ($indice>0))
    134                                 {$pdf->AddPage();
    135                                 $num_page++;
    136                                 }
    137                         $indice_colonne=$indice%$nb_colonne;
    138                         $indice_ligne=floor($indice/$nb_colonne)%$nb_ligne;
    139                         $posx=$marge_gauche_page+$indice_colonne*$pas_horizontal+$marge_gauche_etiquette;
    140                         $posy=$indice_ligne*$pas_vertical+$marge_haut_etiquette+$marge_haut_page;
    141                         $imp_droite=($posx+$pas_horizontal-$marge_droite_etiquette-$espace_etiquettesl-$marge_gauche_etiquette);
    142                         $pdf->SetrightMargin($imp_droite);
    143                         $pdf->SetLeftMargin($posx);
    144                         //$pdf->setX($posx);
    145                         $pdf->setY($posy);
    146                         $pdf->SetFont('Arial','',7);
    147 /* la ligne ci-dessous active l'affichage de l'id de l'auteur au dessus de l'adresse */
    148 //                      $pdf->Cell(0,5,($indice+1).' '.$etiquette['ligne1'],0,2);
    149                         $pdf->Cell(0,5,' ',0,2);
    150                         $pdf->SetFont('Arial','B',9);
    151                        
    152                         $pdf->Cell(0,5,utf8_decode($etiquette['ligne2']),0,2);                         
    153                         $pdf->SetFont('Arial','',8);
    154                         if ($etiquette['ligne3'] >'') {
    155                                 $pdf->Cell(0,5,utf8_decode($etiquette['ligne3']),0,2);
    156                                 }
    157                         if ($etiquette['ligne4'] >'') {
    158                                 $pdf->Cell(0,5,utf8_decode($etiquette['ligne4']),0,2);
    159                                 }
    160                         $pdf->SetFont('Arial','B',9);
    161                         if ($etiquette['ligne5'] >'') {
    162                                 $pdf->cell(0,5,utf8_decode($etiquette['ligne5']),0,2);
    163                                 }
    164 //                      $pdf->Rect($indice_colonne*$pas_horizontal, $indice_ligne*$pas_vertical, $pas_horizontal, $pas_vertical );
    165                        
    166 
    167                 $indice++;
    168                         }               
    169 
    170                 if ($indice==0) {$message .= 'Aucune étiquette à imprimer<BR />';
    171                         }
    172                 else    {
    173                         $nom_fic='etiquette.pdf';
    174                         $pdf->Output('etiquettes.pdf', 'D');
    175                         $message .='<a href="'.$nom_fic.'">Telecharger le fichier</a>';
    176                 }
    177        
    178168        return array('editable' => $ok, 'message_ok'=> $message );
    179 
    180169}
    181170
    182 
    183 
    184 
    185 
    186171?>
  • _plugins_/Association/Associaspip/lang/asso_fr.php

    r58798 r58825  
    103103        'objet_num' => '@objet@ n<sup>o</sup>&nbsp;:&nbsp;@num@',
    104104        'titre_num' => '@titre@&nbsp;@num@',
    105         'totaux_titre' => 'Totaux @titre@',
     105        'totaux_montants' => 'Montants Totaux @de_par@',
     106        'totaux_montants' => 'Bilan financier @de_par@',
     107        'totaux_nombres' => 'Nombres Totaux @de_par@',
     108        'totaux_nombres' => 'Effectif @de_par@',
     109        'totaux_moyens' => 'Statistiques @de_par@',
    106110        'date_du_jour' => 'Nous sommes le @date@',
    107111        'date_du_jour_heure' => 'Nous sommes le @date@ et il est @time@',
  • _plugins_/Association/Associaspip/plugin.xml

    r58103 r58825  
    66        </auteur>
    77        <version>2.1.0</version>
    8         <version_base>57896</version_base>
     8        <version_base>58824</version_base>
    99        <meta>association_metas</meta>
    1010        <etat>dev</etat>
Note: See TracChangeset for help on using the changeset viewer.