Fork me on GitHub

Saturday, January 29, 2022

Blog / Project interna / Current development status: New Admin Area and PHP 8.1

Current development status: New Admin Area and PHP 8.1

Hi everybody,

here’s a little update on the current development status of FlatPress. We’re actively working on two main topics: The new Admin Area and getting FlatPress PHP 8.1 compatible.

New Admin Area

As described in the last blog posting, franah created a great new Admin Area for FlatPress: It looks fresh and awesome, adapts to your screen size, and also works great on mobile devices.
It is quite complete, and now it needs a lots of testing with different themes, plugins, and page content. We have to make sure everything works fine, so please help us testing!

Check out the future of FlatPress, and test the heck out of it :)

PHP 8.1 compatibility

FlatPress throws ugly errors when run under the current PHP version 8.1. This is because it uses functions PHP 8.1 marks as deprecated. In order to keep running correctly, FlatPress needs to be reworked.
One main issue here is that we still utilize the outdated version 2.6 of the template engine Smarty - which is not ready for PHP 8.1. So our first step to PHP 8.1 compatibility is to update Smarty to its current version 4 (Issue 94). What sounds quite easy, is actually a lot of work, since Smarty changed a lot in between. I’m still working on it (Branch on GitHub), but some effects become clear already:

  • With the new Smarty version, FlatPress will require at least PHP 7.1. (Until now, PHP 5.6 is minium.)
  • Themes and plugins may need some overhauling. The name of many Smarty functions has changed, and it has become less tolerant when it comes to template syntax.

As soon as Smarty is up-to-date, we can work on the PHP 8.1 compatibility of the FlatPress code itself (Issue 92). Main task here is the strftime() function that has become deprecated. Its date and time formats (e.g., “%Y-%m-%d” - check out the “International settings” options in your FlatPress settings!) most likely have to be changed to the format of the date() function (e.g., “Y-m-d”). This also may require some sort of automatically updating these date format settings.

Schedule for the next FlatPress versions

PHP 8.1 compatibility is quite urgent, since this is the current PHP version for quite a while now. And since the Admin Area still needs testing, the next FlatPress version 1.3 could bring PHP 8.1 compatibility and then 1.4 the new Admin Area. But this order is not finally decided and simply depends on when each topic is finished; we’re actively working on both.

Stay up to date!

If there is any news on the developments, I’ll let you know here on the project blog (you may want to subscribe to the RSS feed). Also, feel free to follow FlatPress on Twitter and on Mastodon.

All the best,
Arvid