Midnight Modding Posted August 22, 2018 Posted August 22, 2018 This is an error where it's unable to load a node when reordering nodes. How could the nodes even be listed, which would have had to been done through load($id), but then when reordering throwing an out of range exception? This is in a situation where I have a subnode class. So maybe I didn't do some step, which needs to be done to avoid this? Or is it a bug in the system when using subnodes? I am trying top look into it and figure out what's going on.
Midnight Modding Posted August 23, 2018 Author Posted August 23, 2018 I'd be surprised if it's a bug in my code this time. I looked through the staff similar setup from IPB, with Group.php and User.php and I don't see any difference in the setup vs. my own setup. Keep in mind, I have successfully used these classes throughout my app, so they are set up fine, in that regard. I don't think many people use subnode classes, so there may not be as many who would know if this is a known bug, but I just don't see how it couldn't be a bug in the setup, since it loads these all just fine everywhere else, but says out of range when reordering. it's the IPB methods, their reorder form, etc... and the relevant IPB code is simply load( $id ) and the fact that the node is even shown on the form means the id was correct, right?
bfarber Posted August 23, 2018 Posted August 23, 2018 Possibly your specific HTML markup is causing the wrong values to be passed. I'd probably find this: catch ( \OutOfRangeException $e ) { \IPS\Output::i()->error( 'node_error', '3S101/B', 404, '' ); } and add a logging here to figure out the problem catch ( \OutOfRangeException $e ) { \IPS\Log::log( $e, 'debug' ); \IPS\Output::i()->error( 'node_error', '3S101/B', 404, '' ); } then check the system logs to see what gets logged when you get the error.
Midnight Modding Posted August 23, 2018 Author Posted August 23, 2018 I didn't do any html. It's the default listing of nodes in the acp. All I did in my controller is extend the proper class, also the function execute(), and that's it. It's whatever default html IPB uses. Also, I don't know what triggered it. I just got an automatic email saying it happened and to check error logs and tracked down the page by inspecting the link in the error logs. I can still do as you said, of course, and try to track it down. Only problem now is I can't reproduce it so far. I still can't find anything on my end that is differently set up. Eh, I did do something interesting/unusual with get_title()… (for the subnode class). But I think that's it, nothing directly dealing with the ids.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.