update_get_available
modules/update/update.module, строка 350
- Версии
- 6
update_get_available($refresh = FALSE)
Internal helper to try to get the update information from the cache if possible, and to refresh the cache when necessary.
In addition to checking the cache lifetime, this function also ensures that
there are no .info files for enabled modules or themes that have a newer
modification timestamp than the last time we checked for available update
data. If any .info file was modified, it almost certainly means a new
version of something was installed. Without fresh available update data,
the logic in update_calculate_project_data()
will be wrong and produce
confusing, bogus results.
Смотрите также
@see update_get_projects()
Параметры
$refresh
Boolean to indicate if this method should refresh the cache automatically
if there's no data.
Код
<?php
function update_get_available($refresh = FALSE) {
module_load_include('inc', 'update', 'update.compare');
$available = array();
// First, make sure that none of the .info files have a change time
// newer than the last time we checked for available updates.
$needs_refresh = FALSE;
$last_check = variable_get('update_last_check', 0);
$projects = update_get_projects();
foreach ($projects as $key => $project) {
if ($project['info']['_info_file_ctime'] > $last_check) {
$needs_refresh = TRUE;
break;
}
}
if (!$needs_refresh && ($cache = _update_cache_get('update_available_releases')) && $cache->expire > time()) {
$available = $cache->data;
}
elseif ($needs_refresh || $refresh) {
// If we need to refresh due to a newer .info file, ignore the argument
// and force the refresh (e.g., even for update_requirements()) to prevent
// bogus results.
$available = update_refresh();
}
return $available;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии