summaryrefslogtreecommitdiffstats
path: root/lib/batch.lib.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2005-06-27 08:40:23 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2005-06-27 08:40:23 +0000
commit65663a24f14bf544c8391c169239d0811eed4ffb (patch)
treeaceffe4d5ffc0e11b9488ce404f57f4369c0df5e /lib/batch.lib.php
parent4d64e9219f3dce5ccdb283e777132c503dd355d6 (diff)
downloadampache-65663a24f14bf544c8391c169239d0811eed4ffb.tar.gz
ampache-65663a24f14bf544c8391c169239d0811eed4ffb.tar.bz2
ampache-65663a24f14bf544c8391c169239d0811eed4ffb.zip
move and break, move and break
Diffstat (limited to 'lib/batch.lib.php')
-rw-r--r--lib/batch.lib.php66
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/batch.lib.php b/lib/batch.lib.php
new file mode 100644
index 00000000..f30f6f16
--- /dev/null
+++ b/lib/batch.lib.php
@@ -0,0 +1,66 @@
+<?php
+/*
+
+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.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+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.
+
+*/
+
+
+/**
+ * get_song_files
+ * tmakes array of song ids and returns
+ * array of path to actual files
+ * @param $song_ids an array of song ids whose filenames you need
+ */
+function get_song_files( $song_ids ) {
+ global $user;
+ $song_files = array();
+ foreach( $song_ids as $song_id ) {
+ $song = new Song( $song_id );
+ /* Don't archive disabled songs */
+ if ($song->status != 'disabled') {
+ $user->update_stats( $song_id );
+ $total_size += sprintf("%.2f",($song->size/1048576));
+ array_push( $song_files, $song->file );
+ } // if song isn't disabled
+ }
+ return array($song_files,$total_size);
+} //get_song_files
+
+
+/**
+ * send_zip
+ * takes array of full paths to songs
+ * zips them and sends them
+ * @param $name name of the zip file to be created
+ * @param $song_files array of full paths to songs to zip create w/ call to get_song_files
+ */
+function send_zip( $name, $song_files ) {
+
+ /* Require needed library */
+ require_once(conf('prefix') . '/lib/archive.lib.php' );
+ $arc = new zip_file( $name . ".zip" );
+ $options = array(
+ 'inmemory' => 1, // create archive in memory
+ 'storepaths' => 0, // only store file name, not full path
+ 'level' => 0 // no compression
+ );
+ $arc->set_options( $options );
+ $arc->add_files( $song_files );
+ $arc->create_archive();
+ $arc->download_file();
+
+} // send_zip
+?>