Back to Updater class

Method getSitesWithUpdates

private array
getSitesWithUpdates
(mixed $timestamp = 0)
Returns the IDs of the update sites with cached updates
Parameters
  • int $timestamp Optional. If set, only update sites checked before $timestamp will be taken into account.
Returns
  • array The IDs of the update sites with cached updates
Since
  • 3.6.0
Class: Updater
Project: Joomla

Method getSitesWithUpdates - Source code

/**
 * Returns the IDs of the update sites with cached updates
 *
 * @param   int  $timestamp  Optional. If set, only update sites checked before $timestamp will be taken into
 *                           account.
 *
 * @return  array  The IDs of the update sites with cached updates
 *
 * @since   3.6.0
 */
private function getSitesWithUpdates($timestamp = 0)
{
    $db = Factory::getDbo();
    $timestamp = (int) $timestamp;
    $query = $db->getQuery(true)->select('DISTINCT ' . $db->quoteName('update_site_id'))->from($db->quoteName('#__updates'));
    if ($timestamp) {
        $subQuery = $db->getQuery(true)->select($db->quoteName('update_site_id'))->from($db->quoteName('#__update_sites'))->where([$db->quoteName('last_check_timestamp') . ' IS NULL', $db->quoteName('last_check_timestamp') . ' <= :timestamp'], 'OR');
        $query->where($db->quoteName('update_site_id') . ' IN (' . $subQuery . ')')->bind(':timestamp', $timestamp, ParameterType::INTEGER);
    }
    $retVal = $db->setQuery($query)->loadColumn(0);
    if (empty($retVal)) {
        return array();
    }
    return $retVal;
}