FilterFactory.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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. $filtr = array();
  11. if (User::hasAccessToEditTable($tbl)) {
  12. $filtr = array();
  13. $filtr['TAK'] = '1';
  14. $filtr['NIE'] = '0';
  15. $tree_filter->add_filter('filtr_edit', $filtr, 'NIE', 'Edytuj');
  16. }
  17. if ($tbl == 'CRM_PROCES') {
  18. {// filtry
  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_drzewo
  76. $filtr = array();
  77. $filtr['ZWIN'] = '0';
  78. $filtr['ROZWIN'] = '1';
  79. $tree_filter->add_filter('filtr_drzewo', $filtr, 'ZWIN', 'Drzewo');
  80. }
  81. { // filtr_ob
  82. $filtr = array();
  83. $filtr['-'] = '0';
  84. $filtr['+'] = '1';
  85. $tree_filter->add_filter('filtr_ob', $filtr, '-', 'OB');
  86. }
  87. { // filtr_img
  88. $filtr = array();
  89. $filtr['-'] = '0';
  90. $filtr['+'] = '1';
  91. $tree_filter->add_filter('filtr_img', $filtr, '-', 'IMG');
  92. }
  93. { // filtr_opis
  94. $filtr = array();
  95. $filtr['-'] = '0';
  96. $filtr['+'] = '1';
  97. $tree_filter->add_filter('filtr_opis', $filtr, '-', 'Opisy');
  98. }
  99. { // filtr_ids
  100. $filtr = array();
  101. $filtr['-'] = '0';
  102. $filtr['+'] = '1';
  103. $tree_filter->add_filter('filtr_ids', $filtr, '-', 'IDS');
  104. }
  105. { // filtr_id
  106. $filtr = array('search');
  107. $tree_filter->add_filter('filtr_id', $filtr, '', 'Filtruj ID');
  108. }
  109. { // filtr_search_id
  110. $filtr = array('search');
  111. $tree_filter->add_filter('filtr_search_id', $filtr, '', 'Wyszukaj ID');
  112. }
  113. { // filtr_view
  114. $filtr = array();
  115. $filtr['NOWY'] = '1';
  116. $filtr['STARY'] = '0';
  117. $tree_filter->add_filter('filtr_view', $filtr, 'NOWY', 'Widok');
  118. }
  119. { // filtr_ajax
  120. $filtr = array();
  121. $filtr['TAK'] = '1';
  122. $filtr['NIE'] = '0';
  123. $tree_filter->add_filter('filtr_ajax', $filtr, 'TAK', 'Ajax');
  124. }
  125. }
  126. }
  127. else {
  128. // unknown table
  129. }
  130. return $tree_filter;
  131. }
  132. }