Beispiel #1
0
 /**
  * Get the library details for a particular release.
  *
  * @param \BoostVersion $version
  * @param string $sort Optional field used to sort the libraries.
  * @param callable $filter Optional filter function.
  * @return array
  */
 function get_for_version($version, $sort = null, $filter = null)
 {
     $version = BoostVersion::from($version);
     $libs = array();
     if (!$filter) {
         $filter = $version->is_numbered_release() ? 'BoostLibraries::filter_released' : 'BoostLibraries::filter_all';
     }
     foreach ($this->db as $key => $versions) {
         $details = null;
         foreach ($versions as $lib) {
             if ($version->compare($lib->update_version) >= 0) {
                 $details = $lib->details;
             }
         }
         if ($details) {
             if ($filter && !call_user_func($filter, $details)) {
                 continue;
             }
             $libs[$key] = $details;
         }
     }
     $libs = array_values($libs);
     if ($sort) {
         uasort($libs, BoostUtility::sort_by_field($sort));
     }
     return $libs;
 }
Beispiel #2
0
 function sort_by($field)
 {
     uasort($this->db, BoostUtility::sort_by_field($field));
 }