public function discover()
{
$results = array();
$mainFolder = JPATH_MANIFESTS . '/libraries';
$folder = new \RecursiveDirectoryIterator($mainFolder);
$iterator = new \RegexIterator(new \RecursiveIteratorIterator($folder), '/\\.xml$/i', \RecursiveRegexIterator::GET_MATCH);
foreach ($iterator as $file => $pattern) {
$element = str_replace(array($mainFolder . DIRECTORY_SEPARATOR, '.xml'), '', $file);
$manifestCache = Installer::parseXMLInstallFile($file);
$extension = Table::getInstance('extension');
$extension->set('type', 'library');
$extension->set('client_id', 0);
$extension->set('element', $element);
$extension->set('folder', '');
$extension->set('name', $element);
$extension->set('state', -1);
$extension->set('manifest_cache', json_encode($manifestCache));
$extension->set('params', '{}');
$results[] = $extension;
}
return $results;
}