Fixes #1570. Removed isValidPharFilename check as the function is very unreliable.

This commit is contained in:
Michael Yoo 2014-07-09 18:42:57 +09:30
parent 65523972c2
commit 88bcaea292

View File

@ -51,7 +51,7 @@ class PharPluginLoader implements PluginLoader{
* @throws \Exception * @throws \Exception
*/ */
public function loadPlugin($file){ public function loadPlugin($file){
if(\Phar::isValidPharFilename($file) and ($description = $this->getPluginDescription($file)) instanceof PluginDescription){ if(($description = $this->getPluginDescription($file)) instanceof PluginDescription){
MainLogger::getLogger()->info("Loading " . $description->getFullName()); MainLogger::getLogger()->info("Loading " . $description->getFullName());
$dataFolder = dirname($file) . DIRECTORY_SEPARATOR . $description->getName(); $dataFolder = dirname($file) . DIRECTORY_SEPARATOR . $description->getName();
if(file_exists($dataFolder) and !is_dir($dataFolder)){ if(file_exists($dataFolder) and !is_dir($dataFolder)){
@ -84,15 +84,13 @@ class PharPluginLoader implements PluginLoader{
* @return PluginDescription * @return PluginDescription
*/ */
public function getPluginDescription($file){ public function getPluginDescription($file){
if(\Phar::isValidPharFilename($file)){ $phar = new \Phar($file);
$phar = new \Phar($file); if(isset($phar["plugin.yml"])){
if(isset($phar["plugin.yml"])){ $pluginYml = $phar["plugin.yml"];
$pluginYml = $phar["plugin.yml"]; if($pluginYml instanceof \PharFileInfo){
if($pluginYml instanceof \PharFileInfo){ return new PluginDescription($pluginYml->getContent());
return new PluginDescription($pluginYml->getContent()); }
} }
}
}
return null; return null;
} }