diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2012-05-01 21:48:35 +0200 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2012-05-01 21:48:35 +0200 |
| commit | b06abebda261ebecd52c6c32e762ccf14e24cdbf (patch) | |
| tree | 7c04f59f39f1655913ffee5cee13a840c6ea1117 /src/phorkie/Repository/Post.php | |
| parent | fce55a36d47a9783e631a78925f2ad1b28dbe555 (diff) | |
| download | phorkie-b06abebda261ebecd52c6c32e762ccf14e24cdbf.tar.gz phorkie-b06abebda261ebecd52c6c32e762ccf14e24cdbf.zip | |
index pastes when they change/get created
Diffstat (limited to 'src/phorkie/Repository/Post.php')
| -rw-r--r-- | src/phorkie/Repository/Post.php | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/phorkie/Repository/Post.php b/src/phorkie/Repository/Post.php index fa356ee..633fb27 100644 --- a/src/phorkie/Repository/Post.php +++ b/src/phorkie/Repository/Post.php @@ -26,9 +26,15 @@ class Repository_Post } $vc = $this->repo->getVc(); - $this->repo->setDescription($postData['description']); + $bChanged = false; + $bCommit = false; + if ($postData['description'] != $this->repo->getDescription()) { + $this->repo->setDescription($postData['description']); + $bChanged = true; + } + foreach ($postData['files'] as $num => $arFile) { $bUpload = false; if ($_FILES['files']['error'][$num]['upload'] == 0) { @@ -74,7 +80,7 @@ class Repository_Post ->addArgument($orignalName) ->addArgument($name) ->execute(); - $bChanged = true; + $bCommit = true; } else { $name = $orignalName; } @@ -85,7 +91,7 @@ class Repository_Post $command = $vc->getCommand('rm') ->addArgument($file->getFilename()) ->execute(); - $bChanged = true; + $bCommit = true; } else if ($bUpload) { move_uploaded_file( $_FILES['files']['tmp_name'][$num]['upload'], $file->getFullPath() @@ -93,22 +99,30 @@ class Repository_Post $command = $vc->getCommand('add') ->addArgument($file->getFilename()) ->execute(); - $bChanged = true; + $bCommit = true; } else if ($bNew || (isset($arFile['content']) && $file->getContent() != $arFile['content'])) { file_put_contents($file->getFullPath(), $arFile['content']); $command = $vc->getCommand('add') ->addArgument($file->getFilename()) ->execute(); - $bChanged = true; + $bCommit = true; } } - if ($bChanged) { + if ($bCommit) { $vc->getCommand('commit') ->setOption('message', '') ->setOption('allow-empty-message') ->setOption('author', 'Anonymous <anonymous@phorkie>') ->execute(); + $bChanged = true; + } + + if ($bChanged) { + //FIXME: index changed files only + //also handle file deletions + $db = new Database(); + $db->getIndexer()->updateRepo($this->repo); } return true; |
