Browse Source

Added missing version check for json_encode

Augusto 12 years ago
parent
commit
41fdf7063f
1 changed files with 8 additions and 2 deletions
  1. 8 2
      Model/Behavior/JsonableBehavior.php

+ 8 - 2
Model/Behavior/JsonableBehavior.php

@@ -174,7 +174,13 @@ class JsonableBehavior extends ModelBehavior {
 			}
 			}
 		}
 		}
 		if (is_array($val)) {
 		if (is_array($val)) {
-			$val = json_encode($val, $this->settings[$Model->alias]['encodeParams']['options'], $this->settings[$Model->alias]['encodeParams']['depth']);
+			// $depth param added in php 5.4
+			if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
+				$val = json_encode($val, $this->settings[$Model->alias]['encodeParams']['options'], $this->settings[$Model->alias]['encodeParams']['depth']);
+			} 
+			else {
+				$val = json_encode($val, $this->settings[$Model->alias]['encodeParams']['options']);
+			}
 		}
 		}
 		return $val;
 		return $val;
 	}
 	}
@@ -194,7 +200,7 @@ class JsonableBehavior extends ModelBehavior {
 		else {
 		else {
 		    $decoded = json_decode($val, $this->settings[$Model->alias]['decodeParams']['assoc'], $this->settings[$Model->alias]['decodeParams']['depth']); 
 		    $decoded = json_decode($val, $this->settings[$Model->alias]['decodeParams']['assoc'], $this->settings[$Model->alias]['decodeParams']['depth']); 
 		}
 		}
-        
+
 		if ($decoded === false) {
 		if ($decoded === false) {
 			return false;
 			return false;
 		}
 		}