forked from GNUsocial/gnu-social
Change action autoloading to allow actions in plugins
Since plugins may define custom actions, we shouldn't require that there be a file in our actions/ subdir for every action. So, I changed the (admittedly hackish) auto-loading code in index.php so it instead checks whether a class exists with the expected name. This, in turn, uses the increasingly hacking __autoload() function, which I changed to auto-load stuff named "BlahblahAction" from the actions subdir if available.
This commit is contained in:
@@ -211,6 +211,9 @@ function __autoload($class)
|
||||
require_once(INSTALLDIR.'/classes/' . $class . '.php');
|
||||
} else if (file_exists(INSTALLDIR.'/lib/' . strtolower($class) . '.php')) {
|
||||
require_once(INSTALLDIR.'/lib/' . strtolower($class) . '.php');
|
||||
} else if (mb_substr($class, -6) == 'Action' &&
|
||||
file_exists(INSTALLDIR.'/actions/' . strtolower(mb_substr($class, 0, -6)) . '.php')) {
|
||||
require_once(INSTALLDIR.'/actions/' . strtolower(mb_substr($class, 0, -6)) . '.php');
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user