Back to PhocacartUtilsExtension class

Method getExtensionLoadInfo

public static
getExtensionLoadInfo
(mixed &$extension, mixed $element = null, mixed $type = 'component', mixed $folder = '', mixed $version = '')

Method getExtensionLoadInfo - Source code

public static function getExtensionLoadInfo(&$extension, $element = null, $type = 'component', $folder = '', $version = '')
{
    $elementFolder = $element . $folder;
    if (is_null($element)) {
        return false;
    }
    if (!array_key_exists($elementFolder, self::$extensionLoad)) {
        $table = Table::getInstance('extension');
        $key = array();
        $key['type'] = $type;
        $key['element'] = $element;
        if ($type == 'plugin') {
            $key['folder'] = $folder;
        }
        $extensionId = $table->find((array) $key);
        if (isset($extensionId) && (int) $extensionId > 0 && $table->load((int) $extensionId)) {
            $extension['installed'] = true;
            $extension['enabled'] = (bool) $table->enabled;
            if (!empty($table->manifest_cache)) {
                $manifest = json_decode($table->manifest_cache);
                if (version_compare($extension['version'], @$manifest->version, 'gt')) {
                    $extension['versioncurrent'] = $manifest->version;
                }
            }
        }
        self::$extensionLoad[$elementFolder] = $extension;
    }
    return self::$extensionLoad[$elementFolder];
}