proper check for .php plugin files

This commit is contained in:
Steffen Schröder 2014-08-07 13:47:26 +02:00
parent 227cccfaa2
commit a52f6894c0
2 changed files with 16 additions and 4 deletions

View File

@ -196,4 +196,15 @@ abstract class FileUtil {
}
return $path;
}
/**
* Check whether the given file name is a PHP file
*
* @param string $fileName
* @return bool
*/
public static function isPhpFileName($fileName) {
$extension = substr($fileName, -4);
return (strtolower($extension) === '.php');
}
}

View File

@ -5,6 +5,7 @@ namespace ManiaControl\Plugins;
use ManiaControl\Callbacks\CallbackListener;
use ManiaControl\Callbacks\TimerListener;
use ManiaControl\Commands\CommandListener;
use ManiaControl\Files\FileUtil;
use ManiaControl\Logger;
use ManiaControl\ManiaControl;
use ManiaControl\Manialinks\ManialinkPageAnswerListener;
@ -294,7 +295,7 @@ class PluginManager {
$filePath = $directory . $pluginFile;
if (is_file($filePath)) {
if (!stripos($pluginFile, '.php')) {
if (!FileUtil::isPhpFileName($pluginFile)) {
continue;
}
$success = include_once $filePath;
@ -478,8 +479,8 @@ class PluginManager {
$url = ManiaControl::URL_WEBSERVICE . 'plugins';
$this->maniaControl->getFileReader()
->loadFile($url, function ($dataJson, $error) use (&$function) {
$data = json_decode($dataJson);
call_user_func($function, $data, $error);
});
$data = json_decode($dataJson);
call_user_func($function, $data, $error);
});
}
}