superedit-SQL_WIEV.php 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <?php
  2. function SQL_WIEV() {
  3. global $thiss,$SQL_WIEV,$ILE,$SQL_WIEV_CMD,$ARG1,$ARG1_VAL;
  4. //DETECT_TABLE_COLUMN();
  5. $ses_p =& $_SESSION;
  6. if (!empty($thiss->DETECT_TABLE_COLUMN) && !empty($thiss->DETECT_TABLE_NAME)) {
  7. $ses_p =& $_SESSION[$thiss->DETECT_TABLE_COLUMN];
  8. }
  9. // TODO: $SQL_WIEV from $_GET - register globals
  10. if (!isset($ses_p['ILE'])) $ses_p['ILE'] = 100;
  11. if (!$ses_p['SQL_WIEV_CURR_SQL']) $SQL_WIEV = 'BEGIN';
  12. if (!$ses_p['SQL_WIEV_CURR']) $ses_p['SQL_WIEV_CURR'] = 0;
  13. if ($_SESSION['DEBUG']) echo "<HR>f.SQL_WIEV SQL_WIEV to $SQL_WIEV *";
  14. // TODO: funkcja SQL_WIEV moze nie byc uruchomiona za pomoca function_init i argumenty $ARG1 ('POSITION','ILE','LIMIT') moze byc uzywane przez inne funkcje!
  15. if (isset($ARG1_VAL)) {
  16. switch ($ARG1) {
  17. case 'POSITION':
  18. $ses_p['SQL_WIEV_CURR'] = $ARG1_VAL;
  19. $ses_p['SQL_WIEV_CURR_SQL'] = "limit " . $ses_p['SQL_WIEV_CURR'] . "," . $ses_p['ILE'];
  20. break;
  21. case 'ILE':
  22. $ses_p['ILE'] = $ARG1_VAL;
  23. // TODO: SQL_WIEV_CURR ?
  24. $ses_p['SQL_WIEV_CURR_SQL'] = "limit " . $ses_p['SQL_WIEV_CURR'] . "," . $ses_p['ILE'];
  25. break;
  26. case 'LIMIT':
  27. $ses_p['ILE'] = $ses_p['SQL_WIEV_CURR'] + $ses_p['ILE'];
  28. $ses_p['SQL_WIEV_CURR_SQL'] = "limit " . $ses_p['SQL_WIEV_CURR'] . "," . $ses_p['ILE'];
  29. break;
  30. }
  31. }
  32. switch ($SQL_WIEV) {
  33. case 'BEGIN':
  34. $ses_p['SQL_WIEV_CURR'] = 0;
  35. $ses_p['SQL_WIEV_CURR_SQL'] = "limit 0," . $ses_p['ILE'];
  36. break;
  37. case 'NEXT':
  38. $ses_p['SQL_WIEV_CURR'] = $ses_p['SQL_WIEV_CURR'] + $ses_p['ILE'];
  39. $ses_p['SQL_WIEV_CURR_SQL'] = "limit " . $ses_p['SQL_WIEV_CURR'] . "," . $ses_p['ILE'];
  40. break;
  41. case 'LAST':
  42. $ses_p['SQL_WIEV_CURR'] = $ses_p['MYSQL_NUM_ROWS_TOTAL'] - $ses_p['ILE'];
  43. //$_SESSION['SQL_WIEV_CURR'] = $_SESSION['MYSQL_NUM_ROWS_TOTAL']['USERS'] - $_SESSION['ILE'];
  44. $ses_p['SQL_WIEV_CURR_SQL'] = "limit " . $ses_p['SQL_WIEV_CURR'] . "," . $ses_p['ILE'];
  45. break;
  46. case 'PREV':
  47. $ses_p['SQL_WIEV_CURR'] = $ses_p['SQL_WIEV_CURR'] - $ses_p['ILE'];
  48. $ses_p['SQL_WIEV_CURR_SQL'] = "limit " . $ses_p['SQL_WIEV_CURR'] . "," . $ses_p['ILE'];
  49. if ($ses_p['SQL_WIEV_CURR'] < 0) {
  50. $SQL_WIEV = 'BEGIN';
  51. SQL_WIEV();
  52. }
  53. break;
  54. //default:
  55. }
  56. if ($_SESSION['DEBUG']) echo "<HR>LIMIT $_SESSION[SQL_WIEV_CURR_SQL] | ".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL']."(for $thiss->DETECT_TABLE_COLUMN)*";
  57. }
  58. function SQL_WIEV_bup_20120816() {
  59. global $thiss,$SQL_WIEV,$ILE,$SQL_WIEV_CMD,$ARG1,$ARG1_VAL;
  60. echo '<p style="color:red">{F.'. __FUNCTION__ .'(): ...}</p>';
  61. //DETECT_TABLE_COLUMN();
  62. $ses_p =& $_SESSION;
  63. if (!empty($thiss->DETECT_TABLE_COLUMN) && !empty($thiss->DETECT_TABLE_NAME)) {
  64. $ses_p =& $_SESSION[$thiss->DETECT_TABLE_COLUMN];
  65. }
  66. echo '<p style="color:red">{F.'. __FUNCTION__ .':before: ILE='.$ses_p['ILE'].', SQL_WIEV_CURR='.$ses_p['SQL_WIEV_CURR'].', SQL_WIEV_CURR_SQL='.$ses_p['SQL_WIEV_CURR_SQL'].' }</p>';
  67. if (($thiss->DETECT_TABLE_COLUMN) && ($thiss->DETECT_TABLE_NAME)) {
  68. // defaults
  69. if (!isset($_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'])) {
  70. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'] = 100;
  71. }
  72. if (!$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL']) {
  73. $SQL_WIEV = 'BEGIN';
  74. }
  75. if (!$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR']) {
  76. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] = 0;
  77. }
  78. if ($_SESSION['DEBUG']) echo "<HR>f.SQL_WIEV SQL_WIEV to $SQL_WIEV *";
  79. if ($SQL_WIEV == 'BEGIN') {
  80. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL'] = "limit 0," . $_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  81. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] = 0;
  82. }
  83. if ($SQL_WIEV == 'NEXT') {
  84. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] = $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] + $_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  85. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL'] = "limit ".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'].",".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  86. //echo "<hr>ILE TO [ILE]". $_SESSION[$thiss->DETECT_TABLE_COLUMN][ILE]."<hr>";
  87. }
  88. if ($SQL_WIEV == 'LAST') {
  89. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] = $_SESSION[$thiss->DETECT_TABLE_COLUMN]['MYSQL_NUM_ROWS_TOTAL'] - $_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  90. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL'] = "limit ".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'].",".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  91. }
  92. if (($ARG1 == 'POSITION') && (isset($ARG1_VAL))) {
  93. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] = $ARG1_VAL;
  94. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL'] = "limit ".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'].",".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  95. }
  96. if (($ARG1 == 'ILE') && (isset($ARG1_VAL))) {
  97. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'] = $ARG1_VAL ;
  98. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL'] = "limit ".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'].",".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  99. }
  100. if (($ARG1 == 'LIMIT') && (isset($ARG1_VAL))) {
  101. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] = $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] + $_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  102. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL'] = "limit ".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'].",".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  103. }
  104. if ($SQL_WIEV == 'PREV') {
  105. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] = $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] - $_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  106. $_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL'] = "limit ".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'].",".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['ILE'];
  107. if ($_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR'] < 0) {
  108. $SQL_WIEV = 'BEGIN';
  109. SQL_WIEV();
  110. }
  111. }
  112. }
  113. // defaults
  114. if (!isset($_SESSION['ILE'])) $_SESSION['ILE'] = 100;
  115. if (!$_SESSION['SQL_WIEV_CURR_SQL']) $SQL_WIEV = 'BEGIN';
  116. if (!$_SESSION['SQL_WIEV_CURR']) $_SESSION['SQL_WIEV_CURR'] = 0;
  117. if ($_SESSION['DEBUG']) echo "<HR>HERE SQL_WIEV to $SQL_WIEV *";
  118. if ($SQL_WIEV == 'BEGIN') {
  119. $_SESSION['SQL_WIEV_CURR_SQL'] = "limit 0," . $_SESSION['ILE'];
  120. $_SESSION['SQL_WIEV_CURR'] = 0;
  121. }
  122. if ($SQL_WIEV == 'NEXT') {
  123. $_SESSION['SQL_WIEV_CURR'] = $_SESSION['SQL_WIEV_CURR'] + $_SESSION['ILE'];
  124. $_SESSION['SQL_WIEV_CURR_SQL'] = "limit $_SESSION[SQL_WIEV_CURR],$_SESSION[ILE]";
  125. }
  126. if ($SQL_WIEV == 'LAST') {
  127. $_SESSION['SQL_WIEV_CURR'] = $_SESSION['MYSQL_NUM_ROWS_TOTAL']['USERS'] - $_SESSION['ILE'];
  128. $_SESSION['SQL_WIEV_CURR_SQL'] = "limit $_SESSION[SQL_WIEV_CURR],$_SESSION[ILE]";
  129. }
  130. if (($ARG1 == 'POSITION') && (isset($ARG1_VAL))) {
  131. $_SESSION['SQL_WIEV_CURR'] = $ARG1_VAL;
  132. $_SESSION['SQL_WIEV_CURR_SQL'] = "limit $_SESSION[SQL_WIEV_CURR],$_SESSION[ILE]";
  133. }
  134. if (($ARG1 == 'ILE') && (isset($ARG1_VAL))) {
  135. $_SESSION['ILE'] = $ARG1_VAL;
  136. $_SESSION['SQL_WIEV_CURR_SQL'] = "limit $_SESSION[SQL_WIEV_CURR],$_SESSION[ILE]";
  137. }
  138. if (($ARG1 == 'LIMIT') && (isset($ARG1_VAL))) {
  139. $_SESSION['SQL_WIEV_CURR'] = $_SESSION['SQL_WIEV_CURR'] + $_SESSION['ILE'];
  140. $_SESSION['SQL_WIEV_CURR_SQL'] = "limit $_SESSION[SQL_WIEV_CURR],$_SESSION[ILE]";
  141. }
  142. if ($SQL_WIEV == 'PREV') {
  143. $_SESSION['SQL_WIEV_CURR'] = $_SESSION['SQL_WIEV_CURR'] - $_SESSION['ILE'];
  144. $_SESSION['SQL_WIEV_CURR_SQL'] = "limit $_SESSION[SQL_WIEV_CURR],$_SESSION[ILE]";
  145. if ($_SESSION['SQL_WIEV_CURR'] < 0) {
  146. $SQL_WIEV = 'BEGIN';
  147. SQL_WIEV();
  148. }
  149. }
  150. echo '<p style="color:red">{F.'. __FUNCTION__ .':end: ILE='.$ses_p['ILE'].', SQL_WIEV_CURR='.$ses_p['SQL_WIEV_CURR'].', SQL_WIEV_CURR_SQL='.$ses_p['SQL_WIEV_CURR_SQL'].' }</p>';
  151. if ($_SESSION['DEBUG']) echo "<HR>LIMIT $_SESSION[SQL_WIEV_CURR_SQL] | ".$_SESSION[$thiss->DETECT_TABLE_COLUMN]['SQL_WIEV_CURR_SQL']."(for $thiss->DETECT_TABLE_COLUMN)*";
  152. }