public static
getExtensionLoadInfo
(mixed &$extension, mixed $element = null, mixed $type = 'component', mixed $folder = '', mixed $version = '')
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];
}