/_plugins_/recherche_multicriteres/action/rec_mc_ajoutgroupes.php

https://bitbucket.org/pombredanne/spip-zone-treemap · PHP · 111 lines · 81 code · 16 blank · 14 comment · 27 complexity · bf17cab3837b359c64e842ba29aae66c MD5 · raw file

  1. <?php
  2. ######################################################################
  3. # RECHERCHE MULTI-CRITERES #
  4. # Auteur: Dominique (Dom) Lepaisant - Novembre 2007 #
  5. # Adaptation de la contrib de Paul Sanchez - Netdeveloppeur #
  6. # http://www.netdeveloppeur.com #
  7. # Ce programme est un logiciel libre distribue sous licence GNU/GPL. #
  8. # Pour plus de details voir le fichier COPYING.txt #
  9. ######################################################################
  10. function action_rec_mc_ajoutgroupes() {
  11. global $_POST;
  12. global $redirect;
  13. global $action, $arg, $hash, $id_auteur;
  14. # arg => rien !
  15. // controle action
  16. include_spip('inc/securiser_action');
  17. if (!verifier_action_auteur("$action $arg", $hash, $id_auteur)) {
  18. include_spip('inc/minipres');
  19. minipres(_T('info_acces_interdit'));
  20. }
  21. $rub=_request('rub');
  22. $ag1=_request('idgrp');
  23. $exc=_request('motsexclus') ;
  24. // echo list()=$exc;
  25. #plug(11-07) : insertion dans la base
  26. // if($rub>-1) {
  27. if (($ag1=_request('idgrp'))==NULL ) {$ag1=array(0);}
  28. $listiddel = "";
  29. $sql = "SELECT id_groupe FROM spip_groupes_mots ORDER BY id_groupe";
  30. $result = mysql_query($sql);
  31. if ($result) {
  32. while ($row = mysql_fetch_assoc($result)) {
  33. extract($row);
  34. if (in_array($id_groupe, $ag1)) {
  35. $sql3 = "SELECT COUNT(id_groupe) AS num FROM spip_rmc_rubs_groupes WHERE id_groupe=$id_groupe AND id_rubrique=$rub";
  36. $result3 = spip_query($sql3);
  37. if ($result3) {
  38. $row = mysql_fetch_assoc($result3);
  39. extract($row);
  40. if ($num == 0) {
  41. $sql2 = "INSERT INTO spip_rmc_rubs_groupes (id_rubrique,id_groupe) VALUES ($rub,$id_groupe)";
  42. spip_query($sql2);
  43. }
  44. mysql_free_result($result3);
  45. }
  46. }
  47. else {
  48. if ($listiddel == "") $listiddel .= "$id_groupe";
  49. else $listiddel .= ",$id_groupe";
  50. }
  51. }
  52. mysql_free_result($result);
  53. }
  54. $bilan="";
  55. if ($listiddel != "") {
  56. $sql = "delete FROM spip_rmc_rubs_groupes WHERE id_rubrique=$rub AND id_groupe IN ($listiddel)";
  57. $result = spip_query($sql);
  58. }
  59. $listiddel="";
  60. $listidmtdel ="";
  61. if (($exc=_request('motsexclus'))==NULL ) {$exc=array(0);}
  62. $sql5 = "SELECT id_mot FROM spip_mots ORDER BY id_mot";
  63. $result5 = mysql_query($sql5);
  64. if ($result5) {
  65. while ($row5 = mysql_fetch_assoc($result5)) {
  66. extract($row5);
  67. if (in_array($id_mot, $exc)) {
  68. $sql6 = "SELECT COUNT(id_mot_exclu) AS nummt FROM spip_rmc_mots_exclus WHERE id_mot_exclu=$id_mot AND id_rubrique=$rub";
  69. $result6 = spip_query($sql6);
  70. if ($result6) {
  71. $row6 = mysql_fetch_assoc($result6);
  72. extract($row6);
  73. if ($nummt == 0) {
  74. $sql7 = "INSERT INTO spip_rmc_mots_exclus (id_mot_exclu,id_rubrique) VALUES ($id_mot,$rub)";
  75. spip_query($sql7);
  76. }
  77. mysql_free_result($result6);
  78. }
  79. }
  80. else {
  81. if ($listidmtdel == "") $listidmtdel .= "$id_mot";
  82. else $listidmtdel .= ",$id_mot";
  83. }
  84. }
  85. mysql_free_result($result5);
  86. }
  87. if ($listidmtdel != "") {
  88. $sql = "delete FROM spip_rmc_mots_exclus WHERE id_rubrique=$rub AND id_mot_exclu IN ($listidmtdel)";
  89. $result = spip_query($sql);
  90. }
  91. $listidmtdel="";
  92. # h.20/03 controle ???
  93. redirige_par_entete(rawurldecode($redirect));
  94. }
  95. ?>