From 3620df52f8c6cafc4664ceaee95f2b0417d6eb75 Mon Sep 17 00:00:00 2001 From: Bertrand Dunogier Date: Mon, 29 Apr 2013 16:20:35 +0200 Subject: [PATCH 1/5] EZP-20787: changed require to require_once --- update/common/scripts/5.1/fiximagesoutsidevardir.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update/common/scripts/5.1/fiximagesoutsidevardir.php b/update/common/scripts/5.1/fiximagesoutsidevardir.php index 9cd92c3469e..5f4b8581557 100644 --- a/update/common/scripts/5.1/fiximagesoutsidevardir.php +++ b/update/common/scripts/5.1/fiximagesoutsidevardir.php @@ -14,7 +14,7 @@ * database references to the new path */ -require 'autoload.php'; +require_once 'autoload.php'; $cli = eZCLI::instance(); From de95cea8749ae6bf354f73e4b05cbecc8cb120e6 Mon Sep 17 00:00:00 2001 From: Bertrand Dunogier Date: Mon, 29 Apr 2013 16:24:38 +0200 Subject: [PATCH 2/5] EZP-20787: CS --- update/common/scripts/5.1/fiximagesoutsidevardir.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update/common/scripts/5.1/fiximagesoutsidevardir.php b/update/common/scripts/5.1/fiximagesoutsidevardir.php index 5f4b8581557..9647b6934df 100644 --- a/update/common/scripts/5.1/fiximagesoutsidevardir.php +++ b/update/common/scripts/5.1/fiximagesoutsidevardir.php @@ -93,7 +93,7 @@ $renamedFiles[$imageAttributeId][$filePath] = $newPath; } -foreach( $renamedFiles as $attributeId => $files ) +foreach ( $renamedFiles as $attributeId => $files ) { $attributeObjects = eZContentObjectAttribute::fetchObjectList( eZContentObjectAttribute::definition(), From 797af4e29266bf4184ac2ef7d407938fd75c3748 Mon Sep 17 00:00:00 2001 From: Bertrand Dunogier Date: Mon, 29 Apr 2013 16:24:49 +0200 Subject: [PATCH 3/5] EZP-20787: Removed unused function --- .../common/scripts/5.1/fiximagesoutsidevardir.php | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/update/common/scripts/5.1/fiximagesoutsidevardir.php b/update/common/scripts/5.1/fiximagesoutsidevardir.php index 9647b6934df..6372cb78bfa 100644 --- a/update/common/scripts/5.1/fiximagesoutsidevardir.php +++ b/update/common/scripts/5.1/fiximagesoutsidevardir.php @@ -139,17 +139,3 @@ eZContentCacheManager::clearAllContentCache(); $script->shutdown(); - -/** - * Updates the image node $node that references $oldPath to reference $newPath (url & dirpath attributes) - */ -function updateDomImage( DOMNode $node, $oldPath, $newPath ) -{ - if ( $node->getAttribute( 'url' ) == $oldPath ) - { - $node->setAttribute( 'url', $newPath ); - $node->setAttribute( 'dirpath', dirname( $newPath ) ); - return true; - } - return false; -} From c81d11b59ae5df0ee2493a950e93320ce7a3cf7b Mon Sep 17 00:00:00 2001 From: Bertrand Dunogier Date: Mon, 29 Apr 2013 18:15:14 +0200 Subject: [PATCH 4/5] Fixed EZP-20787: Improve update script fiximagesoutsidevardir.php If the var folder was renamed after the setting was changed, the database contains references to imates in the old path. The update script is now able to detect this, and will update the database references without trying to move the files. --- .../scripts/5.1/fiximagesoutsidevardir.php | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/update/common/scripts/5.1/fiximagesoutsidevardir.php b/update/common/scripts/5.1/fiximagesoutsidevardir.php index 6372cb78bfa..8bee783d9d4 100644 --- a/update/common/scripts/5.1/fiximagesoutsidevardir.php +++ b/update/common/scripts/5.1/fiximagesoutsidevardir.php @@ -62,6 +62,8 @@ foreach ( $rows as $row ) { + $moveFile = true; + $filePath = $row['filepath']; $imageAttributeId = $row['contentobject_attribute_id']; $cli->output( "- $filePath" ); @@ -72,15 +74,28 @@ strpos( $filePath, 'storage/images/' ) ); + $newPath = $varDir . $relativePath; + if ( !$clusterHandler->fileExists( $filePath ) ) { - $cli->output( " File doesn't exist, skipping" ); - continue; + if ( $clusterHandler->fileExists( $newPath ) ) + { + $moveFile = false; + $cli->output( " File is already in the correct directory, updating references" ); + } + else + { + $cli->output( " File doesn't exist, skipping" ); + continue; + } + } + else + { + $moveFiles = true; + $cli->output( " Moving file to $newPath" ); } - $newPath = $varDir . $relativePath; - $cli->output( " Moving file to $newPath" ); - if ( !$optDryRun ) + if ( !$optDryRun && $moveFile ) { $clusterHandler->fileMove( $filePath, $newPath ); $db->query( "UPDATE ezimagefile SET filepath = '$newPath' WHERE contentobject_attribute_id = $imageAttributeId" ); From 6326e45ad76f26882850311d2440c90a085b1f44 Mon Sep 17 00:00:00 2001 From: Bertrand Dunogier Date: Tue, 30 Apr 2013 02:29:08 +0200 Subject: [PATCH 5/5] EZP-20787: cleanup --- update/common/scripts/5.1/fiximagesoutsidevardir.php | 1 - 1 file changed, 1 deletion(-) diff --git a/update/common/scripts/5.1/fiximagesoutsidevardir.php b/update/common/scripts/5.1/fiximagesoutsidevardir.php index 8bee783d9d4..401c401bcac 100644 --- a/update/common/scripts/5.1/fiximagesoutsidevardir.php +++ b/update/common/scripts/5.1/fiximagesoutsidevardir.php @@ -91,7 +91,6 @@ } else { - $moveFiles = true; $cli->output( " Moving file to $newPath" ); }