superedit-GETZAPSQL.php 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. //@2012-08-28 sqix: added in line 27: $_SESSION['USERS_COLUMN']['SPECIALFILTER'] problem with WHERE and WHERE2
  3. function GETZAPSQL($OPT_EDIT_ID_RECORD = 0) {
  4. global $GETZAPSQL,$thiss,$SQL_USER,$SQL_DATABASE,$INTERFACE_ADDR,$SQL_USER_PASS,$SQL_WIEV,$USERS_COLUMN,$USERS_COLUMN_DESC,$USERS_HIDECOLUMN;
  5. if($_SESSION['DEBUG']) echo "<br>\nfunction GETZAPSQL()<br>";
  6. USERS_FILTER_PROBLEM();
  7. USERS_FILTER_STATUS();
  8. USERS_FILTER_APPOINTMENT();
  9. //FILTER_SEARCH();
  10. //$GETZAPSQL[WHAT]="";
  11. $GETZAPSQL['FROM']="";
  12. $GETZAPSQL['FROM_USED']="";
  13. $GETZAPSQL['WHERE'] = "1=1 ";
  14. //ADDED BY SQIX at 2008-02-21
  15. if (!empty($_SESSION[$thiss->DETECT_TABLE_COLUMN]['TYPE']['A_ADM_COMPANY'])) {
  16. $GETZAPSQL['WHERE'] .= " and ".$thiss->DETECT_TABLE_NAME.".A_ADM_COMPANY like '".$_SESSION['ADM_COMPANY']."' ";
  17. if (!empty($_SESSION['USERS_FILTER_PROBLEM_SQL'])) $GETZAPSQL['WHERE'] .= " ".$_SESSION['USERS_FILTER_PROBLEM_SQL'];
  18. if (!empty($_SESSION['USERS_FILTER_STATUS_SQL'])) $GETZAPSQL['WHERE'] .= " ".$_SESSION['USERS_FILTER_STATUS_SQL'];
  19. }
  20. if (!empty($_SESSION['USERS_FILTER_APPOINTMENT_SQL'])) $GETZAPSQL['WHERE'] .= " " . $_SESSION['USERS_FILTER_APPOINTMENT_SQL'];
  21. if (!empty($_SESSION[$thiss->DETECT_TABLE_COLUMN]['SPECIALFILTER'])) $GETZAPSQL['WHERE'] .= " " . $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SPECIALFILTER'];
  22. if (!empty($_SESSION[$thiss->DETECT_TABLE_COLUMN]['FINDSQL'])) $GETZAPSQL['WHERE'] .= " " . $_SESSION[$thiss->DETECT_TABLE_COLUMN]['FINDSQL'];
  23. if (!empty($_SESSION[$thiss->DETECT_TABLE_COLUMN]['USERS_SORTER_SQL'])) $GETZAPSQL['WHERE'] .= " " . $_SESSION[$thiss->DETECT_TABLE_COLUMN]['USERS_SORTER_SQL'];
  24. $GETZAPSQL['WHERE2'] = "" . $thiss->DETECT_TABLE_NAME.".A_ADM_COMPANY like '".$_SESSION['ADM_COMPANY']."' ";
  25. if (!empty($_SESSION['USERS_FILTER_PROBLEM_SQL'])) $GETZAPSQL['WHERE2'] .= " " . $_SESSION['USERS_FILTER_PROBLEM_SQL'];
  26. if (!empty($_SESSION['USERS_FILTER_STATUS_SQL'])) $GETZAPSQL['WHERE2'] .= " " . $_SESSION['USERS_FILTER_STATUS_SQL'];
  27. if (!empty($_SESSION['USERS_FILTER_APPOINTMENT_SQL'])) $GETZAPSQL['WHERE2'] .= " " . $_SESSION['USERS_FILTER_APPOINTMENT_SQL'];
  28. if (!empty($_SESSION[$thiss->DETECT_TABLE_COLUMN]['SPECIALFILTER'])) $GETZAPSQL['WHERE2'] .= " " . $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SPECIALFILTER'];
  29. if (!empty($_SESSION[$thiss->DETECT_TABLE_COLUMN]['FINDSQL'])) $GETZAPSQL['WHERE2'] .= " " . $_SESSION[$thiss->DETECT_TABLE_COLUMN]['FINDSQL'];
  30. if (!empty($_SESSION[$thiss->DETECT_TABLE_COLUMN]['USERS_SORTER_SQL'])) $GETZAPSQL['WHERE2'] .= " " . $_SESSION[$thiss->DETECT_TABLE_COLUMN]['USERS_SORTER_SQL'];
  31. if ($OPT_EDIT_ID_RECORD > 0) $GETZAPSQL['WHERE2'] .=" and ".$thiss->DETECT_TABLE_NAME.".ID='".$OPT_EDIT_ID_RECORD."'";
  32. //echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">';print_r($GETZAPSQL);echo'</pre>';
  33. $I = 0;
  34. $IJ = 0;
  35. //echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">';print_r($_SESSION[$thiss->DETECT_TABLE_COLUMN]);echo'</pre>';
  36. foreach ($_SESSION[$thiss->DETECT_TABLE_COLUMN]['DESC'] as $value) {
  37. if (
  38. strstr($_SESSION[$thiss->DETECT_TABLE_COLUMN]['PERMEDIT']["$value"], 'R')
  39. &&
  40. ( !(
  41. !empty($_SESSION[$thiss->DETECT_TABLE_COLUMN]['HIDE'][$_SESSION[$thiss->DETECT_TABLE_COLUMN]['DESC_TO_KEY'][$value]])
  42. &&
  43. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['HIDE'][$_SESSION[$thiss->DETECT_TABLE_COLUMN]['DESC_TO_KEY'][$value]]=='HIDE'
  44. ) || (
  45. $OPT_EDIT_ID_RECORD > 0 //@2012-10-05 - by sqix - jezeli jest tryb wyzwolenia z edycji, to nie interesuja nas ukryte - pokazujemy wszystkie...
  46. ) )
  47. ) {
  48. $GETZAPSQL['WHAT_DESC'][$I] = $value ;
  49. $GETZAPSQL['ID'][$I] = $I ;
  50. $GETZAPSQL['DESC_TO_KEY'][$value] = $I ;
  51. if (!empty($_SESSION[$thiss->DETECT_TABLE_COLUMN]['RELATIVEDB']['SRC_COLUMN'][$value])) {
  52. // $GETZAPSQL[WHAT][$I] = $_SESSION[$thiss->DETECT_TABLE_COLUMN][RELATIVEDB][SRC_COLUMN][$value] .".". $_SESSION[$thiss->DETECT_TABLE_COLUMN][RELATIVEDB][TRG_COLUMN][$value] ;
  53. $GETZAPSQL['WHAT'][$I] = $_SESSION[$thiss->DETECT_TABLE_COLUMN]['RELATIVEDB']['TRG_COLUMN'][$value] . " as ".$value ;
  54. // po co sprawdzac czy [SRC_COLUMN][$value] jest tablica?
  55. // if(!(is_array($_SESSION[$thiss->DETECT_TABLE_COLUMN]['RELATIVEDB']['SRC_COLUMN'][$value]) )) {
  56. // dodaj [RELATIVEDB][JOINQUERY] tylko raz - moze byc kilka pol z jednej tabeli (to samo w [SRC_COLUMN])
  57. //@2012-10-12 usuwanie warningow sqix
  58. // if(is_array($GETZAPSQL['FROM_USED'])) $TST121012['FROM_USED']=$GETZAPSQL['FROM_USED']; else $TST121012['FROM_USED'][]="";
  59. // echo $TST121012['FROM_USED'];
  60. // echo $GETZAPSQL['FROM_USED'];
  61. if(isset($GETZAPSQL['FROM_USED'])) $TST121012['FROM_USED']=$GETZAPSQL['FROM_USED']; else $TST121012['FROM_USED']=array();
  62. if(!(in_array($_SESSION[$thiss->DETECT_TABLE_COLUMN]['RELATIVEDB']['SRC_COLUMN'][$value], $TST121012['FROM_USED']) )) {// TODO: in_array() expects parameter 2 to be array, string given
  63. $GETZAPSQL['FROM'][$IJ] = $_SESSION[$thiss->DETECT_TABLE_COLUMN]['RELATIVEDB']['JOINQUERY'][$_SESSION[$thiss->DETECT_TABLE_COLUMN]['RELATIVEDB']['SRC_COLUMN'][$value]];
  64. $GETZAPSQL['FROM_USED'][$IJ] = $_SESSION[$thiss->DETECT_TABLE_COLUMN]['RELATIVEDB']['SRC_COLUMN'][$value] ;
  65. //TODO 2006-03 wylaczono z uwagi na inny pomysl - 2 zapytania do bazy danych
  66. // if($_SESSION[$thiss->DETECT_TABLE_COLUMN][RELATIVEDB][WHERE][$_SESSION[$thiss->DETECT_TABLE_COLUMN][RELATIVEDB][SRC_COLUMN][$value]]) { //DODAJEMY 2006-03 wyjatki grupujaco sortujace
  67. // echo "<hr>**** ZADREKLAROWANO $VALUE W TRYBIE WHERE **** <hr> ";
  68. // $GETZAPSQL[WHERE2].=" ".$_SESSION[$thiss->DETECT_TABLE_COLUMN][RELATIVEDB][WHERE][$_SESSION[$thiss->DETECT_TABLE_COLUMN][RELATIVEDB][SRC_COLUMN][$value]];
  69. // echo "<br> *** GETZAPSQL[WHERE2]: ". $GETZAPSQL[WHERE2] ."<br>\n " ;
  70. // }
  71. $IJ++ ;
  72. }
  73. } else {
  74. $GETZAPSQL['WHAT'][$I] = $thiss->DETECT_TABLE_NAME .".". $value ;
  75. }
  76. $I++;
  77. }
  78. } //EOF foreach1
  79. $GETZAPSQL['WHERE2'].=" ".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL'];
  80. //WHAT_SQL
  81. //foreach ($GETZAPSQL['WHAT'] as $value) {
  82. //if ($GETZAPSQL['WHAT_SQL']) $GETZAPSQL['WHAT_SQL']=$GETZAPSQL['WHAT_SQL']." , $value"; else $GETZAPSQL['WHAT_SQL']=$value ;
  83. //}
  84. $GETZAPSQL['WHAT_SQL'] = implode(" , ", $GETZAPSQL['WHAT']);
  85. //FROM_SQL
  86. $GETZAPSQL['FROM_SQL'] = $thiss->DETECT_TABLE_NAME;
  87. if (is_array($GETZAPSQL['FROM'])) {
  88. //foreach ($GETZAPSQL['FROM'] as $value) {
  89. // $GETZAPSQL['FROM_SQL']=$GETZAPSQL['FROM_SQL']." $value";
  90. //}
  91. $GETZAPSQL['FROM_SQL'] = $GETZAPSQL['FROM_SQL'] . " " . implode(" ", $GETZAPSQL['FROM']);
  92. }
  93. if ($_SESSION['DEBUG']) {
  94. echo "<hr>print_r";
  95. echo "<hr>GETZAPSQL output is WHAT GETZAPSQL['WHAT'] ...<br> From: xxx<hr> ";
  96. print_r($GETZAPSQL);
  97. echo "<hr>\n EOF f.GETZAPSQL<hr>";
  98. }
  99. }