<?php
//include album class
include_once(LIBDIR .'../Album/Album.php.class');
// Manipulates Album Data
class AlbumAdmin {
var $album_details;
var $revised_album_details;
var $track_info;
var $album_id;
/**
* Class constructor
*
* @param $db - an instance of the Db class
*
* @return an instance of the AlbumAdmin class
*
**/
function AlbumAdmin($db) {
// ensure we have logger access
global $logger;
if(strtolower(get_class($logger)) != 'logger') {
die(__FILE__."FATAL ERROR: no valid global logger object is instantiated - you must have a global \$logger object to continue");
}
// verify our db object
if(!is_object($db_obj) or get_class($db_obj) != 'db') {
$logger->fatal("DB OBJECT PASSED TO " . __FILE__. " CONSTRUCTOR IS INVALID! - CLASS PASSED WAS A " . get_class($db_obj));
}
$this->_db = $db;
return $this;
}
/**
* Class constructor
*
* @param $album_details - array of data to add a new album
*
* @return instant of album class
*
**/
function addAlbum($album_details) {
$this->album_details = $album_details;
extract($album_details);
$query = $this->_db->query("insert into albums(uid,SKU,upc,artistid,vid,downloads) values('%s','%s','%s','%s','%s','%s')", array("$uid","$SKU","$upc","$artistid","$vid","$downloads") );
(integer)$album_id = mysql_insert_id();
// create new album
$album_obj = new Album($this->_db,$album_id);
return $album_obj;
}
/**
* Class constructor
*
* @param $album_id - specified key id
* @param $revised_album_details - array of data for albums
*
* @return boolean true/false if the data has been saved
*
**/
function updateAlbum($album_id, $revised_album_details) {
$this->$album_id = $album_id;
$this->$revised_album_details = $revised_album_details;
extract($revised_album_details);
$query = $this->_db->query("update albums SET uid='$uid', SKU='$SKU', upc='$upc', artistid='$artistid', vid='$vid', downloads='$downloads' WHERE albumid='%s'", $album_id) or die (mysql_error());
return $query;
}
/**
* Class constructor
*
* @param $album_id - specified album key
* @param $track_info - array of data for albums_tracks
*
* @return returns the track id of the new albums_tracks data
*
**/
function albumAddTracks($album_id,$track_info) {
$this->track_info = $track_info;
extract($track_info);
$query = $this->_db->query("insert into albums_tracks(albumid,trackid,artistid,tracknum,discnum) values('%s','%s','%s','%s','%s')", array("$album_id","$trackid","$artistid","$tracknum","$discnum") );
$track_id = mysql_insert_id();
return $track_id;
}
/**
* Class constructor
*
* @param $album_id - specified key for albums_tracks
* @param $track_info - array of data for albums_tracks
*
* @return boolean true/false
*
**/
function albumUpdateTracks($album_id, $track_info) {
$this->album_id = $album_id;
$this->track_info = $track_info;
extract($track_info);
$query = $this->_db->query("update albums_tracks SET albumid='$albumid', trackid='$trackid', artistid='$artistid', tracknum='$tracknum', discnum='$discnum' WHERE albumid='%s'", $album_id) or die(mysql_error());
return $query;
}
}
?>