Changeset 66769 in spip-zone


Ignore:
Timestamp:
Oct 13, 2012, 12:40:17 PM (7 years ago)
Author:
gildas.cotomale@…
Message:

nettoyage et corrections

Location:
_plugins_/Association/Associaspip
Files:
3 deleted
156 edited
2 moved

Legend:

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

    r66377 r66769  
    1212        return;
    1313
    14 function action_ajouter_cotisation()
    15 {
     14function action_ajouter_cotisation() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_auteur = $securiser_action();
  • _plugins_/Association/Associaspip/action/ajouter_membre_groupes.php

    r66377 r66769  
    1616        $securiser_action = charger_fonction('securiser_action', 'inc');
    1717        $id_auteur = $securiser_action();
    18         $id_groupes = association_recuperer_liste('id_groupes', true);
     18        $id_groupes = association_recuperer_liste('id_groupes', TRUE);
    1919
    2020        $insert_data = array();
  • _plugins_/Association/Associaspip/action/ajouter_membres_groupe.php

    r66377 r66769  
    1616        $securiser_action = charger_fonction('securiser_action', 'inc');
    1717        $id_groupe = $securiser_action();
    18         $id_auteurs = association_recuperer_liste('id_auteurs', true);
    19         $id_groupes = _request('id_groupes', true);
     18        $id_auteurs = association_recuperer_liste('id_auteurs', TRUE);
     19        $id_groupes = _request('id_groupes', TRUE);
    2020
    2121        // cette action peut etre appelee selon deux modes
     
    4242        $insert_data = array();
    4343        foreach ($id_auteurs as $id_auteur) {
    44                 if (!in_array($id_auteur, $membres)){
     44                if (!in_array($id_auteur, $membres)) {
    4545                        $insert_data[] = array('id_groupe' => $id_groupe, 'id_auteur' => $id_auteur);
    4646                }
  • _plugins_/Association/Associaspip/action/desactiver_adherents.php

    r66377 r66769  
    1616        $securiser_action();
    1717        $statut_courant = association_passeparam_statut('courant');
    18         $where = sql_in('id_auteur', association_recuperer_liste('id_auteurs', true) );
     18        $where = sql_in('id_auteur', association_recuperer_liste('id_auteurs', TRUE) );
    1919        if($statut_courant==='sorti') {
    2020                sql_updateq('spip_asso_membres', array("statut_interne" => 'prospect'), $where);
  • _plugins_/Association/Associaspip/action/editer_asso_activites.php

    r66377 r66769  
    1212    return;
    1313
    14 function action_editer_asso_activites_dist()
    15 {
     14function action_editer_asso_activites_dist() {
    1615    $securiser_action = charger_fonction('securiser_action', 'inc');
    1716    $id_activite = $securiser_action();
  • _plugins_/Association/Associaspip/action/editer_asso_categories.php

    r66377 r66769  
    1212    return;
    1313
    14 function action_editer_asso_categories_dist()
    15 {
     14function action_editer_asso_categories_dist() {
    1615
    1716    $securiser_action = charger_fonction('securiser_action', 'inc');
  • _plugins_/Association/Associaspip/action/editer_asso_comptes.php

    r66377 r66769  
    1313        return;
    1414
    15 function action_editer_asso_comptes()
    16 {
     15function action_editer_asso_comptes() {
    1716        $securiser_action = charger_fonction('securiser_action', 'inc');
    1817        $id_compte = $securiser_action();
  • _plugins_/Association/Associaspip/action/editer_asso_destinations.php

    r66377 r66769  
    1212    return;
    1313
    14 function action_editer_asso_destinations_dist()
    15 {
     14function action_editer_asso_destinations_dist() {
    1615    $securiser_action = charger_fonction('securiser_action', 'inc');
    1716    $id_destination = $securiser_action();
  • _plugins_/Association/Associaspip/action/editer_asso_dons.php

    r66377 r66769  
    1212        return;
    1313
    14 function action_editer_asso_dons()
    15 {
     14function action_editer_asso_dons() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_don = $securiser_action();
  • _plugins_/Association/Associaspip/action/editer_asso_exercices.php

    r66377 r66769  
    1313    return;
    1414
    15 function action_editer_asso_exercices_dist()
    16 {
     15function action_editer_asso_exercices_dist() {
    1716    $securiser_action = charger_fonction('securiser_action', 'inc');
    1817    $id_exercice = $securiser_action();
  • _plugins_/Association/Associaspip/action/editer_asso_groupes.php

    r66346 r66769  
    1212    return;
    1313
    14 function action_editer_asso_groupes_dist()
    15 {
     14function action_editer_asso_groupes_dist() {
    1615    $securiser_action = charger_fonction('securiser_action', 'inc');
    1716    $id_groupe = $securiser_action();
  • _plugins_/Association/Associaspip/action/editer_asso_membres.php

    r66289 r66769  
    1212        return;
    1313
    14 function action_editer_asso_membres()
    15 {
     14function action_editer_asso_membres() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_auteur = $securiser_action();
  • _plugins_/Association/Associaspip/action/editer_asso_plan.php

    r66377 r66769  
    1212    return;
    1313
    14 function action_editer_asso_plan()
    15 {
     14function action_editer_asso_plan() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_plan = $securiser_action();
     
    2120        $champs = array(
    2221                'date_anterieure' => association_recuperer_date('date_anterieure'),
    23                 'active' => (_request('active')?true:false), // active est un booleen dans la base, et la request recupere l'etat de la checkbox
     22                'active' => (_request('active')?TRUE:FALSE), // active est un booleen dans la base, et la request recupere l'etat de la checkbox
    2423                'code' => $code,
    2524                'intitule' => _request('intitule'),
  • _plugins_/Association/Associaspip/action/editer_asso_prets.php

    r66377 r66769  
    1212    return;
    1313
    14 function action_editer_asso_prets_dist()
    15 {
     14function action_editer_asso_prets_dist() {
    1615    $securiser_action = charger_fonction('securiser_action', 'inc');
    1716    $id_pret = $securiser_action();
  • _plugins_/Association/Associaspip/action/editer_asso_ressources.php

    r66377 r66769  
    1212    return;
    1313
    14 function action_editer_asso_ressources()
    15 {
     14function action_editer_asso_ressources() {
    1615    $securiser_action = charger_fonction('securiser_action', 'inc');
    1716    $id_ressource=$securiser_action();
  • _plugins_/Association/Associaspip/action/editer_asso_ventes.php

    r66377 r66769  
    1212        return;
    1313
    14 function action_editer_asso_ventes()
    15 {
     14function action_editer_asso_ventes() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_vente = $securiser_action();
  • _plugins_/Association/Associaspip/action/editer_membre_groupes.php

    r66377 r66769  
    1717        $id_auteur = $securiser_action();
    1818
    19         $fonctions = association_recuperer_liste('fonctions', true);
     19        $fonctions = association_recuperer_liste('fonctions', TRUE);
    2020
    2121        $insert_data = array();
  • _plugins_/Association/Associaspip/action/editer_membres_groupe.php

    r66377 r66769  
    1616        $securiser_action = charger_fonction('securiser_action', 'inc');
    1717        $id_groupe = $securiser_action();
    18         $fonctions = association_recuperer_liste('fonctions', true);
     18        $fonctions = association_recuperer_liste('fonctions', TRUE);
    1919        if ( _request('modifier') ) // mettre a jour les fonctions des membres
    2020                foreach ($fonctions as $id_auteur => $fonction) {
  • _plugins_/Association/Associaspip/action/exclure_membres_groupe.php

    r66377 r66769  
    2222                sql_delete('spip_asso_groupes_liaisons', "id_groupe=".intval($id_groupe)." AND id_auteur=".intval($id_auteur));
    2323        } else { // exclusion en lot de plusieurs membres
    24                 $id_auteurs = association_recuperer_liste('id_auteurs', true);
     24                $id_auteurs = association_recuperer_liste('id_auteurs', TRUE);
    2525                $id_groupes = _request('id_groupes');
    2626                if (is_array($id_groupes)) { // mode d'appel 3 : depuis la page des adherents et la suppression multiple. Les differents id_groupes sont alors dans un tableau id_groupes
  • _plugins_/Association/Associaspip/action/relancer_adherents.php

    r66377 r66769  
    1818        $relance = association_recuperer_entier('relance');
    1919        $message = html_entity_decode(_request('message'), ENT_QUOTES, 'UTF-8');
    20         $statut_tab = association_recuperer_liste('statut', true); // contient un tableau id_auteur => statut_interne
     20        $statut_tab = association_recuperer_liste('statut', TRUE); // contient un tableau id_auteur => statut_interne
    2121        $exp = $GLOBALS['association_metas']['nom'].'<'.$GLOBALS['association_metas']['email'].'>';
    2222        include_spip ('inc/envoyer_mail'); //= $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
  • _plugins_/Association/Associaspip/action/supprimer_activites.php

    r66377 r66769  
    1212        return;
    1313
    14 function action_supprimer_activites()
    15 {
     14function action_supprimer_activites() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_activite = $securiser_action();
  • _plugins_/Association/Associaspip/action/supprimer_adherents.php

    r66377 r66769  
    1616        $securiser_action = charger_fonction('securiser_action', 'inc');
    1717        $securiser_action();
    18         $where = sql_in('id_auteur', association_recuperer_liste('id_auteurs', true) );
     18        $where = sql_in('id_auteur', association_recuperer_liste('id_auteurs', TRUE) );
    1919        sql_delete('spip_asso_membres', $where);
    2020}
  • _plugins_/Association/Associaspip/action/supprimer_comptes.php

    r66377 r66769  
    1212        return;
    1313
    14 function action_supprimer_comptes()
    15 {
     14function action_supprimer_comptes() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_compte = $securiser_action();
  • _plugins_/Association/Associaspip/action/supprimer_dons.php

    r66377 r66769  
    1212        return;
    1313
    14 function action_supprimer_dons()
    15 {
     14function action_supprimer_dons() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_don = $securiser_action();
  • _plugins_/Association/Associaspip/action/supprimer_ressources.php

    r66377 r66769  
    1212        return;
    1313
    14 function action_supprimer_ressources()
    15 {
     14function action_supprimer_ressources() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_ressource= $securiser_action();
  • _plugins_/Association/Associaspip/action/supprimer_ventes.php

    r66377 r66769  
    1212        return;
    1313
    14 function action_supprimer_ventes()
    15 {
     14function action_supprimer_ventes() {
    1615        $securiser_action = charger_fonction('securiser_action', 'inc');
    1716        $id_vente = $securiser_action();
  • _plugins_/Association/Associaspip/action/synchroniser_asso_activites.php

    r66377 r66769  
    1919        $evt = association_recuperer_entier('id_evenement');
    2020        $act = array(); // liste des id_activite rajoutes
    21         $imp = association_recuperer_liste('imp', true); // liste des reponses a importer
     21        $imp = association_recuperer_liste('imp', TRUE); // liste des reponses a importer
    2222        $anciennes_reponses = sql_in_select('id_auteur', 'id_auteur', 'spip_asso_activites', "id_evenement=$evt");
    2323        $nouvelles_reponses = sql_select('id_auteur, date', 'spip_evenements_participants', "id_evenement=$evt AND " . sql_in('reponse', $imp) . " AND NOT $anciennes_reponses" );
  • _plugins_/Association/Associaspip/action/valider_comptes.php

    r66377 r66769  
    1616        $securiser_action = charger_fonction('securiser_action', 'inc');
    1717        $securiser_action();
    18         $where = sql_in('id_compte', association_recuperer_liste('definitif', true) );
     18        $where = sql_in('id_compte', association_recuperer_liste('definitif', TRUE) );
    1919        sql_updateq('spip_asso_comptes', array('vu' => 1), $where);
    2020}
  • _plugins_/Association/Associaspip/association_autorisations.php

    r66346 r66769  
    99 *   http://programmer.spip.net/autoriser
    1010 */
    11 function association_autoriser(){
     11function association_autoriser() {
    1212}
    1313
     
    2222 *   Vrai si l'auteur est dans le(s) groupe(s), faux sinon
    2323 */
    24 function is_in_groups($id_auteur, $id_groupes)
    25 {
     24function is_in_groups($id_auteur, $id_groupes) {
    2625        if (is_array($id_auteur)) {
    2726                $id_auteur = $id_auteur['id_auteur'];
     
    3433        }
    3534        if (sql_countsel("spip_asso_groupes_liaisons", $where) != 0) {
    36                 return true;
     35                return TRUE;
    3736        } else {
    3837                return false;
     
    129128function autoriser_association_gerer_autorisations_dist($faire, $type, $id, $qui, $opt) {
    130129        if ($qui['statut']=='0minirezo' && $qui['webmestre']=='oui') {
    131                 return true; // on retourne ok pour tous les webmestres
     130                return TRUE; // on retourne ok pour tous les webmestres
    132131        }
    133132        return is_in_groups($qui['id_auteur'], 1); // c'est le groupe 1 qui liste les gens qui peuvent toucher aux autorisations
     
    144143        }
    145144        if ($qui['statut']=='0minirezo' && !$qui['restreint']) {
    146                 return true; // on retourne ok pour tous les admins non restreints
     145                return TRUE; // on retourne ok pour tous les admins non restreints
    147146        }
    148147        return is_in_groups($qui['id_auteur'], array(1,2)); // c'est le groupe 2 qui a le pouvoir de modifier les groupes (mais pas les autorisations), le groupe 1 peut modifier tout ce qui touche aux groupes (ceux d'autorisations inclus)
     
    159158        }
    160159        if ($qui['statut']=='0minirezo' || $qui['statut']=='1comite') {
    161                 return true; // on retourne ok pour tous les redacteurs
    162         }
    163         return is_in_groups($qui['id_auteur'], array(3)); // c'est le groupe 3 qui a le pouvoir de voir les groupes(mais pas ceux des autorisations)
     160                return TRUE; // on retourne ok pour tous les redacteurs
     161        }
     162        return is_in_groups($qui['id_auteur'], 3); // c'est le groupe 3 qui a le pouvoir de voir les groupes (mais pas ceux des autorisations)
    164163}
    165164
     
    167166 * Configurer la compatabilite. (expert comptable)
    168167 * defaut : webmestre
    169  * groupe : 10
     168 * groupe : 10.
    170169 */
    171170function autoriser_association_configurer_compta_dist($faire, $type, $id, $qui, $opt) {
    172171        if ($qui['statut']=='0minirezo' && $qui['webmestre']=='oui') {
    173                 return true; // on retourne ok pour tous les webmestres
    174         }
    175         return is_in_groups($qui['id_auteur'], array(10)); // c'est le groupe 10 qui a le pouvoir de configurer la comptabilite
     172                return TRUE; // on retourne ok pour tous les webmestres
     173        }
     174        return is_in_groups($qui['id_auteur'], 10); // c'est le groupe 10 qui a le pouvoir de configurer la comptabilite
     175}
     176
     177/**
     178 * Modifier/Exporter les operations comptables. (comptable/tresorier)
     179 * defaut : webmestre
     180 * groupe : 10,11.
     181 */
     182function autoriser_association_editer_compta_dist($faire, $type, $id, $qui, $opt) {
     183        if ($qui['statut']=='0minirezo' && $qui['webmestre']=='oui') {
     184                return TRUE; // on retourne ok pour tous les webmestres
     185        }
     186        return is_in_groups($qui['id_auteur'], array(11,10)); // c'est le groupe 11 qui a le droit d'edition, mais le groupe 10 a tout pouvoir sur la comptabilite
     187}
     188
     189/**
     190 * Consulter la compatabilite. (auditeur comptable et autres membres du CA)
     191 * Cette consultation (lecture seule) est celle du "Grand Journal/Livre des operations"
     192 * ainsi que la consultation et l'export des etats/syntheses comptables !
     193 * defaut : webmestre
     194 * groupe : 10,11,12.
     195 */
     196function autoriser_association_voir_compta_dist($faire, $type, $id, $qui, $opt) {
     197        if ($qui['statut']=='0minirezo' && $qui['webmestre']=='oui') {
     198                return TRUE; // on retourne ok pour tous les webmestres
     199        }
     200        return is_in_groups($qui['id_auteur'], array(12,11,10)); // c'est le groupe 11 qui a le droit de lire les journaux et rapports comptables, mais les groupes 10 et 11 aussi naturellement
    176201}
    177202
     
    179204 * Modifier le profil de l'association.
    180205 * defaut : webmestre
    181  * groupe : 20
     206 * groupe : 10,20.
    182207 */
    183208function autoriser_association_editer_profil_dist($faire, $type, $id, $qui, $opt) {
    184209        if ($qui['statut']=='0minirezo' && $qui['webmestre']=='oui') {
    185                 return true; // on retourne ok pour tous les webmestres
     210                return TRUE; // on retourne ok pour tous les webmestres
    186211        }
    187212        return is_in_groups($qui['id_auteur'], array(20,10)); // c'est le groupe 20 qui a le pouvoir d'editer le profil de l'association. le groupe 10 peut avoir besoin d'acceder a certains options de configuration aussi.
     
    195220function autoriser_association_voir_profil_dist($faire, $type, $id, $qui, $opt) {
    196221        if ($qui['statut']=='0minirezo' || $qui['statut']=='1comite') {
    197                 return true; // on retourne ok pour tous les redacteurs
     222                return TRUE; // on retourne ok pour tous les redacteurs
    198223        }
    199224        return is_in_groups($qui['id_auteur'], array(21,20)); // c'est le groupe 21 qui a le pouvoir de voir les informations de l'association, le 20 celui de les editer aussi
     
    201226
    202227/**
    203  * Editer les informations des membres.
    204  * defaut : admin non restreint.
    205  * groupe : 30
     228 * Editer/exporter les informations des membres.
     229 * defaut : admin non restreint.
     230 * groupe : 30.
    206231 */
    207232function autoriser_association_editer_membres($faire, $type, $id, $qui, $opt) {
    208233        if ($qui['statut']=='0minirezo' && !$qui['restreint']) {
    209                 return true; // retourne ok pour les admins complets
    210         }
    211         return is_in_groups($qui['id_auteur'], array(30)); // c'est le groupe 30 qui a le pouvoir de modifier les infos de tout le monde
     234                return TRUE; // retourne ok pour les admins complets
     235        }
     236        return is_in_groups($qui['id_auteur'], 30); // c'est le groupe 30 qui a le pouvoir de modifier les infos de tout le monde
    212237}
    213238
     
    220245function autoriser_association_voir_membres($faire, $type, $id, $qui, $opt) {
    221246        if ($qui['statut']=='0minirezo' && !$qui['restreint']) {
    222                 return true; // ok pour les admins non restreints
     247                return TRUE; // ok pour les admins non restreints
    223248        }
    224249        if ($id == intval($GLOBALS['visiteur_session']['id_auteur'])) {
    225                 return true; // ok si l'auteur connecté correspond à la page du membre a visiter
     250                return TRUE; // ok si l'auteur connecté correspond à la page du membre a visiter
    226251        }
    227252        return is_in_groups($qui['id_auteur'], array(31,30)); // c'est le groupe 31 qui a le pouvoir de voir les infos de tout le monde, le 30 celui de les editer
     
    229254
    230255/**
    231  * Voir la page des membres et leurs pages personnelle.
    232  * defaut : admin non restreint.
    233  *   Pour les pages de membres, le membre en question y a forcement accès
     256 * Synchroniser les membres avec les auteurs SPIP.
     257 * defaut : admin non restreint.
    234258 * groupe : 31,32.
    235259 */
    236260function autoriser_association_synchroniser_membres($faire, $type, $id, $qui, $opt) {
    237261        if ($qui['statut']=='0minirezo' && !$qui['restreint']) {
    238                 return true; // ok pour les admins non restreints
    239         }
    240         if ($id == intval($GLOBALS['visiteur_session']['id_auteur'])) {
    241                 return true; // ok si l'auteur connecté correspond à la page du membre a visiter
    242         }
    243         return is_in_groups($qui['id_auteur'], array(31,30)); // c'est le groupe 31 qui a le pouvoir de voir les infos de tout le monde, le 32 celui de les synchroniser
     262                return TRUE; // ok pour les admins non restreints
     263        }
     264        return is_in_groups($qui['id_auteur'], array(32,30)); // c'est le groupe 31 qui a le pouvoir de voir les infos de tout le monde, le 32 celui de les synchroniser
     265}
     266
     267/**
     268 * Synchroniser les membres avec les auteurs SPIP.
     269 * defaut : admin non restreint.
     270 * groupe : 11,33.
     271 */
     272function autoriser_association_relancer_membres($faire, $type, $id, $qui, $opt) {
     273        if ($qui['statut']=='0minirezo' && !$qui['restreint']) {
     274                return TRUE; // ok pour les admins non restreints
     275        }
     276        return is_in_groups($qui['id_auteur'], array(33,11)); // c'est le groupe 33 qui a le pouvoir de relancer les membres (est-ce que cela fait parti des messages envoyes par le secretaire ?), le 11 celui de reclamer les cotisations... (mais dans certaines associations il ne s'occupe pas de cet aspect administratif qui est laisse a la charge du secretaire avec qui il collabore sur ce point)
    244277}
    245278
  • _plugins_/Association/Associaspip/association_options.php

    r66377 r66769  
    88 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    99\***************************************************************************/
    10 
    1110
    1211if (!defined('_ECRIRE_INC_VERSION'))
     
    9291 * @todo voir s'il est possible d'utiliser plutot la fonction bouton_action($libelle, $url, $class="", $confirm="", $title="") definie dans /ecrire/inc/filtres.php
    9392 */
    94 function association_bouton_act($texte, $image, $script='', $exec_args='', $img_attrs='', $tag='td')
    95 {
     93function association_bouton_act($texte, $image, $script='', $exec_args='', $img_attrs='', $tag='td') {
    9694        $res = ($tag?"<$tag class='action'>":'');
    9795        $res .= ($script ? '<a href="'.generer_url_ecrire($script, $exec_args).'">' : '' );
    98         $res .= '<img src="'._DIR_PLUGIN_ASSOCIATION_ICONES.$image.'" alt="';
    99         $res .= ($texte ?association_langue($texte).'" title="'. association_langue($texte) : ' ' );
     96        $chemin = _DIR_PLUGIN_ASSOCIATION_ICONES.$image; // icone Associaspip
     97        if ( !file_exists($chemin) )
     98                $chemin = find_in_path($image); // icone alternative
     99        $res .= '<img src="'. urlencode($chemin) .'" alt="';
     100        $res .= htmlspecialchars($texte ?association_langue($texte).'" title="'. association_langue($texte) : ' ' );
    100101        $res .= '" '.$img_attrs.' />';
    101102        $res .= ($script?'</a>':'');
     
    120121 * bouton affich[age|er] v[ue|oir] visualis[ation|er]
    121122 */
    122 function association_bouton_affich($objet, $args='', $tag='td')
    123 {
     123function association_bouton_affich($objet, $args='', $tag='td') {
    124124        $res = association_bouton_act('bouton_voir', 'voir-12.png', "$objet", is_numeric($args)?"id=$args":$args, 'width="12" height="12" alt="&#x2380;"', $tag);
    125125        return $res;
     
    129129 * bouton edit[ion|er] (modifi[cation|er])
    130130 */
    131 function association_bouton_edit($objet, $args='', $tag='td')
    132 {
     131function association_bouton_edit($objet, $args='', $tag='td') {
    133132        $res = association_bouton_act('bouton_modifier', 'edit-12.gif', "edit_$objet", is_numeric($args)?"id=$args":$args, 'width="12" height="12" alt="&#9088;"', $tag);
    134133        return $res;
     
    138137 * bouton suppr[ession|imer] (efface[ment|r])
    139138 */
    140 function association_bouton_suppr($objet, $args='', $tag='td')
    141 {
     139function association_bouton_suppr($objet, $args='', $tag='td') {
    142140        $res = association_bouton_act('bouton_supprimer', 'suppr-12.gif', "suppr_$objet", is_numeric($args)?"id=$args":$args, 'width="12" height="12" alt="&#8999;" class="danger"', $tag);
    143141        return $res;
     
    147145 * bouton paye[ment|r] (cotis[ation|er], contribu[tion financiere|er financierement])
    148146 */
    149 function association_bouton_paye($objet, $args='', $tag='td')
    150 {
     147function association_bouton_paye($objet, $args='', $tag='td') {
    151148        $res = association_bouton_act('??', 'cotis-12.gif', "ajout_$objet", is_numeric($args)?"id=$args":$args, 'width="12" height="12" alt="&#164;"', $tag);
    152149        return $res;
     
    171168 *   (utile pour placer d'autres boutons caches dans la cellule)
    172169 */
    173 function association_bouton_coch($champ, $valeur='', $plus='', $tag='td')
    174 {
     170function association_bouton_coch($champ, $valeur='', $plus='', $tag='td') {
    175171        $res = ($tag?"<$tag class='action'>":'');
    176172        $res .= $plus.'<input type="checkbox" ';
     
    220216 *   Chaine du nom complet du membre, micro-formate ou non.
    221217 */
    222 function association_formater_nom($civilite, $prenom, $nom, $html_span='', $ps='')
    223 {
     218function association_formater_nom($civilite, $prenom, $nom, $html_span='', $ps='') {
    224219        $res = '';
    225220        if ($html_span) {
     
    256251 *   Date formatee
    257252 */
    258 function association_formater_date($iso_date, $css_class='', $format='entier', $html_abbr='auto')
    259 {
     253function association_formater_date($iso_date, $css_class='', $format='entier', $html_abbr='auto') {
    260254        if ( !$iso_date || substr_count($iso_date, '0000-00-00') ) // date indeterminee
    261255                return '';
     
    286280 * @note Perfectible... Avis aux contributeurs motives...
    287281 */
    288 function association_formater_nombre($nombre, $decimales=2, $css_class='', $html_abbr='')
    289 {
     282function association_formater_nombre($nombre, $decimales=2, $css_class='', $html_abbr='') {
    290283        if ( $html_abbr )
    291284                $res = "<$html_abbr ". ($css_class?"class='$css_class' ":'') ."title='$iso_date'>";
     
    319312 * @note les cas de minutes/secondes doivent etre specifie comme des heures au format ISO...
    320313 */
    321 function association_formater_duree($nombre, $unite='', $html_abbr='abbr')
    322 {
     314function association_formater_duree($nombre, $unite='', $html_abbr='abbr') {
    323315        $frmt_h = ''; // format human-readable
    324316        $frmt_m = 'P'; // format machine-parsable
     
    550542 * configuration (en fait les chaines de langue) du plugin
    551543 */
    552 function association_formater_prix($montant, $type='', $devise_code='', $devise_symb='', $html_abbr='abbr', $html_span='span')
    553 {
     544function association_formater_prix($montant, $type='', $devise_code='', $devise_symb='', $html_abbr='abbr', $html_span='span') {
    554545        $res = '';
    555546        if ($html_span)
     
    592583 *   http://spipistrelle.clinamen.org/spip.php?article16
    593584 */
    594 function association_formater_texte($texte, $filtre='', $css_class='', $html_span='' )
    595 {
     585function association_formater_texte($texte, $filtre='', $css_class='', $html_span='' ) {
    596586        $res = '';
    597587        if ( $css_class && !$html_span )
     
    612602
    613603/**
    614  * Affiche une puce de couleur
     604 * Affiche une puce de couleur carree nommee puce-*.gif
    615605 *
    616606 * @param string $statut
     
    619609 *   Nom (couleur) de la puce parmis celles disponibles : orange, rouge, vert, poubelle...
    620610 *   Tableau associant chaque statut a un nom de puce...
    621  * @param bool $acote
     611 * @param string $acote
    622612 *   Legende placee a cote de l'icone
    623613 * @return string
    624614 *   Dessin et texte
    625615 */
    626 function association_formater_puce($statut, $icone,  $acote=TRUE, $img_attrs='')
    627 {
     616function association_formater_puce($statut, $icone,  $acote='', $img_attrs='') {
    628617        if ( is_array($icone) )
    629618                $icone = $icone[$statut];
     
    648637 *   Date formatee
    649638 */
    650 function association_formater_heure($iso_date, $css_class='', $html_abbr='auto')
    651 {
     639function association_formater_heure($iso_date, $css_class='', $html_abbr='auto') {
    652640        $res = '';
    653641        if ( $html_abbr=='auto' )
     
    677665 *   http://microformats.org/wiki/hproduct-proposal#Schema
    678666 */
    679 function association_formater_code($code, $type='x-associaspip', $p_v=TRUE, $html_span='span' )
    680 {
     667function association_formater_code($code, $type='x-associaspip', $p_v=TRUE, $html_span='span' ) {
    681668        $res = $html_span  ? ("<$html_span class='". ($p_v?'p-v':'identifier') ."'>") : '';
    682669        if ( is_string($type) ) { // label implied
     
    737724        if ( $lien ) {
    738725                $res = propre('['.$res."->$lien$id]");
     726        }
     727        return $res;
     728}
     729
     730/**
     731 * Affiche une icone nommee type_*_*.???
     732 *
     733 * @param string $classe
     734 *   Nom du type d'icone. (correspond au CLASS microformat)
     735 * @param string|array $valeur
     736 *   Nom du sous-type d'icove. (correspond au TITLE microformat)
     737 * @param string $sep
     738 *   Separateur place entre les icones
     739 * @return string
     740 *   Dessin et texte
     741 */
     742function association_formater_typecoord($classe, $valeur, $sep=' ') {
     743        include_spip('coordonnees_fonctions'); // pour utiliser les filtres du plugin "Coordonnees"
     744        if ( function_exists('logo_type_') ) // bonne version du plugin "Coordonnees" activee
     745                return logo_type_($classe, $valeur, $sep).$sep;
     746        global $formats_logos;
     747        $types = explode(',', $valeur);
     748        $res = '';
     749        foreach ($types as $type) {
     750                $type = strtolower($type);
     751                $lang =  _T('coordonnees:type'. ($classe?"_$classe":'') . ($valeur?"_$valeur":'') );
     752                foreach ($formats_logos as $format) { // @file ecrire/inc/chercher_logo.php
     753                        $fichier = "images/type_$classe". ($type?"_ $type":'') .".$format";
     754                        if ( $chemin = find_in_path($fichier) )
     755                        $img = urlencode($chemin);
     756                }
     757                if ($img)
     758                        $res .= "<img class='type' src='$img' alt='$type' title='". $lang ."' />$sep"; // $res .= association_bouton_act($type, $img, '', '', '', '') ; // c'est comme un bouton... sans action/lien...
     759                elseif ($type)
     760                        $res .= "<abbr class='type' title='$type'>". $lang ."</abbr>$sep";
    739761        }
    740762        return $res;
     
    773795 *   http://microformats.org/wiki/vcard-suggestions#TEL_Type_Definition
    774796 */
    775 function association_formater_telephones($id_objets, $objet='auteur', $html_span='div', $href_pre='tel:', $href_post='')
    776 {
    777         $id_objets = association_recuperer_liste($id_objets, false);
     797function association_formater_telephones($id_objets, $objet='auteur', $html_span='div', $href_pre='tel:', $href_post='') {
     798        $id_objets = association_recuperer_liste($id_objets, FALSE);
    778799        if ($objet) { // ancien comportement : ce sont les id_auteur qui sont transmis
    779800                $telephones_array = array(); // initialisation du tableau des donnees
    780801                $trouver_table = charger_fonction('trouver_table', 'base');
    781                 if ( $trouver_table('spip_numeros') && $trouver_table('spip_numeros_liens') ) { // "coordonnees" ou similaire est installe (active ou pas)
     802                if ( $trouver_table('spip_numeros') && $trouver_table('spip_numeros_liens') ) { // le plugin "Coordonnees" est installe (active ou pas)
    782803                        foreach ($id_objets as $id_objet) { // prepare la structure du tableau renvoye
    783804                                $telephones_array[$id_objet] = array();
     
    800821                        }
    801822                        if ($html_span) { // formatage HTML avec microformat
    802                                 $telephones_string[$id_objet] .=  "<$html_span id='$telephone[id_telephone]' class='tel'>";
    803                                 if ($telephone['type']) {
    804                                         $types = explode(',', $telephone['type']);
    805                                         foreach ($types as $type)
    806                                                 $telephones_string[$id_objet] .= "<abbr class='type' title='$type'>". _T("coordonnees:$type") .'</abbr> '; // version textuelle
    807 //                                              $telephones_string[$id_objet] .= "<img class='type' alt='$type' src='". find_in_path("images/type_$type-16.png") ."' /> "; // version imagee
    808                                 }
     823                                $telephones_string[$id_objet] =  "<$html_span id='$telephone[id_telephone]' class='tel'>". association_formater_typecoord('tel', $telephone['type']);
    809824                                $tel_num = ($telephone['pays']?"+$telephone[pays]$telephone[region]$telephone[numero]":$telephone['numero']);
    810825                                $telephones_string[$id_objet] .=  ($href_pre?("<a title='". _T('asso:composer_le') ." $tel_num' href='$href_pre"):"<abbr title='"). preg_replace('/[^\d+]/', '', $tel_num) . ($href_pre?$href_post:'') ."' class='value'>";
     
    852867 *   http://microformats.org/wiki/adr-cheatsheet
    853868 */
    854 function association_formater_adresses($id_objets, $objet='auteur', $html_span='div', $newline='<br />', $espace='&nbsp;')
    855 {
    856         $id_objets = association_recuperer_liste($id_objets, false);
     869function association_formater_adresses($id_objets, $objet='auteur', $html_span='div', $newline='<br />', $espace='&nbsp;') {
     870        $id_objets = association_recuperer_liste($id_objets, FALSE);
    857871        if ($objet) { // ancien comportement : ce sont les id_auteur qui sont transmis
    858872                $adresses_array = array(); // initialisation du tableau des donnees
    859873                $trouver_table = charger_fonction('trouver_table', 'base');
    860                 if ( $trouver_table('spip_adresses') && $trouver_table('spip_adresses_liens') ) { // "coordonnees" ou similaire est installe (active ou pas)
     874                if ( $trouver_table('spip_adresses') && $trouver_table('spip_adresses_liens') ) { // le plugin "Coordonnees" est installe (active ou pas)
    861875                        foreach ($id_objets as $id_objet) { // prepare la structure du tableau renvoye
    862876                                $adresses_array[$id_objet] = array();
    863877                        }
    864                         $query = sql_select('l.id_objet, l.type, a.*','spip_adresses AS a INNER JOIN spip_adresses_liens AS l ON l.id_adresse=a.id_adresse', sql_in('l.id_objet', $id_objets)." AND l.objet='$objet' ");
     878                        $query = sql_select("l.id_objet, l.type, a.*, a.pays AS code_pays, '' AS nom_pays ",'spip_adresses AS a INNER JOIN spip_adresses_liens AS l ON l.id_adresse=a.id_adresse', sql_in('l.id_objet', $id_objets)." AND l.objet='$objet' ");
     879                        while ($data = sql_fetch($query)) { // on recupere tous les numeros dans un tableau de tableaux
     880                                $adresses_array[$data['id_objet']][] = $data;
     881                        }
     882                        sql_free($query);
     883                } elseif ( $trouver_table('spip_gis') && $trouver_table('spip_gis_liens') ) { // le plugin "GIS" est installe (active ou pas)
     884                        foreach ($id_objets as $id_objet) { // prepare la structure du tableau renvoye
     885                                $adresses_array[$id_objet] = array();
     886                        }
     887                        $query = sql_select("l.id_objet, l.type, a.*, a.pays AS nom_pays, adresse AS voie ",'spip_adresses AS a INNER JOIN spip_adresses_liens AS l ON l.id_gis=a.id_gis', sql_in('l.id_objet', $id_objets)." AND l.objet='$objet' ");
    865888                        while ($data = sql_fetch($query)) { // on recupere tous les numeros dans un tableau de tableaux
    866889                                $adresses_array[$data['id_objet']][] = $data;
     
    876899                foreach ($adresses as $adresse) { // chaque adresse est forcement un tableau bien qu'on le verifie pas
    877900                        if ($html_span) { // formatage HTML avec microformat
    878                                 $adresses_string[$id_objet] .=  "<$html_span id='$adresse[id_adresse]' class='adr'>";
    879                                 if ($adresse['type']) {
    880                                         $types = explode(',', $adresse['type']);
    881                                         foreach ($types as $type)
    882                                                 $adresses_string[$id_objet] .= "<abbr class='type' title='$type'>". _T("coordonnees:$type") .'</abbr> '; // version textuelle
    883 //                                              $adresses_string[$id_objet] .= "<img class='type' alt='$type' src='". find_in_path("images/type_$type-16.png") ."' /> "; // version imagee
    884                                 }
     901                                $adresses_string[$id_objet] =  "<$html_span id='$adresse[id_adresse]' class='adr'>". association_formater_typecoord('adr', $adresse['type']);
    885902                                if ($adresse['voie'])
    886903                                        $adresse['voie'] = "<span class='street-address'>$adresse[voie]</span>";
     
    895912                                if ($adresse['boite_postale'])
    896913                                        $adresse['boite_postale'] = "<span class='post-office-box'>$adresse[boite_postale]</span>";
     914                                if ( !$adresse['nom_pays'] && $adresse['code_pays']!=$GLOBALS['association_metas']['pays'] )
     915                                        if ($adresse['code_pays']) {
     916                                                if ( is_numeric($adresse['code_pays']) && $trouver_table('spip_geo_pays' ) ) // tenter de recuperer le nom avec le plugin "Geographie"
     917                                                        $adresse['nom_pays'] = sql_getfetsel('nom', 'spip_geo_pays', "id_pays=$adresse[code_pays]");
     918                                                elseif ( $trouver_table('spip_geo_pays') ) // tenter de recuperer le nom avec le plugin "Pays"
     919                                                        $adresse['nom_pays'] = sql_getfetsel('nom', 'spip_pays', 'code='.sql_quote($adresse['code_pays']) );
     920                                                else // un code langue ?
     921                                                        $adresse['nom_pays'] = _T($adresse['code_pays']);
     922                                        }
     923                                if ($adresse['nom_pays'])
     924                                        $adresse['pays'] = "<span class='country-name'>$adresse[nom_pays]</span>";
    897925                                unset($adresse['type']); // ne devrait plus etre traite par le modele
    898926                                unset($adresse['id_objet']); // ne devrait plus etre traite par le modele
     
    933961 *   http://en.wikipedia.org/wiki/X.400#Addressing
    934962 */
    935 function association_formater_emails($id_objets, $objet='auteur', $html_span='div', $sep=' ')
    936 {
    937         $id_objets = association_recuperer_liste($id_objets, false);
     963function association_formater_emails($id_objets, $objet='auteur', $html_span='div', $sep=' ') {
     964        $id_objets = association_recuperer_liste($id_objets, FALSE);
    938965        if ($objet) { // ancien comportement : ce sont les id_objet qui sont transmis
    939966                $emails_array = array(); // initialisation du tableau des donnees
     
    942969                }
    943970                if ( $objet=='auteur' ) { // on commence par recuperer les emails de la table spip_auteurs
    944                         $query = sql_select("id_auteur, email, CONCAT('0-', id_auteur) AS id_email, email AS titre, '' AS type", 'spip_auteurs', sql_in('id_auteur', $id_objets)." AND email <> ''");
     971                        $query = sql_select("id_auteur, email, CONCAT('0-', id_auteur) AS id_email, '' AS titre, '' AS type", 'spip_auteurs', sql_in('id_auteur', $id_objets)." AND email <> ''"); // on peut prendre comme titre le champ "nom" qui peut etre different du nom de membre affiche (c'est un pseudo) mais ce n'est pas forcement pertinent ; on peut reprendre le champ "email" aussi mais cela empeche le reformatage automatique et on a une longue colonne disgracieuse...
    945972                        while ($auteur_info = sql_fetch($query))
    946973                                $emails_array[$auteur_info['id_auteur']][] = $auteur_info;
     
    948975                }
    949976                $trouver_table = charger_fonction('trouver_table', 'base');
    950                 if ( $trouver_table('spip_emails') && $trouver_table('spip_emails_liens') ) { // "coordonnees" ou similaire est installe (active ou pas)
     977                if ( $trouver_table('spip_emails') && $trouver_table('spip_emails_liens') ) { // le plugin "Coordonnees" est installe (active ou pas)
    951978                        $query = sql_select('l.id_objet, l.type, e.*','spip_emails AS e INNER JOIN spip_emails_liens AS l ON l.id_email=e.id_email', sql_in('l.id_objet', $id_objets)." AND l.objet='$objet' ");
    952979                        while ($data = sql_fetch($query)) { // on recupere tous les numeros dans un tableau de tableaux
     
    962989                $emails_string[$id_objet] = ' '; // initialisation de la chaine renvoyee
    963990                foreach ($courriels as $courriel) { // formater chaque mel
    964                         $href = false;
     991                        $href = FALSE;
    965992                        if ( !is_array($courriel) ) {
    966993                                $courriel['email'] = $courriel;
    967994                        }
    968995                        if ($html_span) { // balisage HTML avec microformat
    969                                 $emails_string[$id_objet] .= "<$html_span id='$courriel[id_email]' class='email'>";
    970                                 if ($courriel['type']) {
    971                                         $types = explode(',', $courriel['type']);
    972                                         foreach ($types as $type)
    973                                                 $emails_string[$id_objet] .= "<abbr class='type' title='$type'>". _T("coordonnees:$type") .'</abbr> '; // version textuelle
    974 //                                              $emails_string[$id_objet] .= "<img class='type' alt='$type' src='". find_in_path("images/type_$type-16.png") ."' /> "; // version imagee
    975                                 }
     996                                $emails_string[$id_objet] = "<$html_span id='$courriel[id_email]' class='email'>". association_formater_typecoord('mel', $courriel['type']);
    976997                                if ( !$courriel['type'] || stripos($courriel['type'], 'internet')!==FALSE )
    977                                         $href = true;
     998                                        $href = TRUE;
    978999                                $emails_string[$id_objet] .= ($href?("<a title='". _T('asso:ecrire_a') ." $courriel[email]' href='mailto:$courriel[email]'"):'<span') ." class='value'>";
    9791000                                unset($courriel['type']); // ne devrait plus etre traite par le modele
    9801001                                unset($courriel['id_objet']); // ne devrait plus etre traite par le modele
    9811002                                unset($courriel['id_email']); // ne devrait pas etre utilise par le modele
    982                                 $courriel['email'] = ( $courriel['titre'] ? $courriel['titre'] : str_replace('@', ' @ ', ucwords($courriel['email'])) ); // on affiche le titre si present sinon la valeur
     1003                                $courriel['email'] = ( $courriel['titre'] ? $courriel['titre'] : ucwords(str_replace('@', ' ['._T('perso:at').'] ', $courriel['email'])) ); // on affiche le titre si present sinon la valeur
    9831004                        }
    9841005                        $emails_string[$id_objet] .= $courriel['email']. ($html_span?('</'.($href?'a':'span')."></$htm_span>\n"):'');
     
    10201041 *   http://fr.wikipedia.org/wiki/R%C3%A9seau_social#R.C3.A9seaux_sociaux_sur_Internet
    10211042 *   http://fr.wikipedia.org/wiki/R%C3%A9seautage_social#R.C3.A9seaux_ayant_plus_de_30_millions_d.27inscriptions
    1022  */
    1023 function association_formater_urls($id_objets, $objet='auteur', $a=TRUE, $sep=' ')
    1024 {
    1025         $id_objets = association_recuperer_liste($id_objets, false);
     1043 *   http://fr.wikipedia.org/wiki/Uniform_Resource_Identifier
     1044 *   http://fr.wikipedia.org/wiki/Hyperlien
     1045 */
     1046function association_formater_urls($id_objets, $objet='auteur', $a=TRUE, $sep=' ') {
     1047        $id_objets = association_recuperer_liste($id_objets, FALSE);
    10261048        if ($objet) { // ancien comportement : ce sont les id_objet qui sont transmis
    10271049                $urls_array = array(); // initialisation du tableau des donnees
     
    10291051                        $urls_array[$id_objet] = array();
    10301052                }
    1031                 if ( in_array($objet, array('auteur', 'breve', 'forum', 'site')) ) { // on commence par recuperer les #NOM_SITE et #URL_SITE des tables natives de SPIP
    1032                         $query = sql_select("id_$objet, nom_site AS titre, url_site AS url, CONCAT('0-',id_$objet) AS id_url, 'site' AS type", "spip_{$objet}s", sql_in("id_$objet", $id_objets)." AND url_site <> ''");
     1053                if ( in_array($objet, array('auteur', 'breve', 'forum', 'syndic', 'signature')) ) { // on commence par recuperer les #NOM_SITE et #URL_SITE des tables natives de SPIP (pour les breves c'est plutot #LIEN_TITRE et #LIEN_URL ! pfff...)
     1054                        $query = sql_select("id_$objet, ". ($objet=='breve'?'lien_titre':'nom_site') .' AS titre, '.  ($objet=='breve'?'lien_url':'url_site') ." AS url, CONCAT('0-',id_$objet) AS id_url, 'site' AS type",
     1055                        "spip_{$objet}s",
     1056                        sql_in("id_$objet", $id_objets) .' AND '. ($objet=='breve'?'lien_url':'url_site'). "<>''");
    10331057                        while ($site = sql_fetch($query))
    10341058                                $urls_array[$site["id_$objet"]][] = $site;
     
    10361060                }
    10371061                $trouver_table = charger_fonction('trouver_table', 'base');
    1038                 if ( $trouver_table('spip_urls') && $trouver_table('spip_urls_liens') ) { // "coordonnees" ou similaire est installe (active ou pas)
    1039                         $query = sql_select('l.id_objet, l.type, e.*','spip_urls AS e INNER JOIN spip_urls_liens AS l ON l.id_url=e.id_url', sql_in('l.id_objet', $id_objets)." AND l.objet='$objet' ");
    1040                         while ($data = sql_fetch($query)) { // on recupere tous les numeros dans un tableau de tableaux
     1062                if ( $trouver_table('spip_syndic') && $trouver_table('spip_syndic_liens') ) { // le plugin "Coordonnees" est installe (active ou pas)
     1063                        $query = sql_select('l.id_syndic AS id_url, l.id_objet, l.type, s.url_site AS url, s.nom_site AS titre, s.id_syndic AS id_url','spip_syndic AS s INNER JOIN spip_syndic_liens AS l ON l.id_syndic=s.id_syndic', sql_in('l.id_objet', $id_objets)." AND l.objet='$objet' ");
     1064                        while ($data = sql_fetch($query)) { // on recupere tous les sites lies dans un tableau de tableaux
    10411065                                $urls_array[$data['id_objet']][] = $data;
    10421066                        }
    10431067                        sql_free($query);
    10441068                }
    1045         } else { // on a deja la liste des emails !
     1069/*
     1070                if ( $trouver_table('spip_sites') && $trouver_table('spip_sites_liens') ) { // le plugin "Coordonnees" est installe (active ou pas)
     1071                        $query = sql_select('l.id_site AS id_url, l.id_objet, l.type, s.*','spip_sites AS s INNER JOIN spip_sites_liens AS l ON l.id_site=s.id_site', sql_in('l.id_objet', $id_objets)." AND l.objet='$objet' ");
     1072                        while ($data = sql_fetch($query)) { // on recupere tous les sites lies dans un tableau de tableaux
     1073                                $urls_array[$data['id_objet']][] = $data;
     1074                        }
     1075                        sql_free($query);
     1076                }
     1077                if ( $trouver_table('spip_ims') && $trouver_table('spip_ims_liens') ) { // le plugin "Coordonnees" est installe (active ou pas)
     1078                        $query = sql_select("l.id_objet, l.type, m.id_im AS id_url, m.identifiant AS titre,  CONCAT(CONCAT(t.url_debut,m.titre),t.url_fin) AS url ",
     1079                        'spip_ims AS m INNER JOIN spip_ims_liens AS l ON l.id_im=m.id_im INNER JOIN spip_ims_types AS t ON l.type=t.type',
     1080                        sql_in('l.id_objet', $id_objets)." AND l.objet='$objet' ");
     1081                        while ($data = sql_fetch($query)) { // on recupere tous les sites lies dans un tableau de tableaux
     1082                                $urls_array[$data['id_objet']][] = $data;
     1083                        }
     1084                        sql_free($query);
     1085                }
     1086*/
     1087        } else { // on a deja la liste des URLs !
    10461088                $urls_array = $id_objets;
    10471089        }
     
    10531095                                $lien['url'] = $lien;
    10541096                        }
    1055                         if ( $lien['type'] && !$lien['url'] ) // on a juste le "screen-name" pour une messagerie instantannee connue ou le "profil id" pour un reseau social connu
    1056                                 switch ( strtolower($lien['type']) ) { // deduire l'adresse a appliquer dans les cas les plus connus
    1057                                         case 'aim' :
    1058                                         case 'aol' : // OSCAR ou TOC2
    1059                                         case 'toc2' :
    1060                                                 $lien['url'] = "aim:goim?screenname=$lien[titre]";
    1061                                                 break;
    1062                                         case 'yim' :
    1063                                         case 'ymsgr' :
    1064                                         case 'ymsp' :
    1065                                                 $lien['url'] = "ymsgr:sendIM?$lien[titre]";
    1066                                                 break;
    1067                                         case 'msn' :
    1068                                         case 'msnim' :
    1069                                         case 'msnp' :
    1070                                                 $lien['url'] = "msnim:chat?contact=$lien[titre]";
    1071                                                 break;
    1072                                         case 'xmpp' :
    1073                                         case 'googletalk' :
    1074                                         case 'gtalk' :
    1075                                         case 'jabber' :
    1076                                         case 'jingle' : // extension P2P/VoIP implementee par Google
    1077                                         case 'gwfp' : // extension (Google) Wave Federation Protocol utilise par Apache Wave
    1078                                         case 'impp' : // precurseur/base de XMPP
    1079                                                 $lien['url'] = "xmpp:$lien[titre]";
    1080                                                 break;
    1081                                         case 'skype' :
    1082                                                 $lien['url'] = "skype:$lien[titre]?call";
    1083                                                 break;
    1084                                         case 'icq' : // OSCAR
    1085                                                 $lien['url'] = "http://www.icq.com/people/cmd.php?uin=$lien[titre]&action=message' type='application/x-icq";
    1086                                                 break;
    1087                                         case 'gg' :
    1088                                         case 'gadu' :
    1089                                         case 'gadu-gadu' :
    1090                                                 $lien['url'] = "gg:$lien[titre]";
    1091                                                 break;
    1092                                         case 'sip' :
    1093                                         case 'simple' :
    1094                                         case 'prim' :
    1095                                                 $lien['url'] = "sip:$lien[titre]";
    1096                                                 break;
    1097                                         case 'irc' :
    1098                                                 $lien['url'] = "irc://$lien[titre]"; // on suppose que c'est "reseau/cannal" qui sont donne... cf. http://en.wikipedia.org/wiki/Internet_Relay_Chat#Networks
    1099                                                 break;
    1100                                         case 'zephyr' : // base sur Kerberos, projet Athena
    1101                                                 $lien['url'] = "$lien[titre]@ATHENA.MIT.EDU";
    1102                                                 break;
    1103                                         default :
    1104                                                 $lien['url'] = "$lien[type]:$lien[titre]"; // probablement le protocole (file, ftp, http, webdav, ...)
    1105                                                 break;
    1106                                 }
     1097                        if ( $lien['type'] && $lien['titre'] && !$lien['url'] ) { // pas d'URL ??? on va tenter d'utiliser l'identifiant de messagerie
     1098                                $lien['url'] = $lien['type'].':'. htmlspecialchars($lien['titre']) ; // on presume que le "type" est le protocole et que le "titre" est le reste...
     1099                        }
    11071100                        if ($a) { // balisage HTML avec microformat
    1108                                 $urls_string[$id_objet] .= "<a class='url' href='$lien[url]' id='$lien[id_url]'>";
    1109                                 if ($lien['type']) {
    1110                                         $types = explode(',', $lien['type']);
    1111                                         foreach ($types as $type)
    1112                                                 $urls_string[$id_objet] .= '<span>'. _T("coordonnees:$type") .'</span>: '; // version textuelle
    1113 //                                              $urls_string[$id_objet] .= '<img alt="" src="'. find_in_path("images/type_$type-16.png") .'" /> '; // version imagee
    1114                                 }
     1101                                $urls_string[$id_objet] = "<a class='url' href='$lien[url]' id='$lien[id_url]'>". association_formater_typecoord('url', $lien['type']);
    11151102                                unset($lien['type']); // ne devrait plus etre traite par le modele
    11161103                                unset($lien['id_objet']); // ne devrait plus etre traite par le modele
    11171104                                unset($lien['id_url']); // ne devrait pas etre utilise par le modele
    1118                                 $urls_string[$id_objet] .= ($lien['titre']?$lien['titre']:$lien['url']); // on affiche le titre si present sinon la valeur
     1105                                $urls_string[$id_objet] = $urls_string[$id_objet]. ($lien['titre']?$lien['titre']:$lien['url']); // on affiche le titre si present sinon la valeur
    11191106                        } else
    11201107                                $urls_string[$id_objet] .= $lien['url'];
     
    11451132 *   Date au format ISO
    11461133 */
    1147 function association_recuperer_date($valeur, $req=TRUE)
    1148 {
     1134function association_recuperer_date($valeur, $req=TRUE) {
    11491135        $valeur = ($req?_request($valeur):$valeur);
    11501136        if ( $valeur ) {
     
    11601146 *   Bien qu'il s'agisse en fait de s'assurer que la valeur est un flottant, la fonction s'appelle _montant car elle est utilisee surtout pour les montants.
    11611147 */
    1162 function association_recuperer_montant($valeur, $req=TRUE)
    1163 {
     1148function association_recuperer_montant($valeur, $req=TRUE) {
    11641149        $valeur = ($req?_request($valeur):$valeur);
    11651150        if ( $valeur ) {
     
    11791164 *   Bien qu'il s'agisse en fait de s'assurer que la valeur est un entier, la fonction s'appelle _id car elle est utilisee surtout pour les identifiants de table.
    11801165 */
    1181 function association_recuperer_entier($valeur, $req=TRUE)
    1182 {
     1166function association_recuperer_entier($valeur, $req=TRUE) {
    11831167        $valeur = ($req?_request($valeur):$valeur);
    11841168        return intval($valeur);
     
    11931177 *   ...
    11941178 */
    1195 function association_recuperer_liste($valeur, $req=FALSE, $sep='')
    1196 {
     1179function association_recuperer_liste($valeur, $req=FALSE, $sep='') {
    11971180        $valeur = ($req?_request($valeur):$valeur);
    11981181        if ( !is_array($valeur) )
     
    12291212 * S'assurer que la valeur saisie est une chaine de date valide
    12301213 */
    1231 function association_verifier_date($valeur, $rex=FALSE, $req=TRUE)
    1232 {
     1214function association_verifier_date($valeur, $rex=FALSE, $req=TRUE) {
    12331215        $date = $req ? _request($valeur) : $valeur;
    12341216        if ( $rex && ($date=='0000-00-00' || !$date) )
     
    12461228 * S'assurer que la valeur saisie est un flottant positif
    12471229 */
    1248 function association_verifier_montant($valeur, $req=TRUE)
    1249 {
     1230function association_verifier_montant($valeur, $req=TRUE) {
    12501231        if (association_recuperer_montant($valeur,$req)<0)
    12511232                return _T('asso:erreur_montant');
     
    12591240 * --ceci permet d'editer des membres effaces tant qu'ils sont references par SPIP)
    12601241 */
    1261 function association_verifier_membre($valeur, $rex=FALSE, $req=TRUE)
    1262 {
     1242function association_verifier_membre($valeur, $rex=FALSE, $req=TRUE) {
    12631243        $id_auteur = intval($req?_request($valeur):$valeur);
    12641244        if ($id_auteur) {
     
    12681248        } else
    12691249                return '';
     1250}
     1251
     1252/**
     1253 * S'assurer que la somme des ventilations par destinations comptables correspond
     1254 * au montant de l'operation.
     1255 * le parametre d'entree est le montant total attendu, les montants des destinations
     1256 * sont recuperes directement dans $_POST
     1257 */
     1258function association_verifier_destinations($valeur, $req=TRUE) {
     1259        if ( ($GLOBALS['association_metas']['destinations']) && !array_key_exists($valeur, $erreurs) ) { // verifier si besoin que le montant des destinations correspond bien au montant de l'operation
     1260                $montant_attendu = floatval($req?_request($valeur):$valeur);
     1261                $err = '';
     1262                $toutesDestinationsIds = _request('id_dest');
     1263                $toutesDestinationsMontants = _request('montant_dest');
     1264                $total_destination = 0;
     1265                $id_inserted = array();
     1266                if (count($toutesDestinationsIds)>1) { // on a plusieurs destinations
     1267                        foreach ($toutesDestinationsIds as $id => $id_destination) { // on verifie qu'il n'y a pas plusieurs fois la meme destination, tout en recalculant le total
     1268                                if (!array_key_exists($id_destination,$id_inserted)) {
     1269                                        $id_inserted[$id_destination] = 0;
     1270                                } else {
     1271                                        $err = _T('asso:erreur_destination_dupliquee');
     1272                                }
     1273                                $total_destination += association_recuperer_montant($toutesDestinationsMontants[$id], FALSE); // les montants sont dans un autre tableau aux meme cles
     1274                        }
     1275                        if ( $montant_attendu!=$total_destination ) { // on verifie que la somme des montants des destinations correspond au montant attendu
     1276                                $err .= _T('asso:erreur_montant_destination');
     1277                        }
     1278                } else { // une seule destination, le montant peut ne pas avoir ete precise, dans ce cas pas de verif, c'est le montant attendu qui sera entre dans la base
     1279                        if ($toutesDestinationsMontants[1]) { // quand on a une seule destination, l'id dans les tableaux est forcement 1 par contruction de l'editeur
     1280                                if ( $montant_attendu!=association_recuperer_montant($toutesDestinationsMontants[1], FALSE) ) { // on verifie que le montant indique correspond au montant attendu
     1281                                        $err = _T('asso:erreur_montant_destination');
     1282                                }
     1283                        }
     1284                }
     1285                return $err;
     1286        } else
     1287                return FALSE;
    12701288}
    12711289
     
    13021320 * Selecteur d'exercice comptable
    13031321 */
    1304 function association_selectionner_exercice($sel='', $exec='', $plus='')
    1305 {
     1322function association_selectionner_exercice($sel='', $exec='', $plus='') {
    13061323    $res = '<select name ="exercice" onchange="form.submit()">';
    13071324#    $res .= '<option value="0" ';
     
    13221339 * Selecteur de destination comptable
    13231340 */
    1324 function association_selectionner_destination($sel='', $exec='', $plus='')
    1325 {
     1341function association_selectionner_destination($sel='', $exec='', $plus='') {
    13261342    if ( !$GLOBALS['association_metas']['destinations'])
    13271343                return ''; // on n'affiche le selecteur que si l'utilisation des destinations est activee en configuration
     
    13451361 * Selecteur de grouoe de membres
    13461362 */
    1347 function association_selectionner_groupe($sel='', $exec='', $plus='')
    1348 {
     1363function association_selectionner_groupe($sel='', $exec='', $plus='') {
    13491364    $sql = sql_select('id_groupe, nom', 'spip_asso_groupes', 'id_groupe>=100', '', 'nom');  // on ne prend en consideration que les groupe d'id >= 100, les autres sont reserves a la gestion des autorisations
    13501365    if ( !$sql || !sql_count($sql) )
     
    13711386 *   Idem instituer_adherent_ici
    13721387 */
    1373 function association_selectionner_statut($sel='', $exec='', $plus='')
    1374 {
     1388function association_selectionner_statut($sel='', $exec='', $plus='') {
    13751389    $res = '<select name="statut_interne" onchange="form.submit()">';
    13761390#    $res .= '<option value="tous"';
     
    13921406 * Zone de saisie de numero de membre
    13931407 */
    1394 function association_selectionner_id($sel='', $exec='', $plus='')
    1395 {
     1408function association_selectionner_id($sel='', $exec='', $plus='') {
    13961409    $res = '<input type="text" name="id" onfocus=\'this.value=""\' size="5"  value="'. ($sel?$sel:_T('asso:entete_id')) .'" />'.$plus;
    13971410    return $exec ? generer_form_ecrire($exec, $res.'<noscript><input type="submit" value="'. _T('asso:bouton_lister') .'" /></noscript>') : $res;
     
    14201433 *
    14211434 */
    1422 function association_selectionner_annee($annee='', $table, $champ, $exec='', $plus='', $lst=TRUE)
    1423 {
     1435function association_selectionner_annee($annee='', $table, $champ, $exec='', $plus='', $lst=TRUE) {
    14241436    if ($exec) {
    14251437                $res = '<form method="post" action="'. generer_url_ecrire($exec) .'"><div>';
     
    14651477 *
    14661478 */
    1467 function association_selectionner_lettre($lettre='', $table, $champ, $exec='', $plus='', $lst=FALSE)
    1468 {
     1479function association_selectionner_lettre($lettre='', $table, $champ, $exec='', $plus='', $lst=FALSE) {
    14691480    $lettre = strtoupper($lettre);
    14701481    if ($exec) {
     
    15181529 *   exec/bilan.php actuellement) et ne devrait plus etre utilise a l'avenir
    15191530 */
    1520 function association_selectionner_destinations($sel='', $exec='', $plus='', $lst=FALSE)
    1521 {
     1531function association_selectionner_destinations($sel='', $exec='', $plus='', $lst=FALSE) {
    15221532    if (!$GLOBALS['association_metas']['destinations'])
    15231533                return FALSE;
     
    15711581 *   HTML du bandeau de pagination
    15721582 */
    1573 function association_selectionner_souspage($pages, $exec='', $params='', $tbl=TRUE, $debut='debut', $req=TRUE)
    1574 {
     1583function association_selectionner_souspage($pages, $exec='', $params='', $tbl=TRUE, $debut='debut', $req=TRUE) {
    15751584        $res = ($tbl?"<table width='100%' class='asso_tablo_filtres'><tr>\n":'') .'<td align="left">';
    15761585        if ( is_array($pages) ) {
     
    17071716 *   avoir des valeurs differentes comme on peut le voir dans exec/adherent.php et exec/inscrits_activite.php !
    17081717 */
    1709 function association_totauxinfos_intro($titre, $type='', $id=0, $DesLignes=array(), $ObjetEtendu='')
    1710 {
     1718function association_totauxinfos_intro($titre, $type='', $id=0, $DesLignes=array(), $ObjetEtendu='') {
    17111719        $res = '';
    17121720        if ($type) {
     
    17191727                $res .= '<dl class="verdana1 spip_xx-small">';
    17201728        foreach ($DesLignes as $dt=>$dd) {
    1721                 $res .= '<dt>'. association_langue($dt) .'</dt><dd>'. propre($dd) .'</dd>'; // propre() paragraphe (rajoute <p>)... mais ce comportement peut etre change en mettant "paragrapher" a false dans mes_options.php : http://www.spip.net/fr_article889.html Cette presentation-ci est propre a Associaspip ; Habituellement on a : $res .= "<div class='$dt'><strong>". association_langue($dt) ."</strong> $dd</div>";
     1729                $res .= '<dt>'. association_langue($dt) .'</dt><dd>'. propre($dd) .'</dd>'; // propre() paragraphe (rajoute <p>)... mais ce comportement peut etre change en mettant "paragrapher" a FALSE dans mes_options.php : http://www.spip.net/fr_article889.html Cette presentation-ci est propre a Associaspip ; Habituellement on a : $res .= "<div class='$dt'><strong>". association_langue($dt) ."</strong> $dd</div>";
    17221730        }
    17231731        if ($ObjetEtendu) {
     
    17671775 *   - ainsi que les extrema si on le desire
    17681776 */
    1769 function association_totauxinfos_stats($legende='', $sql_table_asso, $sql_champs, $sql_criteres='1=1',$decimales_significatives=1, $avec_extrema=false)
    1770 {
     1777function association_totauxinfos_stats($legende='', $sql_table_asso, $sql_champs, $sql_criteres='1=1',$decimales_significatives=1, $avec_extrema=FALSE) {
    17711778        if (!is_array($sql_champs) || !$sql_table_asso)
    17721779                return FALSE;
     
    18061813 *   Complement du titre du tableau
    18071814 * @param array $lignes
    1808  *   'classe_unique_css_de_la_ligne' => array( 'chaine_de_langue', effectif_occurence)
     1815 *   'classe_unique_css_de_la_ligne' => array( 'chaine_de_langue', effectif_occurence, "texte libre place avant la chaine de langue", "texte libre place apres la chaine de langue")
    18091816 * @param int $decimales_significatives
    18101817 *   Nombre de decimales affichees
     
    18161823 *   Les classes CSS sont utilisees comme cle des tables parce-qu'il ne doit y en avoir qu'une par ligne.
    18171824 */
    1818 function association_totauxinfos_effectifs($legende='', $lignes, $decimales_significatives=0)
    1819 {
     1825function association_totauxinfos_effectifs($legende='', $lignes, $decimales_significatives=0) {
    18201826        if (!is_array($lignes) )
    18211827                return FALSE;
     
    18251831        foreach ($lignes as $classe_css=>$params) {
    18261832                $res .= '<tr class="'.$classe_css.'">';
    1827                 $res .= '<td class"text">'. association_langue($params[0]) .'</td>';
     1833                $res .= '<td class="text">'. $params[2]. association_langue($params[0]) .$params[3].'</td>';
    18281834                $nbr_actuel = is_array($params[1]) ? call_user_func_array('sql_countsel', $params[1]) : $params[1] ;
    18291835                $res .= '<td class="' .($decimales_significatives?'decimal':'integer') .'">'. association_formater_nombre($nbr_actuel, $decimales_significatives) .'</td>';
     
    18321838        }
    18331839        $res .= '</tbody>';
    1834         if (count($lignes)>1) {
     1840        if ( count($lignes)>1 ) {
    18351841                $res .= '<tfoot>';
    18361842                $res .= '<tr><th class="text">'._T('asso:liste_nombre_total').'</th>';
     
    18561862 *   Tous ces parametres sont facultatifs, mais un tableau est quand meme genere dans tous les cas !
    18571863 */
    1858 function association_totauxinfos_montants($legende='', $somme_recettes=0, $somme_depenses=0)
    1859 {
     1864function association_totauxinfos_montants($legende='', $somme_recettes=0, $somme_depenses=0) {
    18601865        $res = '<table width="100%" class="asso_infos">';
    18611866        $res .= '<caption>'. _T('asso:totaux_montants', array('de_par'=>_T("local:$legende"))) .'</caption><tbody>';
     
    19001905 *   Une certaine similitude avec http://programmer.spip.org/boite_infos :)
    19011906  */
    1902 function association_bloc_infosgauche($TitreObjet, $NumObjet, $DesLignes=array(), $ObjetEtendu='')
    1903 {
    1904         $res = debut_boite_info(true);
     1907function association_bloc_infosgauche($TitreObjet, $NumObjet, $DesLignes=array(), $ObjetEtendu='') {
     1908        $res = debut_boite_info(TRUE);
    19051909        $res .= association_totauxinfos_intro($TitreObjet, $TitreObjet, $NumObjet, $DesLignes, $ObjetEtendu);
    19061910        $res .= association_date_du_jour();
    1907         $res .= fin_boite_info(true);
     1911        $res .= fin_boite_info(TRUE);
    19081912        return $res;
    19091913}
     
    19201924 *   Par defaut, quand rien n'est indique, c'est l'objet suffixe de "s" qui est utilise
    19211925 */
    1922 function association_bloc_suppression($type, $id, $retour='')
    1923 {
     1926function association_bloc_suppression($type, $id, $retour='') {
    19241927        $res = '<p><strong>'. _T('asso:vous_aller_effacer', array('quoi'=>'<i>'. _T('asso:objet_num', array('objet'=>$type,'num'=>$id)) .'</i>') ) .'</strong></p>';
    19251928        $res .= '<p class="boutons"><input type="submit" value="'. _T('asso:bouton_confirmer') .'" /></p>';
     
    19501953 *   http://comments.gmane.org/gmane.comp.web.spip.devel/61824
    19511954 */
    1952 function association_bloc_filtres($liste_filtres, $exec='', $supplements='', $td=TRUE)
    1953 {
     1955function association_bloc_filtres($liste_filtres, $exec='', $supplements='', $td=TRUE) {
    19541956        $res = '<form method="get" action="'. ($exec?generer_url_ecrire($exec):'') .'">';
    19551957        if ($exec)
     
    19571959        $res .= "\n<". ($td?'table width="100%"':'ul') .' class="asso_tablo_filtres">'. ($td?'<tr>':'');
    19581960        foreach($liste_filtres as $filtre_selection =>$params) {
    1959                 $res .= ($td?'<td':'<li') ." class='filtre_$filtre_selection'>". call_user_func_array("association_selectionner_$filtre_selection", association_recuperer_liste($params, false) ) . ($td?'</td>':'</li>');
     1961                $res .= ($td?'<td':'<li') ." class='filtre_$filtre_selection'>". call_user_func_array("association_selectionner_$filtre_selection", association_recuperer_liste($params, FALSE) ) . ($td?'</td>':'</li>');
    19601962        }
    19611963        if ( is_array($supplements) ) {
     
    19931995 *   l'objet prefixe de "pdf_"
    19941996 */
    1995 function association_bloc_listepdf($objet, $params=array(), $prefixeLibelle='', $champsExclus=array(), $coords=true)
    1996 {
     1997function association_bloc_listepdf($objet, $params=array(), $prefixeLibelle='', $champsExclus=array(), $coords=true) {
    19971998        $res = '';
    19981999        if (test_plugin_actif('FPDF')) { // liste
    1999                 $res .= debut_cadre_enfonce('',true);
     2000                $res .= debut_cadre_enfonce('', TRUE);
    20002001                $res .= '<h3>'. _T('plugins_vue_liste') .'</h3>';
    20012002                $res .= '<div class="formulaire_spip formulaire_asso_liste_'.$objet.'s">';
     
    20292030                $res .= generer_form_ecrire("pdf_${objet}s", $frm, '', '');
    20302031                $res .= '</div>';
    2031                 $res .= fin_cadre_enfonce(true);
     2032                $res .= fin_cadre_enfonce(TRUE);
    20322033        }
    20332034
     
    20622063 *   Table-HTML listant les donnees formatees
    20632064 */
    2064 function association_bloc_listehtml($requete_sql, $presentation, $boutons=array(), $cle1='', $extra=array(), $cle2='', $selection=0 )
    2065 {
     2065function association_bloc_listehtml($requete_sql, $presentation, $boutons=array(), $cle1='', $extra=array(), $cle2='', $selection=0 ) {
    20662066        if ( is_array($requete_sql) && count($requete_sql)>1 ) {
    20672067                $table = ($requete_sql[1] ? $requete_sql[1] : ($requete_sql['table'] ? $requete_sql['table'] : ($requete_sql['from']?$requete_sql['from']:$requete_sql['tables']) ) ) ; // on recupere la partie "FROM" de la requete SQL...
     
    21992199 * - exercice_date_fin($exercice) <=> sql_asso1champ('exercice', $exercice, 'fin')
    22002200 */
    2201 function sql_asso1champ($table, $id, $champ, $pluriel=TRUE)
    2202 {
     2201function sql_asso1champ($table, $id, $champ, $pluriel=TRUE) {
    22032202        return sql_getfetsel($champ, "spip_asso_$table".($pluriel?'s':''), "id_$table=".intval($id));
    22042203}
     
    22102209 *   Tableau des champs sous forme : 'nom_du_champ'=>"contenu du champ"
    22112210 */
    2212 function sql_asso1ligne($table, $id, $pluriel=TRUE)
    2213 {
     2211function sql_asso1ligne($table, $id, $pluriel=TRUE) {
    22142212        return sql_fetsel('*', "spip_asso_$table".($pluriel?'s':''), "id_$table=".intval($id));
    22152213}
     
    22232221 *   Chaine de la partie LIMIT-SQL pour sql_select et similaires
    22242222 */
    2225 function sql_asso1page($valeur='debut', $req=TRUE)
    2226 {
     2223function sql_asso1page($valeur='debut', $req=TRUE) {
    22272224        $valeur = intval($req?_request($valeur):$valeur);
    22282225        return "$valeur,"._ASSOCIASPIP_LIMITE_SOUSPAGE;
     
    22592256 *   http://www.pcreview.co.uk/forums/case-access-sql-t1169064.html
    22602257 */
    2261 function sql_asso1set($operateur='UNION', $q1=array(), $q2=array() )
    2262 {
     2258function sql_asso1set($operateur='UNION', $q1=array(), $q2=array() ) {
    22632259        $nbr_requetes = func_num_args()-1;
    22642260        if ( $nbr_requetes<2 ) // il en faut au moins 2 !
     
    23042300 * @return array($id, $row)
    23052301 */
    2306 function association_passeparam_id($type='', $table='')
    2307 {
     2302function association_passeparam_id($type='', $table='') {
    23082303        if ($type) // recuperer en priorite : id_compte, id_don, id_evenement, id_ressource, id_vente, etc.
    23092304                $id = intval(_request("id_$type", $_GET));
     
    23302325 * @return array($an, $sql_where)
    23312326 */
    2332 function association_passeparam_annee($type='', $table='', $id=0)
    2333 {
     2327function association_passeparam_annee($type='', $table='', $id=0) {
    23342328        if ($type) // recuperer en priorite :
    23352329                $an = intval(_request("annee_$type", $_GET));
     
    23492343                        $an = max(sql_getfetsel("MIN(DATE_FORMAT(date_$type, '%Y')) AS an_min", "spip_$table", ''), $an);
    23502344                }
     2345                if (!$an) // ID inexistant (donc annee non trouvee) ou table vide (du coup annee vide)
     2346                        $an = date('Y'); // on prend l'annee courante retomber sur nos pattes et surtout ne pas fausser la requete
    23512347                $sql_where = "DATE_FORMAT(date_$type, '%Y')=$an";
    23522348                return array($an, $sql_where);
     
    23602356 * @return int $exo
    23612357 */
    2362 function association_passeparam_exercice()
    2363 {
     2358function association_passeparam_exercice() {
    23642359        $exo = intval(_request('exercice'));
    23652360        if (!$exo) // exercice non precise
     
    23752370 * Pour l'instant, appele uniquement dans exec/adherents.php vers la ligne 25
    23762371 */
    2377 function association_passeparam_statut($type='', $defaut='')
    2378 {
     2372function association_passeparam_statut($type='', $defaut='') {
    23792373        if ($type) // recuperer en priorite :
    23802374                $statut = trim(_request("statut_$type", $_GET));
     
    24112405
    24122406/*****************************************
     2407 * @defgroup association_chargeparam
     2408 * Charger des parametres comptables dans le contexte d'un formulaire
     2409 *
     2410 * @param string $type
     2411 * @param int $id
     2412 * @param array &$contexte
     2413 * @return array $contexte
     2414 *   Valeur(s) a charger.
     2415 *
     2416** @{ */
     2417
     2418function association_chargeparam_operation($type, $id, &$contexte) {
     2419        if ( $id ) { // si c'est une modification, on charge ses id_compte et journal depuis la table asso_comptes
     2420                list($id_compte, $journal) = sql_fetsel('id_compte, journal', 'spip_asso_comptes', 'imputation='. sql_quote($GLOBALS['association_metas']["pc_$type"]) .' AND id_journal='. sql_quote($id) ); // on recupere id_compte et journal dans la table des asso_compteS
     2421        } else {  // si c'est une nouvelle operation, on charge id_compte et journal vides
     2422                $id_compte = $journal = '';
     2423        }
     2424        $contexte['journal'] = $journal; // ajoute le  journal qui ne se trouve pas dans la table chargee par editer_objet_charger mais dans asso_comptes plutot
     2425        $contexte['_hidden'] .= "<input type='hidden' name='id_compte' value='$id_compte' />"; // on concatene aux _hidden de $contexte , id_compte qui sera utilise dans l'action
     2426        $contexte['classe_banques'] = $GLOBALS['association_metas']['classe_banques'];
     2427        return $contexte;
     2428}
     2429
     2430function association_chargeparam_destination($type, &$contexte) {
     2431        if ($GLOBALS['association_metas']['destinations']) { // on ajoute les metas de destinations
     2432                $contexte['classe_banques'] = $GLOBALS['association_metas']['classe_banques'];
     2433                $contexte['destinations_on'] = TRUE;
     2434                include_spip('inc/association_comptabilite');
     2435                // on recupere les destinations associes a id_compte
     2436                $dest_id_montant = association_liste_destinations_associees($id_compte);
     2437                if (is_array($dest_id_montant)) {
     2438                        $contexte['id_dest'] = array_keys($dest_id_montant);
     2439                        $contexte['montant_dest'] = array_values($dest_id_montant);
     2440                } else {
     2441                        $contexte['id_dest'] = '';
     2442                        $contexte['montant_dest'] = '';
     2443                }
     2444                $contexte['unique_dest'] = '';
     2445                $contexte['defaut_dest'] = ($type ? $GLOBALS['association_metas']["dc_$type"] : ''); // ces variables sont recuperees par la balise dynamique directement dans l'environnement
     2446        }
     2447        return $contexte;
     2448}
     2449
     2450/** @} */
     2451
     2452
     2453
     2454
     2455/*****************************************
    24132456 * @defgroup divers
    24142457 * Inclassables
     
    24252468 * @return string $res
    24262469 */
    2427 function association_date_du_jour($phraser=TRUE)
    2428 {
     2470function association_date_du_jour($phraser=TRUE) {
    24292471        $frmt_m = date('Y-m-d'. (_ASSOCIASPIP_AUJOURDHUI_HORAIRE?'\TH:i:s':'') ); // format machine-parsable : idealement "\TH:i:s.uP" mais il faut PHP "up"date (plus precisement 5.1.0 pour "e" et 5.1.3 pour "P" et 5.2.0 pour "u")
    24302472        $format = 'affdate_'. (_ASSOCIASPIP_AUJOURDHUI_HORAIRE?'heure':'base');
     
    24412483 * @return string $c
    24422484 */
    2443 function association_header_prive($flux)
    2444 {
     2485function association_header_prive($flux) {
    24452486        $c = direction_css(find_in_path('association.css'));
    24462487        return "$flux\n<link rel='stylesheet' type='text/css' href='$c' />";
     
    24562497 * @return string $res
    24572498 */
    2458 function affichage_div($type_operation, $list_operation)
    2459 {
     2499function affichage_div($type_operation, $list_operation) {
    24602500        if(strpos($list_operation, '-')) {
    24612501                $operations = explode('-', $list_operation);
     
    24882528 *     'nom_de_la_colonne'=>array( "Libelle du champ", "Donnee formatee", "Donnee brute SQL")
    24892529 */
    2490 function association_trouver_iextras($ObjetEtendu, $id=0)
    2491 {
     2530function association_trouver_iextras($ObjetEtendu, $id=0) {
    24922531        $champsExtrasVoulus = array();
    24932532        if (test_plugin_actif('IEXTRAS')) { // le plugin "Interfaces pour ChampsExtras2" est installe et active : on peut donc utiliser les methodes/fonctions natives...
     
    26272666 *   Libelle localise
    26282667 */
    2629 function association_langue($chaine)
    2630 {
     2668function association_langue($chaine) {
    26312669        if ( is_string($chaine) ) {
    26322670                $head = $chaine;
  • _plugins_/Association/Associaspip/balise/configurer_metas.php

    r41254 r66769  
    11<?php
    2 
    32/***************************************************************************\
    4  *  SPIP, Systeme de publication pour l'internet                           *
    5  *                                                                         *
    6  *  Copyright (c) 2001-2010                                                *
    7  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
    8  *                                                                         *
    9  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    10  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 20001--2010 Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James
     6 *
     7 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    118\***************************************************************************/
    129
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     10if (!defined('_ECRIRE_INC_VERSION'))
     11        return;
    1412
    15 // Une balise qui prend en argument un squelette suppose contenir un FORM
    16 // et gere ses saises automatiquement dans une table SQL a 2 colonnes
    17 // nom / valeur
    1813
    19 // Comme l'emplacement du squelette est calcule (par l'argument de la balise)
    20 // on ne peut rien dire sur l'existence du squelette lors de la compil
    21 // On pourrait toutefois traiter le cas de l'argument qui est une constante.
    22 
     14/**
     15 * Une balise qui prend en argument un squelette suppose contenir un FORM
     16 *  et gere ses saises automatiquement dans une table SQL a 2 colonnes
     17 * nom / valeur
     18 * Comme l'emplacement du squelette est calcule (par l'argument de la balise)
     19 * on ne peut rien dire sur l'existence du squelette lors de la compil
     20 * On pourrait toutefois traiter le cas de l'argument qui est une constante.
     21 */
    2322function balise_CONFIGURER_METAS_dist($p) {
    24 
    2523        return calculer_balise_dynamique($p, $p->nom_champ, array());
    2624}
    2725
    28 // A l'execution on dispose du nom du squelette, on verifie qu'il existe.
    29 // Pour le calcul du contexte, c'est comme la balise #FORMULAIRE_.
    30 // y compris le controle au retour pour faire apparaitre le message d'erreur.
    31 
     26/**
     27 * A l'execution on dispose du nom du squelette, on verifie qu'il existe.
     28 * Pour le calcul du contexte, c'est comme la balise #FORMULAIRE_.
     29 * y compris le controle au retour pour faire apparaitre le message d'erreur.
     30 */
    3231function balise_CONFIGURER_METAS_dyn($form) {
    33 
    3432        include_spip('balise/formulaire_');
    35         if (!existe_formulaire($form)) return '';
     33        if (!existe_formulaire($form))
     34                return '';
    3635        $args = func_get_args();
    3736        $contexte = balise_FORMULAIRE__contexte('configurer_metas', $args);
    38         if (!is_array($contexte)) return $contexte;
     37        if (!is_array($contexte))
     38                return $contexte;
    3939        return array('formulaires/' . $form, 3600, $contexte);
    4040}
  • _plugins_/Association/Associaspip/balise/editeur_destinations.php

    r60004 r66769  
    11<?php
    2 /***************************************************************************
    3  *  Associaspip, extension de SPIP pour gestion d'associations             *
    4  *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
    6  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
    7  *                                                                         *
    8  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    9  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     2/***************************************************************************\
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    109\***************************************************************************/
    1110
  • _plugins_/Association/Associaspip/balise/meta.php

    r46893 r66769  
    11<?php
    2 /***************************************************************************
    3  *  Associaspip, extension de SPIP pour gestion d'associations             *
    4  *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
    6  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
    7  *                                                                         *
    8  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    9  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     2/***************************************************************************\
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    109\***************************************************************************/
    1110
    12 if (!defined("_ECRIRE_INC_VERSION")) return;
     11if (!defined('_ECRIRE_INC_VERSION'))
     12  return;
    1313
    14 function balise_META($p)
    15 {
    16         if (!$arg = interprete_argument_balise(1,$p))
    17           $arg = "''";
    18         $p->code = 'choisir_meta(' . $arg . ')';
    19         return $p;
     14function balise_META($p) {
     15  if (!$arg = interprete_argument_balise(1,$p))
     16    $arg = "''";
     17  $p->code = 'choisir_meta(' . $arg . ')';
     18  return $p;
    2019}
    2120
    22 function choisir_meta($nom)
    23 {
    24         if ($nom[0]!=='/')
    25           $table = 'meta';
    26         else {
    27           list(,$table, $nom) = explode('/', $nom);
    28           $table .= '_metas';
    29           if (!isset($GLOBALS[$table])) $table = 'meta';
    30         }
    31         return $nom ? $GLOBALS[$table][$nom] : $GLOBALS[$table];
     21function choisir_meta($nom) {
     22  if ($nom[0]!=='/')
     23    $table = 'meta';
     24  else {
     25    list(,$table, $nom) = explode('/', $nom);
     26    $table .= '_metas';
     27    if (!isset($GLOBALS[$table]))
     28      $table = 'meta';
     29  }
     30  return $nom ? $GLOBALS[$table][$nom] : $GLOBALS[$table];
    3231}
    3332
  • _plugins_/Association/Associaspip/balise/onglets_association.php

    r65469 r66769  
    11<?php
    2 /***************************************************************************
    3  *  Associaspip, extension de SPIP pour gestion d'associations             *
    4  *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
    6  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
    7  *                                                                         *
    8  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    9  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     2/***************************************************************************\
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    109\***************************************************************************/
    1110
  • _plugins_/Association/Associaspip/balise/selecteur_classe_comptable.php

    r65453 r66769  
    11<?php
    2 /***************************************************************************
    3  *  Associaspip, extension de SPIP pour gestion d'associations             *
    4  *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
    6  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)      *
    7  *                                                                         *
    8  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    9  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     2/***************************************************************************\
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    109\***************************************************************************/
    1110
     
    1817si la meta (reglable dans la page de config) est activee
    1918 */
    20 
    2119function balise_SELECTEUR_CLASSE_COMPTABLE_dist ($p) {
    2220        // on recupere dans l'environement la classe qui doit donc etre assignees par la fonction charger du formulaire contenant la balise
     
    2624function balise_SELECTEUR_CLASSE_COMPTABLE_dyn($classe) {
    2725        $res = '<li class="editer_classe">'
    28                         .'<label for="classe">'._T('asso:classe').'</label>';
    29 
     26                .'<label for="classe">'._T('asso:classe').'</label>';
    3027        if ($GLOBALS['association_metas']['plan_comptable_prerenseigne']) {
    31                 include_spip('inc/association_plan_comptable');
    32                 // javascript sur le onchange pour mettre le selecteur de code directement au debut de la classe selectionnée et appeler la fonction onchange du selecteur (repercuter la modif dans les champs libres code et intitule)
     28                include_spip('inc/association_plan_comptable'); // javascript sur le onchange pour mettre le selecteur de code directement au debut de la classe selectionnée et appeler la fonction onchange du selecteur (repercuter la modif dans les champs libres code et intitule)
    3329                $res .= '<select name="classe" id="classe" class="select" onchange="var currentVal = String(document.getElementById(\'classe\').value).split(\'-\'); var optGroupElt = document.getElementById(\'codeOptGrp\'+currentVal[0]); if (optGroupElt) {optGroupElt.childNodes[0].selected=\'selected\'; document.getElementById(\'selecteur_code_comptable\').onchange()}">';
    3430                for ($i=1; $i<11; $i++) { // inclure les intitules de classes
  • _plugins_/Association/Associaspip/balise/selecteur_code_comptable.php

    r65453 r66769  
    11<?php
    2 /***************************************************************************
    3  *  Associaspip, extension de SPIP pour gestion d'associations             *
    4  *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
    6  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)      *
    7  *                                                                         *
    8  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    9  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     2/***************************************************************************\
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    109\***************************************************************************/
    1110
     
    2019 * sur la page ou est inseree la balise
    2120 */
    22 
    23 function balise_SELECTEUR_CODE_COMPTABLE_dist ($p)
    24 {
     21function balise_SELECTEUR_CODE_COMPTABLE_dist ($p) {
    2522        // on recupere dans l'environement le code qui doit donc etre assignees par la fonction charger du formulaire contenant la balise
    2623        return calculer_balise_dynamique($p, 'SELECTEUR_CODE_COMPTABLE', array('code'));
    2724}
    2825
    29 function balise_SELECTEUR_CODE_COMPTABLE_dyn($code)
    30 {
     26function balise_SELECTEUR_CODE_COMPTABLE_dyn($code) {
    3127        if ($GLOBALS['association_metas']['plan_comptable_prerenseigne']) { // si la meta est activee on renvoit le selecteur
    3228                include_spip('inc/association_plan_comptable');
    3329                $pcc = association_plan_comptable_complet(); // on recupere tout le plan comptable dans un tableau pour afficher le code commencant comme celui existant si ce dernier n'est pas dans le plan comptable
    3430                if ($code != '')
    35                         $code = association_plan_comptable_complet($code, true); // avec un second parametre a true, la fonction renvoie le code lui meme si il est present dans le tableau ou le premier code hierarchiquement superieur present
     31                        $code = association_plan_comptable_complet($code, TRUE); // avec un second parametre a TRUE, la fonction renvoie le code lui meme si il est present dans le tableau ou le premier code hierarchiquement superieur present
    3632                $res = '<select id="selecteur_code_comptable" class="select" onchange="var currentVal=String(document.getElementById(\'selecteur_code_comptable\').value).split(\'-\'); document.getElementById(\'code\').value=currentVal[0]; document.getElementById(\'intitule\').value=currentVal[1];">'; // code javascript en dur qui recopie l'intitule et le code dans les champs d'editions sur la page d'edition de la reference
    37                 $firstOptgroup = true;
     33                $firstOptgroup = TRUE;
    3834                foreach ($pcc as $index_code => $intitule) { // on boucle sur tout le tableau
    3935                        if ($index_code<9) { // si le code est inferieur a 9, c'est une definition de classe, on en fait un optgroup
    4036                                if (!$firstOptgroup) $res .= '</optgroup>';
    4137                                $res .= '<optgroup id="codeOptGrp'.$index_code.'" label="'.$index_code.' - '.$intitule.'">';
    42                                 $firstOptgroup = false;
     38                                $firstOptgroup = FALSE;
    4339                        } else { // sinon c'est une definition de compte -> une option du select
    4440                                $res .= '<option value="'.$index_code.'-'.$intitule.'"';
  • _plugins_/Association/Associaspip/balise/selecteur_imputation.php

    r65453 r66769  
    11<?php
     2/***************************************************************************\
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
     9\***************************************************************************/
    210
    3 /* * *************************************************************************
    4  *  Associaspip, extension de SPIP pour gestion d'associations             *
    5  *                                                                         *
    6  *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
    7  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)      *
    8  *  Ecrit par Marcel BOLLA en 09/2011                                                                      *
    9  *                                                                         *
    10  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    11  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
    12   \************************************************************************** */
    13 
    14 if (!defined("_ECRIRE_INC_VERSION"))
     11if (!defined('_ECRIRE_INC_VERSION'))
    1512        return;
    1613
     
    1815 * Cette balise affiche un selecteur du code d'imputation fonction de la classe
    1916 */
    20 
    2117function balise_SELECTEUR_IMPUTATION_dist($p) {
    2218        // on recupere dans l'environement le type d'operation
  • _plugins_/Association/Associaspip/base/association.php

    r66346 r66769  
    1111if (!defined('_ECRIRE_INC_VERSION'))
    1212        return;
    13 // Declaration des tables
    1413
    1514// http://programmer.spip.net/declarer_tables_principales
    16 function association_declarer_tables_principales($tables_principales)
    17 {
     15function association_declarer_tables_principales($tables_principales) {
    1816
    1917        //-- Table CATEGORIES COTISATION ------------------------------------------
     
    292290
    293291// http://programmer.spip.net/declarer_tables_auxiliaires
    294 function association_declarer_tables_auxiliaires($tables_auxiliaires)
    295 {
     292function association_declarer_tables_auxiliaires($tables_auxiliaires) {
    296293        $spip_asso_metas = array(
    297294                'nom' => "VARCHAR(255) NOT NULL",
     
    311308
    312309// http://programmer.spip.net/declarer_tables_interfaces,379
    313 function association_declarer_tables_interfaces($tables_interfaces)
    314 {
     310function association_declarer_tables_interfaces($tables_interfaces) {
    315311        $tables_interfaces['table_des_tables']['asso_dons'] = 'asso_dons';
    316312        $tables_interfaces['table_des_tables']['asso_ventes'] = 'asso_ventes';
     
    344340
    345341// http://programmer.spip.net/declarer_tables_objets_surnoms
    346 function association_declarer_tables_objets_surnoms($objets_surnoms)
    347 {
     342function association_declarer_tables_objets_surnoms($objets_surnoms) {
    348343        // constructions irregulieres ("table" n'est pas "objet" suffixe de "s")
    349344        // $objets_surnoms["objet"] = "table";
  • _plugins_/Association/Associaspip/base/association_gestion.php

    r66377 r66769  
    1616
    1717// desinstallation
    18 function association_vider_tables($nom_meta, $table)
    19 {
     18function association_vider_tables($nom_meta, $table) {
    2019        // on efface la meta [association_meta][base_version] pour que la fonction qui gere la desinstallation ne voie plus le plugin et confirme sa desinstallation
    2120        effacer_meta($nom_meta, $table);
     
    5352// fonction qui va remplir ou mettre a jour la table spip_asso_groupes
    5453// pour y a definir les groupes gerant les autorisations (id<100)
    55 function association_gestion_autorisations_upgrade()
    56 {
     54function association_gestion_autorisations_upgrade() {
    5755        // definir tous les groupes qui doivent exister
    5856        $groupes_autorisations = array(1,2,3,20,21,30,31);
     
    6260        $query = sql_select('id_groupe', 'spip_asso_groupes', 'id_groupe<100');
    6361        while ($data = sql_fetch($query)) {
    64                 $groupes_existants[$data['id_groupe']] = true;
     62                $groupes_existants[$data['id_groupe']] = TRUE;
    6563        }
    6664
     
    8078// MAJ des tables de la base SQL
    8179// Retourne 0 si ok, le dernier numero de MAJ ok sinon
    82 function association_upgrade($meta, $courante, $table='meta')
    83 {
     80function association_upgrade($meta, $courante, $table='meta') {
    8481        if (!isset($GLOBALS['association_metas']['base_version'])) { // Compatibilite : le nom de la meta donnant le numero de version n'etait pas std puis est parti dans une autre table puis encore une autre
    8582                lire_metas('asso_metas');
     
    124121
    125122$GLOBALS['association_maj'][21] = array(
    126         array('sql_alter',"TABLE spip_asso_membres ADD publication TEXT NOT NULL "),
     123        array('sql_alter', "TABLE spip_asso_membres ADD publication TEXT NOT NULL "),
    127124);
    128125
     
    157154);
    158155
    159 function association_maj_64()
    160 {
     156function association_maj_64() {
    161157        if (_ASSOCIATION_AUTEURS_ELARGIS=='spip_auteurs_elargis') {
    162158                sql_alter("TABLE spip_auteurs_elargis ADD validite DATE NOT NULL default '0000-00-00'");
     
    182178
    183179// Recopie des metas geree par CFG dans la table asso_meta
    184 function association_maj_38192()
    185 {
     180function association_maj_38192() {
    186181        if (sql_create('spip_asso_metas',
    187                 $GLOBALS['tables_auxiliaires']['spip_asso_metas']['field'], $GLOBALS['tables_auxiliaires']['spip_asso_metas']['key'], false, false)) {
     182                $GLOBALS['tables_auxiliaires']['spip_asso_metas']['field'], $GLOBALS['tables_auxiliaires']['spip_asso_metas']['key'], FALSE, FALSE)) {
    188183                // Il faut charger a la main ses fichiers puisque plugin.xml ne le demande plus
    189184                include _DIR_PLUGINS . 'cfg/inc/cfg.php';
     
    215210#       array('spip_query', "RENAME table spip_asso_metas TO spip_association_metas"), // syntaxe DB2 et MySQL
    216211#       array('spip_query', "SP_RENAME table spip_asso_metas , spip_association_metas"), // syntaxe SQL-Server / Transact-SQL
    217 * au profit de la syntaxe commune, gage de portabilite */
     212* au profit de la syntaxe commune, gage de portabilite
     213*/
    218214        array('sql_alter', "TABLE spip_asso_metas RENAME TO spip_association_metas"), // syntaxe ANSI-SQL92 reconnue par MySQL Oracle PosgreSQL SQLite etc
    219215);
     
    245241);
    246242
    247 function association_maj_46779()
    248 {
    249         /* avant d'eliminer reference de la table spip_asso_plan, on recopie sa valeur(si non null) dans le champ commentaires */
     243function association_maj_46779() {
    250244        $rows = sql_select("id_plan, reference, commentaire", 'spip_asso_plan', "reference <> ''");
    251         while ($row = sql_fetch($rows)) {
     245        while ($row = sql_fetch($rows)) { // avant d'eliminer reference de la table spip_asso_plan, on recopie sa valeur (si non vide) dans le champ commentaires
    252246                $commentaire = $row['commentaire']?$row['commentaire']." - ".$row['reference']:$row['reference'];
    253247                sql_updateq('spip_asso_plan',
     
    257251        sql_alter("TABLE spip_asso_plan DROP reference");
    258252
    259         /* modification du type de direction, on ajoute une troisieme valeur a l'enumeration, on renomme direction en type_op essentiellement
    260         pour des raisons de compatibilite avec les differentes bases de donnees supportees par SPIP (impossible d'utiliser ALTER COLUMN ou MODIFY)*/
     253        // modification du type de direction, on ajoute une troisieme valeur a l'enumeration, on renomme direction en type_op essentiellement
     254        // pour des raisons de compatibilite avec les differentes bases de donnees supportees par SPIP (impossible d'utiliser ALTER COLUMN ou MODIFY)
    261255        sql_alter("TABLE spip_asso_plan ADD type_op ENUM('credit','debit','multi') NOT NULL default 'multi'");
    262256        sql_update('spip_asso_plan', array('type_op' => 'direction'));
    263257        sql_alter("TABLE spip_asso_plan DROP direction");
    264258
    265         /* transforme actif en booleen plutot que texte oui/non, et renomme pour la meme raison en active */
     259        // transforme actif en booleen plutot que texte oui/non, et renomme pour la meme raison en active
    266260        sql_alter("TABLE spip_asso_plan ADD active BOOLEAN default 1");
    267261        sql_update('spip_asso_plan', array('active' => 0), "actif='non'");
    268262        sql_alter("TABLE spip_asso_plan DROP actif");
    269263
    270         /* avant d'eliminer don de la table spip_asso_ventes, on recopie sa valeur(si non null) dans le champ commentaires */
     264        // avant d'eliminer don de la table spip_asso_ventes, on recopie sa valeur(si non nul) dans le champ commentaires
    271265        $rows = sql_select("id_vente, don, commentaire", 'spip_asso_ventes', "don <> ''");
    272266        while ($row = sql_fetch($rows)) {
     
    283277);
    284278
    285 function association_maj_47144()
    286 {
    287         /* avant d'eliminer id_asso de la table spip_asso_membres, on recopie sa valeur(si non null et non egal a 0) dans le champ commentaires */
    288         $rows = sql_select("id_auteur, id_asso, commentaire", 'spip_asso_membres', "id_asso <> '' AND id_asso <> 0");
     279// suppression id_asso de la table spip_asso_membres
     280function association_maj_47144() {
     281        $rows = sql_select("id_auteur, id_asso, commentaire", 'spip_asso_membres', "id_asso <> '' AND id_asso <> 0"); // avant d'eliminer id_asso de la table spip_asso_membres, on recopie sa valeur (si non vide et non egal a 0) dans le champ commentaires
    289282        while ($row = sql_fetch($rows)) {
    290283                $commentaire = $row['commentaire']?$row['commentaire']." - Ref. Int. ".$row['id_asso']:"Ref. Int. ".$row['id_asso'];
     
    298291        array('association_maj_47144')
    299292);
    300 unset($GLOBALS['association_maj'][47144]); /* finalement on garde le champ id_asso, on n'effectue donc pas la maj_47144 */
    301 
    302 /* revert de la 47144 pour ceux qui l'aurait effectue avant qu'elle ne soit supprimee */
    303 function association_maj_47501()
    304 {
    305         /* on verifie si le champ id_asso existe dans la table spip_asso_membre, si oui, rien a faire, la 47144 n'a pas ete effectuee */
     293unset($GLOBALS['association_maj'][47144]); // finalement on garde le champ id_asso, on n'effectue donc pas la maj_47144
     294
     295// revert de la 47144 pour ceux qui l'aurait effectue avant qu'elle ne soit supprimee
     296function association_maj_47501() {
     297        // on verifie si le champ id_asso existe dans la table spip_asso_membre, si oui, rien a faire, la 47144 n'a pas ete effectuee
    306298        $trouver_table = charger_fonction('trouver_table', 'base');
    307299        $table_membres = $trouver_table('spip_asso_membres');
    308         if (!$table_membres['field']['id_asso']) { /* pas de champ id_asso, il faut le restaurer */
     300        if (!$table_membres['field']['id_asso']) { // pas de champ id_asso, il faut le restaurer
    309301                sql_alter("TABLE spip_asso_membres ADD id_asso TEXT NOT NULL ");
    310302
    311                 /* on va voir dans commentaire si on trouve un champ qui ressemble a ce que la 47144 a sauvegarde */
    312                 $rows = sql_select("id_auteur, commentaire", 'spip_asso_membres', "commentaire LIKE '% - Ref. Int. %' OR commentaire LIKE 'Ref. Int. %'");
    313                 while ($row = sql_fetch($rows)) {
     303                $rows = sql_select("id_auteur, commentaire", 'spip_asso_membres', "commentaire LIKE '% - Ref. Int. %' OR commentaire LIKE 'Ref. Int. %'"); // on va voir dans commentaire si on trouve un champ qui ressemble a ce que la 47144 a sauvegarde
     304                while ($row = sql_fetch($rows)) { // restaurer le contenu du champ id_asso
    314305                        if (preg_match('/^(.*?)( - )?Ref\. Int\. (.*)$/', $row['commentaire'], $matches)) {
    315306                                $commentaire = $matches[1];
     
    326317);
    327318
    328 /* eliminer le champ id_achat de la table ressources car il est inutile et non utilise, rien a sauvegarder */
     319// eliminer le champ id_achat de la table ressources car il est inutile et non utilise : rien a sauvegarder
    329320$GLOBALS['association_maj'][47731] = array(
    330321        array('sql_alter', "TABLE spip_asso_ressources DROP id_achat"),
    331322);
    332323
    333 /* mise a jour integrant l'utilisation du plugin Coordonnees */
    334 function association_maj_48001()
    335 {
    336         $effectuer_maj = false;
    337 
    338         /* cette partie du code s'execute au premier chargement, on n'a pas encore interroge l'utilisateur sur ce qu'il veut faire de ses donnees si il en a  ou il n'a pas voulu faire la maj */
     324// mise a jour integrant l'utilisation du plugin Coordonnees
     325function association_maj_48001() {
     326        $effectuer_maj = FALSE;
     327
     328        // cette partie du code s'execute au premier chargement, on n'a pas encore interroge l'utilisateur sur ce qu'il veut faire de ses donnees si il en a ou il n'a pas voulu faire la maj
    339329        if (!_request('valider_association_maj_coordonnees')) {
    340                 /* on commence par verifier si des informations de la table spip_asso_membres sont potentiellement transferable vers les tables de coordonnees */
     330                // on commence par verifier si des informations de la table spip_asso_membres sont potentiellement transferable vers les tables de coordonnees
    341331                $adresse = sql_countsel('spip_asso_membres', "adresse <> '' OR code_postal <> '' OR ville <> ''");
    342332                $telephone = sql_countsel('spip_asso_membres', "telephone <> '' OR mobile <> ''");
    343333
    344                 /* si on n'a pas de donnees a sauvegarder, on fait la mise a jour sans poser de question */
    345                 if (! ($adresse OR $telephone)) {
    346                         $effectuer_maj = true;
    347                 } else { /* on a des donnees, demander a l'utilisateur ce qu'il veut en faire */
     334                if (! ($adresse OR $telephone)) { // si on n'a pas de donnees a sauvegarder, on fait la mise a jour sans poser de question
     335                        $effectuer_maj = TRUE;
     336                } else { // on a des donnees, demander a l'utilisateur ce qu'il veut en faire
    348337                        echo '<form method="post" action="">';
    349338                        echo '<fieldset><p>'._T('asso:maj_coordonnees_intro').'</p>';
    350                         /* on commence par determiner si le plugin Coordonnees est installe */
     339                        // on commence par determiner si le plugin Coordonnees est installe
    351340                        include_spip('inc/plugin');
    352341                        $liste_plugins = liste_plugin_actifs();
    353342                        $plugin_coordonnees_actif = isset($liste_plugins['COORDONNEES']);
    354 
    355                         if (!$plugin_coordonnees_actif) {/* Le plugin coordonnees n'est pas actif */
     343                        if (!$plugin_coordonnees_actif) {// Le plugin coordonnees n'est pas actif
    356344                                echo '<p>'._T('asso:maj_coordonnees_plugin_inactif').'</p>';
    357                         } else { /* le plugin coordonnees est actif */
     345                        } else { // le plugin coordonnees est actif
    358346                                echo '<input type="radio" name="association_maj_coordonnees_traitement_data" value="ignorer">'._T('asso:maj_coordonnees_ignorer').'</input><br/>';
    359347                                echo '<input type="radio" name="association_maj_coordonnees_traitement_data" value="merge" checked="checked">'._T('asso:maj_coordonnees_merge').'</input>';
     
    365353                        echo '</form>';
    366354                }
    367         } else { /* l'utilisateur veut effectuer la maj, on controle si il y a des precision quand a l'ecrasement de donnees existentes */
     355        } else { // l'utilisateur veut effectuer la maj, on controle si il y a des precision quand a l'ecrasement de donnees existentes
    368356                        $choix_donnees = _request('association_maj_coordonnees_traitement_data');
    369                         if ($choix_donnees=='merge') { /* on integre les donnees d'association dans Coordonnees */
     357                        if ($choix_donnees=='merge') { // on integre les donnees d'association dans Coordonnees
    370358                                include_spip('action/editer_numero');
    371359                                include_spip('action/editer_adresse');
    372360                                include_spip('inc/modifier');
    373361
    374                                 /* pre-remplissage pour les fonctions insert_numero et insert_adresse de Coordonnees */
     362                                // pre-remplissage pour les fonctions insert_numero et insert_adresse de Coordonnees
    375363                                $liens = array('objet' => 'auteur');
    376364                                $telephone = array('titre' => 'telephone');
    377365                                $mobile = array('titre' => 'mobile');
    378 
    379366                                $spip_table_numero = table_objet_sql('numero');
    380367                                $id_table_numero = id_table_objet('numero');
    381 
    382368                                $spip_table_adresse = table_objet_sql('adresse');
    383369                                $id_table_adresse = id_table_objet('adresse');
    384370
    385                                 /* On recupere les coordonnees utiles */
     371                                // On recupere les coordonnees utiles
    386372                                $coordonnees_membres = sql_select('id_auteur, adresse AS voie, code_postal, ville, telephone, mobile', 'spip_asso_membres', "adresse <> '' OR mobile <> '' OR code_postal <> '' OR ville <> '' OR telephone <> ''");
    387373                                while ($data = sql_fetch($coordonnees_membres)) {
     
    410396                        }
    411397
    412                         $effectuer_maj = true;
    413         }
    414 
    415         /* on effectue si besoin la mise a jour */
     398                        $effectuer_maj = TRUE;
     399        }
     400
     401        // on effectue si besoin la mise a jour
    416402        if ($effectuer_maj) { // on supprime les champs de la table spip_asso_membres, ils ont deja ete sauvegarde dans les tables de Coordonnees si besoin
    417403                sql_alter("TABLE spip_asso_membres DROP telephone");
     
    446432// la fonction de mise a jour desactive donc d'eventuels modules actifs si la gestion
    447433// comptable n'est pas activee
    448 function association_maj_48466()
    449 {
     434function association_maj_48466() {
    450435        include_spip('inc/association_comptabilite');
    451436        /* on verifie la validite du plan comptable existant */
     
    455440        }
    456441
    457         $desactivation = false;
     442        $desactivation = FALSE;
    458443        if (!$GLOBALS['association_metas']['comptes']) {
    459                 if ($GLOBALS['association_metas']['dons']) { ecrire_meta('dons', '', 'oui', 'association_metas'); $desactivation = true; }
    460                 if ($GLOBALS['association_metas']['ventes']) { ecrire_meta('ventes', '', 'oui', 'association_metas'); $desactivation = true; }
    461                 if ($GLOBALS['association_metas']['prets']) { ecrire_meta('prets', '', 'oui', 'association_metas'); $desactivation = true; }
    462                 if ($GLOBALS['association_metas']['activites']) { ecrire_meta('activites', '', 'oui', 'association_metas'); $desactivation = true; }
    463         }
    464 
    465         /* si on a desactive des modules, on le signale par un message */
     444                if ($GLOBALS['association_metas']['dons']) { ecrire_meta('dons', '', 'oui', 'association_metas'); $desactivation = TRUE; }
     445                if ($GLOBALS['association_metas']['ventes']) { ecrire_meta('ventes', '', 'oui', 'association_metas'); $desactivation = TRUE; }
     446                if ($GLOBALS['association_metas']['prets']) { ecrire_meta('prets', '', 'oui', 'association_metas'); $desactivation = TRUE; }
     447                if ($GLOBALS['association_metas']['activites']) { ecrire_meta('activites', '', 'oui', 'association_metas'); $desactivation = TRUE; }
     448        }
     449
     450        // si on a desactive des modules, on le signale par un message
    466451        if ($desactivation) echo '<p>'._T('asso:maj_desactive_modules').'</p>';
    467452
    468         /* on en profite pour effacer des metas qui ne servent plus */
     453        // on en profite pour effacer des metas qui ne servent plus
    469454        effacer_meta('comptes_stricts', 'association_metas');
    470455        effacer_meta('indexation', 'association_metas');
     
    474459);
    475460
     461// ajout de la date d'adhesion du membre
    476462$GLOBALS['association_maj'][51602] = array(
    477463        array('sql_alter', "TABLE spip_asso_membres ADD date_adhesion DATE "),
    478464);
     465unset($GLOBALS['association_maj'][51682]); // finalement non...
    479466
    480467// Ces champs de configuration n'etant plus geres par defaut,
     
    488475
    489476// mise a jour introduisant les groupes
    490 function association_maj_53901()
    491 {
     477function association_maj_53901() {
    492478        sql_create('spip_asso_groupes',
    493479                $GLOBALS['tables_principales']['spip_asso_groupes']['field'],
     
    499485
    500486        /* si on a des membres avec une fonction defini, on recupere tout et on les mets dans un groupe appele bureau */
    501         $liste_membres_bureau = sql_select("id_auteur, fonction" ,"spip_asso_membres", "fonction <> ''");
    502         if (sql_count($liste_membres_bureau )) {
    503                 /* on cree un groupe "Bureau" */
    504                 $id_groupe = sql_insertq("spip_asso_groupes", array('nom' => 'Bureau', 'affichage' => '1'));
    505                 /* et on y insere tous les membres qui avaient une fonction */
    506                 while ($membre_bureau = sql_fetch($liste_membres_bureau)) {
     487        $liste_membres_bureau = sql_select("id_auteur, fonction" ,"spip_asso_membres", "fonction <> ''"); // si on a des membres avec une fonction definie, on recupere tout...
     488        if (sql_count($liste_membres_bureau )) { // ...et on les met dans un groupe appele "Bureau"
     489                $id_groupe = sql_insertq("spip_asso_groupes", array('nom' => 'Bureau', 'affichage' => '1')); // on cree un groupe "Bureau"...
     490                while ($membre_bureau = sql_fetch($liste_membres_bureau)) { // ...et on y insere tous les membres qui avaient une fonction
    507491                        sql_insertq("spip_asso_groupes_liaisons", array(
    508492                                'id_groupe' => $id_groupe,
     
    513497        }
    514498
    515         /* on supprime le champs fonction de la table spip_asso_membres car il est maintenant gere dans spip_asso_groupes_liaison */
    516         sql_alter("TABLE spip_asso_membres DROP fonction");
     499        sql_alter("TABLE spip_asso_membres DROP fonction"); // on supprime le champ fonction de la table spip_asso_membres car cela est maintenat gere dans spip_asso_groupes_liaisons
    517500}
    518501$GLOBALS['association_maj'][53901] = array(
     
    520503);
    521504
    522 /* Creation de la table 'exercices' permettant de gerer la comptabilite en exercice comptable */
    523 /* sur une 'annee civile', une 'annee scolaire', ou sur des periodes donnees */
     505// Creation de la table 'exercices' permettant de gerer la comptabilite en exercice comptable
     506// sur une 'annee civile', une 'annee scolaire', ou sur des periodes donnees
    524507$GLOBALS['association_maj'][55177] = array(
    525508        array('sql_create','spip_asso_exercices',
     
    589572
    590573// Correction de l'erreur aux niveau de l'auto-increment des id_groupe presente pour les nouvelles installations effectuees entre la r53901  et r60035
    591 function association_maj_60038()
    592 {
    593         // reset de l'autoincrement, meme si il y a deja des groupes d'id>100 ca ne pose pas de probleme.
    594         sql_alter("TABLE spip_asso_groupes AUTO_INCREMENT = 100");
    595 
    596         // on verifie qu'on a des groupes d'id<100 avec un nom non vide
    597         $query = sql_select('id_groupe', 'spip_asso_groupes', "id_groupe<100 AND nom<>''", '', 'id_groupe');
     574function association_maj_60038() {
     575        sql_alter("TABLE spip_asso_groupes AUTO_INCREMENT = 100"); // reset de l'auto-increment meme s'il y a deja des groupes d'ID >100 car ca ne pose pas de probleme
     576
     577        $query = sql_select('id_groupe', 'spip_asso_groupes', "id_groupe<100 AND nom<>''", '', 'id_groupe'); // on verifie qu'on a des groupes d'ID <100 avec un nom <>''
    598578        if (sql_count($query)) {
    599                 // on recupere l'id du dernier groupe cree
    600                 $max_id = sql_getfetsel('MAX(id_groupe)', 'spip_asso_groupes');
     579                $max_id = sql_getfetsel('MAX(id_groupe)', 'spip_asso_groupes'); // on recupere l'ID du dernier groupe cree
    601580                $max_id = ($max_id<100)?100:$max_id;
    602581                while ($data=sql_fetch($query)) {
    603                         // on ajoute max_id a l'id des groupes selectionnés
    604                         sql_updateq('spip_asso_groupes', array('id_groupe'=>($data['id_groupe']+$max_id)), 'id_groupe='.$data['id_groupe']);
    605                         // on fait pareil dans la table de liaisons
    606                         sql_updateq('spip_asso_groupes_liaisons', array('id_groupe'=>($data['id_groupe']+$max_id)), 'id_groupe='.$data['id_groupe']);
     582                        sql_updateq('spip_asso_groupes', array('id_groupe'=>($data['id_groupe']+$max_id)), 'id_groupe='.$data['id_groupe']); // on ajoute $max_id_ a l'ID des groupes selectionnes
     583                        sql_updateq('spip_asso_groupes_liaisons', array('id_groupe'=>($data['id_groupe']+$max_id)), 'id_groupe='.$data['id_groupe']); // on fait pareul dans la table des liaisons
    607584                }
    608585        }
     
    611588        association_gestion_autorisations_upgrade();
    612589}
    613 
    614590$GLOBALS['association_maj'][60038] = array(
    615591        array('association_maj_60038')
    616592);
    617593
     594// ajout de la caution a la gestion des ressources
    618595$GLOBALS['association_maj'][62712] = array(
    619 // ajout de la caution a la gestion des ressources
    620596        array('sql_alter', "TABLE spip_asso_ressources ADD prix_caution DECIMAL(19,2) NOT NULL DEFAULT 0 "),
    621597        array('sql_alter', "TABLE spip_asso_prets ADD prix_caution DECIMAL(19,2) NOT NULL DEFAULT 0 "),
     
    634610// renommer le champ "commentaires" en "commentaire" pour homogeniser les traitements et l'affichage
    635611        array('sql_alter', "TABLE spip_asso_categories ADD commentaire TEXT NOT NULL"),
    636         array('sql_update', 'spip_asso_categories', array('commentaires'=>'commentaire') ),
     612        array('sql_update', 'spip_asso_categories', array('commentaire'=>'commentaires') ),
    637613        array('sql_alter', "TABLE spip_asso_categories DROP commentaires"),
    638614        array('sql_alter', "TABLE spip_asso_groupes ADD commentaire TEXT NOT NULL"),
    639         array('sql_update', 'spip_asso_groupes', array('commentaires'=>'commentaire') ),
     615        array('sql_update', 'spip_asso_groupes', array('commentaire'=>'commentaires') ),
    640616        array('sql_alter', "TABLE spip_asso_groupes DROP commentaires"),
    641         array('sql_alter', "TABLE spip_asso_dons ADD id_auteur TEXT NOT NULL"),
    642 // renommer le champ "commentaires" en "commentaire" pour homogeniser les traitements et l'affichage
    643         array('sql_alter', "TABLE spip_asso_categories ADD commentaire TEXT NOT NULL"),
    644         array('sql_update', 'spip_asso_categories', array('commentaires'=>'commentaire') ),
    645         array('sql_alter', "TABLE spip_asso_categories DROP commentaires"),
    646617// homogeniser le nommage de cle secondaire sur les membres/auteurs pour ne plus s'arracher les cheveux
    647618        array('sql_alter', "TABLE spip_asso_dons ADD id_auteur BIGINT UNSIGNED NOT NULL"),
    648         array('sql_update', 'spip_asso_dons', array('id_adherent'=>'id_auteur') ),
     619        array('sql_update', 'spip_asso_dons', array('id_auteur'=>'id_adherent') ),
    649620        array('sql_alter', "TABLE spip_asso_dons DROP id_adherent"),
    650621        array('sql_alter', "TABLE spip_asso_activites ADD id_auteur BIGINT UNSIGNED NOT NULL"),
    651         array('sql_update', 'spip_asso_activites', array('id_adherent'=>'id_auteur') ),
     622        array('sql_update', 'spip_asso_activites', array('id_auteur'=>'id_adherent') ),
    652623        array('sql_alter', "TABLE spip_asso_activites DROP id_adherent"),
    653624        array('sql_alter', "TABLE spip_asso_prets ADD id_auteur BIGINT UNSIGNED NOT NULL"),
  • _plugins_/Association/Associaspip/exec/action_adherents.php

    r66377 r66769  
    1414include_spip ('inc/navigation_modules');
    1515
    16 function exec_action_adherents()
    17 {
     16function exec_action_adherents() {
    1817        $action_adherents = _request('action_adherents');
    1918        if (!autoriser('editer_membres', 'association') ||
     
    2221                        echo minipres();
    2322        } else {
    24                 $id_auteurs = association_recuperer_liste('id_auteurs', true);
     23                $id_auteurs = association_recuperer_liste('id_auteurs', TRUE);
    2524                if ($action_adherents && count($id_auteurs)) {
    2625                        onglets_association('titre_onglet_membres', 'adherents');
     
    3130                        if ($action_adherents=='desactive') {
    3231                                $statut_courant = _request('statut_courant');
    33                                 if($statut_courant==='sorti'){
     32                                if($statut_courant==='sorti') {
    3433                                        debut_cadre_association('annonce.gif', 'activation_des_adherents');
    3534                                        echo '<p>'. _T('asso:adherent_message_detail_activation').'</p>';
     
    6665}
    6766
    68 function modification_adherents($tab, $action, $statut='')
    69 {
     67function modification_adherents($tab, $action, $statut='') {
    7068        $res ='';
    7169        if ($action=='grouper' || $action=='degrouper') { // on ajoute une table des groupes si il y en a
  • _plugins_/Association/Associaspip/exec/action_comptes.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_action_comptes()
    15 {
     14function exec_action_comptes() {
    1615        if (!autoriser('associer', 'comptes')) {
    1716                include_spip('inc/minipres');
     
    4443}
    4544
    46 function action_comptes_ligne($where)
    47 {
     45function action_comptes_ligne($where) {
    4846        $res = '';
    4947        $query = sql_select('*', 'spip_asso_comptes', $where);
  • _plugins_/Association/Associaspip/exec/activites.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_activites()
    15 {
     14function exec_activites() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                include_spip('inc/minipres');
     
    5453                } else { // pas de bloc de raccourcis
    5554                        echo association_date_du_jour();
    56                         echo fin_boite_info(true);
     55                        echo fin_boite_info(TRUE);
    5756                }
    5857                debut_cadre_association('activites.gif','activite_titre_toutes_activites');
  • _plugins_/Association/Associaspip/exec/adherent.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_adherent(){
     14function exec_adherent() {
    1515        include_spip('inc/navigation_modules');
    1616        $id_auteur = association_passeparam_id('auteur');
     
    6666                $query_groupes = sql_select('g.*, fonction', 'spip_asso_groupes g LEFT JOIN spip_asso_groupes_liaisons l ON g.id_groupe=l.id_groupe', 'g.id_groupe>=100 AND l.id_auteur='.$id_auteur, '', 'g.nom'); // Liste des groupes (on ignore les groupes d'id <100 qui sont dedies a la gestion des autorisations)
    6767                if (sql_count($query_groupes)) {
    68                         echo debut_cadre_relief('', true, '', _T('asso:groupes_membre') );
     68                        echo debut_cadre_relief('', TRUE, '', _T('asso:groupes_membre') );
    6969                        echo association_bloc_listehtml(
    7070                                $query_groupes, // requete
     
    7979                                'id_groupe' // champ portant la cle des lignes et des boutons
    8080                        );
    81                         echo fin_cadre_relief(true);
     81                        echo fin_cadre_relief(TRUE);
    8282                }
    8383                if (test_plugin_actif('fpdf') AND $GLOBALS['association_metas']['recufiscal']) { // JUSTIFICATIFS : afficher le lien vers les justificatifs seulemeunt si active en configuration et si FPDF est actif
    84                         echo debut_cadre_relief('', true, '', _T('asso:liens_vers_les_justificatifs') );
     84                        echo debut_cadre_relief('', TRUE, '', _T('asso:liens_vers_les_justificatifs') );
    8585                        $data = array_map('array_shift', sql_allfetsel("DATE_FORMAT(date, '%Y')  AS annee", 'spip_asso_comptes', "id_journal=$id_auteur", 'annee', 'annee ASC') );
    8686                        foreach($data as $k => $annee) {
    8787                                echo '<a href="'. generer_url_ecrire('pdf_fiscal', "id=$id_auteur&annee=$annee") .'">'.$annee.'</a> ';
    8888                        }
    89                         echo fin_cadre_relief(true);
    90                 }
    91                 if ($GLOBALS['association_metas']['pc_cotisations']){ // HISTORIQUE COTISATIONS
    92                         echo debut_cadre_relief('', true, '', _T('asso:adherent_titre_historique_cotisations') );
     89                        echo fin_cadre_relief(TRUE);
     90                }
     91                if ($GLOBALS['association_metas']['pc_cotisations']) { // HISTORIQUE COTISATIONS
     92                        echo debut_cadre_relief('', TRUE, '', _T('asso:adherent_titre_historique_cotisations') );
    9393                        if ($full) { // si on a l'autorisation admin, on ajoute un bouton pour ajouter une cotisation
    9494                                echo '<p><a href="' .generer_url_ecrire('ajout_cotisation', "id=$id_auteur").'">' . _T('asso:adherent_label_ajouter_cotisation') .'</a></p>';
     
    103103                                'cotisation'
    104104                        );
    105                         echo fin_cadre_relief(true);
    106                 }
    107                 if ($GLOBALS['association_metas']['activites']){ // HISTORIQUE ACTIVITES
    108                         echo debut_cadre_relief('', true, '', _T('asso:adherent_titre_historique_activites') );
     105                        echo fin_cadre_relief(TRUE);
     106                }
     107                if ($GLOBALS['association_metas']['activites']) { // HISTORIQUE ACTIVITES
     108                        echo debut_cadre_relief('', TRUE, '', _T('asso:adherent_titre_historique_activites') );
    109109                        echo association_bloc_listehtml(
    110110                                array('*', 'spip_asso_activites As a INNER JOIN spip_evenements AS e ON a.id_evenement=e.id_evenement', "id_auteur=$id_auteur", '', 'date_debut DESC, date_fin DESC', '0,10'), // requete
     
    121121                                'id_activite' // champ portant la cle des lignes et des boutons
    122122                        );
    123                         echo fin_cadre_relief(true);
    124                 }
    125                 if ($GLOBALS['association_metas']['ventes']){ // HISTORIQUE VENTES
    126                         echo debut_cadre_relief('', true, '', _T('asso:adherent_titre_historique_ventes') );
     123                        echo fin_cadre_relief(TRUE);
     124                }
     125                if ($GLOBALS['association_metas']['ventes']) { // HISTORIQUE VENTES
     126                        echo debut_cadre_relief('', TRUE, '', _T('asso:adherent_titre_historique_ventes') );
    127127                        echo association_bloc_listehtml(
    128128                                array('*', 'spip_asso_ventes', "id_acheteur=$id_auteur", '', 'date_vente DESC', '0,10'), // requete
     
    139139                                'id_vente' // champ portant la cle des lignes et des boutons
    140140                        );
    141                         echo fin_cadre_relief(true);
    142                 }
    143                 if ($GLOBALS['association_metas']['dons']){ // HISTORIQUE DONS
    144                         echo debut_cadre_relief('', true, '', _T('asso:adherent_titre_historique_dons') );
     141                        echo fin_cadre_relief(TRUE);
     142                }
     143                if ($GLOBALS['association_metas']['dons']) { // HISTORIQUE DONS
     144                        echo debut_cadre_relief('', TRUE, '', _T('asso:adherent_titre_historique_dons') );
    145145                        echo association_bloc_listehtml(
    146146                                array('*', 'spip_asso_dons', "id_auteur=$id_auteur", '', 'date_don DESC', '0,10'), // requete
     
    168168                        );
    169169*/
    170                         echo fin_cadre_relief(true);
    171                 }
    172                 if ($GLOBALS['association_metas']['prets']){ // HISTORIQUE PRETS
    173                         echo debut_cadre_relief('', true, '', _T('asso:adherent_titre_historique_prets') );
     170                        echo fin_cadre_relief(TRUE);
     171                }
     172                if ($GLOBALS['association_metas']['prets']) { // HISTORIQUE PRETS
     173                        echo debut_cadre_relief('', TRUE, '', _T('asso:adherent_titre_historique_prets') );
    174174                        echo association_bloc_listehtml(
    175175                                array('*', 'spip_asso_prets AS P LEFT JOIN spip_asso_ressources AS R ON P.id_ressource=R.id_ressource', "id_auteur=$id_auteur", '', 'id_pret DESC', '0,10'), // requete
     
    186186                                'id_pret' // champ portant la cle des lignes et des boutons
    187187                        );
    188                         echo fin_cadre_relief(true);
     188                        echo fin_cadre_relief(TRUE);
    189189                }
    190190                fin_page_association();
     
    192192}
    193193
    194 function voir_adherent_paiements($data, $lien)
    195 {
     194function voir_adherent_paiements($data, $lien) {
    196195        return association_bloc_listehtml(
    197196                $data, // requete
  • _plugins_/Association/Associaspip/exec/adherents.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_adherents()
    15 {
     14function exec_adherents() {
    1615        if (!autoriser('voir_membres', 'association', 0)) {  // on s'assure qu'il n'y ai pas d'id associe a la demande d'autorisation sur voir_membres car on les consulte tous
    1716                include_spip('inc/minipres');
     
    4241                ));
    4342                if ( test_plugin_actif('FPDF') && test_plugin_actif('COORDONNEES') && autoriser('relancer_membres', 'association') ) { // etiquettes
    44                         echo debut_cadre_enfonce('',true);
     43                        echo debut_cadre_enfonce('',TRUE);
    4544                        echo recuperer_fond('prive/editer/imprimer_etiquettes');
    46                         echo fin_cadre_enfonce(true);
     45                        echo fin_cadre_enfonce(TRUE);
    4746                }
    4847                //Filtres ID et groupe : si le filtre id est actif, on ignore le filtre groupe
     
    6463                if ( !$GLOBALS['association_metas']['id_asso'] )
    6564                        $champsExclus[] = 'id_asso';
    66                 echo association_bloc_listepdf('membre', array('where_adherents'=>$where_adherents, 'jointure_adherents'=>$jointure_adherents, 'statut_interne'=>$statut_interne), 'adherent_libelle_', $champsExclus, true);
     65                echo association_bloc_listepdf('membre', array('where_adherents'=>$where_adherents, 'jointure_adherents'=>$jointure_adherents, 'statut_interne'=>$statut_interne), 'adherent_libelle_', $champsExclus, TRUE);
    6766                debut_cadre_association('annonce.gif', 'adherent_titre_liste_actifs');
    6867                // FILTRES
     
    9796 *     filtres actifs et de la configuration (champs affiches ou pas)
    9897 */
    99 function adherents_liste($lettre, $critere, $statut_interne, $id_groupe)
    100 {
     98function adherents_liste($lettre, $critere, $statut_interne, $id_groupe) {
    10199        if ($lettre)
    102100                $critere .= " AND UPPER(nom_famille) LIKE UPPER('$lettre%') "; // le 1er UPPER (plutot que LOWER puisque les lettres sont mises et passees en majuscule) sur le champ est requis car LIKE est sensible a la casse... le 2nd UPPER est pour contrer les requetes entrees manuellement... (remarque, avec MySQL 5 et SQL Server, on aurait pu avoir simplement "nom_famille LIKE '$lettre%' COLLATE UTF_GENERAL_CI" ou mieux ailleurs : "nom_famille ILIKE '$lettre%'" mais c'est pas forcement portable)
     
    177175                if ($GLOBALS['association_metas']['aff_validite']) {
    178176                        $auteurs .= '<td class="date">';
    179                         if ($data['validite']==''){
     177                        if (!$data['validite']) {
    180178                                $auteurs .= '&nbsp;';
    181179                        } else {
     
    220218        }
    221219        $res .= '<th colspan="'. (autoriser('editer_membres', 'association')?4:2) .'" class="actions">'._T('asso:entete_actions').'</th>'
    222         . '<th><input title="'._T('asso:selectionner_tout').'" type="checkbox" id="selectionnerTous" onclick="var currentVal = this.checked; var checkboxList = document.getElementsByName(\'id_auteurs[]\'); for (var i in checkboxList){checkboxList[i].checked=currentVal;}" /></th>'
     220        . '<th><input title="'._T('asso:selectionner_tout').'" type="checkbox" id="selectionnerTous" onclick="var currentVal = this.checked; var checkboxList = document.getElementsByName(\'id_auteurs[]\'); for (var i in checkboxList) {checkboxList[i].checked=currentVal;}" /></th>'
    223221        . "</tr>\n</thead><tbody>"
    224222        . $auteurs
     
    226224        // SOUS-PAGINATION
    227225        $res .= "<table width='100%' class='asso_tablo_filtres'><tr>\n";
    228         $res .= association_selectionner_souspage(array('spip_asso_membres', $critere), 'adherents', 'lettre='.$lettre.'&statut_interne='.$statut_interne, false);
     226        $res .= association_selectionner_souspage(array('spip_asso_membres', $critere), 'adherents', 'lettre='.$lettre.'&statut_interne='.$statut_interne, FALSE);
    229227        if (autoriser('editer_membres', 'association', 100)) {
    230228                $res .= "</td><td align='right' class='formulaire'><form>\n";
     
    255253 *   spip_asso_categories.valeur
    256254 */
    257 function affiche_categorie($c)
    258 {
     255function affiche_categorie($c) {
    259256  return is_numeric($c)
    260257    ? sql_getfetsel('valeur', 'spip_asso_categories', "id_categorie=$c")
  • _plugins_/Association/Associaspip/exec/ajout_cotisation.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_ajout_cotisation()
    15 {
     14function exec_ajout_cotisation() {
    1615        include_spip('inc/navigation_modules');
    1716        list($id_auteur, $row) = association_passeparam_id('auteur', 'asso_membres');
  • _plugins_/Association/Associaspip/exec/ajout_inscription.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_ajout_inscription()
    15 {
     14function exec_ajout_inscription() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/ajout_participation.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_ajout_participation()
    15 {
     14function exec_ajout_participation() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/annexe.php

    r66273 r66769  
    1212        return;
    1313
    14 function exec_annexe()
    15 {
    16         if (!autoriser('associer', 'comptes')) {
     14// Version HTML de la synthese des Comptes d'Annexes ?
     15function exec_annexe() {
     16        if (!autoriser('voir_compta', 'association')) {
    1717                include_spip('inc/minipres');
    1818                echo minipres();
  • _plugins_/Association/Associaspip/exec/association.php

    r66346 r66769  
    1212        return;
    1313
    14 function exec_association()
    15 {
     14function exec_association() {
    1615        if (!autoriser('voir_profil', 'association')) {
    1716                include_spip('inc/minipres');
     
    3332                ));
    3433                debut_cadre_association('assoc_qui.png', 'association_infos_contacts');
    35                 echo '<div class="vcard" id="vcard-asso">';
     34                echo '<div class="vcard">';
    3635                // Profil de l'association
    37                 echo debut_cadre_enfonce('',true);
     36                echo debut_cadre_enfonce('', TRUE);
    3837                if (!$GLOBALS['association_metas']['nom'] && autoriser('editer_profil', 'association')) { // c'est surement une nouvelle installation (vu que le nom est obligatoire)
    39                         echo '<a href="'.generer_url_ecrire('configurer_association').'">'. gros_titre(_T('asso:profil_de_lassociation'),'',false).'</a>';
     38                        echo '<a href="'.generer_url_ecrire('configurer_association').'">'. gros_titre(_T('asso:profil_de_lassociation'), '', FALSE).'</a>';
    4039                }
    4140                echo '<h3 class="fn org"><strong class="organization-name">'.$GLOBALS['association_metas']['nom']."</strong></h3>\n";
    42                 echo '<p class="adr">';
     41                echo '<p class="adr" id="vcard-asso-adr">';
    4342                echo '<span class="street-address">'.$GLOBALS['association_metas']['rue']."</span><br />\n";
    4443                echo '<span class="postal-code">'.$GLOBALS['association_metas']['cp'].'</span>&nbsp;';
     
    6160                if ($GLOBALS['association_metas']['prefet'])
    6261                        echo '<li>'.$GLOBALS['association_metas']['prefet']."</li>\n";
    63                 // afficher les metas definies par l'utilisateur si il y en a
    6462                $query = sql_select('nom,valeur', 'spip_association_metas', "nom LIKE 'meta_utilisateur_%'");
    65                 while ($row = sql_fetch($query)) {
     63                while ($row = sql_fetch($query)) { // afficher les metas definies par l'utilisateur si il y en a
    6664                        echo '<li>'. ucfirst(_T(str_replace('meta_utilisateur_', '', $row['nom']))).'&nbsp;:&nbsp;'.$row['valeur']."</li>\n";
    6765                }
    6866                echo "</ul>";
    69                 echo fin_cadre_enfonce(true);
     67                echo fin_cadre_enfonce(TRUE);
    7068                echo "</div>\n";
    71                 // affiche tous les groupes devant l'etre
    7269                $queryGroupesAffiches = sql_select('id_groupe, nom', 'spip_asso_groupes', 'affichage>0', '', 'affichage');
    73                 while ($row = sql_fetch($queryGroupesAffiches)) {
    74                         echo '<div class="vcard" id="vcard-group'.$row['id_groupe'].'"><a class="include" href="#vcard-asso"></a>',
    75                         '<span class="org"><abbr class="organization-name" title="'.$GLOBALS['association_metas']['nom'].'"></abbr>'; //!\ l'inclusion de fragments (class=include cf. http://microformats.org/wiki/include-pattern) est la bonne methode, mais n'est pas encore prise en compte partout, donc on duplique quand meme le nom
    76                         echo debut_cadre_relief(_DIR_PLUGIN_ASSOCIATION_ICONES.'annonce.gif', true, '', '<a class="organization-unit"'. (autoriser('editer_groupe', 'association') ? (' title="'._T('asso:editer_groupe').'" href="'.generer_url_ecrire('edit_groupe', 'id='.$row['id_groupe']) ):'').'">'.$row['nom'].'</a>');
    77 //                      echo '<a class="org organization-unit" title="'._T('asso:editer_groupe').'" href="'.generer_url_ecrire('edit_groupe', 'id='.$row['id_groupe']).'">'.gros_titre($row['nom'], _DIR_PLUGIN_ASSOCIATION_ICONES.'annonce.gif', false).'</a>';
     70                while ($row = sql_fetch($queryGroupesAffiches)) { // affiche tous les groupes devant l'etre
     71                        echo '<div class="vcard"><a class="include" href="#vcard-asso-adr"></a><div class="org" id="vcard-group'.$row['id_groupe'].'"><abbr class="organization-name" title="'.$GLOBALS['association_metas']['nom'].'"></abbr>'; //!\ inclusion de fragments :  http://microformats.org/wiki/include-pattern
     72                        echo debut_cadre_relief(_DIR_PLUGIN_ASSOCIATION_ICONES.'annonce.gif', TRUE, '', '<a class="organization-unit"'. (autoriser('editer_groupe', 'association') ? (' title="'._T('asso:editer_groupe').'" href="'.generer_url_ecrire('edit_groupe', 'id='.$row['id_groupe']) ):'').'">'.$row['nom'].'</a>');
     73//                      echo '<a class="org organization-unit" title="'._T('asso:editer_groupe').'" href="'.generer_url_ecrire('edit_groupe', 'id='.$row['id_groupe']).'">'.gros_titre($row['nom'], _DIR_PLUGIN_ASSOCIATION_ICONES.'annonce.gif', FALSE).'</a>';
     74                        echo '</div></div>';
    7875                        echo recuperer_fond('modeles/asso_membres', array('id_groupe' => $row['id_groupe']));
    79                         echo fin_cadre_relief(true);
    80                         echo '</span></div>';
     76                        echo fin_cadre_relief(TRUE);
    8177                }
    8278                fin_page_association();
    83                 //Petite routine pour mettre a jour les statuts de cotisation "echu"
     79                // Petite routine pour mettre a jour les statuts de cotisation "echu".
     80                // Possible http://programmer.spip.net/Declarer-une-tache http://contrib.spip.net/Ajouter-une-tache-CRON-dans-un-plugin-SPIP ?
    8481                sql_updateq('spip_asso_membres',
    8582                        array('statut_interne' => 'echu'),
  • _plugins_/Association/Associaspip/exec/association_autorisations.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_association_autorisations()
    15 {
     14function exec_association_autorisations() {
    1615        if (!autoriser('gerer_autorisations', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/bilan.php

    r66273 r66769  
    1212        return;
    1313
    14 function exec_bilan()
    15 {
    16         if (!autoriser('associer', 'comptes')) {
     14// Version HTML de la synthese des Comptes de Bilan
     15function exec_bilan() {
     16        if (!autoriser('voir_compta', 'association')) {
    1717                include_spip('inc/minipres');
    1818                echo minipres();
     
    4343                }
    4444                if ($GLOBALS['association_metas']['destinations']) { // on affiche une liste de choix de destinations
    45                         echo debut_cadre_enfonce('',true);
     45                        echo debut_cadre_enfonce('',TRUE);
    4646                        echo '<h3>'. _T('plugins_vue_liste') .'</h3>';
    4747                        echo association_selectionner_destinations($ids_destinations, "bilan&exercice=$id_exercice", '<p class="boutons"><input type="submit" value="'. _T('asso:compte_resultat') .'" /></p>', FALSE); // selecteur de destinations
    48                         echo fin_cadre_enfonce(true);
     48                        echo fin_cadre_enfonce(TRUE);
    4949                }
    5050                debut_cadre_association('finances-24.png', 'resultat_courant');
     
    6969                foreach ($ids_destinations as $id_destination) { // on boucle sur le tableau des destinations en refaisant le fetch a chaque iteration
    7070                        // TABLEAU EXPLOITATION
    71                         echo debut_cadre_relief('', true, '', ($id_destination ? $intitule_destinations[$id_destination] : ($GLOBALS['association_metas']['destinations']?_T('asso:toutes_destination'):'') ) );
     71                        echo debut_cadre_relief('', TRUE, '', ($id_destination ? $intitule_destinations[$id_destination] : ($GLOBALS['association_metas']['destinations']?_T('asso:toutes_destination'):'') ) );
    7272                        $solde = association_liste_totaux_comptes_classes($classes, 'cpte_resultat', 0, $id_exercice, $id_destination);
    73                         if(autoriser('associer', 'export_comptes') && !$id_destination){ // on peut exporter : pdf, csv, xml, ...
     73                        if(autoriser('associer', 'export_comptes') && !$id_destination) { // on peut exporter : pdf, csv, xml, ...
    7474                                echo "<br /><table width='100%' class='asso_tablo' cellspacing='6' id='asso_tablo_exports'>\n";
    7575                                echo '<tbody><tr>';
     
    8383                                echo '</tr></tbody></table>';
    8484                        }
    85                         echo fin_cadre_relief(true);
     85                        echo fin_cadre_relief(TRUE);
    8686                }
    8787//              bilan_encaisse();
     
    9999 *              y a desequilibre !
    100100 */
    101 function bilan_encaisse()
    102 {
     101function bilan_encaisse() {
    103102        $lesEcritures = array();
    104103        $lesEcritures['_58xx']['solde'] = $lesEcritures['_86xx']['solde'] = $lesEcritures['_87xx']['solde'] = 0;
     
    127126                }
    128127        }
    129         echo debut_cadre_relief('', true, '', _T('asso:encaisse') );
     128        echo debut_cadre_relief('', TRUE, '', _T('asso:encaisse') );
    130129        echo "<table width='100%' class='asso_tablo' id='asso_tablo_bilan_encaisse'>\n";
    131130        echo "<thead>\n<tr>";
     
    154153        echo '<th class="decimal">'. association_formater_prix($total_initial) .'</th>';
    155154        echo '<th class="decimal">'. association_formater_prix($total_actuel) .'</th>';
    156         if( $compteFinancier['_58xx']['solde']!=0 ){
     155        if( $compteFinancier['_58xx']['solde']!=0 ) {
    157156                echo '<td  colspan="4" class="erreur">'. _T('asso:erreur_equilibre_comptes58') .'</td>';
    158157        }
    159         if( $compteFinancier['_86xx']['solde']!=$compteFinancier['_87xx']['solde'] ){
     158        if( $compteFinancier['_86xx']['solde']!=$compteFinancier['_87xx']['solde'] ) {
    160159                echo '<td  colspan="4" class="erreur">'. _T('asso:erreur_equilibre_comptes8687') .'</td>';
    161160        }
    162161        echo "</tr>\n</tfoot>\n</table>\n";
    163         echo fin_cadre_relief(true);
     162        echo fin_cadre_relief(TRUE);
    164163}
    165164
  • _plugins_/Association/Associaspip/exec/categories.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_categories()
    15 {
     14function exec_categories() {
    1615        if (!autoriser('editer_profil', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/compte_bilan.php

    r66273 r66769  
    1212        return;
    1313
    14 function exec_compte_bilan()
    15 {
    16         if (!autoriser('associer', 'comptes')) {
     14// Version HTML de la synthese des Comptes de Bilan
     15function exec_compte_bilan() {
     16        if (!autoriser('voir_compta', 'association')) {
    1717                include_spip('inc/minipres');
    1818                echo minipres();
     
    3636#                       'annexe_titre_general' => array('finances-24.png', array('annexe', "exercice=$ids[exercice]".($ids['destination']?"&destination=$ids[destination]":'')) ),
    3737                ));
    38                 if(autoriser('associer', 'export_comptes')){ // on peut exporter : pdf, csv, xml, ...
    39                         echo debut_cadre_enfonce('',true);
     38                if(autoriser('associer', 'export_comptes')) { // on peut exporter : pdf, csv, xml, ...
     39                        echo debut_cadre_enfonce('', TRUE);
    4040                        echo '<h3>'. _T('asso:cpte_bilan_mode_exportation') .'</h3>';
    4141                        if (test_plugin_actif('FPDF')) {  // impression en PDF : _T('asso:bouton_impression')
     
    4545                                echo icone1_association(strtoupper($type), generer_url_ecrire("export_soldescomptes_$type", "type=bilan&exercice=$ids[exercice]".($ids['destination']?"&destination=$ids[destination]":'')), 'export-24.png'); //!\ generer_url_ecrire($exec, $param) equivaut a generer_url_ecrire($exec).'&'.urlencode($param) or il faut utiliser rawurlencode($param) ici...
    4646                        }
    47                         echo fin_cadre_enfonce(true);
     47                        echo fin_cadre_enfonce(TRUE);
    4848                }
    4949                debut_cadre_association('finances-24.png', 'cpte_bilan_titre_general', $exercice_data['intitule']);
  • _plugins_/Association/Associaspip/exec/compte_resultat.php

    r66273 r66769  
    1212        return;
    1313
    14 function exec_compte_resultat()
    15 {
    16         if (!autoriser('associer', 'comptes')) {
     14// Version HTML de la synthese des Comptes de Resultat
     15function exec_compte_resultat() {
     16        if (!autoriser('voir_compta', 'association')) {
    1717                include_spip('inc/minipres');
    1818                echo minipres();
     
    3636#                       'annexe_titre_general' => array('finances-24.png', array('annexe', "exercice=$ids[exercice]".($ids['destination']?"&destination=$ids[destination]":'')) ),
    3737                ));
    38                 if(autoriser('associer', 'export_comptes')){ // on peut exporter : pdf, csv, xml, ...
    39                         echo debut_cadre_enfonce('',true);
     38                if(autoriser('associer', 'export_comptes')) { // on peut exporter : pdf, csv, xml, ...
     39                        echo debut_cadre_enfonce('', TRUE);
    4040                        echo '<h3>'. _T('asso:cpte_resultat_mode_exportation') .'</h3>';
    4141                        if (test_plugin_actif('FPDF')) { // impression en PDF : _T('asso:bouton_impression')
     
    4545                                echo icone1_association(strtoupper($type), generer_url_ecrire("export_soldescomptes_$type", "type=resultat&exercice=$ids[exercice]".($ids['destination']?"&destination=$ids[destination]":'')), 'export-24.png'); //!\ generer_url_ecrire($exec, $param) equivaut a generer_url_ecrire($exec).'&'.urlencode($param) or il faut utiliser rawurlencode($param) ici...
    4646                        }
    47                         echo fin_cadre_enfonce(true);
     47                        echo fin_cadre_enfonce(TRUE);
    4848                }
    4949                debut_cadre_association('finances-24.png', 'cpte_resultat_titre_general', $exercice_data['intitule']);
  • _plugins_/Association/Associaspip/exec/comptes.php

    r66273 r66769  
    1212        return;
    1313
    14 function exec_comptes()
    15 {
    16         if (!autoriser('associer', 'comptes')) {
     14function exec_comptes() {
     15        if (!autoriser('voir_compta', 'association')) {
    1716                include_spip('inc/minipres');
    1817                echo minipres();
     
    118117                if ($table) { // affichage de la liste
    119118                        // SOUS-PAGINATION
    120                         $nav = association_selectionner_souspage(array('spip_asso_comptes', $where), 'comptes', "exercice=$id_exercice"."&imputation=$imputation". (is_numeric($vu)?"&vu=$vu":''), false);
     119                        $nav = association_selectionner_souspage(array('spip_asso_comptes', $where), 'comptes', "exercice=$id_exercice"."&imputation=$imputation". (is_numeric($vu)?"&vu=$vu":''), FALSE);
    121120                        // ENTETES
    122121                        $table = "<table width='100%' class='asso_tablo' $onload_option id='asso_liste_comptes'>\n"
     
    129128                        . '<th>'. _T('asso:compte_entete_financier') .'</th>'
    130129                        . '<th colspan="2" class="actions">'. _T('asso:entete_actions') .'</th>'
    131                         . '<th><input title="'._T('asso:selectionner_tout').'" type="checkbox" id="selectionnerTous" onclick="var currentVal = this.checked; var checkboxList = document.getElementsByName(\'valide[]\'); for (var i in checkboxList){checkboxList[i].checked=currentVal;}" /></th>'
     130                        . '<th><input title="'._T('asso:selectionner_tout').'" type="checkbox" id="selectionnerTous" onclick="var currentVal = this.checked; var checkboxList = document.getElementsByName(\'valide[]\'); for (var i in checkboxList) {checkboxList[i].checked=currentVal;}" /></th>'
    132131                        . "</tr>\n</thead><tbody>"
    133132                        . $table
     
    142141}
    143142
    144 function comptes_while($where, $limit, $id_compte)
    145 {
     143function comptes_while($where, $limit, $id_compte) {
    146144        $query = sql_select('*', 'spip_asso_comptes', $where,'',  'date DESC,id_compte DESC', $limit);
    147145        $comptes = '';
     
    159157                }
    160158                if($id_compte==$data['id_compte']) { // operation recherchee
    161                         $onload_option .= 'onLoad="document.getElementById(\'compte'.$id_compte.'\').scrollIntoView(true);"'; // pour voir au chargement l'id_compte recherche
     159                        $onload_option .= 'onLoad="document.getElementById(\'compte'.$id_compte.'\').scrollIntoView(TRUE);"'; // pour voir au chargement l'id_compte recherche
    162160                        $class = 'surligne';
    163161                } else {
  • _plugins_/Association/Associaspip/exec/destination.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_destination()
    15 {
     14function exec_destination() {
    1615        if (!autoriser('configurer_compta', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/dons.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_dons()
    15 {
     14function exec_dons() {
    1615        if (!autoriser('associer', 'dons')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_activite.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_edit_activite()
    15 {
     14function exec_edit_activite() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_adherent.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_edit_adherent()
    15 {
     14function exec_edit_adherent() {
    1615        if (!autoriser('editer_membres', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_categorie.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_edit_categorie()
    15 {
     14function exec_edit_categorie() {
    1615        if (!autoriser('editer_profil', 'association')) {
    1716                        include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_compte.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_edit_compte()
    15 {
    16         if (!autoriser('associer', 'comptes')) {
     14function exec_edit_compte() {
     15        if (!autoriser('editer_compta', 'association')) {
    1716                include_spip('inc/minipres');
    1817                echo minipres();
  • _plugins_/Association/Associaspip/exec/edit_destination.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_edit_destination()
    15 {
     14function exec_edit_destination() {
    1615        if (!autoriser('configurer_compta', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_don.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_edit_don()
    15 {
     14function exec_edit_don() {
    1615        if (!autoriser('associer', 'dons')) {
    1716                        include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_exercice.php

    r66289 r66769  
    1313        return;
    1414
    15 function exec_edit_exercice()
    16 {
     15function exec_edit_exercice() {
    1716        if (!autoriser('configurer_compta', 'association')) {
    1817                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_groupe.php

    r66346 r66769  
    1212        return;
    1313
    14 function exec_edit_groupe()
    15 {
     14function exec_edit_groupe() {
    1615        if (!autoriser('editer_groupes', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_groupe_autorisations.php

    r66346 r66769  
    1212        return;
    1313
    14 function exec_edit_groupe_autorisations()
    15 {
     14function exec_edit_groupe_autorisations() {
    1615        if (!autoriser('gerer_autorisations', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_plan.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_edit_plan()
    15 {
     14function exec_edit_plan() {
    1615        if (!autoriser('configurer_compta', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_pret.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_edit_pret()
    15 {
     14function exec_edit_pret() {
    1615        $id_pret = association_passeparam_id('pret');
    1716        if (!autoriser('associer', 'activites')) {
  • _plugins_/Association/Associaspip/exec/edit_relances.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_edit_relances()
    15 {
     14function exec_edit_relances() {
    1615        if (!autoriser('relancer_membres', 'association')) {
    1716                        include_spip('inc/minipres');
     
    8382 *   actifs avec cases a cocher de selection
    8483 */
    85 function relances_liste($critere, $id_groupe=0)
    86 {
     84function relances_liste($critere, $id_groupe=0) {
    8785        if ($id_groupe) {
    8886                $critere .= " AND id_groupe=$id_groupe ";
     
    9997                .'<td class="text"><label for="id'.$data['id_auteur'].'">'. association_formater_nom($data['sexe'], $data['prenom'], $data['nom_famille']) .'</label></td>'
    10098                .'<td class="date"><label for="mbr'.$data['id_auteur'].'">'. association_formater_date($data['validite']) .'</label></td>'
    101                 .'<td class="action">'. association_bouton_coch('id', $data['id_auteur'], '<input name="statut['.$data['id_auteur'].']" type="hidden" value="'.$data['statut_interne'].'" />')
     99                . association_bouton_coch('id', $data['id_auteur'], '<input name="statut['.$data['id_auteur'].']" type="hidden" value="'.$data['statut_interne'].'" />')
    102100                ."</tr>\n";
    103101        }
  • _plugins_/Association/Associaspip/exec/edit_ressource.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_edit_ressource()
    15 {
     14function exec_edit_ressource() {
    1615        if (!autoriser('associer', 'ressources')) {
    1716                        include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/edit_vente.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_edit_vente()
    15 {
     14function exec_edit_vente() {
    1615        if (!autoriser('associer', 'ventes')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/encaisse.php

    r66074 r66769  
    11<?php
    22/***************************************************************************\
    3  *  Associaspip, extension de SPIP pour gestion d'associations             *
    4  *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & Fran�ois de Montlivault (V1)       *
    6  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
    7  *                                                                         *
    8  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    9  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    109\***************************************************************************/
    11 
    1210
    1311if (!defined('_ECRIRE_INC_VERSION'))
     
    1614include_spip ('inc/navigation_modules');
    1715
    18 function exec_encaisse()
    19 {
    20         if (!autoriser('associer', 'comptes')) {
     16function exec_encaisse() {
     17        if (!autoriser('voir_compta', 'association')) {
    2118                include_spip('inc/minipres');
    2219                echo minipres();
     
    2522                $plan = sql_countsel('spip_asso_plan');
    2623                $id_exercice = association_passeparam_exercice();
    27                 if(!$id_exercice){ // on recupere l'id_exercice dont la date "fin" est "la plus grande"
    28                         $id_exercice = sql_getfetsel('id_exercice','spip_asso_exercices','','');
    29                 }
    3024// traitements
    3125                onglets_association('titre_onglet_comptes', 'comptes');
     
    6054#                       $lesEcritures[$val['code']]['solde_actuel'] = $val['recettes']-$val['depenses']; // on ajoute la donnee du solde des flux sur la periode
    6155                }
    62                 /* Afficher les releves de situation des encaisses /!\ Tous les comptes financiers ne sont normalement pas concernes : idealement il aurait fallu configurer un groupe "caisse" (51xx) et un groupe "banque" (53xx) mais d'une part nous ignorons si d'autres systemes comptables n'utilisent pas plus de groupes et d'autre part (meme une association francaise) peut bien ne pas avoir les deux types de comptes... */
     56                // Afficher les releves de situation des encaisses /!\ Tous les comptes financiers ne sont normalement pas concernes : idealement il aurait fallu configurer un groupe "caisse" (51xx) et un groupe "banque" (53xx) mais d'une part nous ignorons si d'autres systemes comptables n'utilisent pas plus de groupes et d'autre part (meme une association francaise) peut bien ne pas avoir les deux types de comptes...
    6357                echo "<table width='100%' class='asso_tablo' id='asso_tablo_encaisse'>\n";
    6458                echo "<thead>\n<tr>";
     
    8276                echo '<th class="decimal">'. association_formater_prix($total_actuel) .'</th>';
    8377                $solde_virementsinternes = sql_getfetsel('SUM(recette)-SUM(depense)', 'spip_asso_comptes', 'imputation='.sql_quote($GLOBALS['association_metas']['pc_intravirements']), 'imputation');
    84                 if( $solde_virementsinternes!=0 ){ // desequilible du compte de virements internes (ceci ne devrait arriver que si l'operation n'est pas enregistree via ce plugin !) /!\ Attention a bien forcer la comparaison avec zero car '0.00' sera faux !
     78                if( $solde_virementsinternes!=0 ) { // desequilible du compte de virements internes (ceci ne devrait arriver que si l'operation n'est pas enregistree via ce plugin !) /!\ Attention a bien forcer la comparaison avec zero car '0.00' sera faux !
    8579                        echo '<tr class="erreur"><td  colspan="3" class="message_erreur">'. _T('asso:erreur_equilibre_comptes58') .'</td><td class="decimal">'. association_formater_prix($solde_virementsinternes) .'</td></tr>';
    8680                }
  • _plugins_/Association/Associaspip/exec/exercices.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_exercices()
    15 {
     14function exec_exercices() {
    1615        if (!autoriser('associer', 'comptes')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_csv.php

    r66377 r66769  
    1616// (forme commune de base : champs separes par une virgule et point decimal !)
    1717function exec_export_soldescomptes_csv() {
    18         if (!autoriser('associer', 'export_comptes')) {
     18        if (!autoriser('voir_compta', 'association')) {
    1919                include_spip('inc/minipres');
    2020                echo minipres();
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_ctx.php

    r66377 r66769  
    1515// http://www.creativyst.com/Doc/Std/ctx/ctx.htm
    1616function exec_export_soldescomptes_ctx() {
    17         if (!autoriser('associer', 'export_comptes')) {
     17        if (!autoriser('voir_compta', 'association')) {
    1818                include_spip('inc/minipres');
    1919                echo minipres();
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_dbk.php

    r66377 r66769  
    1717// http://fr.wikipedia.org/wiki/DocBook
    1818function exec_export_soldescomptes_dbk() {
    19         if (!autoriser('associer', 'export_comptes')) {
     19        if (!autoriser('voir_compta', 'association')) {
    2020                include_spip('inc/minipres');
    2121                echo minipres();
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_json.php

    r66377 r66769  
    1515// http://fr.wikipedia.org/wiki/Json
    1616function exec_export_soldescomptes_json() {
    17         if (!autoriser('associer', 'export_comptes')) {
     17        if (!autoriser('voir_compta', 'association')) {
    1818                include_spip('inc/minipres');
    1919                echo minipres();
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_latex.php

    r66377 r66769  
    1515// http://fr.wikipedia.org/wiki/LaTeX
    1616function exec_export_soldescomptes_latex() {
    17         if (!autoriser('associer', 'export_comptes')) {
     17        if (!autoriser('voir_compta', 'association')) {
    1818                include_spip('inc/minipres');
    1919                echo minipres();
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_tab.php

    r66377 r66769  
    1414// Export du Compte de Resultat au format .tab
    1515function exec_export_soldescomptes_tab() {
    16         if (!autoriser('associer', 'export_comptes')) {
     16        if (!autoriser('voir_compta', 'association')) {
    1717                include_spip('inc/minipres');
    1818                echo minipres();
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_tex.php

    r66377 r66769  
    1515// http://fr.wikipedia.org/wiki/LaTeX
    1616function exec_export_soldescomptes_tex() {
    17         if (!autoriser('associer', 'export_comptes')) {
     17        if (!autoriser('voir_compta', 'association')) {
    1818                include_spip('inc/minipres');
    1919                echo minipres();
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_tsv.php

    r66377 r66769  
    1515// http://fr.wikipedia.org/wiki/Format_TSV
    1616function exec_export_soldescomptes_tsv() {
    17         if (!autoriser('associer', 'export_comptes')) {
     17        if (!autoriser('voir_compta', 'association')) {
    1818                include_spip('inc/minipres');
    1919                echo minipres();
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_xml.php

    r66377 r66769  
    1616// jeu de balisage propre a Associaspip ; pas de DTD ni de Schema
    1717function exec_export_soldescomptes_xml() {
    18         if (!autoriser('associer', 'export_comptes')) {
     18        if (!autoriser('voir_compta', 'association')) {
    1919                include_spip('inc/minipres');
    2020                echo minipres();
  • _plugins_/Association/Associaspip/exec/export_soldescomptes_yaml.php

    r66377 r66769  
    1515// http://fr.wikipedia.org/wiki/Yaml
    1616function exec_export_compteresultats_yaml() {
    17         if (!autoriser('associer', 'export_comptes')) {
     17        if (!autoriser('voir_compta', 'association')) {
    1818                include_spip('inc/minipres');
    1919                echo minipres();
  • _plugins_/Association/Associaspip/exec/groupes.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_groupes()
    15 {
     14function exec_groupes() {
    1615        if (!autoriser('voir_groupes', 'association', 100)) { // l'id groupe passe en parametre est a 100 car ce sont les groupes definis par l'utilisateur et non ceux des autorisation qu'on liste dans cette page.
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/inscrits_activite.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_inscrits_activite()
    15 {
     14function exec_inscrits_activite() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                include_spip('inc/minipres');
     
    2019                include_spip ('inc/navigation_modules');
    2120                $id_evenement = association_passeparam_id('evenement');
     21                list($annee, $critere) = association_passeparam_annee('debut', 'evenements', $id_evenement);
    2222                onglets_association('titre_onglet_activite', 'activites');
    2323                $evenement = sql_fetsel('*', 'spip_evenements', "id_evenement=$id_evenement");
     
    4141                $res['activite_bouton_modifier_article'] = array('edit-12.gif', array('articles', 'id_article='.$evenement['id_article']));
    4242                $res['activite_bouton_ajouter_inscription'] = array('panier_in.gif', array('edit_activite', "id_evenement=$id_evenement"));
    43                 if (test_plugin_actif('FPDF')) { // PDF des inscrits
     43                if ( test_plugin_actif('FPDF') && sql_countsel('spip_asso_activites', "id_evenement=$id_evenement", 'id_auteur') ) { // PDF des inscrits
    4444                        $res['activite_bouton_imprimer_inscriptions'] = array('print-24.png', array('pdf_activite', "id=$id_evenement"));
    4545                }
    46                 if (test_plugin_actif('AGENDA')) { // inscrits via le formulaire d'Agenda2
     46                if ( test_plugin_actif('AGENDA') && sql_countsel('spip_evenements_participants', "id_evenement=$id_evenement", 'id_auteur') ) { // inscrits via le formulaire d'Agenda2
    4747                        $res['activite_bouton_synchroniser_inscriptions'] = array('reload-32.png', array('synchronis_activites', "id=$id_evenement"));
    4848                }
  • _plugins_/Association/Associaspip/exec/membres_groupe.php

    r66346 r66769  
    1212        return;
    1313
    14 function exec_membres_groupe()
    15 {
     14function exec_membres_groupe() {
    1615        include_spip ('inc/navigation_modules');
    1716        list($id_groupe, $groupe) = association_passeparam_id('groupe', 'asso_groupes');
     
    2726                $infos['entete_commentaire'] = $groupe['commentaire'];
    2827                $infos['entete_utilise'] = _T('asso:nombre_fois', array('nombre'=>sql_countsel('spip_asso_groupes_liaisons',"id_groupe=$id_groupe")) );
    29                 echo association_totauxinfos_intro(($id_groupe<100)?_T("asso:groupe_".$id_groupe):$groupe['nom'], 'groupe', $id_groupe, $infos );
     28                echo '<div class="vcard">'. association_totauxinfos_intro( '<div class="org" id="vcard-group'.$groupe['id_groupe'].'"><abbr class="organization-name" title="'.$GLOBALS['association_metas']['nom'].'"></abbr><abbr class="organization-unit" title="'.$groupe['nom'] .'">'. (($id_groupe<100)?_T("asso:groupe_".$id_groupe):$groupe['nom']) .'</abbr></div>', 'groupe', $id_groupe, $infos ) .'</div>';
    3029                // datation et raccourcis
    3130                raccourcis_association('', array(
  • _plugins_/Association/Associaspip/exec/pdf_activite.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_pdf_activite()
    15 {
     14function exec_pdf_activite() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/pdf_comptesbilan.php

    r66377 r66769  
    55 * @copyright Copyright (c) 2007 (v1) Bernard Blazin & Francois de Montlivault
    66 * @copyright Copyright (c) 2010--2011 (v2) Emmanuel Saint-James & Jeannot Lapin
     7 * @copyright Copyright (c) 201108 Marcel Bolla
    78 *
    89 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
     
    1213        return;
    1314
    14 // Export du Compte de Resultat au format PDF
    15 function exec_pdf_comptesbilan()
    16 {
    17         if (!autoriser('associer', 'export_comptes')) {
     15// Version PDF de la synthese des Comptes de Bilan
     16function exec_pdf_comptesbilan() {
     17        if (!autoriser('voir_compta', 'association')) {
    1818                include_spip('inc/minipres');
    1919                echo minipres();
  • _plugins_/Association/Associaspip/exec/pdf_comptesresultat.php

    r66377 r66769  
    55 * @copyright Copyright (c) 2007 (v1) Bernard Blazin & Francois de Montlivault
    66 * @copyright Copyright (c) 2010--2011 (v2) Emmanuel Saint-James & Jeannot Lapin
     7 * @copyright Copyright (c) 201108 Marcel Bolla
    78 *
    89 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
     
    1213        return;
    1314
    14 // Export du Compte de Resultat au format PDF
    15 function exec_pdf_comptesresultat()
    16 {
    17         if (!autoriser('associer', 'export_comptes')) {
     15// Version PDF de la synthese des Comptes de Resultat
     16function exec_pdf_comptesresultat() {
     17        if (!autoriser('voir_compta', 'association')) {
    1818                include_spip('inc/minipres');
    1919                echo minipres();
  • _plugins_/Association/Associaspip/exec/pdf_fiscal.php

    r66377 r66769  
    2121    define('SIGNATURE_PRES', find_in_path('signature_pres.png'));
    2222
    23 function exec_pdf_fiscal()
    24 {
     23function exec_pdf_fiscal() {
    2524    include_spip('inc/navigation_modules');
    2625    list($id_auteur, $mbr_qui) = association_passeparam_id('auteur', 'asso_membres');
     
    7877}
    7978
    80 function build_pdf($code, $montant, $isodate, $nom, $prenoms, $adresse, $cp, $commune, $forme=0, $nature=0, $mode=0)
    81 {
     79function build_pdf($code, $montant, $isodate, $nom, $prenoms, $adresse, $cp, $commune, $forme=0, $nature=0, $mode=0) {
    8280    $pdf =& new FPDI();
    8381    $pdf->setSourceFile(RECU_FISCAL);
  • _plugins_/Association/Associaspip/exec/pdf_membres.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_pdf_membres()
    15 {
     14function exec_pdf_membres() {
    1615        if (!autoriser('voir_membres', 'association', 0)) { // on s'assure qu'il n'y ai pas d'id associe a la demande d'autorisation sur voir_membres car on les consulte tous
    1716                include_spip('inc/minipres');
     
    5049                                $type_txt = preg_match('#(char|text|var)#',$v);
    5150                                $type_num = preg_match('#(dec|int|date|float)#',$v);
    52 #                               $p = ($type===false) ? 'R' : (($type==0) ? 'L' : 'C');
     51#                               $p = ($type===FALSE) ? 'R' : (($type==0) ? 'L' : 'C');
    5352                                $p = $type_txt?'L':($type_num?'R':'C');
    54 #                               $n = ($type===false) ? 20 : (($type==0) ? 45 : 25);
     53#                               $n = ($type===FALSE) ? 20 : (($type==0) ? 45 : 25);
    5554                                $n = $type_txt?45:($type_num?20:25);
    5655                                $lang_clef = 'adherent_libelle_'. $k;
     
    8382                                $adresses_tels[$id_auteur]['adresse'] = preg_replace('/\&nbsp\;/', " ", preg_replace('/(\s*\<br\s*\/>\s*)+/i', "\n", implode("\n\n", $adresses[$id_auteur]))); // recupere toutes les adresses dans un seul string separees par \n\n et remplace les <br/> par des \n et &nbsp; par des " " car la chaine est en HTML
    8483                        if ($sent['telephone']=='on') {
    85                                 $first_tel = true;
     84                                $first_tel = TRUE;
    8685                                $telephones_string = '';
    8786                                foreach ($telephones[$id_auteur] as $telephone) {
     
    8988                                                $telephones_string .= "\n";
    9089                                        } else
    91                                                 $first_tel = false;
     90                                                $first_tel = FALSE;
    9291                                        $telephones_string .=  recuperer_fond("modeles/coordonnees_telephone", array ('telephone' => $telephone));
    9392                                }
  • _plugins_/Association/Associaspip/exec/plan_comptable.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_plan_comptable()
    15 {
     14function exec_plan_comptable() {
    1615        if (!autoriser('associer', 'comptes')) {
    1716                include_spip('inc/minipres');
     
    3231                $active = _request('active');
    3332                if ($active=='')
    34                         $active = true; // si on n'a pas de filtre active dans l'environnement, on affiche par defaut les comptes actifs
     33                        $active = TRUE; // si on n'a pas de filtre active dans l'environnement, on affiche par defaut les comptes actifs
    3534                echo '<table class="asso_filtre" width="100%">';
    3635                echo '<tr>';
  • _plugins_/Association/Associaspip/exec/prets.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_prets()
    15 {
     14function exec_prets() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                include_spip('inc/minipres');
     
    4645                        }
    4746                } else {
    48                         switch($ressource['statut']){ // utilisation des anciens 4+ statuts textuels (etat de reservation)
     47                        switch($ressource['statut']) { // utilisation des anciens 4+ statuts textuels (etat de reservation)
    4948                                case 'ok':
    5049                                        $puce = 'verte';
  • _plugins_/Association/Associaspip/exec/relance_adherents.php

    r66377 r66769  
    99\***************************************************************************/
    1010
    11 if (!defined("_ECRIRE_INC_VERSION")) return;
     11if (!defined("_ECRIRE_INC_VERSION"))
     12        return;
    1213
    13 function exec_relance_adherents()
    14 {
     14function exec_relance_adherents() {
    1515        if (!autoriser('editer_membres', 'association')) {
    1616                        include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/ressources.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_ressources()
    15 {
     14function exec_ressources() {
    1615        if (!autoriser('associer', 'ressources')) {
    1716                include_spip('inc/minipres');
     
    2524                // TOTAUX : nombre de ressources par statut
    2625                echo association_totauxinfos_effectifs('ressources', array(
    27                         'valide' => array( association_formater_puce('', 'verte', 'ressources_libelle_statut_ok'), sql_countsel('spip_asso_ressources', "statut='ok' OR ROUND(statut,0)>0"), ),
    28                         'prospect' => array( association_formater_puce('', 'orange', 'ressources_libelle_statut_suspendu'), sql_countsel('spip_asso_ressources', "statut='suspendu' OR ROUND(statut,0)<0"), ),
    29                         'cv' => array( association_formater_puce('', 'rouge', 'ressources_libelle_statut_reserve'), sql_countsel('spip_asso_ressources', "statut IN ('reserve',0)"), ),
    30                         'sorti' => array( association_formater_puce('', 'poubelle', 'ressources_libelle_statut_sorti'), sql_countsel('spip_asso_ressources', "statut IN ('sorti','',NULL)"), ),
     26                        'valide' => array('', sql_countsel('spip_asso_ressources', "statut='ok' OR ROUND(statut,0)>0"), association_formater_puce('', 'verte', 'ressources_libelle_statut_ok'), ),
     27                        'prospect' => array('', sql_countsel('spip_asso_ressources', "statut='suspendu' OR ROUND(statut,0)<0"), association_formater_puce('', 'orange', 'ressources_libelle_statut_suspendu'), ),
     28                        'cv' => array('', sql_countsel('spip_asso_ressources', "statut IN ('reserve',0)"), association_formater_puce('', 'rouge', 'ressources_libelle_statut_reserve'), ),
     29                        'sorti' => array('', sql_countsel('spip_asso_ressources', "statut IN ('sorti','',NULL)"), association_formater_puce('', 'poubelle', 'ressources_libelle_statut_sorti'), ),
    3130                ));
    3231/* mdr : cela n'a de sens que si les ressources se pretent toutes sur la meme unite...
     
    5857                                        $s_css[$data['statut']] = 'cv hproduct';
    5958                                }
    60                         } else switch($data['statut']){ // utilisation des anciens 4+ statuts textuels (etat de reservation)
     59                        } else switch($data['statut']) { // utilisation des anciens 4+ statuts textuels (etat de reservation)
    6160                                case 'ok':
    6261                                        $s_ico[$data['statut']] = 'verte';
  • _plugins_/Association/Associaspip/exec/suppr_activite.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_suppr_activite()
    15 {
     14function exec_suppr_activite() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/suppr_categorie.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_suppr_categorie()
    15 {
     14function exec_suppr_categorie() {
    1615        if (!autoriser('editer_profil', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/suppr_destination.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_suppr_destination()
    15 {
     14function exec_suppr_destination() {
    1615        if (!autoriser('configurer_compta', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/suppr_don.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_suppr_don()
    15 {
     14function exec_suppr_don() {
    1615        if (!autoriser('associer', 'dons')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/suppr_exercice.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_suppr_exercice()
    15 {
     14function exec_suppr_exercice() {
    1615        if (!autoriser('associer', 'exercices')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/suppr_groupe.php

    r66346 r66769  
    1212        return;
    1313
    14 function exec_suppr_groupe()
    15 {
     14function exec_suppr_groupe() {
    1615        if (!autoriser('editer_groupes', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/suppr_plan.php

    r66289 r66769  
    1212        return;
    1313
    14 function exec_suppr_plan()
    15 {
     14function exec_suppr_plan() {
    1615        if (!autoriser('configurer_compta', 'association')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/suppr_pret.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_suppr_pret()
    15 {
     14function exec_suppr_pret() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/suppr_ressource.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_suppr_ressource()
    15 {
     14function exec_suppr_ressource() {
    1615        if (!autoriser('associer', 'ressources')) {
    1716                include_spip('inc/minipres');
     
    3837                        }
    3938                } else {
    40                         switch($ressource['statut']){ // utilisation des anciens 4+ statuts textuels (etat de reservation)
     39                        switch($ressource['statut']) { // utilisation des anciens 4+ statuts textuels (etat de reservation)
    4140                                case 'ok':
    4241                                        $puce = 'verte';
  • _plugins_/Association/Associaspip/exec/suppr_vente.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_suppr_vente()
    15 {
     14function exec_suppr_vente() {
    1615        if (!autoriser('associer', 'ventes')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/exec/synchronis_activites.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_synchronis_activites()
    15 {
     14function exec_synchronis_activites() {
    1615        if (!autoriser('associer', 'activites')) {
    1716                        include_spip('inc/minipres');
     
    2827                $infos['agenda:evenement_lieu'] = '<span class="location">'.$evenement['lieu'].'</span>';
    2928                echo '<div class="vevent">'. association_totauxinfos_intro('<span class="summary">'.$evenement['titre'].'</span>', 'evenement', $id_evenement, $infos, 'evenement') .'</div>';
     29                $reponses = sql_allfetsel('reponse, COUNT(*) AS nombre', 'spip_evenements_participants', "id_evenement=$id_evenement", 'reponse', 'reponse DESC');
     30                foreach ($reponses as $num=>$rep ) { // re-normaliser le tableau des reponses
     31                        switch ( $rep['reponse'] ) { // mettre la l'identifiant de la reponse en cle et rajouter au debut du tableau la chaine de langue
     32                                case 'oui' :
     33                                        $reponses['oui'] = array('agenda:label_reponse_jyparticipe', $rep['nombre'], );
     34                                        break;
     35                                case 'non' :
     36                                        $reponses['non'] = array('agenda:label_reponse_jyparticipe_pas', $rep['nombre'], );
     37                                        break;
     38                                case '?' :
     39                                        $reponses['nsp'] = array('agenda:label_reponse_jyparticipe_peutetre', $rep['nombre'], );
     40                                        break;
     41                                default : // autres (rajouts en dehors du plugin Agenda 2)
     42                                        $reponses['reponse_'.$rep['reponse']] = array('reponse_'.$rep['reponse'], $rep['nombre'], );
     43                                        break;
     44                        }
     45                        unset($reponses[$num]); // supprimer l'ancienne entree (le tableau final aura le meme nombre d'elements)
     46                }
    3047                // TOTAUX : nombres d'inscrits par reponse
    31                 echo association_totauxinfos_effectifs('inscriptions', array(
    32                         'oui'=>array( 'agenda:label_reponse_jyparticipe', array('spip_evenements_participants', "id_evenement=$id_evenement AND reponse='oui' "), ),
    33                         'nsp'=>array( 'agenda:label_reponse_jyparticipe_peutetre', array('spip_evenements_participants', "id_evenement=$id_evenement AND reponse='?' "), ),
    34                         'non'=>array( 'agenda:label_reponse_jyparticipe_pas', array('spip_evenements_participants', "id_evenement=$id_evenement AND reponse='non' "), ),
    35                         'etc'=>array( 'autres', array('spip_evenements_participants', "id_evenement=$id_evenement AND reponse NOT IN ('non', 'oui', '?') "), ),
    36                 ));
     48                echo association_totauxinfos_effectifs('inscriptions',  $reponses);
    3749                // datation et raccourcis
    3850                raccourcis_association(array('inscrits_activite', "id=$id_evenement"));
  • _plugins_/Association/Associaspip/exec/ventes.php

    r66377 r66769  
    1212        return;
    1313
    14 function exec_ventes()
    15 {
     14function exec_ventes() {
    1615        if (!autoriser('associer', 'ventes')) {
    1716                include_spip('inc/minipres');
  • _plugins_/Association/Associaspip/formulaires/ajouter_cotisation.php

    r65453 r66769  
    11<?php
    22/***************************************************************************\
    3  *  Associaspip, extension de SPIP pour gestion d'associations             *
    4  *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
    6  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
    7  *                                                                         *
    8  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    9  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    109\***************************************************************************/
    11 
    1210
    1311if (!defined('_ECRIRE_INC_VERSION'))
     
    1816include_spip('inc/autoriser');
    1917
    20 function formulaires_ajouter_cotisation_charger_dist($id_auteur, $nom_prenom, $id_categorie, $validite)
    21 {
    22         // la validite et le montant de la cotisation
     18function formulaires_ajouter_cotisation_charger_dist($id_auteur, $nom_prenom, $id_categorie, $validite) {
    2319        if ($id_categorie) { // si le membre a une categorie
    2420                $categorie = sql_fetsel('duree, cotisation', 'spip_asso_categories', "id_categorie=". intval($id_categorie));
     
    2925                $contexte['validite'] = date('Y-m-d', mktime(0, 0, 0, $mois, $jour, $annee));
    3026                $contexte['montant'] = $categorie['cotisation'];
    31         } else {
     27        } else { // le membre n'a pas de categorie
    3228                $contexte['validite'] = date('Y-m-d');
    3329                $contexte['montant'] = 0;
    34         }
    35         // la justification
    36         $contexte['justification'] = _T('asso:nouvelle_cotisation') ." [$nom_prenom"."->membre$id_auteur]";
    37         // pour passer securiser action
    38         $contexte['_action'] = array('ajouter_cotisation',$id_auteur);
    39         // on passe aussi les destinations si besoin
    40         if ($GLOBALS['association_metas']['destinations']) {
    41                 $contexte['id_dest'] = '';
    42                 $contexte['montant_dest'] = '';
    43                 $contexte['unique_dest'] = '';
    44                 $contexte['defaut_dest'] = $GLOBALS['association_metas']['dc_cotisations']; // ces variables sont recuperees par la balise dynamique directement dans l'environnement
    45         }
     30        } // validite et montant de cotisation
     31        $contexte['justification'] = _T('asso:nouvelle_cotisation') ." [$nom_prenom"."->membre$id_auteur]"; // la justification
     32        $contexte['_action'] = array('ajouter_cotisation',$id_auteur); // pour passer securiser action
     33        association_chargeparam_destination('cotisations', $contexte); // les destinations
     34
    4635        return $contexte;
    4736}
     
    4938function formulaires_ajouter_cotisation_verifier_dist($id_auteur, $nom_prenom, $categorie, $validite) {
    5039        $erreurs = array();
    51         if ($GLOBALS['association_metas']['comptes']) {
    52                 // verifier que le montant est bien positif ou nul
     40
     41        if ($GLOBALS['association_metas']['comptes'] && $GLOBALS['association_metas']['pc_cotisations']) {
    5342                if ($erreur = association_verifier_montant('montant') )
    5443                        $erreurs['montant'] = $erreur;
    55                 // verifier validite de la date
    5644                if ($erreur = association_verifier_date('date') )
    5745                        $erreurs['date'] = $erreur;
    58                 // verifier si besoin que le montant des destinations correspond bien au montant de l'opération, sauf si on a deja une erreur de montant
    59                 if (($GLOBALS['association_metas']['destinations']) && !array_key_exists('montant', $erreurs)) {
    60                         include_spip('inc/association_comptabilite');
    61                         if ($err_dest = association_verifier_montant_destinations('montant') ) {
    62                                 $erreurs['destinations'] = $err_dest;
    63                         }
    64                 }
     46                if ($erreur = association_verifier_destinations('montant') )
     47                        $erreurs['destinations'] = $erreur;
    6548        }
    66         if ($erreur = association_verifier_date('validite') ) {
     49        if ($erreur = association_verifier_date('validite') )
    6750                $erreurs['validite'] = $erreur;
    68         }
    6951
    7052        if (count($erreurs)) {
  • _plugins_/Association/Associaspip/formulaires/ajouter_membres_groupe.php

    r66346 r66769  
    2222
    2323function formulaires_ajouter_membres_groupe_traiter($id_groupe='') {
    24         /* partie de code grandement inspiree du code de formulaires_editer_objet_traiter dans ecrire/inc/editer.php */
     24        // partie de code grandement inspiree du code de formulaires_editer_objet_traiter dans ecrire/inc/editer.php
    2525        $res = array();
    2626        // eviter la redirection forcee par l'action...
     
    3636        }
    3737        return $res;
    38 
    3938}
    4039
  • _plugins_/Association/Associaspip/formulaires/configurer_association.html

    r64883 r66769  
    287287                                                </ul>
    288288                                        </fieldset>
    289 
    290289                                        <fieldset>
    291290                                                <legend><:asso:fpdf_table:></legend>
  • _plugins_/Association/Associaspip/formulaires/configurer_association.php

    r60137 r66769  
    11<?php
    22/***************************************************************************\
    3  *  Associaspip, extension de SPIP pour gestion d'associations             *
    4  *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
    6  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
    7  *                                                                         *
    8  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    9  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    109\***************************************************************************/
     10
     11if (!defined('_ECRIRE_INC_VERSION'))
     12        return;
    1113
    1214function formulaires_configurer_association_verifier_dist() {
    1315        $erreurs = array();
    14         $erreurs['message_erreur'] = _T('asso:erreur_titre'); /* on insere directement un titre de message d'erreurs, si on n'a que lui a la fin on renvoie un tableau vide */
     16
     17        $erreurs['message_erreur'] = _T('asso:erreur_titre'); // on insere directement un titre de message d'erreurs, si on n'a que lui a la fin on renvoie un tableau vide
    1518        $dons = _request('dons');
    1619        $ventes = _request('ventes');
     
    2831                $erreurs['nom'] = _T('asso:erreur_configurer_association_nom_association_vide');
    2932        }
    30         // si la gestion comptable est activee, on valide le plan comptable
    3133        $ref_attribuee = array();
    3234        $classe_attribuee = array();
    33         if ($comptes) {
     35        if ($comptes) { // si la gestion comptable est activee, on valide le plan comptable
    3436                include_spip('inc/association_comptabilite');
    3537                if (!association_valider_plan_comptable()) {
     
    4143                $classe_attribuee[$classe_financier] = 'classe_banques';
    4244                $ref_attribuee[$pc_cotisations] = 'pc_cotisations';
    43                 // le premier caractere du code de la reference comptable est sa classe
    44                 if ($pc_cotisations[0]==$classe_financier)
     45                if ($pc_cotisations[0]==$classe_financier) // le premier caractere du code de la reference comptable est sa classe
    4546                        $erreurs['pc_cotisations'] = _T('asso:erreur_configurer_association_reference_financier');
    46                 // on verifie que les classes sont uniques
    47                 foreach( array('classe_charges','classe_produits','classe_contributions_volontaires') as $index=>$classe_testee) {
     47                foreach( array('classe_charges','classe_produits','classe_contributions_volontaires') as $index=>$classe_testee) { // on verifie que les classes sont uniques
    4848                        $$classe_testee = _request($classe_testee);
    4949                        if (array_key_exists($$classe_testee, $classe_attribuee)) {
     
    5858                        $erreurs['dons'] = _T('asso:erreur_configurer_association_gestion_comptable_non_activee');
    5959                } else {
    60                         if (!array_key_exists($pc_dons,$ref_attribuee)) {
    61                                 // le premier caractere du code de la reference comptable est sa classe
     60                        if (!array_key_exists($pc_dons,$ref_attribuee)) { // le premier caractere du code de la reference comptable est sa classe
    6261                                if ($pc_dons[0]==$classe_financier)
    6362                                        $erreurs['dons'] = _T('asso:erreur_configurer_association_reference_financier');
     
    7473                } else {
    7574                        if (!array_key_exists($pc_ventes,$ref_attribuee)) {
    76                                 // le premier caractere du code de la reference comptable est sa classe
    77                                 if ($pc_ventes[0]==$classe_financier)
     75                                if ($pc_ventes[0]==$classe_financier) // le premier caractere du code de la reference comptable est sa classe
    7876                                        $erreurs['ventes'] = _T('asso:erreur_configurer_association_reference_financier');
    7977                        } else {
     
    8280                        }
    8381                        $ref_attribuee[$pc_ventes]='ventes';
    84                         if ($pc_ventes!=$pc_frais_envoi) {
    85                                 /* vente et frais_envoi peuvent etre associes a la meme reference comptable meme si c'est deconseille d'un point de vue comptable */
     82                        if ($pc_ventes!=$pc_frais_envoi) { // vente et frais_envoi peuvent etre associes a la meme reference comptable meme si c'est deconseille d'un point de vue comptable
    8683                                if (!array_key_exists($pc_frais_envoi,$ref_attribuee)) {
    87                                         // le premier caractere du code de la reference comptable est sa classe
    88                                         if ($pc_frais_envoi[0]==$classe_financier)
     84                                        if ($pc_frais_envoi[0]==$classe_financier) // le premier caractere du code de la reference comptable est sa classe
    8985                                                $erreurs['frais_envoi'] = _T('asso:erreur_configurer_association_reference_financier');
    9086                                } else {
     
    10197                } else {
    10298                        if (!array_key_exists($pc_prets,$ref_attribuee)) {
    103                                 // le premier caractere du code de la reference comptable est sa classe
    104                                 if ($pc_prets[0]==$classe_financier)
     99                                if ($pc_prets[0]==$classe_financier) // le premier caractere du code de la reference comptable est sa classe
    105100                                        $erreurs['prets'] = _T('asso:erreur_configurer_association_reference_financier');
    106101                        } else {
     
    116111                } else {
    117112                        if (!array_key_exists($pc_activites,$ref_attribuee)) {
    118                                 // le premier caractere du code de la reference comptable est sa classe
    119                                 if ($pc_activites[0]==$classe_financier)
     113                                if ($pc_activites[0]==$classe_financier) // le premier caractere du code de la reference comptable est sa classe
    120114                                        $erreurs['activites'] = _T('asso:erreur_configurer_association_reference_financier');
    121115                        } else {
     
    126120                }
    127121        }
    128         if (count($erreurs)==1) { /* si on n'a qu'un entree dans la table des erreurs, c'est le titre qu'on a mis au debut, on n'a pas d'erreur, on renvoie un tableau vide */
     122
     123        if (count($erreurs)==1) { // si on n'a qu'un entree dans la table des erreurs, c'est le titre qu'on a mis au debut, on n'a pas d'erreur, on renvoie un tableau vide
    129124                return array();
    130125        }
    131         /* on a des erreurs, pour conserver l'etat des checkbox vides, il faut faire un set_request en mettant une valeur differente de 'on' sinon le retour de verif mange les eventuelles modifs */
     126        // on a des erreurs, pour conserver l'etat des checkbox vides, il faut faire un set_request en mettant une valeur differente de 'on' sinon le retour de verif mange les eventuelles modifs
    132127        if (!$comptes)
    133128                set_request('comptes', 'off');
     
    151146}
    152147
    153 /* reprise en grande partie du code de la fonction traiter de configurer_metas */
     148// reprise en grande partie du code de la fonction traiter de configurer_metas
    154149function formulaires_configurer_association_traiter_dist($form) {
    155150        include_spip('formulaires/configurer_metas');
    156         /* code directement copie depuis formulaires_configurer_metas_traiter_dist */
     151// debut du code directement copie depuis formulaires_configurer_metas_traiter_dist
    157152        $infos = formulaires_configurer_metas_infos($form);
    158         if (!is_array($infos)) return $infos;
     153        if (!is_array($infos))
     154                return $infos;
    159155        $vars = formulaires_configurer_metas_recense($infos['path'], PREG_PATTERN_ORDER);
    160156        $meta = $infos['meta'];
    161         /* fin du code directement copie depuis formulaires_configurer_metas_traiter_dist */
    162         $metas_list = array_flip(array_unique($vars[2])); /* on recupere tous les noms des metas comme cles d'un tableau */
    163 
    164         /* on ajoute toutes les metas utilisateurs: presentes avec le prefixe meta_utilisateur_ dans la table spip_association_metas */
     157// fin du code directement copie depuis formulaires_configurer_metas_traiter_dist
     158        $metas_list = array_flip(array_unique($vars[2])); // on recupere tous les noms des metas comme cles d'un tableau
    165159        $query = sql_select('nom', 'spip_association_metas', "nom LIKE 'meta_utilisateur_%'");
    166         while ($row = sql_fetch($query)) {
     160        while ($row = sql_fetch($query)) { // on ajoute toutes les metas utilisateurs : presentes avec le prefixe meta_utilisateur_ dans la table spip_association_metas
    167161                $metas_list[$row['nom']]=0;
    168162        }
    169         /* ignorer les changements fait dans un module non active */
     163        // ignorer les changements fait dans un module non active
    170164        $dons = _request('dons');
    171165        $ventes = _request('ventes');
     
    193187                unset($metas_list['pc_activites']);
    194188        }
    195         /* A-t-on modifie les metas pc_XXX si oui il faut faire suivre dans la table des comptes la modif, sinon on perd toutes les operations deja enregistrees */
     189        // A-t-on modifie les metas pc_XXX si oui il faut faire suivre dans la table des comptes la modif, sinon on perd toutes les operations deja enregistrees
    196190        $pc_cotisations = _request('pc_cotisations');
    197191        $pc_dons = _request('pc_dons');
     
    200194        $pc_prets = _request('pc_prets');
    201195        $pc_activites = _request('pc_activites');
    202         /* condition pour modifier dans la table des comptes: module actif(peut-etre aussi juste active par cet envoi) ET meta pre existente ET meta modifiee */
     196        // condition pour modifier dans la table des comptes : module actif (peut-etre aussi juste active par cet envoi) ET meta pre-existente ET meta modifiee
    203197        if ($comptes && $GLOBALS['association_metas']['pc_cotisations'] && ($pc_cotisations!=$GLOBALS['association_metas']['pc_cotisations'])) {
    204198                sql_updateq('spip_asso_comptes', array('imputation' => $pc_cotisations), 'imputation='.$GLOBALS['association_metas']['pc_cotisations']);
     
    210204                sql_updateq('spip_asso_comptes', array('imputation' => $pc_ventes), 'imputation='.$GLOBALS['association_metas']['pc_ventes']);
    211205        }
    212 
    213206        if ($ventes &&
    214207                $GLOBALS['association_metas']['pc_frais_envoi'] &&
    215208                ($pc_frais_envoi!=$GLOBALS['association_metas']['pc_frais_envoi']) &&
    216209                ($GLOBALS['association_metas']['pc_frais_envoi']!=$GLOBALS['association_metas']['pc_ventes']) &&
    217                 $pc_ventes!=$pc_frais_envoi) { /* pour celui la on controle aussi que le pc_vente et pc_frais_envoi etaient differents avant et apres la modif */
    218                         /* si ils etaient egaux, on ne peux pas faire migrer les frais d'envoi vu qu'ils etaient inseres dans la meme operation comptable */
    219                         /* si ils sont maintenant egaux mais ne l'etaient pas avant, toutes les ventes vont apparaitre en double: la vente elle meme et les frais d'envoi. */
     210                $pc_ventes!=$pc_frais_envoi) { // pour celui la on controle aussi que le pc_vente et pc_frais_envoi etaient differents avant et apres la modif
     211                        // - si ils etaient egaux, on ne peux pas faire migrer les frais d'envoi vu qu'ils etaient inseres dans la meme operation comptable
     212                        // - si ils sont maintenant egaux mais ne l'etaient pas avant, toutes les ventes vont apparaitre en double: la vente elle meme et les frais d'envoi.
    220213                        sql_updateq('spip_asso_comptes', array('imputation' => $pc_frais_envoi), 'imputation='.$GLOBALS['association_metas']['pc_frais_envoi']);
    221214        }
     
    226219                sql_updateq('spip_asso_comptes', array('imputation' => $pc_activites), 'imputation='.$GLOBALS['association_metas']['pc_activites']);
    227220        }
    228         /* code repris sur formulaires_configurer_metas_traiter_dist */
     221        // code repris sur formulaires_configurer_metas_traiter_dist
    229222        foreach (array_keys($metas_list) as $k) {
    230223                $v = _request($k);
  • _plugins_/Association/Associaspip/formulaires/configurer_metas.php

    r58798 r66769  
    11<?php
    2 
    32/***************************************************************************\
    4  *  SPIP, Systeme de publication pour l'internet                           *
    5  *                                                                         *
    6  *  Copyright (c) 2001-2010                                                *
    7  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
    8  *                                                                         *
    9  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    10  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    119\***************************************************************************/
    1210
     
    1412        return;
    1513
    16 function formulaires_configurer_metas_charger_dist($form)
    17 {
    18         $f = charger_fonction('charger', "formulaires/$form", true);
     14function formulaires_configurer_metas_charger_dist($form) {
     15        $f = charger_fonction('charger', "formulaires/$form", TRUE);
    1916        if ($f)
    2017                return $f($form);
     
    3027}
    3128
    32 function formulaires_configurer_metas_verifier_dist($form)
    33 {
    34         $f = charger_fonction('verifier', "formulaires/$form", true);
     29function formulaires_configurer_metas_verifier_dist($form) {
     30        $f = charger_fonction('verifier', "formulaires/$form", TRUE);
    3531        return $f ? $f($form) : array();
    3632}
    3733
    38 function formulaires_configurer_metas_traiter_dist($form)
    39 {
    40         $f = charger_fonction('traiter', "formulaires/$form", true);
     34function formulaires_configurer_metas_traiter_dist($form) {
     35        $f = charger_fonction('traiter', "formulaires/$form", TRUE);
    4136        if ($f)
    4237                return $f($form);
     
    6257// determiner la liste des noms des saisies d'un formulaire
    6358// (a refaire avec SAX)
    64 function formulaires_configurer_metas_recense($form, $opt='')
    65 {
     59function formulaires_configurer_metas_recense($form, $opt='') {
    6660        if (!$opt) $opt = PREG_SET_ORDER;
    6761        $f = file_get_contents($form);
     
    8175// Recuperer la description XML du plugin et normaliser
    8276// Si ce n'est pas un plugin, dire qu'il faut prendre la table std des meta.
    83 function formulaires_configurer_metas_infos($form){
     77function formulaires_configurer_metas_infos($form) {
    8478
    8579        $path = find_in_path($form.'.' . _EXTENSION_SQUELETTES, 'formulaires/');
     
    9084        $plugin = $m[2];
    9185        $get_infos = charger_fonction('get_infos','plugins');
    92         $infos = $get_infos($plugin, false, $m[1]);
     86        $infos = $get_infos($plugin, FALSE, $m[1]);
    9387        if (!is_array($infos))
    9488          return _T('erreur_plugin_nom_manquant') . ' ' . $plugin . ' ' . $path;
  • _plugins_/Association/Associaspip/formulaires/editer_asso_activites.php

    r66346 r66769  
    11<?php
    22/***************************************************************************\
    3  *  Associaspip, extension de SPIP pour gestion d'associations             *
    4  *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
    6  *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
    7  *                                                                         *
    8  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    9  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     3 *  Associaspip, extension de SPIP pour gestion d'associations
     4 *
     5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
     6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
     7 *
     8 *  @license http://opensource.org/licenses/gpl-license.php GNU Public License
    109\***************************************************************************/
    1110
     
    1615include_spip('inc/editer');
    1716
    18 function formulaires_editer_asso_activites_charger_dist($id_activite='')
    19 {
    20         /* charger dans $contexte tous les champs de la table spip_asso_activites associes a l'id_activite passe en param */
     17function formulaires_editer_asso_activites_charger_dist($id_activite='') {
    2118        $contexte = formulaires_editer_objet_charger('asso_activites', $id_activite, '', '',  generer_url_ecrire('activites'), '');
    2219        if (!$id_activite) { // si c'est un ajout
     
    2623                $contexte['date_inscription'] = date('Y-m-d');
    2724                $contexte['date_paiement'] = '';
    28                 $id_compte = $journal = '';
    29         } else { // sinon on recupere l'id_compte correspondant et le journal dans la table des comptes
    30                 $compte = sql_fetsel('id_compte,journal', 'spip_asso_comptes', "imputation='".$GLOBALS['association_metas']['pc_activites']."' AND id_journal='$id_activite'");
    31                 $journal = $compte['journal'];
    32                 $id_compte = $compte['id_compte'];
    3325        }
    34         /* ajout du journal qui ne se trouve pas dans la table asso_dons mais asso_comptes et n'est donc pas charge par editer_objet_charger */
    35         $contexte['journal'] = $journal;
     26        association_chargeparam_operation('activites', $id_activite, $contexte);
     27        association_chargeparam_destinations('activites', $contexte);
     28        $contexte['_hidden'] .= "<input type='hidden' name='id_evenement' value='$contexte[id_evenement]' />"; // transmettre id_evenement via un champ cache
    3629
    37         /* on concatene au _hidden inserer dans $contexte par l'appel a formulaire_editer_objet l'id_compte qui sera utilise dans l'action editer_asso_activites */
    38         $contexte['_hidden'] .= "<input type='hidden' name='id_compte' value='$id_compte' />";
    39         /* transmettre l'id_evenement via un champ cache */
    40         $contexte['_hidden'] .= "<input type='hidden' name='id_evenement' value='$contexte[id_evenement]' />";
    41 
    42         /* si date_paiement est indeterminee, c'est que le champ est vide : on ne preremplit rien  */
     30        // paufiner la presentation des valeurs
    4331        if ($contexte['date_paiement']=='0000-00-00')
    4432                $contexte['date_paiement'] = '';
    45         /* si id_auteur est egal a 0, c'est que le champ est vide : on ne prerempli rien */
    4633        if (!$contexte['id_auteur'])
    4734                $contexte['id_auteur']='';
    48         /* paufiner la presentation des valeurs  */
    4935        if ($contexte['inscrits'])
    5036                $contexte['inscrits'] = association_formater_nombre($contexte['inscrits']);
    5137
    52         // on ajoute les metas de destinations
    53         if ($GLOBALS['association_metas']['destinations']) {
    54                 include_spip('inc/association_comptabilite');
    55                 /* on recupere les destinations associes a id_compte */
    56                 $dest_id_montant = association_liste_destinations_associees($id_compte);
    57                 if (is_array($dest_id_montant)) {
    58                         $contexte['id_dest'] = array_keys($dest_id_montant);
    59                         $contexte['montant_dest'] = array_values($dest_id_montant);
    60                 } else {
    61                         $contexte['id_dest'] = '';
    62                         $contexte['montant_dest'] = '';
    63                 }
    64                 $contexte['unique_dest'] = '';
    65                 $contexte['defaut_dest'] = $GLOBALS['association_metas']['dc_activites'];; /* ces variables sont recuperees par la balise dynamique directement dans l'environnement */
    66         }
    67 
    68         /* renvoyer le contexte pour (p)re-remplir le formulaire  */
    6938        return $contexte;
    7039}
    7140
    72 function formulaires_editer_asso_activites_verifier_dist($id_activite='')
    73 {
     41function formulaires_editer_asso_activites_verifier_dist($id_activite='') {
    7442        $erreurs = array();
    7543
    76         /* on verifie la validite des dates */
    7744        if ($erreur = association_verifier_date('date_inscription') )
    7845                $erreurs['date_inscription'] = $erreur;
    79         if ($erreur = association_verifier_date('date_paiement', true) )
     46        if ($erreur = association_verifier_date('date_paiement', TRUE) )