Introduced unsetCriteria()
authorRoland Häder <roland@mxchange.org>
Fri, 22 Feb 2013 08:08:13 +0000 (08:08 +0000)
committerRoland Häder <roland@mxchange.org>
Fri, 22 Feb 2013 08:08:13 +0000 (08:08 +0000)
inc/classes/interfaces/criteria/class_Criteria.php
inc/classes/main/criteria/class_BaseCriteria.php
inc/classes/main/database/databases/class_LocalFileDatabase.php

index d2cb532..6f515ec 100644 (file)
@@ -85,6 +85,14 @@ interface Criteria extends FrameworkInterface {
        function getCriteriaExcludeArray ();
 
        /**
+        * Unsets a criteria key from all criteria types
+        *
+        * @param       $criteriaKey    Criteria key to unset
+        * @return      void
+        */
+       function unsetCriteria ($criteriaKey);
+
+       /**
         * Add criteria, this method converts dashes to underscores because dashes
         * are not valid for criteria keys.
         *
index d02c32f..f42dc82 100644 (file)
@@ -138,6 +138,26 @@ class BaseCriteria extends BaseFrameworkSystem implements Criteria {
        }
 
        /**
+        * 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.
         *
index f49a9f1..b3f0183 100644 (file)
@@ -164,7 +164,7 @@ class LocalFileDatabase extends BaseDatabaseBackend implements DatabaseBackendIn
         */
        private function getDataArrayFromFile ($fqfn) {
                // Debug message
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('DATABASE: Reading elements from database file ' . $fqfn . ' ...');
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('DATABASE: Reading elements from database file ' . $fqfn . ' ...');
 
                // Init compressed data
                $compressedData = $this->getFileIoInstance()->loadFileContents($fqfn);
@@ -180,8 +180,8 @@ class LocalFileDatabase extends BaseDatabaseBackend implements DatabaseBackendIn
                $dataArray = unserialize($serializedData);
 
                // Debug message
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('DATABASE: Read ' . count($dataArray) . ' elements from database file ' . $fqfn . '.');
-               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('DATABASE: dataArray=' . print_r($dataArray, TRUE));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('DATABASE: Read ' . count($dataArray) . ' elements from database file ' . $fqfn . '.');
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('DATABASE: dataArray=' . print_r($dataArray, TRUE));
 
                // Finally return it
                return $dataArray;