Browse Source

unify and prepare behaviors

euromark 11 years ago
parent
commit
125be4c374

+ 3 - 3
Model/Behavior/BitmaskedBehavior.php

@@ -23,11 +23,11 @@ App::uses('ModelBehavior', 'Model');
 class BitmaskedBehavior extends ModelBehavior {
 
 	/**
-	 * Settings defaults
+	 * Default config
 	 *
 	 * @var array
 	 */
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'field' => 'status',
 		'mappedField' => null, // NULL = same as above
 		'bits' => null,
@@ -43,7 +43,7 @@ class BitmaskedBehavior extends ModelBehavior {
 	 * @return void
 	 */
 	public function setup(Model $Model, $config = array()) {
-		$config = array_merge($this->_defaults, $config);
+		$config += $this->_defaultConfig;
 
 		if (empty($config['bits'])) {
 			$config['bits'] = Inflector::pluralize($config['field']);

+ 10 - 10
Model/Behavior/CaptchaBehavior.php

@@ -31,29 +31,29 @@ class CaptchaBehavior extends ModelBehavior {
 	 * CaptchaBehavior::setup()
 	 *
 	 * @param Model $Model
-	 * @param array $settings
+	 * @param array $config
 	 * @return void
 	 */
-	public function setup(Model $Model, $settings = array()) {
+	public function setup(Model $Model, $config = array()) {
 		$defaults = array_merge(CaptchaLib::$defaults, $this->defaults);
 		$this->Model = $Model;
 
 		// Bootstrap configs
 		$this->settings[$Model->alias] = $defaults;
 		$this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], (array)Configure::read('Captcha'));
-		if (!empty($settings)) {
-			$this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], $settings);
+		if (!empty($config)) {
+			$this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], $config);
 		}
 
 		// Local configs in specific action
-		if (!empty($settings['minTime'])) {
-			$this->settings[$Model->alias]['minTime'] = (int)$settings['minTime'];
+		if (!empty($config['minTime'])) {
+			$this->settings[$Model->alias]['minTime'] = (int)$config['minTime'];
 		}
-		if (!empty($settings['maxTime'])) {
-			$this->settings[$Model->alias]['maxTime'] = (int)$settings['maxTime'];
+		if (!empty($config['maxTime'])) {
+			$this->settings[$Model->alias]['maxTime'] = (int)$config['maxTime'];
 		}
-		if (isset($settings['log'])) {
-			$this->settings[$Model->alias]['log'] = (bool)$settings['log'];
+		if (isset($config['log'])) {
+			$this->settings[$Model->alias]['log'] = (bool)$config['log'];
 		}
 	}
 

+ 4 - 5
Model/Behavior/ConfirmableBehavior.php

@@ -12,19 +12,18 @@ App::uses('ModelBehavior', 'Model');
  */
 class ConfirmableBehavior extends ModelBehavior {
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'message' => 'Please confirm the checkbox',
 		'field' => 'confirm',
 		'model' => null,
 		'before' => 'validate',
 	);
 
-	public function setup(Model $Model, $settings = array()) {
+	public function setup(Model $Model, $config = array()) {
 		if (!isset($this->settings[$Model->alias])) {
-			$this->settings[$Model->alias] = $this->_defaults;
+			$this->settings[$Model->alias] = $this->_defaultConfig;
 		}
-
-		$this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], is_array($settings) ? $settings : array());
+		$this->settings[$Model->alias] = $config + $this->settings[$Model->alias];
 	}
 
 	/**

+ 28 - 27
Model/Behavior/DecimalInputBehavior.php

@@ -32,7 +32,7 @@ App::uses('ModelBehavior', 'Model');
  */
 class DecimalInputBehavior extends ModelBehavior {
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'before' => 'validate', // save or validate
 		'input' => true, // true = activated
 		'output' => false, // true = activated
@@ -59,14 +59,16 @@ class DecimalInputBehavior extends ModelBehavior {
 	/**
 	 * Adjust configs like: $Model->Behaviors-attach('Tools.DecimalInput', array('fields'=>array('xyz')))
 	 * leave fields empty to auto-detect all float inputs
+	 *
+	 * @return void
 	 */
 	public function setup(Model $Model, $config = array()) {
-		$this->config[$Model->alias] = $this->_defaults;
+		$this->settings[$Model->alias] = $this->_defaultConfig;
 
 		if (!empty($config['strict'])) {
-			$this->config[$Model->alias]['transform']['.'] = '#';
+			$this->settings[$Model->alias]['transform']['.'] = '#';
 		}
-		if ($this->config[$Model->alias]['localeconv'] || !empty($config['localeconv'])) {
+		if ($this->settings[$Model->alias]['localeconv'] || !empty($config['localeconv'])) {
 			// use locale settings
 			$conv = localeconv();
 			$loc = array(
@@ -74,53 +76,52 @@ class DecimalInputBehavior extends ModelBehavior {
 				'thousands' => $conv['thousands_sep']
 			);
 		} elseif ($configure = Configure::read('Localization')) {
-			// use configure settings
+			// Use configure settings
 			$loc = (array)$configure;
 		}
 		if (!empty($loc)) {
-			$this->config[$Model->alias]['transform'] = array(
-				$loc['thousands'] => $this->config[$Model->alias]['transform']['.'],
-				$loc['decimals'] => $this->config[$Model->alias]['transform'][','],
+			$this->settings[$Model->alias]['transform'] = array(
+				$loc['thousands'] => $this->settings[$Model->alias]['transform']['.'],
+				$loc['decimals'] => $this->settings[$Model->alias]['transform'][','],
 			);
 		}
-		//debug($this->config[$Model->alias]);
 
-		$this->config[$Model->alias] = array_merge($this->config[$Model->alias], $config);
+		$this->settings[$Model->alias] = $config + $this->settings[$Model->alias];
 
 		$numberFields = array();
 		$schema = $Model->schema();
 		foreach ($schema as $key => $values) {
-			if (isset($values['type']) && !in_array($key, $this->config[$Model->alias]['fields']) && in_array($values['type'], $this->config[$Model->alias]['observedTypes'])) {
+			if (isset($values['type']) && !in_array($key, $this->settings[$Model->alias]['fields']) && in_array($values['type'], $this->settings[$Model->alias]['observedTypes'])) {
 				array_push($numberFields, $key);
 			}
 		}
-		$this->config[$Model->alias]['fields'] = array_merge($this->config[$Model->alias]['fields'], $numberFields);
+		$this->settings[$Model->alias]['fields'] = array_merge($this->settings[$Model->alias]['fields'], $numberFields);
 	}
 
 	public function beforeValidate(Model $Model, $options = array()) {
-		if ($this->config[$Model->alias]['before'] !== 'validate') {
+		if ($this->settings[$Model->alias]['before'] !== 'validate') {
 			return true;
 		}
 
-		$this->prepInput($Model, $Model->data); //direction is from interface to database
+		$this->prepInput($Model, $Model->data); // Direction is from interface to database
 		return true;
 	}
 
 	public function beforeSave(Model $Model, $options = array()) {
-		if ($this->config[$Model->alias]['before'] !== 'save') {
+		if ($this->settings[$Model->alias]['before'] !== 'save') {
 			return true;
 		}
 
-		$this->prepInput($Model, $Model->data); //direction is from interface to database
+		$this->prepInput($Model, $Model->data); // Direction is from interface to database
 		return true;
 	}
 
 	public function afterFind(Model $Model, $results, $primary = false) {
-		if (!$this->config[$Model->alias]['output'] || empty($results)) {
+		if (!$this->settings[$Model->alias]['output'] || empty($results)) {
 			return $results;
 		}
 
-		$results = $this->prepOutput($Model, $results); //direction is from database to interface
+		$results = $this->prepOutput($Model, $results); // Direction is from database to interface
 		return $results;
 	}
 
@@ -130,7 +131,7 @@ class DecimalInputBehavior extends ModelBehavior {
 	 */
 	public function prepInput(Model $Model, &$data) {
 		foreach ($data[$Model->alias] as $key => $field) {
-			if (in_array($key, $this->config[$Model->alias]['fields'])) {
+			if (in_array($key, $this->settings[$Model->alias]['fields'])) {
 				$data[$Model->alias][$key] = $this->formatInputOutput($Model, $field, 'in');
 			}
 		}
@@ -146,7 +147,7 @@ class DecimalInputBehavior extends ModelBehavior {
 				return $data;
 			}
 			foreach ($record[$Model->alias] as $key => $value) {
-				if (in_array($key, $this->config[$Model->alias]['fields'])) {
+				if (in_array($key, $this->settings[$Model->alias]['fields'])) {
 					$data[$datakey][$Model->alias][$key] = $this->formatInputOutput($Model, $value, 'out');
 				}
 			}
@@ -162,8 +163,8 @@ class DecimalInputBehavior extends ModelBehavior {
 	public function formatInputOutput(Model $Model, $value, $dir = 'in') {
 		$this->_setTransformations($Model, $dir);
 		if ($dir === 'out') {
-			if ($this->config[$Model->alias]['multiply']) {
-				$value *= (float)(1 / $this->config[$Model->alias]['multiply']);
+			if ($this->settings[$Model->alias]['multiply']) {
+				$value *= (float)(1 / $this->settings[$Model->alias]['multiply']);
 			}
 
 			$value = str_replace($this->delimiterFromFormat, $this->delimiterBaseFormat, (string)$value);
@@ -173,8 +174,8 @@ class DecimalInputBehavior extends ModelBehavior {
 			if (is_numeric($value)) {
 				$value = (float)$value;
 
-				if ($this->config[$Model->alias]['multiply']) {
-					$value *= $this->config[$Model->alias]['multiply'];
+				if ($this->settings[$Model->alias]['multiply']) {
+					$value *= $this->settings[$Model->alias]['multiply'];
 				}
 			}
 		}
@@ -189,9 +190,9 @@ class DecimalInputBehavior extends ModelBehavior {
 	protected function _setTransformations(Model $Model, $dir) {
 		$from = array();
 		$base = array();
-		$transform = $this->config[$Model->alias]['transform'];
-		if (!empty($this->config[$Model->alias]['transformReverse'])) {
-			$transform = $this->config[$Model->alias]['transformReverse'];
+		$transform = $this->settings[$Model->alias]['transform'];
+		if (!empty($this->settings[$Model->alias]['transformReverse'])) {
+			$transform = $this->settings[$Model->alias]['transformReverse'];
 		} else {
 			if ($dir === 'out') {
 				$transform = array_reverse($transform, true);

+ 2 - 2
Model/Behavior/GeocoderBehavior.php

@@ -339,8 +339,8 @@ class GeocoderBehavior extends ModelBehavior {
 		);
 		$this->Geocode = new GeocodeLib($geocodeOptions);
 
-		$settings = array('language' => $options['language']);
-		if (!$this->Geocode->geocode($address, $settings)) {
+		$config = array('language' => $options['language']);
+		if (!$this->Geocode->geocode($address, $config)) {
 			return array('lat' => null, 'lng' => null, 'formatted_address' => '');
 		}
 

+ 2 - 2
Model/Behavior/HazardableBehavior.php

@@ -34,7 +34,7 @@ App::uses('HazardLib', 'Tools.Lib');
  */
 class HazardableBehavior extends ModelBehavior {
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'replaceFind' => false, // fake data after a find call (defaults to false)
 		'fields' => array(), // additional fields or custom mapping to a specific snippet type (defaults to XSS)
 		'skipFields' => array('id', 'slug') // fields of the schema that should be skipped
@@ -50,7 +50,7 @@ class HazardableBehavior extends ModelBehavior {
 	 * @return void
 	 */
 	public function setup(Model $Model, $config = array()) {
-		$this->settings[$Model->alias] = array_merge($this->_defaults, $config);
+		$this->settings[$Model->alias] = $config + $this->_defaultConfig;
 	}
 
 	/**

+ 5 - 5
Model/Behavior/JsonableBehavior.php

@@ -35,7 +35,7 @@ class JsonableBehavior extends ModelBehavior {
 	 * //TODO: json input/ouput directly, clean
 	 * @var array
 	 */
-	public $_defaultSettings = array(
+	protected $_defaultConfig = array(
 		'fields' => array(), // empty => autodetect - only works with array!
 		'input' => 'array', // json, array, param, list (param/list only works with specific fields)
 		'output' => 'array', // json, array, param, list (param/list only works with specific fields)
@@ -47,7 +47,7 @@ class JsonableBehavior extends ModelBehavior {
 		'sort' => false, // only for list
 		'unique' => true, // only for list (autoclean values on insert),
 		'map' => array(), // map on a different DB field
-		'encodeParams' => array( // params for json_encode 
+		'encodeParams' => array( // params for json_encode
 			'options' => 0,
 			'depth' => 512,
 		),
@@ -59,7 +59,7 @@ class JsonableBehavior extends ModelBehavior {
 	);
 
 	public function setup(Model $Model, $config = array()) {
-		$this->settings[$Model->alias] = Hash::merge($this->_defaultSettings, $config);
+		$this->settings[$Model->alias] = Hash::merge($this->_defaultConfig, $config);
 		//extract($this->settings[$Model->alias]);
 		if (!is_array($this->settings[$Model->alias]['fields'])) {
 			$this->settings[$Model->alias]['fields'] = (array)$this->settings[$Model->alias]['fields'];
@@ -194,9 +194,9 @@ class JsonableBehavior extends ModelBehavior {
 	public function _decode(Model $Model, $val) {
 		// $options param added in php 5.4
 		if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
-			$decoded = json_decode($val, $this->settings[$Model->alias]['decodeParams']['assoc'], $this->settings[$Model->alias]['decodeParams']['depth'], $this->settings[$Model->alias]['decodeParams']['options']); 
+			$decoded = json_decode($val, $this->settings[$Model->alias]['decodeParams']['assoc'], $this->settings[$Model->alias]['decodeParams']['depth'], $this->settings[$Model->alias]['decodeParams']['options']);
 		} 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) {

+ 3 - 3
Model/Behavior/KeyValueBehavior.php

@@ -22,7 +22,7 @@ class KeyValueBehavior extends ModelBehavior {
 	 *
 	 * @var array
 	 */
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'foreignKeyField' => 'foreign_id',
 		'keyField' => 'key',
 		'valueField' => 'value',
@@ -39,8 +39,8 @@ class KeyValueBehavior extends ModelBehavior {
 	 * @param array $config
 	 */
 	public function setup(Model $Model, $config = array()) {
-		$settings = array_merge($this->_defaults, $config);
-		$this->settings[$Model->alias] = $settings;
+		$config = array_merge($this->_defaultConfig, $config);
+		$this->settings[$Model->alias] = $config;
 		if (!$this->KeyValue) {
 			$this->KeyValue = ClassRegistry::init('Tools.KeyValue');
 		}

+ 2 - 2
Model/Behavior/LinkableBehavior.php

@@ -37,11 +37,11 @@ class LinkableBehavior extends ModelBehavior {
 		'class' => true, 'defaults' => true
 	);
 
-	protected $_defaults = array('type' => 'LEFT');
+	protected $_defaultConfig = array('type' => 'LEFT');
 
 	public function beforeFind(Model $Model, $query) {
 		if (isset($query[$this->_key])) {
-			$optionsDefaults = $this->_defaults + array('reference' => $Model->alias, $this->_key => array());
+			$optionsDefaults = $this->_defaultConfig + array('reference' => $Model->alias, $this->_key => array());
 			$optionsKeys = $this->_options + array($this->_key => true);
 
 			// If containable is being used, then let it set the recursive!

+ 2 - 2
Model/Behavior/LogableBehavior.php

@@ -74,7 +74,7 @@ class LogableBehavior extends ModelBehavior {
 
 	public $UserModel = null;
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'enabled' => true,
 		'on' => 'save', // On validate/save
 		'userModel' => CLASS_USER,
@@ -104,7 +104,7 @@ class LogableBehavior extends ModelBehavior {
 	 */
 	public function setup(Model $Model, $config = array()) {
 		$config += (array)Configure::read('Logable');
-		$this->settings[$Model->alias] = $config + $this->_defaults;
+		$this->settings[$Model->alias] = $config + $this->_defaultConfig;
 		$this->settings[$Model->alias]['ignore'][] = $Model->primaryKey;
 
 		$this->Log = ClassRegistry::init($this->settings[$Model->alias]['logModel']);

+ 4 - 4
Model/Behavior/MasterPasswordBehavior.php

@@ -33,7 +33,7 @@ App::uses('ModelBehavior', 'Model');
  */
 class MasterPasswordBehavior extends ModelBehavior {
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'message' => 'Incorrect Master Password',
 		'field' => 'master_pwd',
 		'model' => null,
@@ -43,11 +43,11 @@ class MasterPasswordBehavior extends ModelBehavior {
 		'log' => false //TODO: log the usage of pwds to a log file `master_password`
 	);
 
-	public function setup(Model $Model, $settings = array()) {
+	public function setup(Model $Model, $config = array()) {
 		if (!isset($this->settings[$Model->alias])) {
-			$this->settings[$Model->alias] = $this->_defaults;
+			$this->settings[$Model->alias] = $this->_defaultConfig;
 		}
-		$this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], is_array($settings) ? $settings : array());
+		$this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], $config);
 		// deactivate dynamically
 		if (Configure::read('MasterPassword.password') === false) {
 			$this->settings[$Model->alias]['before'] = '';

+ 2 - 2
Model/Behavior/MultipleDisplayFieldsBehavior.php

@@ -30,7 +30,7 @@ App::uses('ModelBehavior', 'Model');
  */
 class MultipleDisplayFieldsBehavior extends ModelBehavior {
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'fields' => array(),
 		'defaults' => array(), // default values in case a field is empty/null
 		'pattern' => null, // automatically uses `%s %s %s ...` as many times as needed
@@ -47,7 +47,7 @@ class MultipleDisplayFieldsBehavior extends ModelBehavior {
 	 * @return void
 	 */
 	public function setup(Model $Model, $config = array()) {
-		$this->settings[$Model->alias] = $this->_defaults;
+		$this->settings[$Model->alias] = $this->_defaultConfig;
 
 		if (isset($config['fields'])) {
 			$myFields = array();

+ 6 - 6
Model/Behavior/NamedScopeBehavior.php

@@ -38,7 +38,7 @@ App::uses('ModelBehavior', 'Model');
  */
 class NamedScopeBehavior extends ModelBehavior {
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'scope' => array(), // Container to hold all scopes
 		'attribute' => 'scopes', // Model attribute to hold the custom scopes
 		'findAttribute' => 'scopedFinds' // Model attribute to hold the custom finds
@@ -48,15 +48,15 @@ class NamedScopeBehavior extends ModelBehavior {
 	 * Sets up the behavior including settings (i.e. scope).
 	 *
 	 * @param Model $Model
-	 * @param array $settings
+	 * @param array $config
 	 * @return void
 	 */
-	public function setup(Model $Model, $settings = array()) {
-		$attribute = !empty($settings['attribute']) ? $settings['attribute'] : $this->_defaults['attribute'];
+	public function setup(Model $Model, $config = array()) {
+		$attribute = !empty($config['attribute']) ? $config['attribute'] : $this->_defaultConfig['attribute'];
 		if (!empty($Model->$attribute)) {
-			$settings['scope'] = !empty($settings['scope']) ? array_merge($Model->$attribute, $settings['scope']) : $Model->$attribute;
+			$config['scope'] = !empty($config['scope']) ? array_merge($Model->$attribute, $config['scope']) : $Model->$attribute;
 		}
-		$this->settings[$Model->alias] = $settings + $this->_defaults;
+		$this->settings[$Model->alias] = $config + $this->_defaultConfig;
 	}
 
 	/**

+ 3 - 2
Model/Behavior/NumberFormatBehavior.php

@@ -31,7 +31,7 @@ App::uses('ModelBehavior', 'Model');
  */
 class NumberFormatBehavior extends ModelBehavior {
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'before' => 'validate', // save or validate
 		'input' => true, // true = activated
 		'output' => false, // true = activated
@@ -61,7 +61,7 @@ class NumberFormatBehavior extends ModelBehavior {
 	 * leave fields empty to auto-detect all float inputs
 	 */
 	public function setup(Model $Model, $config = array()) {
-		$this->settings[$Model->alias] = $this->_defaults;
+		$this->settings[$Model->alias] = $this->_defaultConfig;
 
 		if (!empty($config['strict'])) {
 			$this->settings[$Model->alias]['transform']['.'] = '#';
@@ -69,6 +69,7 @@ class NumberFormatBehavior extends ModelBehavior {
 		if ($this->settings[$Model->alias]['localeconv'] || !empty($config['localeconv'])) {
 			// use locale settings
 			$conv = localeconv();
+			debug($conv);ob_flush();
 			$loc = array(
 				'decimals' => $conv['decimal_point'],
 				'thousands' => $conv['thousands_sep']

+ 2 - 2
Model/Behavior/PasswordableBehavior.php

@@ -46,7 +46,7 @@ class PasswordableBehavior extends ModelBehavior {
 	/**
 	 * @var array
 	 */
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'field' => 'password',
 		'confirm' => true, // Set to false if in admin view and no confirmation (pwd_repeat) is required
 		'require' => true, // If a password change is required (set to false for edit forms, leave it true for pure password update forms)
@@ -234,7 +234,7 @@ class PasswordableBehavior extends ModelBehavior {
 	 * @return void
 	 */
 	public function setup(Model $Model, $config = array()) {
-		$defaults = $this->_defaults;
+		$defaults = $this->_defaultConfig;
 		if ($configureDefaults = Configure::read('Passwordable')) {
 			$defaults = array_merge($defaults, $configureDefaults);
 		}

+ 3 - 7
Model/Behavior/ResetBehavior.php

@@ -40,7 +40,7 @@ App::uses('ModelBehavior', 'Model');
  */
 class ResetBehavior extends ModelBehavior {
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'limit' => 100, // batch of records per loop
 		'timeout' => null, // in seconds
 		'fields' => array(), // if not displayField
@@ -57,12 +57,8 @@ class ResetBehavior extends ModelBehavior {
 	 * @param object $Model
 	 * @param array $config
 	 */
-	public function setup(Model $Model, $config = null) {
-		if (is_array($config)) {
-			$this->settings[$Model->alias] = array_merge($this->_defaults, $config);
-		} else {
-			$this->settings[$Model->alias] = $this->_defaults;
-		}
+	public function setup(Model $Model, $config = array()) {
+		$this->settings[$Model->alias] = $config + $this->_defaultConfig;
 	}
 
 	/**

+ 2 - 2
Model/Behavior/RevisionBehavior.php

@@ -124,7 +124,7 @@ class RevisionBehavior extends ModelBehavior {
 	 *
 	 * @var array
 	 */
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'limit' => false,
 		'auto' => true,
 		'ignore' => array(),
@@ -147,7 +147,7 @@ class RevisionBehavior extends ModelBehavior {
 	 * @return void
 	 */
 	public function setup(Model $Model, $config = array()) {
-		$defaults = (array)Configure::read('Revision') + $this->_defaults;
+		$defaults = (array)Configure::read('Revision') + $this->_defaultConfig;
 		$this->settings[$Model->alias] = $config + $defaults;
 
 		$this->_createShadowModel($Model);

+ 2 - 2
Model/Behavior/SluggedBehavior.php

@@ -406,8 +406,8 @@ class SluggedBehavior extends ModelBehavior {
 			set_time_limit(max($max, $count / 100));
 		}
 
-		$settings = $Model->Behaviors->Slugged->settings[$Model->alias];
-		$Model->Behaviors->load('Tools.Slugged', $params + $settings);
+		$config = $Model->Behaviors->Slugged->settings[$Model->alias];
+		$Model->Behaviors->load('Tools.Slugged', $params + $config);
 
 		while ($rows = $Model->find('all', $params)) {
 			foreach ($rows as $row) {

+ 11 - 11
Model/Behavior/SoftDeleteBehavior.php

@@ -33,7 +33,7 @@ class SoftDeleteBehavior extends ModelBehavior {
 	 *
 	 * @var array
 	 */
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'attribute' => 'softDeleted',
 		'fields' => array(
 			'deleted' => 'deleted_date'
@@ -51,14 +51,14 @@ class SoftDeleteBehavior extends ModelBehavior {
 	 * Setup callback
 	 *
 	 * @param Model $model
-	 * @param array $settings
+	 * @param array $config
 	 * @return void
 	 */
-	public function setup(Model $model, $settings = array()) {
-		$settings = array_merge($this->_defaults, $settings);
+	public function setup(Model $model, $config = array()) {
+		$config += $this->_defaultConfig;
 
 		$error = 'SoftDeleteBehavior::setup(): model ' . $model->alias . ' has no field ';
-		$fields = $this->_normalizeFields($model, $settings['fields']);
+		$fields = $this->_normalizeFields($model, $config['fields']);
 		foreach ($fields as $flag => $date) {
 			if ($model->hasField($flag)) {
 				if ($date && !$model->hasField($date)) {
@@ -71,7 +71,7 @@ class SoftDeleteBehavior extends ModelBehavior {
 			return;
 		}
 
-		$this->settings[$model->alias] = array_merge($settings, array('fields' => $fields));
+		$this->settings[$model->alias] = array('fields' => $fields) + $config;
 		$this->softDelete($model, true);
 
 		$attribute = $this->settings[$model->alias]['attribute'];
@@ -297,15 +297,15 @@ class SoftDeleteBehavior extends ModelBehavior {
 	 * Return normalized field array
 	 *
 	 * @param Model $model
-	 * @param array $settings
+	 * @param array $config
 	 * @return array
 	 */
-	protected function _normalizeFields(Model $model, $settings = array()) {
-		if (empty($settings)) {
-			$settings = $this->settings[$model->alias]['fields'];
+	protected function _normalizeFields(Model $model, $config = array()) {
+		if (empty($config)) {
+			$config = $this->settings[$model->alias]['fields'];
 		}
 		$result = array();
-		foreach ($settings as $flag => $date) {
+		foreach ($config as $flag => $date) {
 			if (is_numeric($flag)) {
 				$flag = $date;
 				$date = false;

+ 5 - 5
Model/Behavior/SortableBehavior.php

@@ -21,7 +21,7 @@ App::uses('ModelBehavior', 'Model');
  */
 class SortableBehavior extends ModelBehavior {
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'field' => 'sort',
 		'reverse' => false // To make 0 the "highest" value
 	);
@@ -30,15 +30,15 @@ class SortableBehavior extends ModelBehavior {
 	 * SortableBehavior::setup()
 	 *
 	 * @param Model $Model
-	 * @param mixed $settings
+	 * @param mixed $config
 	 * @return void
 	 */
-	public function setup(Model $Model, $settings = array()) {
+	public function setup(Model $Model, $config = array()) {
 		if (!isset($this->settings[$Model->alias])) {
-			$this->settings[$Model->alias] = $this->_defaults;
+			$this->settings[$Model->alias] = $this->_defaultConfig;
 		}
 		$this->settings[$Model->alias] = array_merge(
-		$this->settings[$Model->alias], (array)$settings);
+		$this->settings[$Model->alias], (array)$config);
 	}
 
 	/**

+ 5 - 5
Model/Behavior/TypographicBehavior.php

@@ -66,7 +66,7 @@ class TypographicBehavior extends ModelBehavior {
 		),
 	);
 
-	protected $_defaults = array(
+	protected $_defaultConfig = array(
 		'before' => 'save',
 		'fields' => array(),
 		'mergeQuotes' => false, // Set to true for " or explicitly set a char (" or ').
@@ -77,14 +77,14 @@ class TypographicBehavior extends ModelBehavior {
 	 * Available settings:
 	 *
 	 * @param object $Model Model using the behaviour
-	 * @param array $settings Settings to override for model.
+	 * @param array $config Settings to override for model.
 	 * @return void
 	 */
-	public function setup(Model $Model, $settings = array()) {
+	public function setup(Model $Model, $config = array()) {
 		if (!isset($this->settings[$Model->alias])) {
-			$this->settings[$Model->alias] = $this->_defaults;
+			$this->settings[$Model->alias] = $this->_defaultConfig;
 		}
-		$this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], $settings);
+		$this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], $config);
 
 		if (empty($this->settings[$Model->alias]['fields'])) {
 			$schema = $Model->schema();

+ 0 - 1
Test/Case/Model/Behavior/MultipleDisplayFieldsBehaviorTest.php

@@ -57,7 +57,6 @@ class MultipleDisplayFieldsBehaviorTest extends MyCakeTestCase {
 	}
 
 	public function testAdvanced() {
-		//$res = $this->Comment->find('first', array('contain' => array('User')));
 		$config = array(
 			'fields' => array(
 				$this->Comment->alias . '.comment', $this->Comment->User->alias . '.user', $this->Comment->alias . '.published'

+ 45 - 19
Test/Case/Model/Behavior/NumberFormatBehaviorTest.php

@@ -11,6 +11,7 @@ class NumberFormatBehaviorTest extends MyCakeTestCase {
 	public function setUp() {
 		parent::setUp();
 
+		Configure::delete('Localization');
 		$this->Model = ClassRegistry::init('PaymentMethod');
 
 		$this->Model->Behaviors->load('Tools.NumberFormat', array('fields' => array('rel_rate', 'set_rate'), 'output' => true));
@@ -60,8 +61,12 @@ class NumberFormatBehaviorTest extends MyCakeTestCase {
 		$this->assertSame($res[$this->Model->alias]['rel_rate'], -0.02);
 	}
 
+	/**
+	 * NumberFormatBehaviorTest::testFind()
+	 *
+	 * @return void
+	 */
 	public function testFind() {
-		//echo $this->_header(__FUNCTION__);
 		$data = array(
 			'name' => 'some Name',
 			'set_rate' => '0,1',
@@ -74,19 +79,24 @@ class NumberFormatBehaviorTest extends MyCakeTestCase {
 		// find all
 		$res = $this->Model->find('all', array('order' => array('created' => 'DESC')));
 		$this->assertTrue(!empty($res));
-		$this->assertSame(substr($res[0][$this->Model->alias]['set_rate'], 0, 4), '0,10');
-		$this->assertSame(substr($res[0][$this->Model->alias]['rel_rate'], 0, 5), '-0,02');
+		$this->assertSame('0,10', substr($res[0][$this->Model->alias]['set_rate'], 0, 4));
+		$this->assertSame('-0,02', substr($res[0][$this->Model->alias]['rel_rate'], 0, 5));
 
 		// find first
 		$res = $this->Model->find('first', array('order' => array('created' => 'DESC')));
 		$this->assertTrue(!empty($res));
-		$this->assertSame($res[$this->Model->alias]['set_rate'], '0,10');
-		$this->assertSame($res[$this->Model->alias]['rel_rate'], '-0,0200');
+		$this->assertSame('0,10', $res[$this->Model->alias]['set_rate']);
+		$this->assertSame('-0,0200', $res[$this->Model->alias]['rel_rate']);
 
 		$res = $this->Model->find('count', array());
-		$this->assertSame($res, 8);
+		$this->assertSame(8, $res);
 	}
 
+	/**
+	 * NumberFormatBehaviorTest::testStrict()
+	 *
+	 * @return void
+	 */
 	public function testStrict() {
 		$this->Model->Behaviors->unload('NumberFormat');
 		$this->Model->Behaviors->load('Tools.NumberFormat', array('fields' => array('rel_rate', 'set_rate'), 'strict' => true));
@@ -102,10 +112,15 @@ class NumberFormatBehaviorTest extends MyCakeTestCase {
 
 		$res = $this->Model->data;
 		//debug($res);
-		$this->assertSame($res[$this->Model->alias]['set_rate'], '0#1');
-		$this->assertSame($res[$this->Model->alias]['rel_rate'], -0.02);
+		$this->assertSame('0#1', $res[$this->Model->alias]['set_rate']);
+		$this->assertSame(-0.02, $res[$this->Model->alias]['rel_rate']);
 	}
 
+	/**
+	 * NumberFormatBehaviorTest::testBeforeSave()
+	 *
+	 * @return void
+	 */
 	public function testBeforeSave() {
 		$this->Model->Behaviors->unload('NumberFormat');
 		$this->Model->Behaviors->load('Tools.NumberFormat', array('fields' => array('rel_rate', 'set_rate'), 'before' => 'save', 'output' => false));
@@ -120,14 +135,19 @@ class NumberFormatBehaviorTest extends MyCakeTestCase {
 
 		$res = $this->Model->find('first', array('order' => array('created' => 'DESC')));
 		$this->assertTrue(!empty($res));
-		$this->assertSame(substr($res[$this->Model->alias]['set_rate'], 0, 4), '2.11');
-		$this->assertSame(substr($res[$this->Model->alias]['rel_rate'], 0, 5), '-1.22');
+		$this->assertSame('2.11', substr($res[$this->Model->alias]['set_rate'], 0, 4));
+		$this->assertSame('-1.22', substr($res[$this->Model->alias]['rel_rate'], 0, 5));
 	}
 
+	/**
+	 * NumberFormatBehaviorTest::testLocaleConv()
+	 *
+	 * @return void
+	 */
 	public function testLocaleConv() {
 		$res = setlocale(LC_NUMERIC, 'de_DE.utf8', 'german');
 		$this->skipIf(empty($res));
-
+		debug($res);ob_flush();
 		$this->assertTrue(!empty($res));
 
 		$this->Model->Behaviors->unload('NumberFormat');
@@ -144,8 +164,9 @@ class NumberFormatBehaviorTest extends MyCakeTestCase {
 
 		$res = $this->Model->find('first', array('conditions' => array('name' => 'german')));
 		$this->assertTrue(!empty($res));
-		$this->assertSame(substr($res[$this->Model->alias]['set_rate'], 0, 4), '3,11');
-		$this->assertSame(substr($res[$this->Model->alias]['rel_rate'], 0, 5), '-4,22');
+		//debug($res);ob_flush();
+		$this->assertSame('3,11', substr($res[$this->Model->alias]['set_rate'], 0, 4));
+		$this->assertSame('-4,22', substr($res[$this->Model->alias]['rel_rate'], 0, 5));
 
 		$res = setlocale(LC_NUMERIC, 'en_US.utf8', 'english');
 		$this->assertTrue(!empty($res));
@@ -165,10 +186,15 @@ class NumberFormatBehaviorTest extends MyCakeTestCase {
 		$res = $this->Model->find('first', array('conditions' => array('name' => 'english')));
 		//debug($res);
 		$this->assertTrue(!empty($res));
-		$this->assertSame(substr($res[$this->Model->alias]['set_rate'], 0, 4), '3.21');
-		$this->assertSame(substr($res[$this->Model->alias]['rel_rate'], 0, 5), '-4.32');
+		$this->assertSame('3.21', substr($res[$this->Model->alias]['set_rate'], 0, 4));
+		$this->assertSame('-4.32', substr($res[$this->Model->alias]['rel_rate'], 0, 5));
 	}
 
+	/**
+	 * NumberFormatBehaviorTest::testMultiply()
+	 *
+	 * @return void
+	 */
 	public function testMultiply() {
 		$this->Model->Behaviors->unload('NumberFormat');
 		$this->Model->Behaviors->load('Tools.NumberFormat', array('fields' => array('rel_rate', 'set_rate'), 'transform' => array(), 'multiply' => 0.01, 'output' => false));
@@ -185,8 +211,8 @@ class NumberFormatBehaviorTest extends MyCakeTestCase {
 		$res = $this->Model->find('first', array('conditions' => array('name' => 'multiply')));
 		//debug($res);
 		$this->assertTrue(!empty($res));
-		$this->assertSame(substr($res[$this->Model->alias]['set_rate'], 0, 4), '1.22');
-		$this->assertSame(substr($res[$this->Model->alias]['rel_rate'], 0, 5), '-0.02');
+		$this->assertSame('1.22', substr($res[$this->Model->alias]['set_rate'], 0, 4));
+		$this->assertSame('-0.02', substr($res[$this->Model->alias]['rel_rate'], 0, 5));
 
 		$this->Model->Behaviors->unload('NumberFormat');
 		$this->Model->Behaviors->load('Tools.NumberFormat', array('fields' => array('rel_rate', 'set_rate'), 'transform' => array(), 'multiply' => 0.01, 'output' => true));
@@ -194,8 +220,8 @@ class NumberFormatBehaviorTest extends MyCakeTestCase {
 		$res = $this->Model->find('first', array('conditions' => array('name' => 'multiply')));
 		//debug($res);
 		$this->assertTrue(!empty($res));
-		$this->assertSame($res[$this->Model->alias]['set_rate'], '122');
-		$this->assertSame($res[$this->Model->alias]['rel_rate'], '-2');
+		$this->assertSame('122', $res[$this->Model->alias]['set_rate']);
+		$this->assertSame('-2', $res[$this->Model->alias]['rel_rate']);
 	}
 
 }