]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/criteria/class_BaseCriteria.php
Made lower to upper case:
[core.git] / inc / classes / main / criteria / class_BaseCriteria.php
index 3b97b8b5f432d1b4fad74e23e9151d54671bf66b..cbf192d36e31d567475985f926681e1978eacda4 100644 (file)
@@ -50,6 +50,46 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
                parent::__construct($className);
        }
 
+       /**
+        * Checks whether given key is set
+        *
+        * @param       $criteriaType   Type of this criteria, can be one of 'default' (default), 'choice' or 'exclude'
+        * @param       $criteriaKey    Criteria key
+        * @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 it
+               return $isSet;
+       }
+
+       /**
+        * Checks whether given key is set for 'choice' type
+        *
+        * @param       $criteriaKey    Criteria key
+        * @return      $isSet                  Whether key is set
+        */
+       public function isChoiceKeySet ($criteriaKey) {
+               // Call inner method
+               return $this->isKeySet('choice', $criteriaKey);
+       }
+
+       /**
+        * Checks whether given key is set for 'exclude' type
+        *
+        * @param       $criteriaKey    Criteria key
+        * @return      $isSet                  Whether key is set
+        */
+       public function isExcludeKeySet ($criteriaKey) {
+               // Call inner method
+               return $this->isKeySet('exclude', $criteriaKey);
+       }
+
        /**
         * Setter for wrapper class name
         *
@@ -97,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));
+
+               // 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.
@@ -107,17 +167,19 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
         * @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: criteriaKey=' . $criteriaKey . ',criteriaValue=' . $criteriaValue);
+               // 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);
 
+               // Debug message
+               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(strtoupper($criteriaType) . '(' . $this->__toString() . ')-CRITERIA[' . __LINE__ . ']: criteriaKey=' . $criteriaKey . ',criteriaValue=' . $criteriaValue);
+
                // Is it already there?
-               if (isset($this->criteria[$criteriaType][$criteriaKey])) {
+               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;
@@ -133,12 +195,14 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
         * @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) && (!is_bool($criteriaValue)));
+
                // Debug message
-               if (strpos($criteriaKey, 'my-') !== false) $this->debugBackTrace('criteriaKey=' . $criteriaKey);
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('CHOICE-CRITERIA: 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;
+               array_push($this->criteria['choice'][$this->convertDashesToUnderscores($criteriaKey)], (string) $criteriaValue);
        }
 
        /**
@@ -169,24 +233,27 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
        }
 
        /**
-        * 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
+               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('CRITERIA: criteriaKey=' . $criteriaKey . ',criteria()=' . count($this->criteria[$criteriaType]));
+               //* 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 (isset($this->criteria[$criteriaType][$criteriaKey])) {
+               if ($this->isKeySet($criteriaType, $criteriaKey)) {
                        // Then use it
                        $value = $this->criteria[$criteriaType][$criteriaKey];
                } // END - if
@@ -196,10 +263,10 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
        }
 
        /**
-        * 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
@@ -207,10 +274,10 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
        }
 
        /**
-        * 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
@@ -226,16 +293,22 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
         */
        public function ifEntryMatches (array $entryArray, $criteriaType = 'default') {
                // First nothing matches and nothing is counted
-               $matches = false;
+               $matches = FALSE;
                $counted = 0;
 
                // 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) && (!is_bool($criteriaValue)));
+
                                // Convert dashes to underscore
                                $criteriaKey = $this->convertDashesToUnderscores($criteriaKey);
 
@@ -295,6 +368,9 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
 
                // 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) && (!is_bool($criteriaValue)));
+
                        // Convert dashes to underscore
                        $criteriaKey = $this->convertDashesToUnderscores($criteriaKey);