diff options
author | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-01-08 03:27:55 +0000 |
---|---|---|
committer | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-01-08 03:27:55 +0000 |
commit | 9a92a34e2c15942aae49b0928543079b23e9f874 (patch) | |
tree | 475f6f0af1afbed760433d67fa15f849f8ae40b7 /batch.php | |
parent | 3460950693c609876022a02eb5f42a59c768029e (diff) | |
download | ampache-9a92a34e2c15942aae49b0928543079b23e9f874.tar.gz ampache-9a92a34e2c15942aae49b0928543079b23e9f874.tar.bz2 ampache-9a92a34e2c15942aae49b0928543079b23e9f874.zip |
* New Play/Random icons (last ones I swear)
* Fixed up missing actions/icons on genre browse
* Fixed batch logic to show access denied, rather then
redirecting
* Fixed a minor css issue on classic that caused the
album art to float around
Diffstat (limited to 'batch.php')
-rw-r--r-- | batch.php | 108 |
1 files changed, 57 insertions, 51 deletions
@@ -5,9 +5,8 @@ All rights reserved. This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. + modify it under the terms of the GNU General Public License v2 + as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -32,55 +31,62 @@ * in your PHP build. */ - require_once('lib/init.php'); - //test that batch download is permitted (user or system?) +require_once('lib/init.php'); - /* Drop the normal Time limit constraints, this can take a while */ - set_time_limit(0); +//test that batch download is permitted +if (!batch_ok()) { + access_denied(); + exit; +} - if(batch_ok()) { - switch( scrub_in( $_REQUEST['action'] ) ) { - case 'download_selected': - $type = scrub_in($_REQUEST['type']); - if ($type == 'album') { - $song_ids = get_songs_from_type($type,$_POST['song'],$_REQUEST['artist_id']); - } - elseif ($_REQUEST['playlist_id']) { - $playlist = new Playlist($_REQUEST['playlist_id']); - $song_ids = $playlist->get_songs($_REQUEST['song']); - } - else { - $song_ids = $_POST['song']; - } - $name = "selected-" . date("m-d-Y",time()); - $song_files = get_song_files($song_ids); - set_memory_limit($song_files[1]+32); - send_zip($name,$song_files[0]); - break; - case "pl": - $id = scrub_in( $_REQUEST['id'] ); - $pl = new Playlist( $id ); - $name = $pl->name; - $song_ids = $pl->get_songs(); - $song_files = get_song_files( $song_ids ); - set_memory_limit( $song_files[1]+32 ); - send_zip( $name, $song_files[0] ); - break; - case "alb": - $id = scrub_in( $_REQUEST['id'] ); - $alb = new Album( $id ); - $name = $alb->name; - $song_ids = $alb->get_song_ids(); - $song_files = get_song_files( $song_ids ); - set_memory_limit( $song_files[1]+32 ); - send_zip( $name, $song_files[0] ); - break; - default: - header( "Location:" . conf('web_path') . "/index.php?amp_error=Unknown action on batch.php: {$_REQUEST['action']}" ); - break; - } // action switch - } else { // bulk download permissions - header( "Location: " . conf('web_path') . "/index.php?amp_error=Download disabled" ); - } // no bulk download permissions +/* Drop the normal Time limit constraints, this can take a while */ +set_time_limit(0); + +switch( scrub_in( $_REQUEST['action'] ) ) { + case 'download_selected': + $type = scrub_in($_REQUEST['type']); + if ($type == 'album') { + $song_ids = get_songs_from_type($type,$_POST['song'],$_REQUEST['artist_id']); + } + elseif ($_REQUEST['playlist_id']) { + $playlist = new Playlist($_REQUEST['playlist_id']); + $song_ids = $playlist->get_songs($_REQUEST['song']); + } + else { + $song_ids = $_POST['song']; + } + $name = "selected-" . date("m-d-Y",time()); + $song_files = get_song_files($song_ids); + set_memory_limit($song_files[1]+32); + send_zip($name,$song_files[0]); + break; + case 'pl': + $id = scrub_in($_REQUEST['id']); + $pl = new Playlist($id); + $song_ids = $pl->get_songs(); + $song_files = get_song_files( $song_ids ); + set_memory_limit($song_files[1]+32); + send_zip($pl->name, $song_files[0]); + break; + case 'alb': + $id = scrub_in($_REQUEST['id']); + $alb = new Album($id); + $song_ids = $alb->get_song_ids(); + $song_files = get_song_files($song_ids); + set_memory_limit($song_files[1]+32); + send_zip($alb->name, $song_files[0]); + break; + case 'genre': + $id = scrub_in($_REQUEST['id']); + $genre = new Genre($id); + $song_ids = $genre->get_songs(); + $song_files = get_song_files($song_ids); + set_memory_limit($song_files[1]+32); + send_zip($genre->name,$song_files[0]); + break; + default: + // Rien a faire + break; +} // action switch ?> |