[Outdated]: Menalto Gallery2 To Coppermine Converter - Page 2 [Outdated]: Menalto Gallery2 To Coppermine Converter - Page 2
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

[Outdated]: Menalto Gallery2 To Coppermine Converter

Started by Aditya Mooley, September 16, 2005, 11:09:23 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Aditya Mooley

Import script URL is of no use for us, since it requires ADMIN mode.
The error you are getting is not because of the import script. The add_picture function of Coppermine is unable to put the image in database.
Have you followed the instructions given in my first post? If yes, then you need to debug that function some more and see where exactly it fails.

To start with open include/picmgmt.inc.php
Find

return $result;


and add the following just before it

echo "<br />Adding Picture to database: $query";


Paste the result here.
--- "Its Nice 2 BE Important but its more Important 2 Be NICE" ---
Follow Coppermine on Twitter

anarcat

i had an album named "sansemploi" (nevermind the name) within a "shows" album in gallery. the script couldn't find it. i've done a symlink to workaround the problem, but i think it's a bug.

that's without mentionning the fact it took me around an hour to figure out that the script was failing to copy the images because i didn't setup the images path properly... here's the patch i've applied to the script to debug it:

note the mkdir() && false to avoid panicing when the directory already exists, since i was testing over and over again. :)

@@ -40,7 +40,7 @@
  * This must be the value after last slash.
  * ex. if value is -> /home/httpd/html/gallery2/g2images then enter just -> gallery2
  */
-$galleryAlbPath = "g2images";
+$galleryAlbPath = "../g2data";

pageheader("Import Albums from Menalto Gallery2");
//We need to flush periodically, so output buffering disabled.
@@ -131,7 +131,7 @@
   }

   list($galAlbum, $albumName)= explode ('^', $_POST['galAlbum']);
