activer_petition_article.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. /***************************************************************************\
  3. * SPIP, Systeme de publication pour l'internet *
  4. * *
  5. * Copyright (c) 2001-2014 *
  6. * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
  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. *
  10. \***************************************************************************/
  11. if (!defined("_ECRIRE_INC_VERSION")) return;
  12. /**
  13. * Charger
  14. *
  15. * @param int $id_article
  16. * @return array
  17. */
  18. function formulaires_activer_petition_article_charger_dist($id_article){
  19. $valeurs = array();
  20. $valeurs['editable'] = true;
  21. if (!autoriser('modererpetition', 'article', $id_article))
  22. $valeurs['editable'] = false;
  23. include_spip('inc/presentation');
  24. include_spip('base/abstract_sql');
  25. $nb_signatures = 0;
  26. $petition = sql_fetsel("*", "spip_petitions", "id_article=$id_article");
  27. if ($petition)
  28. $nb_signatures = sql_countsel("spip_signatures", "id_petition=".intval($petition['id_petition']));
  29. $valeurs['id_article'] = $id_article;
  30. $valeurs['petition'] = $petition;
  31. $valeurs['_controle_petition'] = $nb_signatures?singulier_ou_pluriel($nb_signatures,'petitions:une_signature','petitions:nombre_signatures'):"";
  32. return $valeurs;
  33. }
  34. /**
  35. * Traiter
  36. *
  37. * @param int $id_article
  38. * @return array
  39. */
  40. function formulaires_activer_petition_article_traiter_dist($id_article){
  41. include_spip('inc/autoriser');
  42. if (autoriser('modererpetition', 'article', $id_article)){
  43. switch(_request('change_petition')) {
  44. case 'on':
  45. foreach(array('email_unique','site_obli','site_unique','message') as $k)
  46. if (_request($k) != 'oui')
  47. set_request($k,'non');
  48. include_spip('action/editer_petition');
  49. if (!$id_petition=sql_getfetsel('id_petition','spip_petitions','id_article='.intval($id_article))){
  50. $id_petition = petition_inserer($id_article);
  51. }
  52. petition_modifier(
  53. $id_petition,
  54. array('email_unique' => _request('email_unique'),
  55. 'site_obli' => _request('site_obli'),
  56. 'site_unique' => _request('site_unique'),
  57. 'message' => _request('message'),
  58. 'texte'=>_request('texte_petition'),
  59. 'statut'=>'publie',
  60. )
  61. );
  62. break;
  63. case 'off':
  64. if ($id_petition=sql_getfetsel('id_petition','spip_petitions','id_article='.intval($id_article))){
  65. include_spip('action/editer_petition');
  66. petition_modifier($id_petition,array('statut'=>'poubelle'));
  67. }
  68. break;
  69. }
  70. }
  71. return array('message_ok'=>_T('config_info_enregistree'));
  72. }
  73. ?>