News:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu

Polyfill of create_function()

Started by live627, December 02, 2021, 07:23:49 PM

Previous topic - Next topic

live627

Link to the mod

Polyfill of create_function()

Uncover the grave of create_function() because some old mods may still use it.

Manual Installation

This is for if you lose access to the package manager due to an error from a missing create_function():

  • Copy Subs-CreateFunction.php into your sources directory
  • Copy install.php to the board directory and execute it (remember to delete it afterwards!)
    • Equivalent to running the following PHP code
      add_integration_function(
      	'integrate_pre_include',
      	'$sourcedir/Subs-CreateFunction.php
      ');
      

But I'm not on PHP 8 yet!

Not to worry. It does nothing if the function is already defined. In fact, here, this is the code.

if (!function_exists('create_function'))
{
	function create_function($args, $code)
	{
		return eval(sprintf('return function(%s) {%s};', $args, $code));
	}
}

Public domain

Do whatever you want with this code. Feed it to alligators for all I care.


d3vcho

I successfully fed a group of aligators with your code. They weren't too happy about it.



Good stuff ;)
"Greeting Death as an old friend, they departed this life as equals"

Arantor

Kind of a shame this wasn't included in 2.0.19.
Holder of controversial views, all of which my own.


shadav

thank you for this
starting a new project and all of a sudden my package manager was broken and throwing out some error about create_function()
I remembered this mod so downgraded my php, installed this mod, put php back to 8 and all was right again

Advertisement: