PageRenderTime 39ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/osj-ewlookup50.php

http://osjobber.googlecode.com/
PHP | 127 lines | 118 code | 5 blank | 4 comment | 29 complexity | 66f6ed09de17e004b68803b48e7eec88 MD5 | raw file
Possible License(s): LGPL-2.1, AGPL-1.0
  1. <?php
  2. define("EW_PAGE_ID", "ewlookup", TRUE); // Page ID
  3. ?>
  4. <?php
  5. ob_start(); // Turn on output buffering
  6. ?>
  7. <?php include "osj-ewcfg50.php" ?>
  8. <?php include "osj-ewmysql50.php" ?>
  9. <?php include "osj-phpfn50.php" ?>
  10. <?php
  11. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
  12. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Always modified
  13. header("Cache-Control: private, no-store, no-cache, must-revalidate"); // HTTP/1.1
  14. header("Cache-Control: post-check=0, pre-check=0", false);
  15. header("Pragma: no-cache"); // HTTP/1.0
  16. ?>
  17. <?php
  18. $LnkFldType = 0;
  19. $LnkCount = 0;
  20. $qs = new cQueryString();
  21. if ($qs->Count > 0) {
  22. $Sql = $qs->getValue("s");
  23. $Sql = TEAdecrypt($Sql, EW_RANDOM_KEY);
  24. $Value = $qs->getConvertedValue("q");
  25. $Value = ew_AdjustSql($Value);
  26. $LnkType = $qs->getValue("lt"); // Get link type
  27. if ($LnkType == "2") { // Auto fill
  28. $LnkCount = 1;
  29. $LnkFld = -1;
  30. $LnkDisp1 = 0;
  31. $LnkDisp2 = -1;
  32. } elseif ($LnkType == "1") { // Auto suggest
  33. $LnkCount = 2;
  34. $LnkFld = -1;
  35. $LnkDisp1 = 0;
  36. $LnkDisp2 = 1;
  37. } else {
  38. $LnkCount = $qs->getValue("lc"); // Link field count
  39. if (!is_numeric($LnkCount)) {
  40. exit();
  41. } elseif (intval($LnkCount) <= 0) {
  42. exit();
  43. }
  44. $LnkFld = 0; // Link field default = 0
  45. $LnkDisp1 = $qs->getConvertedValue("ld1"); // Link display field
  46. if (!is_numeric($LnkDisp1)) {
  47. exit();
  48. } elseif (intval($LnkDisp1) < -1 || intval($LnkDisp1) >= intval($LnkCount)) {
  49. exit();
  50. }
  51. $LnkDisp2 = $qs->getConvertedValue("ld2"); // Link display field 2
  52. if (!is_numeric($LnkDisp2)) {
  53. exit();
  54. } elseif (intval($LnkDisp2) < -1 || intval($LnkDisp2) >= intval($LnkCount)) {
  55. exit();
  56. }
  57. $LnkFldType = $qs->getConvertedValue("lft"); // Link field data type
  58. }
  59. if ($Sql <> "") {
  60. if ($Value <> "") {
  61. $arValue = explode(",", $Value);
  62. for ($i = 0; $i < count($arValue); $i++) {
  63. $arValue[$i] = ew_QuotedValue($arValue[$i], $LnkFldType);
  64. }
  65. $Sql = str_replace("@FILTER_VALUE", implode(",", $arValue), $Sql);
  66. }
  67. GetLookupValues($Sql);
  68. }
  69. }
  70. function GetLookupValues($Sql) {
  71. global $LnkType, $LnkFld, $LnkCount, $LnkDisp1, $LnkDisp2;
  72. $conn = ew_Connect();
  73. if ($rs = $conn->Execute($Sql)) {
  74. $rsarr = $rs->GetRows();
  75. $rs->Close();
  76. }
  77. $conn->Close();
  78. // Output
  79. if (is_array($rsarr) && count($rsarr) > 0) {
  80. if ($LnkType == "2") { // Auto fill
  81. $i = 0;
  82. while ($i < count($rsarr[0])-1) {
  83. $str = $rsarr[0][$i];
  84. $str = ew_RemoveCrLf($str);
  85. if (strval($rsarr[0][$i+1]) <> "") {
  86. $str .= ", " . ew_RemoveCrLf(strval($rsarr[0][$i+1]));
  87. }
  88. echo ew_ConvertToUtf8($str) . "\r";
  89. $i += 2;
  90. }
  91. } else {
  92. $rsarrcnt = count($rsarr);
  93. for ($i = 0; $i < $rsarrcnt; $i++) {
  94. if (intval(count($rsarr[$i])/2) == intval($LnkCount)) {
  95. // Process link field
  96. if ($LnkType <> "1") {
  97. $str = $rsarr[$i][$LnkFld];
  98. $str = ew_RemoveCrLf($str);
  99. echo ew_ConvertToUtf8($str) . "\r";
  100. }
  101. // Process display field
  102. if (intval($LnkDisp1) >= 0) {
  103. $str = $rsarr[$i][$LnkDisp1];
  104. $str = ew_RemoveCrLf($str);
  105. } else {
  106. $str = "";
  107. }
  108. echo ew_ConvertToUtf8($str) . "\r";
  109. // Process display field 2
  110. if (intval($LnkDisp2) >= 0) {
  111. $str = $rsarr[$i][$LnkDisp2];
  112. $str = ew_RemoveCrLf($str);
  113. } else {
  114. $str = "";
  115. }
  116. echo ew_ConvertToUtf8($str) . "\r";
  117. }
  118. }
  119. }
  120. }
  121. }
  122. ?>