Jump to content

Bug: IPBoard assumes default style is ID 1


silenceheaven
 Share

Recommended Posts

In IPS\Developer, at line 456 it's doing \IPS\Theme::load(1)->saveSet(); but I deleted the default theme with an ID of 1, so now my board is completely inaccessible. It happened in the support page where it recreated the default style, so I assumed I could just delete the original one but it broke everything. Also now if I try to export an application, I just get this error:

Capture.thumb.PNG.8cae892d096a3d181e15adae445507f3.PNG

Which doesn't really help at all, but if you go to IPS\Application and comment out line 3055 $this->buildThemeTemplates(); it goes through.

This is absolutely driving me bonkers and the fact that I can't even rebuild languages or templates for new themes without having to uninstall and reinstall the plugin/application, or have dev/ access to them (which pretty much all items on the marketplace do not provide), it's causing serious headaches.

 

Link to comment
Share on other sites

Actually I believe I found the bug:

IPS\Theme\Dev\Theme

Line 660

\IPS\Theme::deleteCompiledResources( $dir->getFilename(), null, null, null, ( $id === 0 ? 1 : $id ) );

If no theme ID is provided, it defaults to 1. Since it does not exists it fails.

Edited by silenceheaven
Link to comment
Share on other sites

31 minutes ago, Ryan Ashbrook said:

How did you delete the theme? It's not a bug that Development Mode assumes the default theme has an ID of 1 - you cannot delete the default while IN_DEV.

If an install is to be used IN_DEV, then it should be used that way from the start - otherwise you will encounter oddities such as this.

It just let me delete it like any other theme, but isn't it a bit unreliable to base it off of the auto increment ID? What if my MySQL server was set to auto increment by 3s, so the initial theme wouldn't even have an ID of 1.

Link to comment
Share on other sites

3 minutes ago, silenceheaven said:

What if my MySQL server was set to auto increment by 3s.

Pump the brakes... Last I checked AUTO_INCREMENT was controllable at the table level.  And IPS creates the table.  If you're altering the IPS default DB structure, things are not going to end well for you.

Sign702.jpg

Link to comment
Share on other sites

In short, this only affects you because you're working with IN_DEV enabled (but did some things before it was enabled that have caused an issue). We may or may not look into this at some point as a low priority issue, but the simplest fix right now is to export your work, reinstall fresh (just one time) and then reimport your work and continue working from there. You won't have issues moving forward that way.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...