/_plugins_/Associaspip/trunk/formulaires/ajouter_cotisation.php

https://bitbucket.org/pombredanne/spip-zone-treemap · PHP · 75 lines · 56 code · 9 blank · 10 comment · 13 complexity · de3d29859a7d4b6c83f718d1798f186f MD5 · raw file

  1. <?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. \***************************************************************************/
  10. if (!defined('_ECRIRE_INC_VERSION'))
  11. return;
  12. include_spip('inc/actions');
  13. include_spip('inc/editer');
  14. include_spip('inc/autoriser');
  15. function formulaires_ajouter_cotisation_charger_dist($id_auteur, $nom_prenom, $id_categorie, $validite, $editable) {
  16. if ($id_categorie) { // si le membre a une categorie
  17. $categorie = sql_fetsel('duree, prix_cotisation', 'spip_asso_categories', "id_categorie=". intval($id_categorie));
  18. list($annee, $mois, $jour) = explode('-', $validite);
  19. if ($jour==0 OR $mois==0 OR $annee==0)
  20. list($annee, $mois, $jour) = explode('-',date('Y-m-d'));
  21. $mois += $categorie['duree'];
  22. $contexte['validite'] = date('Y-m-d', mktime(0, 0, 0, $mois, $jour, $annee));
  23. $contexte['montant'] = $categorie['prix_cotisation'];
  24. } else { // le membre n'a pas de categorie
  25. $contexte['validite'] = date('Y-m-d');
  26. $contexte['montant'] = 0;
  27. } // validite et montant de cotisation
  28. $contexte['justification'] = _T('asso:cotisation') ." [$nom_prenom"."->membre$id_auteur]"; // la justification
  29. $contexte['readonly'] = $editable ? '' : ' readonly="readonly"';
  30. $contexte['_action'] = array('ajouter_cotisation',$id_auteur); // pour passer securiser action
  31. association_chargeparam_destinations('cotisations', $contexte); // les destinations
  32. return $contexte;
  33. }
  34. function formulaires_ajouter_cotisation_verifier_dist($id_auteur, $nom_prenom, $categorie, $validite) {
  35. $erreurs = array();
  36. if ($GLOBALS['association_metas']['comptes'] && $GLOBALS['association_metas']['pc_cotisations']) {
  37. if ($erreur = association_verifier_montant('montant') )
  38. $erreurs['montant'] = $erreur;
  39. if ($erreur = association_verifier_date('date') )
  40. $erreurs['date'] = $erreur;
  41. if ($erreur = association_verifier_destinations('montant') )
  42. $erreurs['destinations'] = $erreur;
  43. }
  44. if ($erreur = association_verifier_date('validite') )
  45. $erreurs['validite'] = $erreur;
  46. if (count($erreurs)) {
  47. $erreurs['message_erreur'] = _T('asso:erreur_titre');
  48. }
  49. return $erreurs;
  50. }
  51. function formulaires_ajouter_cotisation_traiter_dist($id_auteur, $nom_prenom, $categorie, $validite) {
  52. // partie de code grandement inspiree du code de formulaires_editer_objet_traiter dans ecrire/inc/editer.php
  53. $res = array();
  54. // eviter la redirection forcee par l'action...
  55. set_request('redirect');
  56. $action_cotisation = charger_fonction('ajouter_cotisation', 'action');
  57. list($id_auteur,$err) = $action_cotisation($id_auteur);
  58. if ($err OR !$id_auteur) {
  59. $res['message_erreur'] = ($err?$err:_T('erreur_traite'));
  60. } else {
  61. $res['message_ok'] = '';
  62. $res['redirect'] = generer_url_ecrire('adherents'); // on renvoit sur la page adherents mais on perd a l'occasion d'eventuel filtres inseres avant d'arriver au formulaire de cotisation...
  63. }
  64. return $res;
  65. }
  66. ?>