Skip to content

Commit

Permalink
ENHANCEMENT Allow disabling of File::updateFilesystem() which is useful
Browse files Browse the repository at this point in the history
for manually managing the filesystem paths instead. Defaults to on, but
useful to turn off when loading File records in a YAML fixture for test
data.
  • Loading branch information
Sean Harvey committed Mar 14, 2012
1 parent f8d38a3 commit 7f60ced
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions filesystem/File.php
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,8 @@ class File extends DataObject {
*/
public static $apply_restrictions_to_admin = true;


public static $update_filesystem = true;

/**
* Cached result of a "SHOW FIELDS" call
* in instance_get() for performance reasons.
Expand Down Expand Up @@ -476,6 +477,8 @@ protected function onAfterWrite() {
* (it might have been influenced by {@link setName()} or {@link setParentID()} before).
*/
public function updateFilesystem() {
if(!self::$update_filesystem) return false;

// Regenerate "Filename", just to be sure
$this->setField('Filename', $this->getRelativePath());

Expand Down Expand Up @@ -511,7 +514,7 @@ public function updateFilesystem() {
// Only check if we're dealing with a file, otherwise the folder will need to be created
if(!file_exists(dirname($pathAfterAbs))) throw new Exception("Cannot move $pathBefore to $pathAfter - Directory " . dirname($pathAfter) . " doesn't exist");
}

// Rename file or folder
$success = rename($pathBeforeAbs, $pathAfterAbs);
if(!$success) throw new Exception("Cannot move $pathBeforeAbs to $pathAfterAbs");
Expand Down

0 comments on commit 7f60ced

Please sign in to comment.