r4265 considerGivenConstraint(): new helper function for a better RackCode API
authorDenis Ovsienko <infrastation@yandex.ru>
Mon, 28 Feb 2011 17:15:34 +0000 (17:15 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Mon, 28 Feb 2011 17:15:34 +0000 (17:15 +0000)
wwwroot/inc/functions.php

index 9e2015e20c45b5377c9b16fcdb85614f5c9b29f0..b44f810183791e09ab6d8643e4b789b587aaaaf1 100644 (file)
@@ -2584,6 +2584,18 @@ function considerConfiguredConstraint ($cell, $varname)
        return judgeCell ($cell, $parseCache[$varname]['load']);
 }
 
        return judgeCell ($cell, $parseCache[$varname]['load']);
 }
 
+// Tell, if the given arbitrary RackCode text addresses the given record
+// (an empty text matches any record).
+function considerGivenConstraint ($cell, $filtertext)
+{
+       if ($filtertext == '')
+               return TRUE;
+       $parse = spotPayload ($filtertext, 'SYNT_EXPR');
+       if ($parse['result'] != 'ACK')
+               throw new InvalidRequestArgException ('filtertext', $filtertext, 'RackCode parsing error');
+       return judgeCell ($cell, $parse['load']);
+}
+
 // Return list of records in the given realm, which conform to
 // the given RackCode expression. If the realm is unknown or text
 // doesn't validate as a RackCode expression, return NULL.
 // Return list of records in the given realm, which conform to
 // the given RackCode expression. If the realm is unknown or text
 // doesn't validate as a RackCode expression, return NULL.