Commit 8a80e4ec29bb03f9525a528cfedc3b43246871fa

Authored by Neil Blakey-Milner
1 parent d1d3386b

Add whereToString, converting an array of parameterised strings to a

single parameterised string.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3404 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 27 additions and 1 deletions
lib/util/ktutil.inc
... ... @@ -101,7 +101,33 @@ class KTUtil {
101 101 function requestValue($sKey, $mDefault = null) {
102 102 return KTUtil::arrayGet($_REQUEST, $sKey, $mDefault);
103 103 }
104   -
  104 +
  105 + // {{{ whereToString
  106 + /**
  107 + * Convert an array of parameterised strings to a single
  108 + * parameterised string.
  109 + *
  110 + * Return null in case of an empty array.
  111 + */
  112 + function whereToString($aWhere) {
  113 + $aStrings = array();
  114 + $aParams = array();
  115 + foreach ($aWhere as $oSomething) {
  116 + if (is_string($oSomething)) {
  117 + $aStrings[] = $oSomething;
  118 + } else if (is_array($oSomething)) {
  119 + $aStrings[] = $oSomething[0];
  120 + $aParams = array_merge($aParams, $oSomething[1]);
  121 + } else {
  122 + return PEAR::raiseError("Weird WhereClause passed");
  123 + }
  124 + }
  125 + if (count($aStrings) === 0) {
  126 + return null;
  127 + }
  128 + return array(join(" AND ", $aStrings), $aParams);
  129 + }
  130 + // }}}
105 131 }
106 132 // }}}
107 133  
... ...