Browse Source

KeyValueBehavior

euromark 13 years ago
parent
commit
30d930c380
2 changed files with 8 additions and 2 deletions
  1. 1 1
      Console/Command/FolderSyncShell.php
  2. 7 1
      Model/Behavior/KeyValueBehavior.php

+ 1 - 1
Console/Command/FolderSyncShell.php

@@ -144,7 +144,7 @@ class FolderSyncShell extends AppShell {
 			}
 			}
 			return;
 			return;
 		}
 		}
-		if (file_get_contents($source) === file_get_contents($target)) {
+		if (sha1(file_get_contents($source)) === sha1(file_get_contents($target))) {
 			if (!empty($this->params['verbose'])) {
 			if (!empty($this->params['verbose'])) {
 				$this->out('   (equal, skipping)');
 				$this->out('   (equal, skipping)');
 			}
 			}

+ 7 - 1
Model/Behavior/KeyValueBehavior.php

@@ -130,7 +130,13 @@ class KeyValueBehavior extends ModelBehavior {
 					'recursive' => -1,
 					'recursive' => -1,
 					'conditions' => array($foreignKeyField => $foreignKey, $keyField => $key),
 					'conditions' => array($foreignKeyField => $foreignKey, $keyField => $key),
 					'fields' => array('id')));
 					'fields' => array('id')));
-				$newDetail[$this->KeyValue->alias]['id'] = $tmp[$this->KeyValue->alias]['id'];
+
+				if ($tmp) {
+					$newDetail[$this->KeyValue->alias]['id'] = $tmp[$this->KeyValue->alias]['id'];
+				} else {
+					$this->KeyValue->create();
+				}
+
 				$newDetail[$this->KeyValue->alias][$foreignKeyField] = $foreignKey;
 				$newDetail[$this->KeyValue->alias][$foreignKeyField] = $foreignKey;
 				$newDetail[$this->KeyValue->alias][$keyField] = $key;
 				$newDetail[$this->KeyValue->alias][$keyField] = $key;
 				$newDetail[$this->KeyValue->alias][$valueField] = $value;
 				$newDetail[$this->KeyValue->alias][$valueField] = $value;