Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2025-07-29 18:52:02

arend
New Member
Registered: 2025-07-29
Posts: 2

Plugins errors after upgrading to 4.8.8

After upgrading TextPattern to 4.8.8 (PHP 8.1), and following the instructions in INSTALL.txt, I run into plugins errors.
After authenticating as admin, I get a Fatal error:

Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /data/sites/web/certaminabe/subsites/default_www/textpattern/plugins/glz_custom_fields/glz_custom_fields.php:680 Stack trace: #0 /data/sites/web/certaminabe/subsites/default_www/textpattern/plugins/glz_custom_fields/glz_custom_fields.php(196): glz_format_ranges(Array, ‘positieafbeeldi…’) #1 /data/sites/web/certaminabe/subsites/default_www/textpattern/plugins/glz_custom_fields/glz_custom_fields.php(74): glz_values_custom_field(‘custom_3_set’, Array) #2 /data/sites/web/certaminabe/subsites/default_www/textpattern/plugins/glz_custom_fields/glz_custom_fields.php(1053): glz_custom_fields_MySQL(‘values’, ‘custom_3_set’, ‘’, Array) #3 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_misc.php(1589): glz_custom_fields_replace(‘article_ui’, ‘custom_fields’, ‘\n<div class=“tx…’, Array) #4 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_admin.php(841): callback_event(‘article_ui’, ‘custom_fields’, 0, ‘\n<div class=“tx…’, Array) #5 /data/sites/web/certaminabe/subsites/default_www/textpattern/include/txp_article.php(1595): pluggable_ui(‘article_ui’, ‘custom_fields’, ‘\n<div class=“tx…’, Array) #6 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_admin.php(386): article_partial_custom_fields(Array, ‘custom_fields’) #7 /data/sites/web/certaminabe/subsites/default_www/textpattern/include/txp_article.php(745): updatePartials(Array, Array, Array) #8 /data/sites/web/certaminabe/subsites/default_www/textpattern/include/txp_article.php(119): article_edit() #9 /data/sites/web/certaminabe/subsites/default_www/textpattern/index.php(230): include(‘/data/sites/web…’) #10 {main} thrown in /data/sites/web/certaminabe/subsites/default_www/textpattern/plugins/glz_custom_fields/glz_custom_fields.php on line 680

The website frontend runs fine, but pages with some custom fields (e.g. to include links to attached files) display a Fatal error:

Fatal error: Uncaught Error: Call to undefined function create_function() in /data/sites/web/certaminabe/subsites/default_www/textpattern/plugins/upm_file/upm_file.php:55 Stack trace: #0 [internal function]: upm_article_file_list(Array, NULL) #1 /data/sites/web/certaminabe/subsites/default_www/textpattern/vendors/Textpattern/Tag/Registry.php(140): call_user_func(‘upm_article_fil…’, Array, NULL) #2 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_publish.php(564): Textpattern\Tag\Registry->process(‘upm_article_fil…’, Array, NULL) #3 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_publish.php(409): processTags(‘upm_article_fil…’, ‘label=“Bijlagen…’, NULL, false) #4 /data/sites/web/certaminabe/subsites/default_www/textpattern/publish/taghandlers.php(4399): parse(‘\r\n<footer class…’, true) #5 [internal function]: if_custom_field(Array, ‘\r\n<footer class…’) #6 /data/sites/web/certaminabe/subsites/default_www/textpattern/vendors/Textpattern/Tag/Registry.php(140): call_user_func(‘if_custom_field’, Array, ‘\r\n<footer class…’) #7 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_publish.php(559): Textpattern\Tag\Registry->process(‘if_custom_field’, Array, ‘\r\n<footer class…’) #8 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_publish.php(409): processTags(‘if_custom_field’, ‘name=“bijlagen”’, ‘\r\n<footer class…’, false) #9 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_misc.php(3551): parse(‘<article role=”…’) #10 /data/sites/web/certaminabe/subsites/default_www/textpattern/publish.php(1162): parse_form(‘article_wedstri…’) #11 /data/sites/web/certaminabe/subsites/default_www/textpattern/publish.php(1197): doArticle(Array, NULL) #12 /data/sites/web/certaminabe/subsites/default_www/textpattern/publish.php(921): parseArticles(Array, ‘0’, NULL) #13 [internal function]: article(Array, NULL) #14 /data/sites/web/certaminabe/subsites/default_www/textpattern/vendors/Textpattern/Tag/Registry.php(140): call_user_func(‘article’, Array, NULL) #15 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_publish.php(559): Textpattern\Tag\Registry->process(‘article’, Array, NULL) #16 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_publish.php(409): processTags(‘article’, ‘limit=“1” form=…’, NULL, false) #17 /data/sites/web/certaminabe/subsites/default_www/textpattern/lib/txplib_misc.php(3626): parse(‘<txp:output_for…’) #18 /data/sites/web/certaminabe/subsites/default_www/textpattern/publish.php(740): parse_page(‘wedstrijd-pagin…’, ‘default’) #19 /data/sites/web/certaminabe/subsites/default_www/index.php(74): textpattern() #20 {main} thrown in /data/sites/web/certaminabe/subsites/default_www/textpattern/plugins/upm_file/upm_file.php on line 55

Any support is much appreciated!

Offline

#2 2025-07-29 18:58:26

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 4,950
Website GitHub

Re: Plugins errors after upgrading to 4.8.8

I’m guessing you may be using an older version of the glz_custom_fields plugin. An update to the current version should work with PHP8 right up to the current version.

The other errors are coming from the plugin upm_file (in combination with PHP 8, which no longer has the create_function function). I think that is long obsolete but it can be largely or entirely replaced by Textpattern’s built-in tags. See this post for an example of how someone else resolved that.

If you’re unable to use the admin area but you have been able to log in with your user credentials, enter this directly into your browser’s URL bar:

https://www.yoursite.com/textpattern/index.php?event=plugin

That should take you to the plugin page which doesn’t load the plugins themselves. Then switch off the plugins glz_custom_fields and upm_file by clicking on the “yes” in the “active” column, so that it shows “no”. Once they are both disabled (just disabled not deleted), you should then be able to use the backend when you navigate to another tab.

Your site will give you missing plugin errors in the meantime but you can now update glz_custom_field and find where you are using the plugin upm_article_file_list in your page templates or forms. You can probably replace it entirely with txp:file_download_list and its id attribute.


TXP Builders – finely-crafted code, design and txp

Offline

#3 Yesterday 05:00:52

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 4,950
Website GitHub

Re: Plugins errors after upgrading to 4.8.8

I still think switching to txp:file_download_list is a better / safer idea in the long run, but the following quick fix to upm_file might immediately resolve your problem, or at least enable you to look up which custom field upm_file is using (see the Extensions › upm_file panel):

EDIT: See this post for the code.


TXP Builders – finely-crafted code, design and txp

Offline

#4 Yesterday 07:55:53

arend
New Member
Registered: 2025-07-29
Posts: 2

Re: Plugins errors after upgrading to 4.8.8

Thank you so much for your prompt and accurate reply, Jakob!
I updated the glz_custom_fields plugin, disabled the upm_file plugin and replaced the upm_article_file_list on the article page with a txp:file_download_list block populated by the contents of a custom field ( following your suggestion in this post ).

The site is now up and running again — many thanks!

Offline

Board footer

Powered by FluxBB