PM-473 "Analisis de los resultados de escaneo de las..." SOLVED
Issue:
Despliegue de mensajes al ejecutar "./gulliver check-plugin-disabled-code"
----> "grep: write error: Broken pipe"
Cause:
Este mensaje se ocasiona al llamar al metodo "getPluginVersion" de ciertos
plugins
Solution:
Se quita la instanciacion del objeto, y se crea nuevo script para la
determinacion de la clase padre de un plugin
This commit is contained in:
@@ -2666,13 +2666,6 @@ function run_check_plugin_disabled_code($task, $args)
|
||||
|
||||
if (is_dir(PATH_PLUGINS)) {
|
||||
if ($dirh = opendir(PATH_PLUGINS)) {
|
||||
G::LoadClass("system");
|
||||
|
||||
require_once("propel" . PATH_SEP . "Propel.php");
|
||||
require_once(PATH_CORE . "methods" . PATH_SEP . "enterprise" . PATH_SEP . "enterprise.php");
|
||||
|
||||
Propel::init(PATH_CORE . "config" . PATH_SEP . "databases.php");
|
||||
|
||||
$arrayData = array();
|
||||
|
||||
while (($file = readdir($dirh)) !== false) {
|
||||
@@ -2680,22 +2673,19 @@ function run_check_plugin_disabled_code($task, $args)
|
||||
$pluginName = str_replace(".php", "", $file);
|
||||
|
||||
if (is_file(PATH_PLUGINS . $pluginName . ".php") && is_dir(PATH_PLUGINS . $pluginName)) {
|
||||
require_once(PATH_PLUGINS . $pluginName . ".php");
|
||||
|
||||
$pluginClassName = $pluginName . "Plugin";
|
||||
|
||||
$p = new $pluginClassName();
|
||||
if (preg_match("/^.*class\s+" . $pluginName . "Plugin\s+extends\s+(\w*)\s*\{.*$/i", str_replace(array("\n", "\r"), array(" ", " "), file_get_contents(PATH_PLUGINS . $pluginName . ".php")), $arrayMatch)) {
|
||||
$pluginParentClassName = $arrayMatch[1];
|
||||
|
||||
switch ($option2) {
|
||||
case "ENTERPRISE-PLUGIN":
|
||||
if (get_parent_class($p) == "enterprisePlugin") {
|
||||
if ($pluginParentClassName == "enterprisePlugin") {
|
||||
$arrayData[] = $pluginName;
|
||||
}
|
||||
break;
|
||||
case "CUSTOM-PLUGIN":
|
||||
case "ALL":
|
||||
case "":
|
||||
if (get_parent_class($p) == "PMPlugin") {
|
||||
if ($pluginParentClassName == "PMPlugin") {
|
||||
$arrayData[] = $pluginName;
|
||||
}
|
||||
break;
|
||||
@@ -2709,6 +2699,7 @@ function run_check_plugin_disabled_code($task, $args)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
closedir($dirh);
|
||||
|
||||
|
||||
@@ -188,14 +188,16 @@ class CodeScanner
|
||||
if ($file != "" && $file != "." && $file != "..") {
|
||||
$f = $path . PATH_SEP . $file;
|
||||
|
||||
if (is_dir($f) || (is_file($f) && preg_match("/\.php$/", $f))) {
|
||||
$arrayFoundCode = array_merge($arrayFoundCode, $this->checkDisabledCode((is_dir($f))? "PATH" : "FILE", $f));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
closedir($dirh);
|
||||
}
|
||||
} else {
|
||||
if (preg_match("/\.php$/", $path)) {
|
||||
if (is_file($path) && preg_match("/\.php$/", $path)) {
|
||||
$source = file_get_contents($path);
|
||||
|
||||
$arrayAux = $this->checkDisabledCodeInSource($source);
|
||||
|
||||
Reference in New Issue
Block a user