rendered paste body<?php//include album classinclude_once(LIBDIR .'../Album/Album.php.class');// Manipulates Album Dataclass 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; //Logger global $logger; //Error (bool)$error = false; //Sanity check (array)$required = array('uid','SKU','upc','artistid','vid','downloads'); if(!is_array($album_details)) return NULL; foreach($required as $param){ if(empty($album_details[$param])) { $erorr = true; $logger->warn("Required parameter $param is not set ($album_details[$param])"); return NULL; } } if($error==true) { $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; }else{ return NULL; }}/*** 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; //Error (bool)$erorr = false; //Logger global $logger; //Sanity Check (array)$required = array('uid','SKU','upc','artistid','vid','downloads'); if(!is_array($revised_album_details)) return NULL; foreach($required as $param){ if(empty($revised_album_details[$param])) { //print_r($revised_album_details); $erorr = true; $logger->warn("Required parameter $param is not set ($revised_album_details[$param])"); return NULL; } } if(empty($album_id)) { $erorrs = true; $logger->warn("Required parameter album_id not specified"); return NULL; } if($error==false) { $query = $this->_db->query(sprintf("update albums SET uid='%s', SKU='%s', upc='%s', artistid='%s', vid='%s', downloads='%s' WHERE albumid='%s'",$revised_album_details['uid'],$revised_album_details['SKU'],$revised_album_details['upc'],$revised_album_details['artistid'],$revised_album_details['vid'],$revised_album_details['downloads'],$album_id) ) or die (mysql_error()); if(mysql_affected_rows() > 0 ) return 1; return 0; }else{ return 0; }}/*** 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; (bool)$error = false; global $logger; //Sanity Check (array)$required = array('albumid','trackid','artistid','tracknum','discnum'); foreach($required as $param){ if(empty($track_info[$param])) { $erorr = true; $logger->warn("Required parameter $param is not set ($track_info[$param])"); return NULL; } } if(empty($album_id)) { $erorr = true; $logger->warn("Required parameter album_id not specified"); return NULL; } if($error==true) { $query = $this->_db->query("insert into albums_tracks(albumid,trackid,artistid,tracknum,discnum) values('%s','%s','%s','%s','%s')", array($track_info['album_id'],$track_info['trackid'],$track_info['artistid'],$track_info['tracknum'],$track_info['discnum']) ); if(mysql_insert_id() > 0 ) return 1; return 0; }else{ return 0; }}/*** 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; (bool)$error = false; global $logger; //print_r($track_info); //Sanity Check (array)$required = array('trackid','artistid','tracknum','discnum'); foreach($required as $param){ if(empty($track_info[$param])) { $erorr = true; $logger->warn("Required parameter $param is not set ($track_info[$param])"); return NULL; } } if(empty($album_id)) { $erorr = true; $logger->warn("Required parameter album_id not specified"); return NULL; } if($error==false){ $query = $this->_db->query(sprintf("update albums_tracks SET trackid='%s', artistid='%s', tracknum='%s', discnum='%s' WHERE albumid='%s'",$track_info['trackid'],$track_info['artistid'],$track_info['tracknum'],$track_info['discnum'],$album_id) ) or die(mysql_error()); if(mysql_affected_rows() > 0 ) return 1; return 0; }else{ return 0; }}}?>