/**
* Function used to check if extension is already installed
*
* @param string $extension The element name of the extension to install
*
* @return boolean True if extension exists
*
* @since 3.1
*/
protected function extensionExistsInSystem($extension = null)
{
// Get a database connector object
$db = $this->parent->getDbo();
$query = $db->getQuery(true)->select($db->quoteName('extension_id'))->from($db->quoteName('#__extensions'))->where($db->quoteName('type') . ' = ' . $db->quote('file'))->where($db->quoteName('element') . ' = :extension')->bind(':extension', $extension);
$db->setQuery($query);
try {
$db->execute();
} catch (\RuntimeException $e) {
// Install failed, rollback changes - error logged by the installer
return false;
}
$id = $db->loadResult();
if (empty($id)) {
return false;
}
return true;
}