Support community for TTG plugins and products.
NOTICE
The Turning Gate's Community has moved to a new home, at https://discourse.theturninggate.net.
This forum is now closed, and exists here as a read-only archive.
You are not logged in.
Thanks Rod. js
Thanks Ben! As is obvious, I haven't been diligent about updates. I keep meaning to transition to Backlight (which I purchased when it first came out), but I just haven't done that either. Are there perhaps consultants who can assist in moving over from CE4 to Backlight?
js
So my host confirmed that they updated php, and also that they are phasing out 5.6. In particular, they said:
"Lots of our customers use third party tools and are able to find help online about how to update their site. It's often as simple as changing a 5 to a 7 in the code. We are phasing out 5.6 due to the changing landscape of the internet and because it's now more difficult to maintain older versions of PHP."
Is there anyway to have CE4 work under version 7. I guess I can look for another host, but it sounds like I'll eventually run into the same problem.
Thanks again for identifying the problem!
js
Thanks Rod; will check. js
Hi -
My CE4 website (www.jshorephoto.com) has suddenly broken. I have not changed it in quite some time.
There should be a slideshow on the home page, but it does not appear. Worse, various pages throw errors. For example, going to http://www.jshorephoto.com/galleries/performance/ yields the error below. I'm traveling overseas (Chile) - I can't imagine it's relevant, but I wanted to mention it.
Here's the error; any advice/info would be greatly appreciated!
js
count(): Parameter must be an array or an object that implements Countable|#0 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/ttg-be/framework/helpers/SimpleHTMLTag.php(29): ErrorHandler::handleError(2, 'count(): Parame...', '/services15/web...', 29, Array) #1 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/ttg-be/publisher/application/models/Album.php(396): SimpleHTMLTag->__construct('ul.breadcrumbs') #2 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/ttg-be/publisher/application/models/Album.php(289): Album->generateBreadcrumbMarkup(Array, Array, false) #3 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/ttg-be/templates/autoindex/js_auto-index_reverse/template_index.php(321): Album->getBreadcrumbs(Array) #4 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/ttg-be/publisher/application/controllers/GalleryController.php(184): include_once('/services15/web...') #5 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/ttg-be/framework/controllers/Controller.php(41): GalleryController->autoindex('66624', 'index', '') #6 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/ttg-be/framework/Framework.php(124): Controller->dispatch(Array) #7 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/galleries/performance/lib.php(48): Framework->route() #8 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/galleries/performance/index.php(4): route(Array) #9 {main}|URL: /galleries/performance/index.php
It looks like there are two copies of Parsedown that need replacing. The one I first mentioned, at ttg-be/framework/lib/Parsedown.php, and a second copy at lib/php/Parsedown.php. Can you try updating the latter?
Ben, I'm pretty sure that's it! The second one (lib/php/Parsedown.php) is uploaded by pages, and it comes from CE4-Pages.lrwebengine\lib\resources\php. But (please check) that version of Parsedown.php (in CE4-Pages-7015) is the old one - i.e., the version with 1403 lines that predates the PHP 7 fix.
It makes sense that this is the Parsedown that's called when rendering my pages, which explains the bad behavior I'm seeing.
I said "pretty sure" because last night my ISP did downgrade me to PHP 5.6, upon which everything worked properly as before! And, as Rod predicted, it works properly even though in the meantime I upgraded all CE4 components to the latest.
I went ahead and replaced (lib/php/Parsedown.php) with the new version, and the site still works under 5.6. It took the ISP a day to make the change, so right now I can't verify that the updated Parsedown.php solves my PHP 7 problem. But I can have them switch me back, if only to make sure that the analysis above is correct.
Assuming the site works under 7, should I stay there, or do you think it would be safer to run under 5.6? I think 5.6 goes away in 2019, but by then I should have switched to Backlight. That in turn raises the question: is it better to transition to Backlight while running 5.6 or while running 7?
Ben/Rod - thanks so much for the responsive, informed, and helpful support.
best,
js
I searched for parsedown earlier and didn't turn up anything beyond PHP 7 needs the new version of parsedown.
I believe I can ask my ISP to downgrade me to PHP 5.6. Now that I've completely upgraded CE4, have I introduced an incompatibility wrt 5.6? That is, if they switch me to PHP 5.6, should my site still work (hopefully without the error)?
Also, if they downgrade me to PHP 5.6, would I need to do anything on my end - e.g., would I need to publish certain things before it worked again?
js
No joy. But a little more information.
Some of the lrwebengines were indeed out of date, so I updated them and checked that I had updated everything per your list. I then restarted LR and re-exported/re-uploaded pages. Before I did that, I verified that galleries, about, and contact all previewed properly in LR (i.e., with all my custom text, etc.) I also looked at the php files for Galleries/About/Contact - I don't understand the code, but it looked like they reflected my customizations (i.e., the strings were there). I gather that these php scripts generate the source html for the corresponding pages. I noticed a few things about the resulting displayed pages:
The html sources for Galleries and About have exactly 209 lines. (I see what you mean about missing code.)
Contact has 214 lines, but lines 209-214 contain exactly the error message displayed on the contact page. The error message in total is:
Function name must be a string|#0 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/lib/php/Parsedown.php(931): Parsedown->element(Array)
#1 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/lib/php/Parsedown.php(257): Parsedown->elements(Array)
#2 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/lib/php/Parsedown.php(48): Parsedown->lines(Array)
#3 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/contact.php(430): Parsedown->text('## Contact\n\nIf ...')
#4 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/contact.php(434): includeFragment('contact-main')
#5 {main}|URL: /contact.php
All three pages correctly show the fixed items - banner and navigation - i.e., they show as specified by pages.
None of the three pages show their corresponding customizations that were specified by pages (contact info, about info). And, in all three cases, their html source stops at the same place (line 209). This probably means that the hiccups occur when the scripts hit the point of generating html for the customizations. This is consistent with the error message being displayed on the Contacts page. It's odd that neither Galleries nor About display that error, but perhaps that's another clue.
Finally, it can't be a coincidence that the error seems to be triggered by a call to the notorious Parsedown.php. I double checked, and I had uploaded the new version (1540 lines). Note that in the error message (#3) there's this string: "...contact.php(430): Parsedown->text('## Contact\n\nIf ...')", which indicates processing of my MarkDown-customized text. That's consistent with the conclusion that the errors are being thrown when the scripts start processing the customizations.
Back to contact.php, here are lines 429 and 430:
429: if ($markdown)
430: echo $Parsedown->text($contents);
So it seems clear that the error is being thrown by the new version of parsedown.php, and it looks just like the errors that the new version was supposed to fix. Indeed, numerous other such errors were fixed when I updated parsedown, but not this one. And, just to reiterate something that I mentioned earlier, everything worked properly until my ISP upgraded PHP.
I hope that the above has enough clues for you to suggest what might be going on!
js
Thanks Rod.
I did try re-exporting and re-uploading pages - made no difference. I'll double check which versions I'm running, upgrade as needed, and try refreshing pages again.
js
I'm now wondering if there's another problem besides the PHP 7 compatibility. Updating Parsedown.php rejuvenated most of my site, but the problems mentioned in a previous post remained. Since i hadn't updated ce4 in a year or so, I went ahead and did full upgrades, so ttg-be, Publisher, and Pages are now all at 2.0.5. I also regenerated contact.php, about.php, etc.
Nevertheless, I still have these issues with http://www.jshorephoto.com/ :
1. Clicking Galleries results in an empty page; i.e., no thumbnails for my album sets, although the individual galleries are in fact there (e.g., http://www.jshorephoto.com/galleries/performance)
2. Clicking on About results in an empty page
3. Clicking on Contact throws an error just like other ones that existed before I updated Parsedown.php:
"Function name must be a string|#0 /services15/webpages/util/f/v/fv1lu4pjc0j1.site.aplus.net/jshorephoto.com/public/lib/php/Parsedown.php(931): Parsedown->element(Array) #1 ....."
Any ideas for fixing these would be greatly appreciated.
js
Also, like the About page, the Galleries page is also coming up empty, even after a I create and publish a new album set.
js
Hi js, the error you're seeing about "Function name must be a string" is unrelated to the Publisher issues you may be having.
What's happened there is that one of the CE4 files, ttg-be/framework/lib/Parsedown.php is no longer compatible with the version of PHP your site is currently running.
The fix is to download TTG BE again, and replace that single file on your server. Have a go at that, and if the problem isn't fixed, please post back so that I can look further into it.
That was it! Thanks! Worked like a charm, except for two loose ends I haven't figured out: (a) I'm still getting the "Function name must be a string" error on the Contact page, and (b) The About page comes up empty. It was so long ago that I set up the initial site that I don't remember how those two pages get populated, and so far haven't been able to pinpoint the relevant bits of the ce4 documentation.
js
Will do. Thanks so much, Matthew. And thanks for the redactions! I should never have written it that way - too focused on my issue, I guess.
js
Ben - sorry to bother you, but I can't seem to download ttg be.
I have the original order email (order 25897, by [redacted]), but the download link is no longer valid. I also don't see relevant links in the ttg blog sidebar. I do have a customer page that I claimed when I bought Backlight (not yet installed!), but it was ordered via a different email address ([redacted]), and it doesn't show the ce4 order. If try to claim a new customer page (for [redacted]) via the resend-order method, the system doesn't seem to recognize [redacted], and besides I already have the order email and the download link doesn't work.
I've poked around without success. Could you please point me in the right direction?
best,
js
UPDATE: I also sent a message via the support form on the ttg website, so I should get some help soon. I'll update again when resolved.
js
Thanks so much, Ben. Indeed, I recall a notice from my ISP that PHP would be upgraded. I should have thought more carefully before ignoring that! Bad luck that it apparently happened while I've been struggling on the LR end - otherwise I would have known the problem was likely a server issue. Sure hope I haven't messed up the LR end.
Thanks again; much appreciated.
Well, owing to what I now realize was serious pilot error, I made things worse - I had been experimenting with new and existing album sets, and did something that corrupted the online structures in some way.
I have a backup LR catalog that still has all of the publisher collections, so I'm wondering if I can delete all of the online albums (e.g., via the method Rod barbee pointed me to), and then just republish everything. Is that possible, and what's the right way to republish everything?
Some additional background, in case it affects how I should go about republishing from scratch:
The published website is http://www.jshorephoto.com/. The home page still works, but very little else does. The Galleries page (http://www.jshorephoto.com/galleries.php )used to have three galleries (album sets) but is now empty - not surprising because I know I screwed up the album sets (I think it started when I ignored a name collision). The album set called "performance" still exists and can be seen via the direct link http://www.jshorephoto.com/galleries/performance, but the links to individual albums (e.g. http://www.jshorephoto.com/galleries/pe … en-anthem/ ) produce a long error message: "Function name must be a string|#0....". Similar errors are displayed if you click on the Contact or Search link.
I include the details in the paragraph above in case they're relevant to my question about deleting all the online collections; i.e., I doubt it's enough information for someone to diagnose and suggest a fix for the underlying problem.
js
Hi Rod Barbee -
Thanks for responding. Much appreciate the info.
js
After a (major) LR hiccup, I'm having to rebuild my catalog starting from a catalog backup that's not recent. The CE4 published collections in that backup album are no longer consistent with the albums currently on my CE4 website. I can't figure out how to make them consistent, so would appreciate help. In particular:
(1) How can I delete an album that's on the server but doesn't correspond to a published LR collection? (I had put up the album after the date of the backup catalog I'm starting from.)
(2) How can I create a published collection in LR that corresponds to an existing album on the server. (I need to take control of server albums that I published.)
Note that if (2) is straightforward, I can take that route to accomplish (1). '
Thanks in advance!
js
Is there a way to suppress the forward and back arrows in touch and magnific? They are always within the photo frame when the mobile is in portrait orientation, which is very distracting. If you tap in the middle of an image, all the other controls disappear; it would be nice if the arrows did also.
Don't know what to make of it. The problem continued to happen, but not continuously. And sometimes the mobile touch display got into a state where it showed the right half of one photo and the left half of the next one.
When I returned home from travel, the problem had disappeared entirely. So there must have been something odd about my connection from ME.
Thanks for checking it.
Most of my albums are highside-touch. The array of thumbnails for a given album displays nicely on my phone, but when I click (touch) on a thumbnail, nothing happens (i.e., don't get the full-size image, with the ability to scroll through the gallery). I'm not positive, but I'm pretty sure this worked as expected in the past. I haven't changed anything, but I'm traveling and this is the first time I've checked the site when traveling. Of course that shouldn't make a difference, but I figured I should mention it. Any ideas about what's going on? Thanks!
Rod - on the create album form, there's an "items per page" dropdown! (duh!) The default is 100. I haven't tested it yet because (a) I edited the album down to 100 (b) along the way I broke something, still chasing.
But presumably that will work. If not, I'll post.
Thanks Rod. Is there some way to change that? For me, a 100 image limit is a problem (and hard to understand why) - apart from that I'm loving CE4. Pretty much does what I want and is saving me boatloads of time!
Hi Rod - thanks for the prompt response. It's hard to be certain about what isn't showing up because I have the show randomized, but clicking through I think the number is 100 (out of about 400). I don't see how it could be a browser issue, but then again I don't have any idea about how this works underneath. The site is http://www.jshorephoto.com, and the galleria slideshow is a replacement show on the home page via stages.