}
// Do init the plugin
+// NOTE: Returning FALSE from $func, means "an erorr occurerd"
function do_plugin_init($name)
{
static $checked = array();
- // TRUE or FALSE or NULL (Return nothing / Not exists)
- if (array_key_exists($name, $checked)) return $checked[$name];
-
- $func = 'plugin_' . $name . '_init';
- if (function_exists($func)) {
- $result = call_user_func($func);
- $checked[$name] = ($result === NULL) ? NULL : (bool)$result;
- } else {
- $checked[$name] = NULL;
+ if (! isset($checked[$name])) {
+ $func = 'plugin_' . $name . '_init';
+ $checked[$name] = (! function_exists($func) || call_user_func($func) !== FALSE);
}
return $checked[$name];
{
if (! exist_plugin_action($name)) return array();
- if(do_plugin_init($name) === FALSE)
- die_message('Plugin init failed: ' . $name);
+ if (do_plugin_init($name) === FALSE) {
+ die_message('Plugin init failed: ' . htmlspecialchars($name));
+ }
$retvar = call_user_func('plugin_' . $name . '_action');
{
global $digest;
- if(do_plugin_init($name) === FALSE)
- return '[Plugin init failed: ' . $name . ']';
+ if (do_plugin_init($name) === FALSE) {
+ return '[Plugin init failed: ' . htmlspecialchars($name) . ']';
+ }
if (! PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK) {
// Multiline plugin?
{
global $digest;
- if(do_plugin_init($name) === FALSE)
- return '[Plugin init failed: ' . $name . ']';
+ if (do_plugin_init($name) === FALSE) {
+ return '[Plugin init failed: ' . htmlspecialchars($name) . ']';
+ }
- if ($args !== '') {
- $aryargs = csv_explode(',', $args);
- } else {
+ if ($args === '') {
$aryargs = array();
+ } else {
+ $aryargs = csv_explode(',', $args);
}
// NOTE: A reference of $body is always the last argument