blob: 2ab2fe7d4b5551dca2a337fea979212612859052 [file] [log] [blame]
<?php
/**
* Functions used by all product history classes. Instead of including this
* class or calling its methods, include the class of the product of which
* you need release history.
*
* @author Justin Scott <fligtar@mozilla.com>
*/
class productHistory {
/**
* Returns an array with release version numbers as keys and their release
* date as values.
*
* Example usage:
* include_once('product-details/history/firefoxHistory.class.php');
* $firefoxHistory = new firefoxHistory();
* $releases = $firefoxHistory->getReleaseDates(array('major'), 'version');
*
* @param $release_types array The type of releases to get. Can include
* 'major', 'stability', and 'development'.
* Defaults to all available.
* @param $sort_by string The sort order. Can be 'date' or 'version'.
* Defaults to date.
* @returns array
*/
function getReleaseDates($release_types = array(), $sort_by = 'date') {
// Set default release types if none passed
if (empty($release_types))
$release_types = array('major', 'stability', 'development');
$releases = array();
// Add major releases if requested
if (in_array('major', $release_types))
$releases = array_merge($releases, $this->major_releases);
// Add stability releases if requested
if (in_array('stability', $release_types))
$releases = array_merge($releases, $this->stability_releases);
// Add development releases if requested
if (in_array('development', $release_types))
$releases = array_merge($releases, $this->development_releases);
// Sort array as requested
if ($sort_by == 'date')
asort($releases);
elseif ($sort_by == 'version')
ksort($releases);
return $releases;
}
}
?>