Invision Community 4: SEO, prepare for v5 and dormant account notifications By Matt Monday at 02:04 PM
Mark H Posted January 11, 2023 Posted January 11, 2023 Are those the only tables which start with "ibf_nexus_" ? Also, using phpMyAdmin, please check the ibf_core_applications table. Is there a record in it, with the app_title of "Nexus" ? E11 1
E11 Posted January 11, 2023 Author Posted January 11, 2023 Yes there is a record Mark - but there is obviosuly another issue. I removed the record and in Install check is still showing the Nexus Message. I logged out and tried it again - same message
E11 Posted January 11, 2023 Author Posted January 11, 2023 I double checked the DB tables - there are no tables left which refers to nexus. A global search within the DB came to the same result. Update: I found under /hooks/ two PHPs which were connected to Nexus - removed as well, Error message remains
E11 Posted January 12, 2023 Author Posted January 12, 2023 Hello @all - to be honest, currently I'm feeling a bit lost with that Nexus stuff. Even if I followed all the advices and hints and where I removed orphaned Nexus tables and Hook references the system cant bypass that check. Is there really no other way that buying the Commerce Module to proceed? Or could it be that the result of the initial check refers to any Cache-file which maybe have to cleaned/reset manually?
E11 Posted January 12, 2023 Author Posted January 12, 2023 I'm lost with that f*cking sys-check..... very frustrating, tbh. I reuploaded all installation files and I get the same stuff shown on the screen. Does anyone have an idea how to bypass the check which blocks the entire system.
Stuart Silvester Posted January 12, 2023 Posted January 12, 2023 Have a look in the 'datastore' folder, the upgrader may have already generated some caches. If you see any PHP files in there, delete them and then try again. E11 1
E11 Posted January 12, 2023 Author Posted January 12, 2023 YEAH Stuart, damn, that was the issue solving hint. I owe you a pint my friend. Thank you very much for re-checking that thread and the assistance.
E11 Posted January 12, 2023 Author Posted January 12, 2023 +Update, the datastore is a 'drive me crazy' element. The UTF convert process stopped at 14%, because it had an issue with converting Tapatalk tables. As I dont need TT, I decided to remove all tables. Started the coverting processes again. Same problem after 14% was reached, Tapatalk was mentioned again as reason. I followed Stuarts recommendation and cleaned the datastore - hey and voila, It worked as well Stuart Silvester 1
Stuart Silvester Posted January 12, 2023 Posted January 12, 2023 The datastore folder is completely unrelated to the UTF8 converter, but since it's working now that's good. After deleting the table you would have needed to restart the UTF8 conversion. E11 1
E11 Posted January 12, 2023 Author Posted January 12, 2023 Update - seems I'm not done with the challenge. Upgrade process stopped here phew, another tricky thing. Does anyone had to deal with that in the past? Any hint or advise would be appreciated.
teraßyte Posted January 12, 2023 Posted January 12, 2023 (edited) Yeah, upgrading from 3.x can be as smooth as usual or tricky as hell depending on how many modifications were installed before the upgrade. When I do a legacy upgrade I usually uninstall as many modifications as possible beforehand. (As long as the client doesn't plan to upgrade them for 4.x.) I've had issues with Tapatalk before, mainly because their code is well...let's just skip what I think of it. 😋 That error doesn't really help much though. There no file or line. You should probably have a more complete(?) error logged on the server. Edited January 12, 2023 by teraßyte E11 1
E11 Posted January 12, 2023 Author Posted January 12, 2023 I'm walking through the hell currently ;-), thank you teraßyte walking with me . Yes, in the past we had dozens of custom built hooks. All good suff, teraßyte mods were amongst. Would it help if I remove the entire cotent of the hooks folder or is this dangerous? The error logs refers to PHP Warning: Illegal string offset 'forum_id' in /www/htdocs/xxx/community/hooks/ajaxThanksPostData but I'm nt really sure if this causes the issue because the forum is off.
E11 Posted January 12, 2023 Author Posted January 12, 2023 (edited) The same error message appears when I use the core admin URL https://www.forum.com/community/admin/ Edited January 12, 2023 by E11
teraßyte Posted January 12, 2023 Posted January 12, 2023 Removing the /hooks folder won't change anything since the 4.x code doesn't even load the files inside it. That error is most likely from when you switched to PHP 8, but before uploading the files/running the upgrade. That last screenshot indicates that the upgrade is stuck on a step for the gallery application (version 60000) so I initially thought the error must be coming from the file: \applications\gallery\setup\upg_60000\upgrade.php. After taking a look there is no such reference to any array_keys() call in there though. Rather there is no such call at all in the whole \applications\gallery\setup folder. The error must be coming from some other file/function since it's also showing up when you try to access the ACP. If you don't have a more complete error to look at, the only solution left would be to manually add debug code and find where exactly the code is throwing the error. While it looks like a bug, it's a bug from a 3.x upgrade so not sure if IPS would be able to help and take a look at it themselves. 🙄 E11 1
Adriano Faria Posted January 13, 2023 Posted January 13, 2023 32 minutes ago, teraßyte said: After taking a look there is no such reference to any array_keys() call in there though. The error may be because a variable isn’t declared hence the NULL. Probably there’s a conditional somewhere in that file that creates an array. As the condition returns FALSE, the error happens. That’s a PHP 8 thing. I would say the error is in the step 5. It’s enough to add $toRun = array(); before IF. Just a guess. Not tested. E11 1
teraßyte Posted January 13, 2023 Posted January 13, 2023 (edited) @Adriano Faria That's what I thought initially, but then I looked again at his other screenshot: Quote The error must be coming from some other file/function since it's also showing up when you try to access the ACP. It's worth a try anyway. Actually, scratch that. Taking a look again at the previous screenshot the issue there is with array_map() rather than array_keys(). They keys related one must be something else because the upgrade is not complete yet. The only possible array_map() culprit in that upgrade file is on lines 236~239, it's the code that converts the image metadata from serialized to json format: if( $row['image_metadata'] ) { $imageUpdate['image_metadata'] = json_encode( array_map( 'trim', unserialize( $row['image_metadata'] ) ) ); } The unserialize() function can indeed return a BOOL (false) value and the code is not accounting for that: Quote In case the passed string is not unserializeable, false is returned and E_NOTICE is issued. Try replacing the code above with this instead: if( $row['image_metadata'] ) { $tmpMeta = unserialize( $row['image_metadata'] ); if( $tmpMeta === FALSE ) { $tmpMeta = array(); } $imageUpdate['image_metadata'] = json_encode( array_map( 'trim', $tmpMeta ) ); } Should be easy enough for IPS to add a fix in a future version even if they don't exactly support anymore upgrades from 3.x. Edited January 13, 2023 by teraßyte E11 1
E11 Posted January 13, 2023 Author Posted January 13, 2023 Millon thanks to you teryßyte - the code you provided allowed me to continue the installation process. I think I'm half through - the install unfortunately stopped again. Error message dialog says the following
teraßyte Posted January 13, 2023 Posted January 13, 2023 Looks like the widgets table is not available but the code is trying to load it. Can you take a screenshot just like the one above about the "Unfinished Upgrade"? That way we can see which step is throwing it. E11 1
E11 Posted January 13, 2023 Author Posted January 13, 2023 Hello tearbyße, it gives me a good feeling that you are still with me and didnt give up already. I really appreciate this kind of assistance. This time the case might be more difficult. After the login into the upgrade process the dialog #a is shown when clicking on #2 exactly one second later screen #3 is shown.
teraßyte Posted January 13, 2023 Posted January 13, 2023 Hmm, the code is basically trying to remove any birthday widgets and the table should already be there in theory since the core application upgrade is done. For now you can just open the file \applications\calendar\setup\upg_107305\upgrade.php and comment or remove this code on line 33: \IPS\Widget::deprecateWidget('todaysBirthdays', 'calendar'); As an aside, keep going with the upgrade until the end and once you're done I suggest you immediately restore a backup and redo the upgrade from scratch with all the fixes you've added so far already included. E11 1
E11 Posted January 13, 2023 Author Posted January 13, 2023 you saved my day teraßyte. phew, what a nightmare. But yeah - time for another venture. Thank you all, again, all contributors everyone who tried to assist. Great community, great spirit.
Recommended Posts