FilterFactory.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. Lib::loadClass('Filter');
  3. class FilterFactory {
  4. public static function build($tbl) {
  5. Lib::loadClass('Filter');
  6. $args = array();
  7. $tree_filter = new Filter($args, $tbl, 'session');
  8. // TODO: add trigger: on clear all filters - remove cookie, on tree key
  9. //$tree_filter->
  10. if ($tbl == 'CRM_PROCES') {
  11. {// filtry
  12. $filtr = array();
  13. if (User::hasAccess('procesy_admin')) { // filtr_edit, only for admins
  14. $filtr = array();
  15. $filtr['TAK'] = '1';
  16. $filtr['NIE'] = '0';
  17. $tree_filter->add_filter('filtr_edit', $filtr, 'NIE', 'Edytuj');
  18. }
  19. { // filtr_drzewo - TODO: czy uzywane?
  20. $filtr = array();
  21. $filtr['ZWIN'] = '0';
  22. $filtr['ROZWIN'] = '1';
  23. //TODO: add js, onclick - remove cookie to hide tree
  24. $tree_filter->add_filter('filtr_drzewo', $filtr, 'ROZWIN', 'Drzewo');
  25. }
  26. { // filtr_procesy
  27. $filtr = array();
  28. $filtr['-'] = '0';
  29. $filtr['+'] = '1';
  30. $tree_filter->add_filter('filtr_procesy', $filtr, '-', 'Procesy');
  31. }
  32. { // filtr_zasoby
  33. $filtr = array();
  34. $filtr['-'] = '0';
  35. $filtr['+'] = '1';
  36. $tree_filter->add_filter('filtr_zasoby', $filtr, '-', 'Zasoby');
  37. }
  38. { // filtr_opis
  39. $filtr = array();
  40. $filtr['-'] = '0';
  41. $filtr['+'] = '1';
  42. $tree_filter->add_filter('filtr_opis', $filtr, '-', 'Opisy');
  43. }
  44. { // filtr_img
  45. $filtr = array();
  46. $filtr['-'] = '0';
  47. $filtr['+'] = '1';
  48. $tree_filter->add_filter('filtr_img', $filtr, '-', 'IMG');
  49. }
  50. { // filtr_id
  51. $filtr = array('search');
  52. $tree_filter->add_filter('filtr_id', $filtr, '', 'Filtruj ID');
  53. }
  54. { // filtr_search_id
  55. $filtr = array('search');
  56. // TODO: add js search without page reload, add #TREE{ID}
  57. $tree_filter->add_filter('filtr_search_id', $filtr, '', 'Wyszukaj ID');
  58. }
  59. { // filtr_view
  60. $filtr = array();
  61. $filtr['NOWY'] = '1';
  62. $filtr['STARY'] = '0';
  63. $tree_filter->add_filter('filtr_view', $filtr, 'NOWY', 'Widok');
  64. }
  65. { // filtr_ajax
  66. $filtr = array();
  67. $filtr['NIE'] = '0';
  68. $filtr['TAK'] = '1';
  69. $tree_filter->add_filter('filtr_ajax', $filtr, 'TAK', 'Ajax');
  70. }
  71. }
  72. }
  73. else if ($tbl == 'CRM_LISTA_ZASOBOW') {
  74. {// filtry
  75. $filtr = array();
  76. if (User::hasAccess('procesy_admin')) { // filtr_edit, only for admins
  77. $filtr = array();
  78. $filtr['TAK'] = '1';
  79. $filtr['NIE'] = '0';
  80. $tree_filter->add_filter('filtr_edit', $filtr, 'NIE', 'Edytuj');
  81. }
  82. { // filtr_drzewo
  83. $filtr = array();
  84. $filtr['ZWIN'] = '0';
  85. $filtr['ROZWIN'] = '1';
  86. $tree_filter->add_filter('filtr_drzewo', $filtr, 'ZWIN', 'Drzewo');
  87. }
  88. { // filtr_ob
  89. $filtr = array();
  90. $filtr['-'] = '0';
  91. $filtr['+'] = '1';
  92. $tree_filter->add_filter('filtr_ob', $filtr, '-', 'OB');
  93. }
  94. { // filtr_img
  95. $filtr = array();
  96. $filtr['-'] = '0';
  97. $filtr['+'] = '1';
  98. $tree_filter->add_filter('filtr_img', $filtr, '-', 'IMG');
  99. }
  100. { // filtr_opis
  101. $filtr = array();
  102. $filtr['-'] = '0';
  103. $filtr['+'] = '1';
  104. $tree_filter->add_filter('filtr_opis', $filtr, '-', 'Opisy');
  105. }
  106. { // filtr_ids
  107. $filtr = array();
  108. $filtr['-'] = '0';
  109. $filtr['+'] = '1';
  110. $tree_filter->add_filter('filtr_ids', $filtr, '-', 'IDS');
  111. }
  112. { // filtr_id
  113. $filtr = array('search');
  114. $tree_filter->add_filter('filtr_id', $filtr, '', 'Filtruj ID');
  115. }
  116. { // filtr_search_id
  117. $filtr = array('search');
  118. $tree_filter->add_filter('filtr_search_id', $filtr, '', 'Wyszukaj ID');
  119. }
  120. { // filtr_view
  121. $filtr = array();
  122. $filtr['NOWY'] = '1';
  123. $filtr['STARY'] = '0';
  124. $tree_filter->add_filter('filtr_view', $filtr, 'NOWY', 'Widok');
  125. }
  126. { // filtr_ajax
  127. $filtr = array();
  128. $filtr['TAK'] = '1';
  129. $filtr['NIE'] = '0';
  130. $tree_filter->add_filter('filtr_ajax', $filtr, 'TAK', 'Ajax');
  131. }
  132. }
  133. }
  134. else {
  135. // unknown table
  136. }
  137. return $tree_filter;
  138. }
  139. }