Forums / Setup & design / "Old" images disappear in new image system

"Old" images disappear in new image system

Author Message

Felix Laate

Monday 26 April 2004 1:07:31 am

Hi all!

I upgraded a 3.2-4 system to 3.3-4, and all works well except for the fact that all the "old" images are "lost". In the output-xhtml they are reduced to

<img src= />

.

New images can be upload and are displayed as normal.

I've searched the fora and documentation, and I found many questions but not the final answer. Is there a solution? Or will I have to re-upload all the images, and edit all the articles? Or even downgrade?

Any help is appreciated!

Felix

Publlic Relations Manager
Greater Stavanger
www.greaterstavanger.com

Marcus Ilgner

Monday 26 April 2004 3:44:47 am

Hi Felix,

this is because of the new directory structure in var/<yourdesign>/storage. I wrote this small script (runs on Linux only, I fear, but migration should be fairly easy) to migrate the old structure into the new hierarchy. Take a look at it and maybe comment out copy() and mkdirs() on the first run.
Also make sure to run the cleanup script beforehand.

#!/usr/bin/php4
<?php
        function mkdirs($mode, $path)
        {
                exec("mkdir -m $mode -p $path");
        }
                                                                                                                            
        $server = "localhost";
        $user = "ezpublish"; // put your mysql-user here
        $password = "password"; // put your password here
        $database = "ez"; // put your database name here
        $baseDir = "var/mydesign/storage/"; // change design name here
                                                                                                                            
        //connect
        $connection = mysql_connect( $server, $user, $password, false );
        mysql_select_db( $database );
                                                                                                                            
        //find all ezimage attributes
        $result = mysql_query( "SELECT id, language_code, version, contentobject_id FROM ezcontentobject_attribute WHERE da
                                                                                                                            
        //enumerate all images
        while( ($data = mysql_fetch_assoc( $result )) != false )
        {
                //attribute
                $attribute_id = $data["id"];
                $version_number = $data["version"];
                $language_code = $data[ "language_code" ];
                $object_id = $data["contentobject_id"];
                                                                                                                            
                //old filename
                $subresult = mysql_query( "SELECT filename FROM ezimage WHERE contentobject_attribute_id=$attribute_id AND
                $row = mysql_fetch_row( $subresult );
                $old_filename = $row[0];
                $oldDir = $baseDir . "original/image/" . $old_filename;
                                                                                                                            
                //build new filename
                $subresult = mysql_query( "SELECT path_identification_string FROM ezcontentobject_tree WHERE contentobject_
                $row = mysql_fetch_row( $subresult );
                $path_string = $row[0];
                $newDir = "images/" . $path_string . "/" . $attribute_id . "-" . $version_number . "-" . $language_code;
                                                                                                                            
                printf("Creating dir %s\n", $newDir );
                mkdirs( 0770, $newDir );
                                                                                                                            
                $asPath = explode( "/", $newDir );
                                                                                                                            
                $newFile = $newDir . "/" . $asPath[ count( $asPath ) - 2 ] . "1.jpg";
                                                                                                                            
                //copy file
                copy( $oldDir, $newFile );
                printf( "Copying \"%s\" to \"%s\"\n", $oldDir, $newFile );
        }
                                                                                                                            
        mysql_close( $connection );
?>

After running this script, just clear the cache and visit the site. The database should then get updated automagically.

Greetings
Marcus

Chris Anderson

Wednesday 28 April 2004 11:58:42 am

Marcus,

I am trying to run this script you have provided and noticed that the code has been truncated to fit within the window. Could you please repost the script for the missing sql SELECT statements?

TIA

-Chris

eZ debug

Timing: Jan 18 2025 21:18:27
Script start
Timing: Jan 18 2025 21:18:27
Module start 'content'
Timing: Jan 18 2025 21:18:28
Module end 'content'
Timing: Jan 18 2025 21:18:28
Script end

Main resources:

Total runtime0.9082 sec
Peak memory usage4,096.0000 KB
Database Queries196

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0068 588.9766180.8125
Module start 'content' 0.00680.7652 769.7891589.5859
Module end 'content' 0.77200.1362 1,359.3750337.0547
Script end 0.9081  1,696.4297 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00400.4446210.0002
Check MTime0.00150.1600210.0001
Mysql Total
Database connection0.00060.069010.0006
Mysqli_queries0.838992.37341960.0043
Looping result0.00200.22511940.0000
Template Total0.879396.820.4397
Template load0.00210.232520.0011
Template processing0.877296.588020.4386
Template load and register function0.00010.011110.0001
states
state_id_array0.00100.104910.0010
state_identifier_array0.00080.087620.0004
Override
Cache load0.00170.1915250.0001
Sytem overhead
Fetch class attribute can translate value0.00110.125240.0003
Fetch class attribute name0.00100.110340.0003
XML
Image XML parsing0.00110.120840.0003
class_abstraction
Instantiating content class attribute0.00000.000940.0000
General
dbfile0.00210.2299270.0001
String conversion0.00000.001330.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
1content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
3content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
7content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
2content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
2content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 17
 Number of unique templates used: 7

Time used to render debug report: 0.0002 secs