return $this->getCriteriaArray('exclude');
}
+ /**
+ * Unsets a criteria key from all criteria types
+ *
+ * @param $criteriaKey Criteria key to unset
+ * @return void
+ */
+ public final function unsetCriteria ($criteriaKey) {
+ // 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 criterias
+ foreach ($this->criteria as $criteriaType => $dummy) {
+ // Remove it
+ unset($this->criteria[$criteriaType][$criteriaKey]);
+ } // END - foreach
+ }
+
/**
* Add criteria, this method converts dashes to underscores because dashes
* are not valid for criteria keys.
*/
public final function addCriteria ($criteriaKey, $criteriaValue, $criteriaType = 'default') {
// Make sure no 'my-' or 'my_' passes this point
- assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE));
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE) && (!is_bool($criteriaValue)));
// 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);
+ //* 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)) {
*/
public final function addChoiceCriteria ($criteriaKey, $criteriaValue) {
// Make sure no 'my-' or 'my_' passes this point
- assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE));
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE) && (!is_bool($criteriaValue)));
// Debug message
//* 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;
+ array_push($this->criteria['choice'][$this->convertDashesToUnderscores($criteriaKey)], (string) $criteriaValue);
}
/**
}
/**
- * Get criteria element or null if not found
+ * Get criteria element or FALSE if not found
*
* @param $criteriaKey The requested criteria key
* @param $criteriaType Type of this criteria, can be one of 'default' (default), 'choice' or 'exclude'
- * @return $value Whether the value of the critera or null
+ * @return $value Whether the value of the critera or FALSE
*/
public function getCriteriaElemnent ($criteriaKey, $criteriaType = 'default') {
// Make sure no 'my-' or 'my_' passes this point
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(strtoupper($criteriaType) . '-CRITERIA[' . __LINE__ . ']: criteriaKey=' . $criteriaKey . ',criteria()=' . count($this->criteria[$criteriaType]));
// Default is not found
- $value = NULL;
+ $value = FALSE;
// Is the criteria there?
if ($this->isKeySet($criteriaType, $criteriaKey)) {
}
/**
- * Get criteria element or null if not found for 'choice' type
+ * Get criteria element or FALSE if not found for 'choice' type
*
* @param $criteriaKey The requested criteria key
- * @return $value Whether the value of the critera or null
+ * @return $value Whether the value of the critera or FALSE
*/
public function getCriteriaChoiceElemnent ($criteriaKey) {
// Call inner method
}
/**
- * Get criteria element or null if not found for 'exclude' type
+ * Get criteria element or FALSE if not found for 'exclude' type
*
* @param $criteriaKey The requested criteria key
- * @return $value Whether the value of the critera or null
+ * @return $value Whether the value of the critera or FALSE
*/
public function getCriteriaExcludeElemnent ($criteriaKey) {
// Call inner method
*/
public function ifEntryMatches (array $entryArray, $criteriaType = 'default') {
// First nothing matches and nothing is counted
- $matches = false;
+ $matches = FALSE;
$counted = 0;
// Walk through all entries
// 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));
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE) && (!is_bool($criteriaValue)));
// 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));
+ assert((strpos($criteriaKey, 'my-') === FALSE) && (strpos($criteriaKey, 'my_') === FALSE) && (!is_bool($criteriaValue)));
// Convert dashes to underscore
$criteriaKey = $this->convertDashesToUnderscores($criteriaKey);