Added type-hint 'array' for $onlyKeys because this should only be an array.
[core.git] / inc / classes / main / class_BaseFrameworkSystem.php
index adbb27c2e9f34337abfb277c5d1a7c59bc7b0ee3..79a60abeb3d09d1622ad580dfb3acf70541c9191 100644 (file)
@@ -361,8 +361,15 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                } elseif (is_array($args)) {
                        // Some arguments are there
                        foreach ($args as $arg) {
-                               // Add the type
-                               $argsString .= $this->replaceControlCharacters($arg) . ' (' . gettype($arg);
+                               // Add the value itself if not array. This prevents 'array to string conversion' message
+                               if (is_array($arg)) {
+                                       $argsString .= 'Array';
+                               } else {
+                                       $argsString .= $arg;
+                               }
+
+                               // Add data about the argument
+                               $argsString .= ' (' . gettype($arg);
 
                                if (is_string($arg)) {
                                        // Add length for strings
@@ -1938,7 +1945,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         * @param       $onlyKeys                       Only use these keys for a cache key
         * @return      $cacheKey                       A cache key suitable for lookup/storage purposes
         */
-       protected function getCacheKeyByCriteria (Criteria $criteriaInstance, $onlyKeys = array()) {
+       protected function getCacheKeyByCriteria (Criteria $criteriaInstance, array $onlyKeys = array()) {
                // Generate it
                $cacheKey = sprintf("%s@%s",
                        $this->__toString(),