petitions_autoriser.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. // fonction pour le pipeline
  13. function petitions_autoriser() {}
  14. // Moderer la petition ?
  15. // = modifier l'article correspondant
  16. // = droits par defaut sinon (admin complet pour moderation de tout)
  17. // http://code.spip.net/@autoriser_modererpetition_dist
  18. function autoriser_modererpetition_dist($faire, $type, $id, $qui, $opt) {
  19. return
  20. autoriser('modifier', $type, $id, $qui, $opt);
  21. }
  22. /**
  23. * Pour publier une signature il faut avoir le droit de moderer la petition de l'article en question
  24. * @return bool
  25. */
  26. function autoriser_signature_publier($faire, $type, $id, $qui, $opt) {
  27. $id_article = sql_getfetsel('P.id_article','spip_signatures AS S JOIN spip_petitions AS P ON P.id_petition=S.id_petition','S.id_signature='.intval($id));
  28. return
  29. autoriser('modererpetition', 'article', $id_article, $qui, $opt);
  30. }
  31. /**
  32. * Pour supprimer une signature il faut avoir le droit de moderer la petition de l'article en question
  33. * @return bool
  34. */
  35. function autoriser_signature_supprimer($faire, $type, $id, $qui, $opt) {
  36. $id_article = sql_getfetsel('P.id_article','spip_signatures AS S JOIN spip_petitions AS P ON P.id_petition=S.id_petition','S.id_signature='.intval($id));
  37. return
  38. autoriser('modererpetition', 'article', $id_article, $qui, $opt);
  39. }
  40. /**
  41. * Toute personne idenfiee peut relancer une signature non publiee
  42. * @return bool
  43. */
  44. function autoriser_signature_relancer($faire, $type, $id, $qui, $opt) {
  45. $statut = sql_getfetsel('statut','spip_signatures','id_signature='.intval($id));
  46. return ($qui['id_auteur'] && !in_array($statut,array('poubelle','publie')));
  47. }
  48. // Modifier une signature ?
  49. // = jamais !
  50. // http://code.spip.net/@autoriser_signature_modifier_dist
  51. function autoriser_signature_modifier_dist($faire, $type, $id, $qui, $opt) {
  52. return
  53. false;
  54. }
  55. function autoriser_controlerpetition_menu_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
  56. return sql_countsel('spip_signatures')>0;
  57. }
  58. /**
  59. * Auto-association de documents sur des signatures : niet
  60. */
  61. function autoriser_signature_autoassocierdocument_dist($faire, $type, $id, $qui, $opts) {
  62. return false;
  63. }
  64. ?>