本文整理汇总了PHP中Album::get_random方法的典型用法代码示例。如果您正苦于以下问题:PHP Album::get_random方法的具体用法?PHP Album::get_random怎么用?PHP Album::get_random使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Album
的用法示例。
在下文中一共展示了Album::get_random方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getalbumlist
/**
* getAlbumList
* Get a list of random, newest, highest rated etc. albums.
* Takes the list type with optional size and offset in parameters.
*/
public static function getalbumlist($input, $elementName = "albumList")
{
self::check_version($input, "1.2.0");
$type = self::check_parameter($input, 'type');
$size = $input['size'];
$offset = $input['offset'];
$musicFolderId = $input['musicFolderId'] ?: 0;
// Get albums from all catalogs by default
// Catalog filter is not supported for all request type for now.
$catalogs = null;
if ($musicFolderId > 0) {
$catalogs = array();
$catalogs[] = $musicFolderId;
}
$r = Subsonic_XML_Data::createSuccessResponse();
$errorOccured = false;
$albums = array();
if ($type == "random") {
$albums = Album::get_random($size);
} else {
if ($type == "newest") {
$albums = Stats::get_newest("album", $size, $offset, $musicFolderId);
} else {
if ($type == "highest") {
$albums = Rating::get_highest("album", $size, $offset);
} else {
if ($type == "frequent") {
$albums = Stats::get_top("album", $size, '', $offset);
} else {
if ($type == "recent") {
$albums = Stats::get_recent("album", $size, $offset);
} else {
if ($type == "starred") {
$albums = Userflag::get_latest('album');
} else {
if ($type == "alphabeticalByName") {
$albums = Catalog::get_albums($size, $offset, $catalogs);
} else {
if ($type == "alphabeticalByArtist") {
$albums = Catalog::get_albums_by_artist($size, $offset, $catalogs);
} else {
if ($type == "byYear") {
$fromYear = $input['fromYear'];
$toYear = $input['toYear'];
if ($fromYear || $toYear) {
$search = array();
$search['limit'] = $size;
$search['offset'] = $offset;
$search['type'] = "album";
$i = 0;
if ($fromYear) {
$search['rule_' . $i . '_input'] = $fromYear;
$search['rule_' . $i . '_operator'] = 0;
$search['rule_' . $i . ''] = "year";
++$i;
}
if ($toYear) {
$search['rule_' . $i . '_input'] = $toYear;
$search['rule_' . $i . '_operator'] = 1;
$search['rule_' . $i . ''] = "year";
++$i;
}
$query = new Search(null, 'album');
$albums = $query->run($search);
}
} else {
if ($type == "byGenre") {
$genre = self::check_parameter($input, 'genre');
$tag_id = Tag::tag_exists($genre);
if ($tag_id) {
$albums = Tag::get_tag_objects('album', $tag_id, $size, $offset);
}
} else {
$r = Subsonic_XML_Data::createError(Subsonic_XML_Data::SSERROR_GENERIC, "Invalid list type: " . scrub_out($type));
$errorOccured = true;
}
}
}
}
}
}
}
}
}
}
if (!$errorOccured) {
Subsonic_XML_Data::addAlbumList($r, $albums, $elementName);
}
self::apiOutput($input, $r);
}
示例2: array
}
$results = array();
switch ($_REQUEST['action']) {
case 'song':
$songs = Random::get_default();
if (!count($songs)) {
$results['rfc3514'] = '0x1';
break;
}
foreach ($songs as $song_id) {
$GLOBALS['user']->playlist->add_object($song_id, 'song');
}
$results['rightbar'] = UI::ajax_include('rightbar.inc.php');
break;
case 'album':
$album_id = Album::get_random();
if (!$album_id) {
$results['rfc3514'] = '0x1';
break;
}
$album = new Album($album_id[0]);
$songs = $album->get_songs();
foreach ($songs as $song_id) {
$GLOBALS['user']->playlist->add_object($song_id, 'song');
}
$results['rightbar'] = UI::ajax_include('rightbar.inc.php');
break;
case 'artist':
$artist_id = Random::artist();
if (!$artist_id) {
$results['rfc3514'] = '0x1';
示例3: array
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Sub-Ajax page, requires AJAX_INCLUDE
*/
if (!defined('AJAX_INCLUDE')) {
exit;
}
$results = array();
switch ($_REQUEST['action']) {
case 'random_albums':
$albums = Album::get_random(6);
if (count($albums) and is_array($albums)) {
ob_start();
require_once AmpConfig::get('prefix') . UI::find_template('show_random_albums.inc.php');
$results['random_selection'] = ob_get_clean();
} else {
$results['random_selection'] = '<!-- None found -->';
if (Access::check('interface', '100')) {
$catalogs = Catalog::get_catalogs();
if (count($catalogs) == 0) {
$results['random_selection'] = sprintf(T_('No catalog configured yet. To start streaming your media, you now need to %s add a catalog %s'), '<a href="' . AmpConfig::get('web_path') . '/admin/catalog.php?action=show_add_catalog">', '</a>.<br /><br />');
}
}
}
break;
case 'random_videos':
示例4: stats
public static function stats($input)
{
$type = $input['type'];
$offset = $input['offset'];
$limit = $input['limit'];
if ($type == "newest") {
$albums = Stats::get_newest("album", $limit, $offset);
} else {
if ($type == "highest") {
$albums = Rating::get_highest("album", $limit, $offset);
} else {
if ($type == "frequent") {
$albums = Stats::get_top("album", $limit, '', $offset);
} else {
if ($type == "recent") {
$albums = Stats::get_recent("album", $limit, $offset);
} else {
if ($type == "flagged") {
$albums = Userflag::get_latest('album');
} else {
if (!$limit) {
$limit = AmpConfig::get('popular_threshold');
}
$albums = Album::get_random($limit);
}
}
}
}
}
ob_end_clean();
echo XML_Data::albums($albums);
}
示例5: getalbumlist
/**
* getAlbumList
* Get a list of random, newest, highest rated etc. albums.
* Takes the list type with optional size and offset in parameters.
*/
public static function getalbumlist($input, $elementName = "albumList")
{
self::check_version($input, "1.2.0");
$type = self::check_parameter($input, 'type');
$size = $input['size'];
$offset = $input['offset'];
$albums = array();
if ($type == "random") {
$albums = Album::get_random($size);
} else {
if ($type == "newest") {
$albums = Stats::get_newest("album", $size, $offset);
} else {
if ($type == "highest") {
$albums = Rating::get_highest("album", $size, $offset);
} else {
if ($type == "frequent") {
$albums = Stats::get_top("album", $size, '', $offset);
} else {
if ($type == "recent") {
$albums = Stats::get_recent("album", $size, $offset);
} else {
if ($type == "starred") {
$albums = Userflag::get_latest('album');
} else {
if ($type == "alphabeticalByName") {
$albums = Catalog::get_albums($size, $offset);
} else {
if ($type == "alphabeticalByArtist") {
$albums = Catalog::get_albums_by_artist($size, $offset);
}
}
}
}
}
}
}
}
if (count($albums)) {
$r = Subsonic_XML_Data::createSuccessResponse();
Subsonic_XML_Data::addAlbumList($r, $albums, $elementName);
} else {
$r = Subsonic_XML_Data::createError(Subsonic_XML_Data::SSERROR_DATA_NOTFOUND);
}
self::apiOutput($input, $r);
}
示例6: stats
/**
* This get library stats.
* @param array $input
*/
public static function stats($input)
{
$type = $input['type'];
$offset = $input['offset'];
$limit = $input['limit'];
$username = $input['username'];
$albums = null;
if ($type == "newest") {
$albums = Stats::get_newest("album", $limit, $offset);
} else {
if ($type == "highest") {
$albums = Rating::get_highest("album", $limit, $offset);
} else {
if ($type == "frequent") {
$albums = Stats::get_top("album", $limit, '', $offset);
} else {
if ($type == "recent") {
if (!empty($username)) {
$user = User::get_from_username($username);
if ($user !== null) {
$albums = $user->get_recently_played($limit, 'album');
} else {
debug_event('api', 'User `' . $username . '` cannot be found.', 1);
}
} else {
$albums = Stats::get_recent("album", $limit, $offset);
}
} else {
if ($type == "flagged") {
$albums = Userflag::get_latest('album');
} else {
if (!$limit) {
$limit = AmpConfig::get('popular_threshold');
}
$albums = Album::get_random($limit);
}
}
}
}
}
if ($albums !== null) {
ob_end_clean();
echo XML_Data::albums($albums);
}
}
示例7: array
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
/**
* Sub-Ajax page, requires AJAX_INCLUDE
*/
if (!defined('AJAX_INCLUDE')) {
exit;
}
$results = array();
switch ($_REQUEST['action']) {
case 'random_albums':
$albums = Album::get_random(6, true);
if (count($albums) and is_array($albums)) {
ob_start();
require_once AmpConfig::get('prefix') . '/templates/show_random_albums.inc.php';
$results['random_selection'] = ob_get_clean();
} else {
$results['random_selection'] = '<!-- None found -->';
}
break;
case 'artist_info':
if (AmpConfig::get('lastfm_api_key') && (isset($_REQUEST['artist']) || isset($_REQUEST['fullname']))) {
if ($_REQUEST['artist']) {
$artist = new Artist($_REQUEST['artist']);
$artist->format();
$biography = Recommendation::get_artist_info($artist->id);
} else {