Changeset 48471 in spip-zone
- Timestamp:
- Jun 3, 2011, 9:16:16 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/Association/Associaspip/formulaires/configurer_association.php
r48469 r48471 20 20 $activites = _request('activites'); 21 21 $comptes = _request('comptes'); 22 /* ignorer les changements fait dans un module non active. Le mieux serait de traiter ca dans la fonction traiter. A faire */23 if (!$comptes) {24 set_request('pc_cotisations', $GLOBALS['association_metas']['pc_cotisations']);25 set_request('dc_cotisations', $GLOBALS['association_metas']['dc_cotisations']);26 set_request('destinations', '');27 }28 29 if (!$dons) {30 set_request('pc_dons', $GLOBALS['association_metas']['pc_dons']);31 set_request('dc_dons', $GLOBALS['association_metas']['dc_dons']);32 }33 34 if (!$ventes) {35 set_request('pc_ventes', $GLOBALS['association_metas']['pc_ventes']);36 set_request('pc_frais_envoi', $GLOBALS['association_metas']['pc_frais_envoi']);37 set_request('dc_ventes', $GLOBALS['association_metas']['dc_ventes']);38 }39 40 if (!$prets) {41 set_request('pc_prets', $GLOBALS['association_metas']['pc_prets']);42 }43 44 if (!$activites) {45 set_request('pc_activites', $GLOBALS['association_metas']['pc_activites']);46 }47 22 48 23 $pc_cotisations = _request('pc_cotisations'); … … 55 30 56 31 // si la gestion comptable est activee, on valide le plan comptable 32 $ref_attribuee = array(); 57 33 if ($comptes) { 58 34 include_spip('inc/association_comptabilite'); … … 63 39 64 40 // on verifie qu'il n'a pas deux fois la meme reference comptable en incluant celle des cotisations ou qu'on n'a pas attribue aux cotisations ou modules de gestion une reference comptable de la classe des comptes financiers 65 $ref_attribuee = array();66 41 $classe_financier = _request('classe_banques'); 67 42 $ref_attribuee[$pc_cotisations]='pc_cotisations'; … … 145 120 146 121 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 */ 147 /* vilain hack pour conserver la fonction traiter des metas : on fait potentiellement ici des modifs dans la table */148 /* 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 */149 if ($GLOBALS['association_metas']['pc_cotisations'] && ($pc_cotisations != $GLOBALS['association_metas']['pc_cotisations'])) {150 sql_updateq('spip_asso_comptes', array('imputation' => $pc_cotisations), "imputation=".$GLOBALS['association_metas']['pc_cotisations']);151 }152 153 if ($GLOBALS['association_metas']['dons'] && $GLOBALS['association_metas']['pc_dons'] && ($pc_dons != $GLOBALS['association_metas']['pc_dons'])) {154 sql_updateq('spip_asso_comptes', array('imputation' => $pc_dons), "imputation=".$GLOBALS['association_metas']['pc_dons']);155 }156 157 if ($GLOBALS['association_metas']['ventes'] && $GLOBALS['association_metas']['pc_ventes'] && ($pc_ventes != $GLOBALS['association_metas']['pc_ventes'])) {158 sql_updateq('spip_asso_comptes', array('imputation' => $pc_ventes), "imputation=".$GLOBALS['association_metas']['pc_ventes']);159 }160 161 if ($GLOBALS['association_metas']['ventes'] && $GLOBALS['association_metas']['pc_frais_envoi'] && ($pc_frais_envoi != $GLOBALS['association_metas']['pc_frais_envoi'])) {162 sql_updateq('spip_asso_comptes', array('imputation' => $pc_frais_envoi), "imputation=".$GLOBALS['association_metas']['pc_frais_envoi']);163 }164 165 if ($GLOBALS['association_metas']['prets'] && $GLOBALS['association_metas']['pc_prets'] && ($pc_prets != $GLOBALS['association_metas']['pc_prets'])) {166 sql_updateq('spip_asso_comptes', array('imputation' => $pc_prets), "imputation=".$GLOBALS['association_metas']['pc_prets']);167 }168 169 if ($GLOBALS['association_metas']['activites'] && $GLOBALS['association_metas']['pc_activites'] && ($pc_ != $GLOBALS['association_metas']['pc_activites'])) {170 sql_updateq('spip_asso_comptes', array('imputation' => $pc_activites), "imputation=".$GLOBALS['association_metas']['pc_activites']);171 }172 /* fin du vilain hack, le mieux serait encore de faire une fonction traiter pour y mettre ce code mais il faudrait alors reprendre les fonction de traiter depuis configurer_metas */173 122 return array(); 174 123 } 175 124 176 /* on a des erreurs, pour conserver l'etat des checkbox vides, il faut faire un set_request en mettant une valeur differente de onsinon le retour de verif mange les eventuelles modifs */125 /* 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 */ 177 126 if (!$comptes) set_request('comptes', 'off'); 178 127 if (!$dons) set_request('dons', 'off'); … … 188 137 return $erreurs; 189 138 } 139 140 /* reprise en grande partie du code de la fonction traiter de configurer_metas */ 141 function formulaires_configurer_association_traiter_dist($form) { 142 include_spip('formulaires/configurer_metas'); 143 /* code directement copie depuis formulaires_configurer_metas_traiter_dist */ 144 $infos = formulaires_configurer_metas_infos($form); 145 if (!is_array($infos)) return $infos; 146 $vars = formulaires_configurer_metas_recense($infos['path'], PREG_PATTERN_ORDER); 147 $meta = $infos['meta']; 148 /* fin du code directement copie depuis formulaires_configurer_metas_traiter_dist */ 149 $metas_list = array_flip(array_unique($vars[2])); /* on recupere tous les noms des metas comme cles d'un tableau */ 150 151 /* ignorer les changements fait dans un module non active */ 152 $dons = _request('dons'); 153 $ventes = _request('ventes'); 154 $prets = _request('prets'); 155 $activites = _request('activites'); 156 $comptes = _request('comptes'); 157 158 if (!$comptes) { 159 unset($metas_list['pc_cotisations']); 160 unset($metas_list['dc_cotisations']); 161 unset($metas_list['destinations']); 162 } 163 164 if (!$dons) { 165 unset($metas_list['pc_dons']); 166 unset($metas_list['dc_dons']); 167 } 168 169 if (!$ventes) { 170 unset($metas_list['pc_ventes']); 171 unset($metas_list['pc_frais_envoi']); 172 unset($metas_list['dc_ventes']); 173 } 174 175 if (!$prets) { 176 unset($metas_list['pc_prets']); 177 } 178 179 if (!$activites) { 180 unset($metas_list['pc_activites']); 181 } 182 183 /* 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 */ 184 $pc_cotisations = _request('pc_cotisations'); 185 $pc_dons = _request('pc_dons'); 186 $pc_ventes = _request('pc_ventes'); 187 $pc_frais_envoi = _request('pc_frais_envoi'); 188 $pc_prets = _request('pc_prets'); 189 $pc_activites = _request('pc_activites'); 190 191 /* 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 */ 192 if ($comptes && $GLOBALS['association_metas']['pc_cotisations'] && ($pc_cotisations != $GLOBALS['association_metas']['pc_cotisations'])) { 193 sql_updateq('spip_asso_comptes', array('imputation' => $pc_cotisations), "imputation=".$GLOBALS['association_metas']['pc_cotisations']); 194 } 195 196 if ($dons && $GLOBALS['association_metas']['pc_dons'] && ($pc_dons != $GLOBALS['association_metas']['pc_dons'])) { 197 sql_updateq('spip_asso_comptes', array('imputation' => $pc_dons), "imputation=".$GLOBALS['association_metas']['pc_dons']); 198 } 199 200 if ($ventes && $GLOBALS['association_metas']['pc_ventes'] && ($pc_ventes != $GLOBALS['association_metas']['pc_ventes'])) { 201 sql_updateq('spip_asso_comptes', array('imputation' => $pc_ventes), "imputation=".$GLOBALS['association_metas']['pc_ventes']); 202 } 203 204 if ($ventes && 205 $GLOBALS['association_metas']['pc_frais_envoi'] && 206 ($pc_frais_envoi != $GLOBALS['association_metas']['pc_frais_envoi']) && 207 ($GLOBALS['association_metas']['pc_frais_envoi'] != $GLOBALS['association_metas']['pc_ventes']) && 208 $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 */ 209 /* si ils etaient egaux, on ne peux pas faire migrer les frais d'envoi vu qu'ils etaient inseres dans la meme operation comptable */ 210 /* 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. */ 211 sql_updateq('spip_asso_comptes', array('imputation' => $pc_frais_envoi), "imputation=".$GLOBALS['association_metas']['pc_frais_envoi']); 212 } 213 214 if ($prets && $GLOBALS['association_metas']['pc_prets'] && ($pc_prets != $GLOBALS['association_metas']['pc_prets'])) { 215 sql_updateq('spip_asso_comptes', array('imputation' => $pc_prets), "imputation=".$GLOBALS['association_metas']['pc_prets']); 216 } 217 218 if ($activites && $GLOBALS['association_metas']['pc_activites'] && ($pc_ != $GLOBALS['association_metas']['pc_activites'])) { 219 sql_updateq('spip_asso_comptes', array('imputation' => $pc_activites), "imputation=".$GLOBALS['association_metas']['pc_activites']); 220 } 221 222 /* code repris sur formulaires_configurer_metas_traiter_dist */ 223 foreach (array_keys($metas_list) as $k) { 224 $v = _request($k); 225 ecrire_meta($k, is_array($v) ? serialize($v) : $v, 'oui', $meta); 226 } 227 return !isset($infos['prefix']) ? array() 228 : array('redirect' => generer_url_ecrire($infos['prefix'])); 229 } 190 230 ?>
Note: See TracChangeset
for help on using the changeset viewer.