Forum
Ghost images in gallery?
I have a gallery which I'm trying to sort on a webpage by one of the image fields using <perch if: different> on a small template to generate a list of the different "categories" of image. I was getting some repeated results at the end of the list so I tried to debug and found that perch_gallery_images() is returning some empty results in between the last couple of images in the gallery and hence creating false positives for <perch if: different>.
Indeed, there are 36 returns for a gallery of 33 images. I never noticed before because this site usually filters the gallery by an "include" field.
Is this normal behaviour? Might these be photos that were previously deleted? Is there a way round this? Apologies if I'm being stupid in some way I haven't realised...
Please post your Diagnostic Report and the relevant template so we can take a look.
Perch: 2.8.7, PHP: 5.6.8, MySQL: mysqlnd 5.0.11-dev - 20120503 - $Id: 3c688b6bbc30d36af3ac34fdd4b7b5b787fe5555 $, with PDO Server OS: Linux, cgi-fcgi Installed apps: content (2.8.7), assets (2.8.7), categories (2.8.7), perch_blog (4.1), perch_gallery (2.8.6) App runtimes: <?php include(PERCH_PATH.'/core/apps/content/runtime.php'); include(PERCH_PATH.'/addons/apps/perch_gallery/runtime.php'); include(PERCH_PATH.'/addons/apps/perch_blog/runtime.php'); include(PERCH_PATH.'/core/apps/categories/runtime.php'); ?> PERCH_LOGINPATH: /perch PERCH_PATH: /customers/b/4/3/owainbrowne.com/httpd.www/perch PERCH_CORE: /customers/b/4/3/owainbrowne.com/httpd.www/perch/core PERCH_RESFILEPATH: /customers/b/4/3/owainbrowne.com/httpd.www/perch/resources Image manipulation: GD PHP limits: Max upload 96M, Max POST 96M, Memory: 128M, Total max file upload: 96M Resource folder writeable: Yes SCRIPT_NAME: /perch/core/settings/diagnostics/index.php REQUEST_URI: /perch/core/settings/diagnostics/ HTTP_HOST: owainbrowne.com DOCUMENT_ROOT: /customers/b/4/3/owainbrowne.com/httpd.www
That's the relevant part of the template - not how I will actually use it but for debugging after finding the problem... this is what showed me the empty images in the gallery...
This is how the page is accessing the gallery:
www.owainbrowne.com/picturestest.php if you're interested!
Sorry for the multiple posts but I should just add that the admin interface does in fact say there are 36 images though there are only 33 when you click through to the album listing... I just never actually counted before!
Did you have any failures when uploading?
The nature of how uploads can fail (PHP running out of memory and completely stopping) can mean that sometimes things get left in a mess.
Somewhere in the upgrade cycle things were broken for a while and I was unable to upload new images or save changes to old ones. I thought I'd broken a template at the time. Was on perch 2.3 and the last but one gallery... upgraded to latest Perch with no joy but then also to latest gallery and all was well again. Likely something got fudged in the process...
Is there any simple way I could list all the image ids in the database then compare them with the actual entries and delete the rogue ones manually? It would be quite a hassle to rebuild the album from scratch...
In your
perch2_gallery_images
do any have animageStatus
of anything other thanactive
?No, but there are 3 with imageDynamicFields as NULL... and their imageOrder numbers put them in the right part of the album to break what I was trying to do...
Edit: they actually have the same imageOrder as the last 3 images of the gallery... (I didn't notice this because I'm in Australia at the moment and it's late.)
Is it safe just to delete them from the database?
Edit again: well with a backup of the database I took the risk and all appears well now... thank you for pointing me in the right direction. I sort of expected with perch having developed so much since I last spent any time playing with it that this level of customer support might have dropped off... really grateful that it hasn't!
Yes, that should be perfectly safe!