Exemple #1
0
 /**
  * Checks if there are any updates for the provided extensions.
  * Found updates are added to the API call result.
  * 
  * @since 0.1
  * 
  * @param $extensionName String
  * @param $extensionVersion String
  * @param $states Array: a list of allowed release states.
  */
 protected function checkForExtensionUpdates($extensionName, $extensionVersion, array $states)
 {
     $dbr = wfGetDB(DB_SLAVE);
     $extension = $dbr->selectRow('distribution_units', array('unit_id'), array('unit_name' => $extensionName));
     if ($extension !== false) {
         $version = $dbr->selectRow('distribution_unit_versions', array('version_id', 'version_nr', 'version_status'), array('version_unit_id' => $extension->unit_id, 'version_status' => $states), 'Database::selectRow', array('ORDER BY version_release_date DESC'));
         if ($version !== false && version_compare($version->version_nr, $extensionVersion, '>')) {
             $version->version_status = DistributionRelease::unmapState($version->version_status);
             $this->getResult()->addValue('extensions', $extensionName, $version);
         }
     }
 }