* @return $isSet Whether key is set
*/
public function isKeySet ($criteriaType, $criteriaKey) {
+ // Make sure no 'my-' or 'my_' passes this point
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE));
+
// Determine it
$isSet = isset($this->criteria[$criteriaType][$criteriaKey]);
* @return void
*/
public final function addCriteria ($criteriaKey, $criteriaValue, $criteriaType = 'default') {
- // Debug message
- if (strpos($criteriaKey, 'my-') !== false) $this->debugBackTrace('criteriaKey=' . $criteriaKey);
- //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(strtoupper($criteriaType) . '-CRITERIA[' . __LINE__ . ']: criteriaKey=' . $criteriaKey . ',criteriaValue=' . $criteriaValue);
+ // Make sure no 'my-' or 'my_' passes this point
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE));
// Convert dashes to underscore
$criteriaKey = $this->convertDashesToUnderscores($criteriaKey);
+ // Debug message
+ /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(strtoupper($criteriaType) . '(' . $this->__toString() . ')-CRITERIA[' . __LINE__ . ']: criteriaKey=' . $criteriaKey . ',criteriaValue=' . $criteriaValue);
+
// Is it already there?
if ($this->isKeySet($criteriaType, $criteriaKey)) {
// Append it
- $this->criteria[$criteriaType][$criteriaKey] .= ',' . $criteriaValue;
+ $this->criteria[$criteriaType][$criteriaKey] .= ',' . (string) $criteriaValue;
} else {
// Add it
$this->criteria[$criteriaType][$criteriaKey] = (string) $criteriaValue;
* @return void
*/
public final function addChoiceCriteria ($criteriaKey, $criteriaValue) {
+ // Make sure no 'my-' or 'my_' passes this point
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE));
+
// Debug message
- if (strpos($criteriaKey, 'my-') !== false) $this->debugBackTrace('criteriaKey=' . $criteriaKey);
- //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('CHOICE-CRITERIA[' . __LINE__ . ']: criteriaKey=' . $criteriaKey . ',criteriaValue=' . $criteriaValue);
+ //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(strtoupper($criteriaType) . '(' . $this->__toString() . ')-CRITERIA[' . __LINE__ . ']: criteriaKey=' . $criteriaKey . ',criteriaValue=' . $criteriaValue);
// Add it
$this->criteria['choice'][$this->convertDashesToUnderscores($criteriaKey)][] = (string) $criteriaValue;
* @return $value Whether the value of the critera or null
*/
public function getCriteriaElemnent ($criteriaKey, $criteriaType = 'default') {
+ // Make sure no 'my-' or 'my_' passes this point
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE));
+
// Convert dashes to underscore
$criteriaKey = $this->convertDashesToUnderscores($criteriaKey);
// Walk through all entries
foreach ($entryArray as $key => $entry) {
+ // Make sure no 'my-' or 'my_' passes this point
+ assert((strpos($key, 'my-') === FALSE) && (strpos($key, 'my_') === FALSE));
+
// Convert dashes to underscore
$key = $this->convertDashesToUnderscores($key);
// Then walk through all search criteria
foreach ($this->criteria[$criteriaType] as $criteriaKey => $criteriaValue) {
+ // Make sure no 'my-' or 'my_' passes this point
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE));
+
// Convert dashes to underscore
$criteriaKey = $this->convertDashesToUnderscores($criteriaKey);
// Now walk through all criterias
foreach ($this->criteria[$criteriaType] as $criteriaKey => $criteriaValue) {
+ // Make sure no 'my-' or 'my_' passes this point
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE));
+
// Convert dashes to underscore
$criteriaKey = $this->convertDashesToUnderscores($criteriaKey);
// 'choice' check
if ((is_array($searchChoice)) && (count($valueArray) == 1)) {
// $value is a single-search value, so use in_array()
- $isMatching = (((is_null($searchDefault)) || ($isMatching === TRUE)) && ((is_null($searchChoice)) || ((is_array($searchChoice)) && (in_array($value, $searchChoice)))));
+ $isMatching = ((($isMatching === TRUE) || (is_null($searchDefault))) && ((is_null($searchChoice)) || ((is_array($searchChoice)) && (in_array($value, $searchChoice)))));
// Debug message
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('SEARCH-CRITERIA[' . __LINE__ . ']: getCriteriaChoiceElement(' . $key . ')[]=' . gettype($searchChoice) . ',value=' . $value . ',isMatching=' . intval($isMatching) . ' - SINGLE-MATCH');
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('SEARCH-CRITERIA[' . __LINE__ . ']: getCriteriaChoiceElement(' . $key . ')[]=' . gettype($searchChoice) . ',valueArray()=' . count($valueArray) . ',idx=' . $idx . ',isMatching=' . intval($isMatching) . ' - CHOICE-MATCH');
} else {
// Choice-match is NULL?
- $isMatching = (($isMatching === TRUE) || (is_null($searchChoice)));
+ $isMatching = (($isMatching === TRUE) || (is_null($searchDefault)));
// Debug message
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('SEARCH-CRITERIA[' . __LINE__ . ']: getCriteriaChoiceElement(' . $key . ')[]=' . gettype($searchChoice) . ',value=' . $value . ',isMatching=' . intval($isMatching) . ' - NULL-MATCH');