]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/criteria/class_BaseCriteria.php
Introduced unsetCriteria()
[core.git] / inc / classes / main / criteria / class_BaseCriteria.php
index d02c32fca8d75024538929a1fde57d7fec5c93d1..f42dc828175ea65cbb7fbfd9b40122ff7521e114 100644 (file)
@@ -137,6 +137,26 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
                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) && (!is_bool($criteriaValue)));
+
+               // 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.