X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fcriteria%2Fclass_BaseCriteria.php;h=a3daa36e1cb4ac5001756d22ff8d1b91444c5fee;hp=19983c0b52ff8e7c6160a2e426e8bd1ba8d7ba64;hb=48732bab3b2ca49cf44cfa5d7921c4073a41809c;hpb=08330903ee5bd8ea967622ff7473d13dff19beb5 diff --git a/inc/classes/main/criteria/class_BaseCriteria.php b/inc/classes/main/criteria/class_BaseCriteria.php index 19983c0b..a3daa36e 100644 --- a/inc/classes/main/criteria/class_BaseCriteria.php +++ b/inc/classes/main/criteria/class_BaseCriteria.php @@ -4,7 +4,7 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Core Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -71,14 +71,15 @@ class BaseCriteria extends BaseFrameworkSystem { } /** - * Add criteria + * Add criteria, this method converts dashes to underscores because dashes + * are not valid for criteria keys. * * @param $criteriaKey Criteria key * @param $criteriaValue Criteria value * @return void */ public final function addCriteria ($criteriaKey, $criteriaValue) { - $this->criteria[(string)$criteriaKey] = (string)$criteriaValue; + $this->criteria[$this->convertDashesToUnderscores($criteriaKey)] = (string)$criteriaValue; } /** @@ -97,17 +98,20 @@ class BaseCriteria extends BaseFrameworkSystem { /** * Get criteria element or null if not found * - * @param $criteria The criteria we want to have - * @return $value Whether the value of the critera or null + * @param $criteriaKey The requested criteria key + * @return $value Whether the value of the critera or null */ - public function getCriteriaElemnent ($criteria) { + public function getCriteriaElemnent ($criteriaKey) { + // Convert dashes to underscore + $criteriaKey = $this->convertDashesToUnderscores($criteriaKey); + // Default is not found $value = NULL; // Is the criteria there? - if (isset($this->criteria[$criteria])) { + if (isset($this->criteria[$criteriaKey])) { // Then use it - $value = $this->criteria[$criteria]; + $value = $this->criteria[$criteriaKey]; } // Return the value @@ -127,8 +131,14 @@ class BaseCriteria extends BaseFrameworkSystem { // Walk through all entries foreach ($entryArray as $key => $entry) { + // Convert dashes to underscore + $key = $this->convertDashesToUnderscores($key); + // Then walk through all search criteria foreach ($this->criteria as $criteriaKey => $criteriaValue) { + // Convert dashes to underscore + $criteriaKey = $this->convertDashesToUnderscores($criteriaKey); + // Is the element found and does it match? if (($key == $criteriaKey) && ($criteriaValue == $entry)) { // Then count this one up @@ -156,6 +166,9 @@ class BaseCriteria extends BaseFrameworkSystem { // Now walk through all criterias foreach ($this->criteria as $criteriaKey => $criteriaValue) { + // Convert dashes to underscore + $criteriaKey = $this->convertDashesToUnderscores($criteriaKey); + // Is the value in array or is $onlyKeys empty? if ((isset($onlyKeys[$criteriaKey])) || (count($onlyKeys) == 0)) { // Add the value URL encoded to avoid any trouble with special characters