diff --git a/include/core/PHPMC/Main.php b/include/core/PHPMC/Main.php index d6f321c..7ba649d 100644 --- a/include/core/PHPMC/Main.php +++ b/include/core/PHPMC/Main.php @@ -1,7 +1,7 @@ pluginReader("{$realpath}/{$target}"); - $info = json_decode($data, true); - if(!$info) { - PHPMC::Error()->Println("Error when load plugin: " . $file . ": No such plugin info file: " . $target . "
" . $data); + if($file !== "." && $file !== "..") { + if(is_dir("{$realpath}/{$file}/")) { + if(file_exists("{$realpath}/{$file}/{$file}.php") && file_exists("{$realpath}/{$file}/{$file}.json")) { + $files = "{$file}.php"; + $target = pathinfo($files)['filename'] . ".json"; + $data = file_get_contents("{$realpath}/{$file}/{$target}"); + $info = json_decode($data, true); + if(!$info) { + PHPMC::Error()->Println("Error when load plugin: " . $files . ": No such plugin info file: " . $target . "
" . $data); + } + include("{$realpath}/{$file}/{$files}"); + eval('$' . $info['main'] . ' = new ' . $info['main'] . '();'); + eval('$' . $info['main'] . '->onload();'); + } else { + echo "Error: {$realpath}/{$file}/{$file}.php"; + exit; + } + } else { + if(pathinfo($file)['extension'] == "php") { + $target = pathinfo($file)['filename'] . ".json"; + $data = file_get_contents("{$realpath}/{$target}"); + $info = json_decode($data, true); + if(!$info) { + PHPMC::Error()->Println("Error when load plugin: " . $file . ": No such plugin info file: " . $target . "
" . $data); + } + include("{$realpath}/{$file}"); + eval('$' . $info['main'] . ' = new ' . $info['main'] . '();'); + eval('$' . $info['main'] . '->onload();'); + } } - include("{$realpath}/{$file}"); - eval('$' . $info['main'] . ' = new ' . $info['main'] . '();'); - eval('$' . $info['main'] . '->onload();'); } } closedir($handle);