diff --git a/administrator/components/com_jedchecker/libraries/rules/xmlupdateserver.php b/administrator/components/com_jedchecker/libraries/rules/xmlupdateserver.php index 0ef86e6..94d505d 100644 --- a/administrator/components/com_jedchecker/libraries/rules/xmlupdateserver.php +++ b/administrator/components/com_jedchecker/libraries/rules/xmlupdateserver.php @@ -15,6 +15,9 @@ defined('_JEXEC') or die('Restricted access'); // Include the rule base class require_once JPATH_COMPONENT_ADMINISTRATOR . '/models/rule.php'; +// Include the helper class +require_once JPATH_COMPONENT_ADMINISTRATOR . '/libraries/helper.php'; + /** * class JedcheckerRulesXMLUpdateServer * @@ -60,7 +63,7 @@ class JedcheckerRulesXMLUpdateServer extends JEDcheckerRule public function check() { // Find all XML files of the extension - $files = JFolder::files($this->basedir, '\.xml$', true, true); + $files = JEDCheckerHelper::findManifests($this->basedir); // Find XML package file $packageFile = $this->checkPackageXML($files); @@ -88,15 +91,11 @@ class JedcheckerRulesXMLUpdateServer extends JEDcheckerRule { $xml = simplexml_load_file($file); - // Check if this is an XML and an extension manifest - if ($xml && ($xml->getName() == 'install' || $xml->getName() == 'extension')) + // Check if extension attribute 'type' is for a package + if ($xml && (string) $xml['type'] === 'package') { - // Check if extension attribute 'type' is for a package - if($xml->attributes()->type == 'package') - { - $packageCount++; - $this->find($file); - } + $packageCount++; + $this->find($file); } } @@ -125,8 +124,7 @@ class JedcheckerRulesXMLUpdateServer extends JEDcheckerRule { $xml = simplexml_load_file($file); - // Check if this is an XML and an extension manifest - if ($xml && ($xml->getName() == 'install' || $xml->getName() == 'extension')) + if ($xml) { $directories = explode('/', substr($file, 0, strrpos( $file, '/'))); $XMLFiles[] = array( @@ -190,13 +188,6 @@ class JedcheckerRulesXMLUpdateServer extends JEDcheckerRule return true; } - // Check if this is an extension manifest - // 1.5 uses 'install', 1.6 uses 'extension' - if ($xml->getName() != 'install' && $xml->getName() != 'extension') - { - return true; - } - // Check if there is an updateservers tag if (!isset($xml->updateservers)) {