Jump to content

Bug: IPBoard assumes default style is ID 1


silenceheaven

Recommended Posts

Posted

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.

 

Posted

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.

Posted

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.

Posted
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.

Posted
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

Posted

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.

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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