-  if (!@mkdir ($CONFIG['fullpath']."/".$albumName, 0777)) {
+  if (!@mkdir ($CONFIG['fullpath']."/".$albumName, 0777) && false) {
     echo "<br />Unable to create album directory. Directory with the same name <b>".$CONFIG['fullpath'].$albumName."</b> already exists. Exiting ...<br />";
     endtable();
     pagefooter();
@@ -179,21 +179,25 @@
     }
     while ($row = mysql_fetch_array($result)) {
       $itemid = $row["{$cp}id"];
-      $imageFullName = $row["{$cp}pathComponent"];
-      $imageTitle = $row["{$cp}title"];
-      $imageCaption = $row["{$cp}description"];
+      $imageFullName = addslashes($row["{$cp}pathComponent"]);
+      $imageTitle = addslashes($row["{$cp}title"]);
+      $imageCaption = addslashes($row["{$cp}description"]);
       $viewCount = $row["{$cp}viewCount"];

       $source = "$galleryPath/$galleryAlbPath/albums/";
       $source .= ($albumName != 'Base') ? "$albumName/" : '';
       $source .= $imageFullName;
       $target = $CONFIG['fullpath'].$albumName."/$imageFullName";
-      //echo "<BR>IMAGE: SRC -> $source&nbsp;&nbsp;&nbsp;TGT -> $target<BR>";
+      echo "<BR>IMAGE: SRC -> $source&nbsp;&nbsp;&nbsp;TGT -> $target<BR>";
       flush();

-      @copy($source, $target);
+      if (!copy($source, $target)) {
+       echo "failed to copy $source to $target";
+      }

       //Call add_picture
+      flush();
+     
       $result1 = add_picture ($aid, $albumName."/", $imageFullName, '', $imageTitle, $imageCaption, $imageKeywords, '', '', '', '', 0, $raw_ip, $hdr_ip, $viewCount);

       if ($result1) {

radianation

What if I've since bridged G2 to Joomla? Can I use Coppermine bridge with Joomla to resync the users?

Aditya Mooley

This convertor doesn't resync users. It copies albums in G2 to Coppermine.
If you are looking for something different then start a new thread in a relevant board.
--- "Its Nice 2 BE Important but its more Important 2 Be NICE" ---
Follow Coppermine on Twitter

salewit

Not sure why nobody spotted this. I've got Gallery 2.1.2 and Coppermine 1.4.9.

The script can't find ANY images. When I turn on debug mode, I see that it's looking in the wrong place. My Gallery site has albums WITHIN albums and stores folders within folders, but this script is always looking in the root of the give data folder.


g2data/albums/MainAlbum1
g2data/albums/MainAlbum1/SubsetAlbums1
g2data/albums/MainAlbum1/SubsetAlbums2
g2data/albums/MainAlbum1/SubsetAlbums3
g2data/albums/MainAlbum2
g2data/albums/MainAlbum2/SubsetAlbums1
g2data/albums/MainAlbum2/SubsetAlbums2
etc.

But the script is looking for the images as:

g2data/albums/MainAlbum1
g2data/albums/SubsetAlbums1
g2data/albums/SubsetAlbums2
g2data/albums/SubsetAlbums3
g2data/albums/MainAlbum2
g2data/albums/SubsetAlbums1
g2data/albums/SubsetAlbums2
etc.



Warning line 194: copy(/home/www/gallery2/g2data/albums/USRailroads/3644.jpg) [function.copy]: failed to open stream: No such file or directory

^ The "USRailroads" album is under the "WorldRailroads", so the above line should read:
copy(/home/www/gallery2/g2data/albums/WorldRailroads/USRailroads/3644.jpg)

Maybe Gallery changed their ways. Any easy fix for this?

running_around

This is a very basic question. I have made the changes to the code, as suggested, and then what? How do I actually run this script? Nothing happens when I log in as admin. Where do I go? Anyone?

Aditya Mooley

--- "Its Nice 2 BE Important but its more Important 2 Be NICE" ---
Follow Coppermine on Twitter

iwindsurf.co.uk

Quote from: salewit on October 16, 2006, 03:22:32 AM

The script can't find ANY images. When I turn on debug mode, I see that it's looking in the wrong place. My Gallery site has albums WITHIN albums and stores folders within folders, but this script is always looking in the root of the give data folder.

I am finding that I have to move all my galleries in gallery2 up to the root/base gallery before they will succesfully import - I intend to have a mooch through the code to see if I can find a way of altering it as I have quite a few levels of galleries....
will report back here if I am successful

I also changed the code for the albums drop down menu as the importer was using the album name which used to be the directory name in gallery 1.5 - eg album14 when all the views in the actual gallery quote the title - making it hard to know which gallery you were selecting....

new code almost at bottom of the file....

$query = "SELECT i.{$cp}id, i.{$cp}title, fs.{$cp}pathComponent
            FROM
              {$tp}Item i, {$tp}FileSystemEntity fs
            WHERE
              i.{$cp}canContainChildren = 1 AND
              i.{$cp}id = fs.{$cp}id
           ";
  $result = mysql_query($query, $link);
  $albumArr[$parentAlbum] = 'Base';
  $optionStr = '';
  while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    $albumName = $row[2] ? $row[2] : 'Base';
    $albumTitle = $row[1] ? $row[1] : 'Base';
$optionStr .= "<option value='$row[0]^$albumName'>$albumTitle</option>";
  }

iwindsurf.co.uk

I have now made further alterations to the file so that it will import sub albums from gallery2 into the root/base of coppermine  :)
I'm sure it's the worst code you've ever seen but it seems to be functioning  ::) - after all I only need to use it this once and hopefully never again....
I have included most of the alterations described above. 

ncvettes

Will this work for 1.4.10?

iwindsurf: Have the issues been completely resolved for locating albums?

And lastly: G2's album structure is great (creates folder names of all albums from title...great for organizing/archiving stuff). Will this converter retain those user's directory names?

Tnx in advance.

SlaveToThis

I have 1.4.10 and Gallery2.1 and cannot get the convertor to work.
What happens is when I try and enter the path it just goes back to that screen again.

I'm not sure what it is looking for but it obviously doesn't seem to find it.

Aditya Mooley

Not yet tested with both these versions yet. So can't say anything right now. Will have to check it first.
--- "Its Nice 2 BE Important but its more Important 2 Be NICE" ---
Follow Coppermine on Twitter

alienex

Hi there!

Would be very interested in this as well. The script just reloads currently with 1.4.10

Thanks

Poncherelly

Quote from: radianation on May 13, 2006, 09:16:07 AM
Are there any plans to have a more powerful converter? I have several coppermine galleries and made the mistake of starting a new gallery for a client in Gallery2 instead of Coppermine. Now I want to convert it, but each user has an extensive gallery created with their own files etc, so this converter doesn't really solve my problem.

Sorry if this is clearer to others, but will this importer tool import just the top layer or all layers beneath?
eg
Main
-->Album1
          -->subalbum1
          -->subalbum2
-->Album2
          -->subalbum3
          -->subalbum3

Will this import every album under main or do I have to perform the import for each album within the album?

Alan S

I keep getting errors when trying to convert G2 to Coppermine.


I have the script set up correctly and the correct edits to the files ( Well not the exact ones since some of the code did not match )

In the picmgmt.inc.php file i found

$query = "INSERT INTO {$CONFIG['TABLE_PICTURES']} (aid, filepath, filename, filesize, total_filesize, pwidth, pheight, ctime, owner_id, owner_name, title, caption, keywords, approved, user1, user2, user3, user4, pic_raw_ip, pic_hdr_ip, position) VALUES ('{$CURRENT_PIC_DATA['aid']}', '" . addslashes($CURRENT_PIC_DATA['filepath']) . "', '" . addslashes($CURRENT_PIC_DATA['filename']) . "', '{$CURRENT_PIC_DATA['filesize']}', '{$CURRENT_PIC_DATA['total_filesize']}', '{$CURRENT_PIC_DATA['pwidth']}', '{$CURRENT_PIC_DATA['pheight']}', '" . time() . "', '{$CURRENT_PIC_DATA['owner_id']}', '{$CURRENT_PIC_DATA['owner_name']}','{$CURRENT_PIC_DATA['title']}', '{$CURRENT_PIC_DATA['caption']}', '{$CURRENT_PIC_DATA['keywords']}', '{$CURRENT_PIC_DATA['approved']}', '{$CURRENT_PIC_DATA['user1']}', '{$CURRENT_PIC_DATA['user2']}', '{$CURRENT_PIC_DATA['user3']}', '{$CURRENT_PIC_DATA['user4']}', '{$CURRENT_PIC_DATA['pic_raw_ip']}', '{$CURRENT_PIC_DATA['pic_hdr_ip']}', '{$CURRENT_PIC_DATA['position']}')";


And replace it with

$query = "INSERT INTO {$CONFIG['TABLE_PICTURES']} (aid, filepath, filename, filesize, total_filesize, pwidth, pheight, ctime, owner_id, owner_name, title, caption, keywords, approved, user1, user2, user3, user4, pic_raw_ip, pic_hdr_ip, position, hits) VALUES ('{$CURRENT_PIC_DATA['aid']}', '" . addslashes($CURRENT_PIC_DATA['filepath']) . "', '" . addslashes($CURRENT_PIC_DATA['filename']) . "', '{$CURRENT_PIC_DATA['filesize']}', '{$CURRENT_PIC_DATA['total_filesize']}', '{$CURRENT_PIC_DATA['pwidth']}', '{$CURRENT_PIC_DATA['pheight']}', '" . time() . "', '{$CURRENT_PIC_DATA['owner_id']}', '{$CURRENT_PIC_DATA['owner_name']}','{$CURRENT_PIC_DATA['title']}', '{$CURRENT_PIC_DATA['caption']}', '{$CURRENT_PIC_DATA['keywords']}', '{$CURRENT_PIC_DATA['approved']}', '{$CURRENT_PIC_DATA['user1']}', '{$CURRENT_PIC_DATA['user2']}', '{$CURRENT_PIC_DATA['user3']}', '{$CURRENT_PIC_DATA['user4']}', '{$CURRENT_PIC_DATA['pic_raw_ip']}', '{$CURRENT_PIC_DATA['pic_hdr_ip']}', '{$CURRENT_PIC_DATA['position']}', '$hits')";
   


Which isnt the exact instruction but it was the closest code i could find.

I am using the latest version of coppermine , And G2

When i try to import any album i get

QuoteAlbum directory trugrit_gallery created...
parent filepath =

Album created...
Importing images

Q: SELECT i.*, fs.g_pathComponent, ia.g_viewCount FROM g2_Item i, g2_ChildEntity ce, g2_FileSystemEntity fs, g2_ItemAttributesMap ia WHERE ce.g_id = i.g_id AND i.g_id = fs.g_id AND ia.g_itemId = i.g_id AND ce.g_parentId = '19' AND i.g_canContainChildren = 0

IMAGE: SRC -> /kunden/homepages/34/d118462030/htdocs/html/G2/gallery2//homepages/34/d118462030/htdocs/html/G2_data//albums//trugrit_gallery/mini-_POR5630.JPG   TGT -> albums/trugrit_gallery/mini-_POR5630.JPG
failed to copy /kunden/homepages/34/d118462030/htdocs/html/G2/gallery2//homepages/34/d118462030/htdocs/html/G2_data//albums//trugrit_gallery/mini-_POR5630.JPG to albums/trugrit_gallery/mini-_POR5630.JPG
Unable to insert file mini-_POR5630.JPG. Skipping...

IMAGE: SRC -> /kunden/homepages/34/d118462030/htdocs/html/G2/gallery2//homepages/34/d118462030/htdocs/html/G2_data//albums//trugrit_gallery/resized_POR5702.jpg   TGT -> albums/trugrit_gallery/resized_POR5702.jpg
failed to copy /kunden/homepages/34/d118462030/htdocs/html/G2/gallery2//homepages/34/d118462030/htdocs/html/G2_data//albums//trugrit_gallery/resized_POR5702.jpg to albums/trugrit_gallery/resized_POR5702.jpg
Unable to insert file resized_POR5702.jpg. Skipping...

IMAGE: SRC -> /kunden/homepages/34/d118462030/htdocs/html/G2/gallery2//homepages/34/d118462030/htdocs/html/G2_data//albums//trugrit_gallery/resized_POR5646.jpg   TGT -> albums/trugrit_gallery/resized_POR5646.jpg
failed to copy /kunden/homepages/34/d118462030/htdocs/html/G2/gallery2//homepages/34/d118462030/htdocs/html/G2_data//albums//trugrit_gallery/resized_POR5646.jpg to albums/trugrit_gallery/resized_POR5646.jpg
Unable to insert file resized_POR5646.jpg. Skipping...

IMAGE: SRC -> /kunden/homepages/34/d118462030/htdocs/html/G2/gallery2//homepages/34/d118462030/htdocs/html/G2_data//albums//trugrit_gallery/_POR5503 _402 x 601_.jpg   TGT -> albums/trugrit_gallery/_POR5503 _402 x 601_.jpg
failed to copy /kunden/homepages/34/d118462030/htdocs/html/G2/gallery2//homepages/34/d118462030/htdocs/html/G2_data//albums//trugrit_gallery/_POR5503 _402 x 601_.jpg to albums/trugrit_gallery/_POR5503 _402 x 601_.jpg
Unable to insert file _POR5503 _402 x 601_.jpg. Skipping...


Successfully imported album trugrit_gallery from Gallery2 to Coppermine

There are plenty more of the "Unable to insert file errors" but i cut it down because of the max post restriction on these forums.

Help would be appreciated!

- Alan S

nickjo


Aditya Mooley

Post your Gallery and Coppermine versions. I will see if I can do something.
--- "Its Nice 2 BE Important but its more Important 2 Be NICE" ---
Follow Coppermine on Twitter

nickjo

The Gallery is version 2.0

==========================
VERSION INFO :
------------------
PHP version: 4.4.7 - OK
------------------
mySQL version: 4.1.22-standard-log
------------------
Coppermine version: 1.4.16(stable)
==========================
Module: GD
------------------
GD Version: bundled (2.0.28 compatible)
FreeType Support: 1
FreeType Linkage: with freetype
T1Lib Support:
GIF Read Support: 1
GIF Create Support: 1
JPG Support: 1
PNG Support: 1
WBMP Support: 1
XBM Support: 1
JIS-mapped Japanese Font Support:

nickjo

To be specific:

Gallery version = 2.2.1 core 1.2.0.1

Aditya Mooley

--- "Its Nice 2 BE Important but its more Important 2 Be NICE" ---
Follow Coppermine on Twitter