summaryrefslogtreecommitdiffstats
path: root/batch.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-01-08 03:27:55 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-01-08 03:27:55 +0000
commit9a92a34e2c15942aae49b0928543079b23e9f874 (patch)
tree475f6f0af1afbed760433d67fa15f849f8ae40b7 /batch.php
parent3460950693c609876022a02eb5f42a59c768029e (diff)
downloadampache-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.php108
1 files changed, 57 insertions, 51 deletions
diff --git a/batch.php b/batch.php
index f8fa5368..68cdbd5b 100644
--- a/batch.php
+++ b/batch.php
@@ -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
?>