Browse Source

Fix PHP7.3 tests.

mscherer 7 years ago
parent
commit
2c85754e0f
2 changed files with 15 additions and 9 deletions
  1. 10 8
      src/Model/Behavior/ResetBehavior.php
  2. 5 1
      src/Model/Behavior/SluggedBehavior.php

+ 10 - 8
src/Model/Behavior/ResetBehavior.php

@@ -90,6 +90,7 @@ class ResetBehavior extends Behavior {
 			'fields' => [],
 			'order' => [$this->_table->getAlias() . '.' . $this->_table->getPrimaryKey() => 'ASC'],
 			'conditions' => $this->_config['scope'],
+			'validate' => $this->_config['validate'],
 		];
 		if (!empty($this->_config['fields'])) {
 			foreach ((array)$this->_config['fields'] as $field) {
@@ -129,30 +130,31 @@ class ResetBehavior extends Behavior {
 		$modified = 0;
 		while (($records = $this->_table->find('all', $params)->toArray())) {
 			foreach ($records as $record) {
-				$fieldList = $params['fields'];
+				$fields = (array)$params['fields'];
 				if ($this->getConfig('updateFields')) {
-					$fieldList = $this->getConfig('updateFields');
+					$fields = (array)$this->getConfig('updateFields');
 					if (!$this->_config['updateTimestamp']) {
-						$fieldList = array_merge($updateFields, $fieldList);
+						$fields = array_merge($updateFields, $fields);
 					}
 				}
-				if ($fieldList && !in_array($this->_table->getPrimaryKey(), $fieldList)) {
-					$fieldList[] = $this->_table->getPrimaryKey();
+				if ($fields && !in_array($this->_table->getPrimaryKey(), $fields)) {
+					$fields[] = $this->_table->getPrimaryKey();
 				}
 
 				if ($this->_config['callback']) {
 					if (is_callable($this->_config['callback'])) {
-						$parameters = [$record, &$fieldList];
+						$parameters = [$record, &$fields];
 						$record = call_user_func_array($this->_config['callback'], $parameters);
 					} else {
-						$record = $this->_table->{$this->_config['callback']}($record, $fieldList);
+						$record = $this->_table->{$this->_config['callback']}($record, $fields);
 					}
 					if (!$record) {
 						continue;
 					}
 				}
 
-				$res = $this->_table->save($record, compact('validate', 'fieldList'));
+				$validate = $params['validate'];
+				$res = $this->_table->save($record, compact('validate', 'fields'));
 				if (!$res) {
 					throw new RuntimeException(print_r($record->getErrors(), true));
 				}

+ 5 - 1
src/Model/Behavior/SluggedBehavior.php

@@ -383,6 +383,8 @@ class SluggedBehavior extends Behavior {
 			'overwrite' => true,
 		];
 		$params = array_merge($defaults, $params);
+
+		$conditions = $params['conditions'];
 		$count = $this->_table->find('all', compact('conditions'))->count();
 		$max = ini_get('max_execution_time');
 		if ($max) {
@@ -394,9 +396,11 @@ class SluggedBehavior extends Behavior {
 			/** @var \Cake\ORM\Entity $record */
 			foreach ($records as $record) {
 				$record->isNew(true);
+
+				$fields = array_merge([$this->_table->getPrimaryKey(), $this->_config['field']], $this->_config['label']);
 				$options = [
 					'validate' => true,
-					'fieldList' => array_merge([$this->_table->getPrimaryKey(), $this->_config['field']], $this->_config['label'])
+					'fields' => $fields,
 				];
 				if (!$this->_table->save($record, $options)) {
 					throw new RuntimeException(print_r($record->getErrors(), true));