Back to PhocacartUtilsExtension class

Method getExtensionInfo

public static int
getExtensionInfo
(mixed $element = null, mixed $type = 'component', mixed $folder = '')
Get information about extension.
Parameters
  • string Extension element (com_cpanel, com_admin, ...)
  • string Extension type (component, plugin, module, ...)
  • string Folder type (content, editors, search, ...)
Returns
  • int ( 0 ... extension not installed 1 ... extension installed and enabled 2 ... extension installed but not enabled )

Method getExtensionInfo - Source code

/**
 * Get information about extension.
 *
 * @param	string	Extension element (com_cpanel, com_admin, ...)
 * @param	string	Extension type (component, plugin, module, ...)
 * @param	string	Folder type (content, editors, search, ...)
 *
 * @return	int ( 0 ... extension not installed
 *                1 ... extension installed and enabled
 *                2 ... extension installed but not enabled )
 */
public static function getExtensionInfo($element = null, $type = 'component', $folder = '')
{
    $elementFolder = $element . $folder;
    if (is_null($element)) {
        throw new Exception('Function Error: No element added', 500);
        return false;
    }
    if (!array_key_exists($elementFolder, self::$extension)) {
        $db = Factory::getDbo();
        $query = $db->getQuery(true);
        if ($type == 'component') {
            $query->select('extension_id AS id, element AS "option", params, enabled');
        } else {
            $query->select('extension_id AS "id", element AS "element", params, enabled');
        }
        $query->from('#__extensions');
        $query->where('`type` = ' . $db->quote($type));
        if ($folder != '') {
            $query->where('`folder` = ' . $db->quote($folder));
        }
        $query->where('`element` = ' . $db->quote($element));
        $db->setQuery($query);
        $cache = Factory::getCache('_system', 'callback');
        $extensionData = $cache->get(array($db, 'loadObject'), null, $element, false);
        if (isset($extensionData->enabled) && $extensionData->enabled == 1) {
            self::$extension[$elementFolder] = 1;
        } else {
            if (isset($extensionData->enabled) && $extensionData->enabled == 0) {
                self::$extension[$elementFolder] = 2;
            } else {
                self::$extension[$elementFolder] = 0;
            }
        }
    }
    return self::$extension[$elementFolder];
}