From 623be37d8a2276da61e1a092f8e1f433aa5c9a93 Mon Sep 17 00:00:00 2001 From: paul Date: Thu, 11 Jan 2007 19:24:45 +0000 Subject: [PATCH] Fix for the bug where you could not upload files (the first part of bug #2114). Converted StoredFile into a real class that mapped the database table properly. Renamed some functions to be consistent with each other and with coding standards. --- .../modules/storageServer/var/AccessRecur.php | 2 +- .../src/modules/storageServer/var/Backup.php | 2 +- .../modules/storageServer/var/BasicStor.php | 218 ++++++++--------- .../modules/storageServer/var/GreenBox.php | 42 ++-- .../src/modules/storageServer/var/LocStor.php | 163 ++++++------- .../modules/storageServer/var/LsPlaylist.php | 20 +- .../modules/storageServer/var/Playlist.php | 16 +- .../modules/storageServer/var/Renderer.php | 4 +- .../src/modules/storageServer/var/Restore.php | 2 +- .../storageServer/var/SmilPlaylist.php | 4 +- .../modules/storageServer/var/StoredFile.php | 223 +++++++++++------- .../modules/storageServer/var/Transport.php | 16 +- .../storageServer/var/xmlrpc/simpleGet.php | 2 +- 13 files changed, 392 insertions(+), 322 deletions(-) diff --git a/campcaster/src/modules/storageServer/var/AccessRecur.php b/campcaster/src/modules/storageServer/var/AccessRecur.php index 95c5ce6ca..75d7887fb 100644 --- a/campcaster/src/modules/storageServer/var/AccessRecur.php +++ b/campcaster/src/modules/storageServer/var/AccessRecur.php @@ -33,7 +33,7 @@ class AccessRecur { return $r; } $plRes = $r; - $r = StoredFile::recallByGunid($plid); + $r = StoredFile::RecallByGunid($plid); if (PEAR::isError($r)) { return $r; } diff --git a/campcaster/src/modules/storageServer/var/Backup.php b/campcaster/src/modules/storageServer/var/Backup.php index ae9b42358..34d40dd1f 100755 --- a/campcaster/src/modules/storageServer/var/Backup.php +++ b/campcaster/src/modules/storageServer/var/Backup.php @@ -301,7 +301,7 @@ class Backup foreach ($this->ids as $i=>$item) { $gunid = $item['gunid']; // get a stored file object of this gunid - $sf = StoredFile::recallByGunid($gunid); + $sf = StoredFile::RecallByGunid($gunid); if (PEAR::isError($sf)) { return $sf; } diff --git a/campcaster/src/modules/storageServer/var/BasicStor.php b/campcaster/src/modules/storageServer/var/BasicStor.php index 4ecbfa017..1562ac781 100644 --- a/campcaster/src/modules/storageServer/var/BasicStor.php +++ b/campcaster/src/modules/storageServer/var/BasicStor.php @@ -93,22 +93,22 @@ class BasicStor { if (PEAR::isError($id)) { return $id; } - $ac = StoredFile::insert($id, $fileName, + $storedFile = StoredFile::insert($id, $fileName, $localFilePath, $metadataFilePath, $mdataLoc, $gunid, $ftype, 'StoredFile', $copyMedia); - if (PEAR::isError($ac)) { + if (PEAR::isError($storedFile)) { $res = BasicStor::RemoveObj($id); // catch constraint violations - switch ($ac->getCode()) { + switch ($storedFile->getCode()) { case -3: return PEAR::raiseError( "BasicStor::bsPutFile: gunid duplication", GBERR_GUNID); default: - return $ac; + return $storedFile; } } if ($ftype == 'playlist') { - $ac->setMime('application/smil'); + $storedFile->setMime('application/smil'); } return $id; } // fn bsPutFile @@ -129,13 +129,13 @@ class BasicStor { case "audioclip": case "playlist": case "webstream": - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { // catch nonerror exception: - //if($ac->getCode() != GBERR_FOBJNEX) - return $ac; + //if($storedFile->getCode() != GBERR_FOBJNEX) + return $storedFile; } - $res = $ac->rename($newName); + $res = $storedFile->setName($newName); if (PEAR::isError($res)) { return $res; } @@ -233,19 +233,19 @@ class BasicStor { */ public function bsReplaceFile($id, $localFilePath, $metadataFilePath, $mdataLoc='file') { - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } if (!empty($metadataFilePath) && ($mdataLoc!='file' || file_exists($metadataFilePath))) { - $r = $ac->replaceMetadata($metadataFilePath, $mdataLoc); + $r = $storedFile->setMetadata($metadataFilePath, $mdataLoc); if (PEAR::isError($r)) { return $r; } } if (!empty($localFilePath) && file_exists($localFilePath)) { - $r = $ac->replaceRawMediaData($localFilePath); + $r = $storedFile->setRawMediaData($localFilePath); if (PEAR::isError($r)) { return $r; } @@ -280,15 +280,15 @@ class BasicStor { case "audioclip": case "playlist": case "webstream": - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } if (is_null($did)) { return PEAR::raiseError("BasicStor::bsDeleteFile: ". "trash not found", GBERR_NOTF); } - $res = $ac->setState('deleted'); + $res = $storedFile->setState('deleted'); if (PEAR::isError($res)) { return $res; } @@ -514,21 +514,21 @@ class BasicStor { */ public function bsOpenDownload($id, $part='media', $parent='0') { - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $gunid = $ac->gunid; + $gunid = $storedFile->gunid; switch ($part) { case "media": - $realfile = $ac->getRealFileName(); - $ext = $ac->getFileExtension(); - $filename = $ac->getFileName(); + $realfile = $storedFile->getRealFileName(); + $ext = $storedFile->getFileExtension(); + $filename = $storedFile->getName(); break; case "metadata": - $realfile = $ac->getRealMetadataFileName(); + $realfile = $storedFile->getRealMetadataFileName(); $ext = "xml"; - $filename = $ac->getFileName(); + $filename = $storedFile->getName(); break; default: return PEAR::raiseError( @@ -666,7 +666,7 @@ class BasicStor { GBERR_PUT); } else { // Remember the MD5 sum - $storedFile = StoredFile::recallByToken($token); + $storedFile = StoredFile::RecallByToken($token); if (!PEAR::isError($storedFile)) { $storedFile->setMd5($md5sum); } else { @@ -800,11 +800,11 @@ class BasicStor { */ public function bsReplaceMetadata($id, $mdata, $mdataLoc='file') { - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } - return $ac->replaceMetadata($mdata, $mdataLoc); + return $storedFile->setMetadata($mdata, $mdataLoc); } @@ -817,11 +817,11 @@ class BasicStor { */ public function bsGetMetadata($id) { - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } - return $ac->getMetadata(); + return $storedFile->getMetadata(); } @@ -842,14 +842,14 @@ class BasicStor { public function bsGetTitle($id, $gunid=NULL, $lang=NULL, $deflang=NULL) { if (is_null($gunid)) { - $ac = StoredFile::recall($id); + $storedFile = StoredFile::Recall($id); } else { - $ac = StoredFile::recallByGunid($gunid); + $storedFile = StoredFile::RecallByGunid($gunid); } - if (PEAR::isError($ac)) { - return $ac; + if (PEAR::isError($storedFile)) { + return $storedFile; } - $r = $ac->md->getMetadataValue('dc:title', $lang, $deflang); + $r = $storedFile->md->getMetadataValue('dc:title', $lang, $deflang); if (PEAR::isError($r)) { return $r; } @@ -875,11 +875,11 @@ class BasicStor { */ // public function bsGetMetadataValue($id, $category, $lang=NULL, $deflang=NULL) // { -// $ac = StoredFile::recall($id); -// if (PEAR::isError($ac)) { -// return $ac; +// $storedFile = StoredFile::Recall($id); +// if (PEAR::isError($storedFile)) { +// return $storedFile; // } -// return $ac->md->getMetadataValue($category, $lang, $deflang); +// return $storedFile->md->getMetadataValue($category, $lang, $deflang); // } @@ -899,20 +899,20 @@ class BasicStor { */ public function bsGetMetadataValue($id, $category = null) { - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } if (is_null($category)) { - return $ac->md->getAllMetadata(); + return $storedFile->md->getAllMetadata(); } elseif (is_array($category)) { $values = array(); foreach ($category as $tmpCat) { - $values[$tmpCat] = $ac->md->getMetadataValue($tmpCat); + $values[$tmpCat] = $storedFile->md->getMetadataValue($tmpCat); } return $values; } else { - return $ac->md->getMetadataValue($category); + return $storedFile->md->getMetadataValue($category); } } @@ -939,19 +939,19 @@ class BasicStor { public function bsSetMetadataValue($id, $category, $value, $lang=NULL, $mid=NULL, $container='metadata', $regen=TRUE) { - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } if ($category == 'dcterms:extent') { $value = BasicStor::NormalizeExtent($value); } - $res = $ac->md->setMetadataValue($category, $value, $lang, $mid, $container); + $res = $storedFile->md->setMetadataValue($category, $value, $lang, $mid, $container); if (PEAR::isError($res)) { return $res; } if ($regen) { - $r = $ac->md->regenerateXmlFile(); + $r = $storedFile->md->regenerateXmlFile(); if (PEAR::isError($r)) { return $r; } @@ -1009,11 +1009,11 @@ class BasicStor { } } if ($regen) { - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $r = $ac->md->regenerateXmlFile(); + $r = $storedFile->md->regenerateXmlFile(); if (PEAR::isError($r)) { return $r; } @@ -1135,7 +1135,7 @@ class BasicStor { } $gunids = array(); foreach ($plids as $plid) { - $pl = Playlist::recallByGunid($plid); + $pl = Playlist::RecallByGunid($plid); if (PEAR::isError($pl)) { return $pl; } @@ -1164,11 +1164,11 @@ class BasicStor { mkdir($tmpdc); } foreach ($gunids as $i => $it) { - $ac = StoredFile::recallByGunid($it['gunid']); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::RecallByGunid($it['gunid']); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $MDfname = $ac->md->getFileName(); + $MDfname = $storedFile->md->getName(); if (PEAR::isError($MDfname)) { return $MDfname; } @@ -1176,16 +1176,16 @@ class BasicStor { switch ($it['type']) { case "playlist": require_once("LsPlaylist.php"); - $ac = $r = LsPlaylist::recallByGunid($it['gunid']); + $storedFile = $r = LsPlaylist::RecallByGunid($it['gunid']); switch ($type) { case "smil": - $string = $r = $ac->outputToSmil(); + $string = $r = $storedFile->outputToSmil(); break; case "m3u": - $string = $r = $ac->outputToM3u(); + $string = $r = $storedFile->outputToM3u(); break; default: - $string = $r = $ac->md->genXmlDoc(); + $string = $r = $storedFile->md->genXmlDoc(); } if (PEAR::isError($r)) { return $r; @@ -1199,11 +1199,11 @@ class BasicStor { copy($MDfname, "$tmpdc/{$it['gunid']}.xml"); break; } // switch } // if file_exists() - $RADfname = $ac->getRealFileName(); + $RADfname = $storedFile->getRealFileName(); if (PEAR::isError($RADfname)) { return $RADfname; } - $RADext = $ac->getFileExtension(); + $RADext = $storedFile->getFileExtension(); if (PEAR::isError($RADext)) { return $RADext; } @@ -1475,11 +1475,11 @@ class BasicStor { */ public function bsAnalyzeFile($id) { - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $ia = $ac->analyzeFile(); + $ia = $storedFile->analyzeFile(); return $ia; } @@ -1556,22 +1556,22 @@ class BasicStor { public function bsExistsFile($id, $ftype=NULL, $byGunid=FALSE) { if ($byGunid) { - $ac = StoredFile::recallByGunid($id); + $storedFile = StoredFile::RecallByGunid($id); } else { - $ac = StoredFile::recall($id); + $storedFile = StoredFile::Recall($id); } - if (PEAR::isError($ac)) { + if (PEAR::isError($storedFile)) { // catch some exceptions - switch ($ac->getCode()) { + switch ($storedFile->getCode()) { case GBERR_FILENEX: case GBERR_FOBJNEX: return FALSE; break; default: - return $ac; + return $storedFile; } } - $realFtype = BasicStor::GetType($ac->gunid); + $realFtype = BasicStor::GetType($storedFile->gunid); if (!is_null($ftype) && ( ($realFtype != $ftype) // webstreams are subset of audioclips @@ -1932,15 +1932,15 @@ class BasicStor { return $p_subjid; } } - $ac = StoredFile::recallByGunid($p_playlistId); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::RecallByGunid($p_playlistId); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $state = $ac->getState(); + $state = $storedFile->getState(); if ($p_val) { - $r = $ac->setState('edited', $p_subjid); + $r = $storedFile->setState('edited', $p_subjid); } else { - $r = $ac->setState('ready', 'NULL'); + $r = $storedFile->setState('ready', 'NULL'); } if (PEAR::isError($r)) { return $r; @@ -1959,14 +1959,14 @@ class BasicStor { */ public function isEdited($p_playlistId) { - $ac = StoredFile::recallByGunid($p_playlistId); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::RecallByGunid($p_playlistId); + if (PEAR::isError($storedFile)) { + return $storedFile; } - if (!$ac->isEdited($p_playlistId)) { + if (!$storedFile->isEdited($p_playlistId)) { return FALSE; } - return $ac->isEditedBy($p_playlistId); + return $storedFile->isEditedBy($p_playlistId); } @@ -1989,12 +1989,12 @@ class BasicStor { case "audioclip": case "playlist": case "webstream": - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $ac2 = StoredFile::CopyOf($ac, $nid); - $ac2->rename(M2tree::GetObjName($nid)); + $ac2 = StoredFile::CopyOf($storedFile, $nid); + $ac2->setName(M2tree::GetObjName($nid)); break; case "File": default: @@ -2016,15 +2016,15 @@ class BasicStor { case "audioclip": case "playlist": case "webstream": - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } - if ($ac->isEdited()) { + if ($storedFile->isEdited()) { return PEAR::raiseError( 'BasicStor::MoveObj: file is currently being edited, it cannot be moved.'); } - if ($ac->isAccessed()) { + if ($storedFile->isAccessed()) { return PEAR::raiseError( 'BasicStor::MoveObj: file is currently in use, it cannot be moved.'); } @@ -2082,21 +2082,21 @@ class BasicStor { case "audioclip": case "playlist": case "webstream": - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } - if ($ac->isEdited() && !$forced) { + if ($storedFile->isEdited() && !$forced) { return PEAR::raiseError( 'BasicStor::RemoveObj(): is edited' ); } - if ($ac->isAccessed() && !$forced) { + if ($storedFile->isAccessed() && !$forced) { return PEAR::raiseError( 'BasicStor::RemoveObj(): is accessed' ); } - $ac->delete(); + $storedFile->delete(); break; case "File": case "Folder": diff --git a/campcaster/src/modules/storageServer/var/GreenBox.php b/campcaster/src/modules/storageServer/var/GreenBox.php index 05c5ebc0a..2174598e4 100644 --- a/campcaster/src/modules/storageServer/var/GreenBox.php +++ b/campcaster/src/modules/storageServer/var/GreenBox.php @@ -294,13 +294,13 @@ class GreenBox extends BasicStor { * session id * @return boolean|PEAR_Error */ - public function replaceMetadata($id, $mdata, $mdataLoc='file', $sessid='') - { - if (($res = BasicStor::Authorize('write', $id, $sessid)) !== TRUE) { - return $res; - } - return $this->bsReplaceMetadata($id, $mdata, $mdataLoc); - } // fn replaceMetadata +// public function replaceMetadata($id, $mdata, $mdataLoc='file', $sessid='') +// { +// if (($res = BasicStor::Authorize('write', $id, $sessid)) !== TRUE) { +// return $res; +// } +// return $this->bsReplaceMetadata($id, $mdata, $mdataLoc); +// } // fn replaceMetadata /** @@ -341,11 +341,11 @@ class GreenBox extends BasicStor { if (($res = BasicStor::Authorize('read', $id, $sessid)) !== TRUE) { return $res; } - $ac = StoredFile::recall($id); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::Recall($id); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $arr = $ac->md->genPhpArray(); + $arr = $storedFile->md->genPhpArray(); $md = FALSE; foreach ($arr['children'] as $i=>$a) { if ($a['elementname'] == 'metadata'){ @@ -588,7 +588,7 @@ class GreenBox extends BasicStor { public function getPlaylistArray($id, $sessid) { $gunid = BasicStor::GunidFromId($id); - $pl = StoredFile::recall($id); + $pl = StoredFile::Recall($id); if (PEAR::isError($pl)) { return $pl; } @@ -635,11 +635,11 @@ class GreenBox extends BasicStor { if (PEAR::isError($gunid)) { return $gunid; } - $ac = StoredFile::recallByGunid($gunid); - if (PEAR::isError($ac)) { - return $ac; + $storedFile = StoredFile::RecallByGunid($gunid); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $r = $ac->md->regenerateXmlFile(); + $r = $storedFile->md->regenerateXmlFile(); if (PEAR::isError($r)) { return $r; } @@ -672,7 +672,7 @@ class GreenBox extends BasicStor { $fadeIn=NULL, $fadeOut=NULL, $length=NULL, $pause=NULL) { require_once"Playlist.php"; - $pl = Playlist::recallByToken($token); + $pl = Playlist::RecallByToken($token); if (PEAR::isError($pl)) { return $pl; } @@ -713,7 +713,7 @@ class GreenBox extends BasicStor { public function delAudioClipFromPlaylist($token, $plElGunid, $sessid) { require_once("Playlist.php"); - $pl = Playlist::recallByToken($token); + $pl = Playlist::RecallByToken($token); if (PEAR::isError($pl)) { return $pl; } @@ -748,7 +748,7 @@ class GreenBox extends BasicStor { public function changeFadeInfo($token, $plElGunid, $fadeIn, $fadeOut, $sessid) { require_once("Playlist.php"); - $pl = Playlist::recallByToken($token); + $pl = Playlist::RecallByToken($token); if (PEAR::isError($pl)) { return $pl; } @@ -784,7 +784,7 @@ class GreenBox extends BasicStor { public function moveAudioClipInPlaylist($token, $plElGunid, $newPos, $sessid) { require_once("Playlist.php"); - $pl = Playlist::recallByToken($token); + $pl = Playlist::RecallByToken($token); if (PEAR::isError($pl)) { return $pl; } @@ -864,7 +864,7 @@ class GreenBox extends BasicStor { $lang=NULL, $deflang=NULL) { require_once("Playlist.php"); - $pl = Playlist::recallByGunid($plid); + $pl = Playlist::RecallByGunid($plid); if (PEAR::isError($pl)) { return $pl; } diff --git a/campcaster/src/modules/storageServer/var/LocStor.php b/campcaster/src/modules/storageServer/var/LocStor.php index 71d4a3c75..fb6ad3242 100644 --- a/campcaster/src/modules/storageServer/var/LocStor.php +++ b/campcaster/src/modules/storageServer/var/LocStor.php @@ -20,7 +20,12 @@ class LocStor extends BasicStor { /* ---------------------------------------------------------------- store */ /** - * Store or replace existing audio clip + * Store or replace existing audio clip. + * + * Sending a file to the storage server is a 3 step process: + * 1) Call storeAudioClipOpen + * 2) Upload the file to the URL specified + * 3) Call storeAudioClipClose * * @param string $sessid * session id @@ -49,27 +54,28 @@ class LocStor extends BasicStor { } // Check if we already have this file. - if ($duplicate = StoredFile::RecallByMd5($chsum)) { + $duplicate = StoredFile::RecallByMd5($chsum); + if (!empty($chsum) && $duplicate) { return PEAR::raiseError( "LocStor::storeAudioClipOpen: Duplicate file" - ." - Matched MD5 against '".$duplicate->getFileName()."'", + ." - Matched MD5 ($chsum) against '".$duplicate->getName()."'", 888); } // Check if specified gunid exists. - $ac =& StoredFile::recallByGunid($gunid); - if (!PEAR::isError($ac)) { + $storedFile =& StoredFile::RecallByGunid($gunid); + if (!PEAR::isError($storedFile)) { // gunid exists - do replace - $oid = $ac->getId(); + $oid = $storedFile->getId(); if (($res = BasicStor::Authorize('write', $oid, $sessid)) !== TRUE) { return $res; } - if ($ac->isAccessed()) { + if ($storedFile->isAccessed()) { return PEAR::raiseError( 'LocStor::storeAudioClipOpen: is accessed' ); } - $res = $ac->replace($oid, $ac->name, '', $metadata, 'string'); + $res = $storedFile->replace($oid, $storedFile->name, '', $metadata, 'string'); if (PEAR::isError($res)) { return $res; } @@ -87,17 +93,17 @@ class LocStor extends BasicStor { if (PEAR::isError($oid)) { return $oid; } - $ac =& StoredFile::insert($oid, '', '', $metadata, + $storedFile =& StoredFile::insert($oid, '', '', $metadata, 'string', $gunid, $ftype); - if (PEAR::isError($ac)) { + if (PEAR::isError($storedFile)) { $res = BasicStor::RemoveObj($oid); - return $ac; + return $storedFile; } if (PEAR::isError($res)) { return $res; } } - $res = $ac->setState('incomplete'); + $res = $storedFile->setState('incomplete'); if (PEAR::isError($res)) { return $res; } @@ -108,7 +114,7 @@ class LocStor extends BasicStor { if (PEAR::isError($res)) { return $res; } - return $this->bsOpenPut($chsum, $ac->gunid); + return $this->bsOpenPut($chsum, $storedFile->gunid); } @@ -121,29 +127,28 @@ class LocStor extends BasicStor { */ protected function storeAudioClipClose($sessid, $token) { - $ac =& StoredFile::recallByToken($token); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByToken($token); + if (PEAR::isError($storedFile)) { + return $storedFile; } $arr = $this->bsClosePut($token); if (PEAR::isError($arr)) { - $ac->delete(); + $storedFile->delete(); return $arr; } $fname = $arr['fname']; - //$owner = $arr['owner']; - $res = $ac->replaceRawMediaData($fname); + $res = $storedFile->setRawMediaData($fname); if (PEAR::isError($res)) { return $res; } if (file_exists($fname)) { @unlink($fname); } - $res = $ac->setState('ready'); + $res = $storedFile->setState('ready'); if (PEAR::isError($res)) { return $res; } - return $ac->gunid; + return $storedFile->gunid; } @@ -188,11 +193,11 @@ class LocStor extends BasicStor { if (PEAR::isError($gunid)) { return $gunid; } - $ac =& StoredFile::recallByGunid($gunid); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByGunid($gunid); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $oid = $ac->getId(); + $oid = $storedFile->getId(); $r = $this-> bsSetMetadataValue( $oid, 'ls:url', $url, NULL, NULL, 'metadata'); if (PEAR::isError($r)) { @@ -215,14 +220,14 @@ class LocStor extends BasicStor { */ public function accessRawAudioData($sessid, $gunid, $parent='0') { - $ac =& StoredFile::recallByGunid($gunid); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByGunid($gunid); + if (PEAR::isError($storedFile)) { + return $storedFile; } - if (($res = BasicStor::Authorize('read', $ac->getId(), $sessid)) !== TRUE) { + if (($res = BasicStor::Authorize('read', $storedFile->getId(), $sessid)) !== TRUE) { return $res; } - return $ac->accessRawMediaData($parent); + return $storedFile->accessRawMediaData($parent); } @@ -236,11 +241,11 @@ class LocStor extends BasicStor { */ public function releaseRawAudioData($sessid, $token) { - $ac =& StoredFile::recallByToken($token); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByToken($token); + if (PEAR::isError($storedFile)) { + return $storedFile; } - return $ac->releaseRawMediaData($token); + return $storedFile->releaseRawMediaData($token); } @@ -343,14 +348,14 @@ class LocStor extends BasicStor { */ protected function getAudioClip($sessid, $gunid) { - $ac =& StoredFile::recallByGunid($gunid); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByGunid($gunid); + if (PEAR::isError($storedFile)) { + return $storedFile; } - if (($res = BasicStor::Authorize('read', $ac->getId(), $sessid)) !== TRUE) { + if (($res = BasicStor::Authorize('read', $storedFile->getId(), $sessid)) !== TRUE) { return $res; } - $md = $this->bsGetMetadata($ac->getId()); + $md = $this->bsGetMetadata($storedFile->getId()); if (PEAR::isError($md)) { return $md; } @@ -483,11 +488,11 @@ class LocStor extends BasicStor { if (PEAR::isError($ex)) { return $ex; } - $ac =& StoredFile::recallByGunid($gunid); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByGunid($gunid); + if (PEAR::isError($storedFile)) { + return $storedFile; } - return $ac->exists(); + return $storedFile->exists(); } @@ -525,17 +530,17 @@ class LocStor extends BasicStor { */ protected function deleteAudioClip($sessid, $gunid, $forced=FALSE) { - $ac =& StoredFile::recallByGunid($gunid); - if (PEAR::isError($ac)) { - if ($ac->getCode()==GBERR_FOBJNEX && $forced) { + $storedFile =& StoredFile::RecallByGunid($gunid); + if (PEAR::isError($storedFile)) { + if ($storedFile->getCode()==GBERR_FOBJNEX && $forced) { return TRUE; } - return $ac; + return $storedFile; } - if (($res = BasicStor::Authorize('write', $ac->getId(), $sessid)) !== TRUE) { + if (($res = BasicStor::Authorize('write', $storedFile->getId(), $sessid)) !== TRUE) { return $res; } - $res = $this->bsDeleteFile($ac->getId(), $forced); + $res = $this->bsDeleteFile($storedFile->getId(), $forced); if (PEAR::isError($res)) { return $res; } @@ -554,14 +559,14 @@ class LocStor extends BasicStor { */ protected function updateAudioClipMetadata($sessid, $gunid, $metadata) { - $ac =& StoredFile::recallByGunid($gunid); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByGunid($gunid); + if (PEAR::isError($storedFile)) { + return $storedFile; } - if (($res = BasicStor::Authorize('write', $ac->getId(), $sessid)) !== TRUE) { + if (($res = BasicStor::Authorize('write', $storedFile->getId(), $sessid)) !== TRUE) { return $res; } - return $ac->replaceMetadata($metadata, 'string'); + return $storedFile->setMetadata($metadata, 'string'); } @@ -601,13 +606,13 @@ class LocStor extends BasicStor { if (PEAR::isError($oid)) { return $oid; } - $ac =& StoredFile::insert($oid, '', '', + $storedFile =& StoredFile::insert($oid, '', '', dirname(__FILE__).'/emptyPlaylist.xml', 'file', $playlistId, 'playlist' ); - if (PEAR::isError($ac)) { + if (PEAR::isError($storedFile)) { $res = BasicStor::RemoveObj($oid); - return $ac; + return $storedFile; } if ($fname == '') { $fname = "newFile.xml"; @@ -616,15 +621,15 @@ class LocStor extends BasicStor { if (PEAR::isError($res)) { return $res; } - $res = $ac->setState('ready'); + $res = $storedFile->setState('ready'); if (PEAR::isError($res)) { return $res; } - $res = $ac->setMime('application/smil'); + $res = $storedFile->setMime('application/smil'); if (PEAR::isError($res)) { return $res; } - return $ac->gunid; + return $storedFile->gunid; } @@ -655,11 +660,11 @@ class LocStor extends BasicStor { 'LocStor::editPlaylist: playlist already edited' ); } - $ac =& StoredFile::recallByGunid($playlistId); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByGunid($playlistId); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $id = $ac->getId(); + $id = $storedFile->getId(); if (($res = BasicStor::Authorize('write', $id, $sessid)) !== TRUE) { return $res; } @@ -694,11 +699,11 @@ class LocStor extends BasicStor { if (PEAR::isError($playlistId)) { return $playlistId; } - $ac =& StoredFile::recallByGunid($playlistId); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByGunid($playlistId); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $res = $ac->replaceMetadata($newPlaylist, 'string', 'playlist'); + $res = $storedFile->setMetadata($newPlaylist, 'string', 'playlist'); if (PEAR::isError($res)) { return $res; } @@ -726,16 +731,16 @@ class LocStor extends BasicStor { if (PEAR::isError($gunid)) { return $gunid; } - $ac =& StoredFile::recallByGunid($gunid); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByGunid($gunid); + if (PEAR::isError($storedFile)) { + return $storedFile; } - $id = $ac->getId(); - $mdata = $ac->getMetadata(); + $id = $storedFile->getId(); + $mdata = $storedFile->getMetadata(); if (PEAR::isError($mdata)) { return $mdata; } - $res = $ac->replaceMetadata($mdata, 'string'); + $res = $storedFile->setMetadata($mdata, 'string'); if (PEAR::isError($res)) { return $res; } @@ -770,14 +775,14 @@ class LocStor extends BasicStor { GBERR_FILENEX ); } - $ac =& StoredFile::recallByGunid($playlistId); - if (PEAR::isError($ac)) { - return $ac; + $storedFile =& StoredFile::RecallByGunid($playlistId); + if (PEAR::isError($storedFile)) { + return $storedFile; } - if (($res = BasicStor::Authorize('write', $ac->getId(), $sessid)) !== TRUE) { + if (($res = BasicStor::Authorize('write', $storedFile->getId(), $sessid)) !== TRUE) { return $res; } - $res = $this->bsDeleteFile($ac->getId(), $forced); + $res = $this->bsDeleteFile($storedFile->getId(), $forced); if (PEAR::isError($res)) { return $res; } diff --git a/campcaster/src/modules/storageServer/var/LsPlaylist.php b/campcaster/src/modules/storageServer/var/LsPlaylist.php index fc5454c62..ba8c57008 100644 --- a/campcaster/src/modules/storageServer/var/LsPlaylist.php +++ b/campcaster/src/modules/storageServer/var/LsPlaylist.php @@ -30,9 +30,9 @@ class LsPlaylist extends Playlist * optional classname to recall * @return LsPlaylist */ - public static function &recallByGunid($gunid, $className='LsPlaylist') + public static function RecallByGunid($gunid, $className='LsPlaylist') { - return parent::recallByGunid($gunid, $className); + return parent::RecallByGunid($gunid, $className); } @@ -46,9 +46,9 @@ class LsPlaylist extends Playlist * optional classname to recall * @return LsPlaylist */ - public static function &recallByToken($token, $className='LsPlaylist') + public static function RecallByToken($token, $className='LsPlaylist') { - return parent::recallByToken($token, $className); + return parent::RecallByToken($token, $className); } @@ -301,7 +301,7 @@ class LsPlaylistElement { break; case "playlist": $gunid = $ac['attrs']['id']; - $pl2 = LsPlaylist::recallByGunid($gunid); + $pl2 = LsPlaylist::RecallByGunid($gunid); if (PEAR::isError($pl2)) { return $pl2; } @@ -374,7 +374,7 @@ class LsPlaylistElement { break; case "playlist": $gunid = $ac['attrs']['id']; - $pl2 = LsPlaylist::recallByGunid($gunid); + $pl2 = LsPlaylist::RecallByGunid($gunid); if (PEAR::isError($pl2)) { return $pl2; } @@ -418,7 +418,7 @@ class LsPlaylistElement { break; case "playlist": $gunid = $ac['attrs']['id']; - $pl2 = LsPlaylist::recallByGunid($gunid); + $pl2 = LsPlaylist::RecallByGunid($gunid); if (PEAR::isError($pl2)) { return $pl2; } @@ -469,7 +469,7 @@ class LsPlaylistAudioClip public function outputToSmil(&$pl, $plac, $ind='') { $gunid = $plac['attrs']['id']; - $ac = StoredFile::recallByGunid($gunid); + $ac = StoredFile::RecallByGunid($gunid); if (PEAR::isError($ac)) { return $ac; } @@ -489,7 +489,7 @@ class LsPlaylistAudioClip public function outputToM3u(&$pl, $plac, $ind='') { $gunid = $plac['attrs']['id']; - $ac = StoredFile::recallByGunid($gunid); + $ac = StoredFile::RecallByGunid($gunid); if (PEAR::isError($ac)) { return $ac; } @@ -508,7 +508,7 @@ class LsPlaylistAudioClip public function outputToRss(&$pl, $plac, $ind='') { $gunid = $plac['attrs']['id']; - $ac = StoredFile::recallByGunid($gunid); + $ac = StoredFile::RecallByGunid($gunid); if (PEAR::isError($ac)) { return $ac; } diff --git a/campcaster/src/modules/storageServer/var/Playlist.php b/campcaster/src/modules/storageServer/var/Playlist.php index 1c775ce8f..d356007c1 100644 --- a/campcaster/src/modules/storageServer/var/Playlist.php +++ b/campcaster/src/modules/storageServer/var/Playlist.php @@ -28,9 +28,9 @@ class Playlist extends StoredFile { * @return Playlist * instance of Playlist object */ - public static function &recallByGunid($gunid, $className='Playlist') + public static function RecallByGunid($gunid, $className='Playlist') { - return parent::recallByGunid($gunid, $className); + return parent::RecallByGunid($gunid, $className); } @@ -45,9 +45,9 @@ class Playlist extends StoredFile { * @return Playlist * instance of Playlist object */ - public static function &recallByToken($token, $className='Playlist') + public static function RecallByToken($token, $className='Playlist') { - return parent::recallByToken($token, $className); + return parent::RecallByToken($token, $className); } @@ -221,7 +221,7 @@ class Playlist extends StoredFile { */ private function getAudioClipInfo($acId) { - $ac = StoredFile::recall($acId); + $ac = StoredFile::Recall($acId); if (PEAR::isError($ac)) { return $ac; } @@ -956,7 +956,7 @@ class Playlist extends StoredFile { if ($found) { // we've found offset switch ($el['type']) { case "playlist": - $pl = Playlist::recallByGunid($acGunid); + $pl = Playlist::RecallByGunid($acGunid); if (PEAR::isError($pl)) { return $pl; } @@ -1033,7 +1033,7 @@ class Playlist extends StoredFile { extract($el); // acLen, elOffset, acGunid, fadeIn, fadeOut, playlist switch ($el['type']) { case "playlist": - $pl = Playlist::recallByGunid($acGunid); + $pl = Playlist::RecallByGunid($acGunid); if (PEAR::isError($pl)) { return $pl; } @@ -1105,7 +1105,7 @@ class Playlist extends StoredFile { if ($this->gunid == $insGunid) { return TRUE; } - $pl = Playlist::recallByGunid($insGunid); + $pl = Playlist::RecallByGunid($insGunid); if (PEAR::isError($pl)) { return $pl; } diff --git a/campcaster/src/modules/storageServer/var/Renderer.php b/campcaster/src/modules/storageServer/var/Renderer.php index 5e520b52d..e8ed75900 100644 --- a/campcaster/src/modules/storageServer/var/Renderer.php +++ b/campcaster/src/modules/storageServer/var/Renderer.php @@ -37,7 +37,7 @@ class Renderer { global $CC_CONFIG; // recall playlist: - $pl = LsPlaylist::recallByGunid($plid); + $pl = LsPlaylist::RecallByGunid($plid); if (PEAR::isError($pl)) { return $pl; } @@ -237,7 +237,7 @@ class Renderer if (PEAR::isError($id)) { return $id; } - $ac = StoredFile::recall($id); + $ac = StoredFile::Recall($id); if (PEAR::isError($ac)) { return $ac; } diff --git a/campcaster/src/modules/storageServer/var/Restore.php b/campcaster/src/modules/storageServer/var/Restore.php index 8615bce0b..8c0b9143f 100644 --- a/campcaster/src/modules/storageServer/var/Restore.php +++ b/campcaster/src/modules/storageServer/var/Restore.php @@ -333,7 +333,7 @@ class Restore { return $put; } } - $ac = StoredFile::recallByGunid($gunid); + $ac = StoredFile::RecallByGunid($gunid); if (PEAR::isError($ac)) { return $ac; } diff --git a/campcaster/src/modules/storageServer/var/SmilPlaylist.php b/campcaster/src/modules/storageServer/var/SmilPlaylist.php index cc00d8bb1..61cdbbca4 100644 --- a/campcaster/src/modules/storageServer/var/SmilPlaylist.php +++ b/campcaster/src/modules/storageServer/var/SmilPlaylist.php @@ -75,7 +75,7 @@ class SmilPlaylist { if (PEAR::isError($r)) { return $r; } - $r = $pl->replaceMetadata($lspl, 'string', 'playlist'); + $r = $pl->setMetadata($lspl, 'string', 'playlist'); if (PEAR::isError($r)) { return $r; } @@ -262,7 +262,7 @@ class SmilPlaylistAudioElement { } //break; default: - $ac = StoredFile::recallByGunid($gunid); + $ac = StoredFile::RecallByGunid($gunid); if (PEAR::isError($ac)) { return $ac; } diff --git a/campcaster/src/modules/storageServer/var/StoredFile.php b/campcaster/src/modules/storageServer/var/StoredFile.php index 9e415c061..2b1a6ff8e 100644 --- a/campcaster/src/modules/storageServer/var/StoredFile.php +++ b/campcaster/src/modules/storageServer/var/StoredFile.php @@ -232,6 +232,14 @@ function camp_get_audio_metadata($p_filename, $p_testonly = false) * @see MetaData */ class StoredFile { + + // *** Variable stored in the database *** + + /** + * @var int + */ + private $id; + /** * Unique ID for the file. This is stored in HEX format. It is * converted to a bigint whenever it is used in a database call. @@ -240,6 +248,58 @@ class StoredFile { */ public $gunid; + /** + * @var string + */ + private $name; + + /** + * @var string + */ + private $mime; + + /** + * Can be 'playlist' or 'audioclip'. + * + * @var string + */ + private $ftype; + + /** + * Can be 'ready', 'edited', 'incomplete'. + * + * @var string + */ + private $state; + + /** + * @var int + */ + private $currentlyaccessing; + + /** + * @var int + */ + private $editedby; + + /** + * @var timestamp + */ + private $mtime; + + /** + * @var string + */ + private $md5; + + + // *** Variables NOT stored in the database *** + + /** + * @var string + */ + private $filepath; + /** * Directory where the file is located. * @@ -247,11 +307,6 @@ class StoredFile { */ private $resDir; - /** - * @var string - */ - private $fname; - /** * @var boolean */ @@ -278,8 +333,8 @@ class StoredFile { $this->gunid = StoredFile::CreateGunid(); } $this->resDir = $this->_getResDir($this->gunid); - $this->fname = $this->makeFileName(); - $this->exists = is_file($this->fname) && is_readable($this->fname); + $this->filepath = $this->makeFileName(); + $this->exists = is_file($this->filepath) && is_readable($this->filepath); $this->md = new MetaData($this->gunid, $this->resDir); } @@ -314,12 +369,12 @@ class StoredFile { if (PEAR::isError($storedFile)) { return $storedFile; } - $storedFile->fname = $filename; + $storedFile->name = $filename; $storedFile->id = $oid; $storedFile->mime = "unknown"; $emptyState = TRUE; - if ($storedFile->fname == '') { - $storedFile->fname = $storedFile->gunid; + if ($storedFile->name == '') { + $storedFile->name = $storedFile->gunid; } $storedFile->exists = FALSE; if (file_exists($localFilePath)) { @@ -401,7 +456,7 @@ class StoredFile { * global unique id of file * @return StoredFile */ - public static function recall($oid='', $gunid='') + public static function Recall($oid='', $gunid='') { global $CC_DBC; global $CC_CONFIG; @@ -410,9 +465,8 @@ class StoredFile { : "gunid=x'$gunid'::bigint" ); $row = $CC_DBC->getRow(" - SELECT id, to_hex(gunid)as gunid, mime, name, ftype - FROM ".$CC_CONFIG['filesTable']." WHERE $cond - "); + SELECT id, to_hex(gunid)as gunid, name, mime, ftype, state, currentlyaccessing, editedby, mtime, md5 + FROM ".$CC_CONFIG['filesTable']." WHERE $cond"); if (PEAR::isError($row)) { return $row; } @@ -425,10 +479,16 @@ class StoredFile { } $gunid = StoredFile::NormalizeGunid($row['gunid']); $storedFile = new StoredFile($gunid); - $storedFile->mime = $row['mime']; - $storedFile->fname = $row['name']; - $storedFile->exists = TRUE; $storedFile->id = $row['id']; + $storedFile->name = $row['name']; + $storedFile->mime = $row['mime']; + $storedFile->ftype = $row['ftype']; + $storedFile->state = $row['state']; + $storedFile->currentlyaccessing = $row['currentlyaccessing']; + $storedFile->editedby = $row['editedby']; + $storedFile->mtime = $row['mtime']; + $storedFile->md5 = $row['md5']; + $storedFile->exists = TRUE; $storedFile->md->setFormat($row['ftype']); return $storedFile; } @@ -442,9 +502,9 @@ class StoredFile { * global unique id of file * @return StoredFile */ - public static function recallByGunid($gunid='') + public static function RecallByGunid($gunid='') { - return StoredFile::recall('', $gunid); + return StoredFile::Recall('', $gunid); } @@ -456,7 +516,7 @@ class StoredFile { * access token * @return StoredFile */ - public static function recallByToken($token) + public static function RecallByToken($token) { global $CC_CONFIG, $CC_DBC; $gunid = $CC_DBC->getOne(" @@ -468,10 +528,10 @@ class StoredFile { } if (is_null($gunid)) { return PEAR::raiseError( - "StoredFile::recallByToken: invalid token ($token)", GBERR_AOBJNEX); + "StoredFile::RecallByToken: invalid token ($token)", GBERR_AOBJNEX); } $gunid = StoredFile::NormalizeGunid($gunid); - return StoredFile::recall('', $gunid); + return StoredFile::Recall('', $gunid); } @@ -493,7 +553,7 @@ class StoredFile { } if ($gunid) { $gunid = StoredFile::NormalizeGunid($gunid); - return StoredFile::recall('', $gunid); + return StoredFile::Recall('', $gunid); } else { return FALSE; } @@ -509,21 +569,21 @@ class StoredFile { * copy the media file if true, make symlink if false * @return TRUE|PEAR_Error */ - function addFile($localFilePath, $copyMedia=TRUE) + public function addFile($localFilePath, $copyMedia=TRUE) { if ($this->exists) { return FALSE; } // for files downloaded from archive: - if ($localFilePath == $this->fname) { + if ($localFilePath == $this->filepath) { $this->exists = TRUE; return TRUE; } umask(0002); if ($copyMedia) { - $r = @copy($localFilePath, $this->fname); + $r = @copy($localFilePath, $this->filepath); } else { - $r = @symlink($localFilePath, $this->fname); + $r = @symlink($localFilePath, $this->filepath); } if ( $r ) { $this->exists = TRUE; @@ -533,7 +593,7 @@ class StoredFile { $this->exists = FALSE; return PEAR::raiseError( "StoredFile::addFile: file save failed". - " ($localFilePath, {$this->fname})",GBERR_FILEIO + " ($localFilePath, {$this->filepath})",GBERR_FILEIO ); } } @@ -546,15 +606,19 @@ class StoredFile { * local path * @return TRUE|PEAR_Error */ - function replaceFile($localFilePath) + public function replaceFile($localFilePath) { - if ($this->exists) { - $r = $this->delete(); - } else { - $r = NULL; + // Dont do anything if the source and destination files are + // the same. + if ($this->name == $localFilePath) { + return TRUE; } - if (PEAR::isError($r)) { - return $r; + + if ($this->exists) { + $r = $this->deleteFile(); + if (PEAR::isError($r)) { + return $r; + } } return $this->addFile($localFilePath); } @@ -565,7 +629,7 @@ class StoredFile { * * @return boolean */ - function existsFile() + public function existsFile() { return $this->exists; } @@ -576,17 +640,17 @@ class StoredFile { * * @return boolean|PEAR_Error */ - function deleteFile() + public function deleteFile() { if (!$this->exists) { return FALSE; } - if (@unlink($this->fname)) { + if (!file_exists($this->filepath) || @unlink($this->filepath)) { $this->exists = FALSE; return TRUE; } else { return PEAR::raiseError( - "StoredFile::deleteFile: unlink failed ({$this->fname})", + "StoredFile::deleteFile: unlink failed ({$this->filepath})", GBERR_FILEIO ); } @@ -602,16 +666,12 @@ class StoredFile { * @return array * hierarchical hasharray with information about media file */ - function analyzeFile() + public function analyzeFile() { if (!$this->exists) { return FALSE; } - $ia = camp_get_audio_metadata($this->fname); -// echo "
";
-//        $ia = camp_get_audio_metadata($this->fname, true);
-//        print_r($ia);
-//        exit;
+        $ia = camp_get_audio_metadata($this->filepath);
         return $ia;
     }
 
@@ -621,7 +681,7 @@ class StoredFile {
      *
      * @return string
      */
-    function makeFileName()
+    public function makeFileName()
     {
         return "{$this->resDir}/{$this->gunid}";
     }
@@ -638,7 +698,7 @@ class StoredFile {
      */
     public static function CopyOf(&$src, $nid)
     {
-        $storedFile = StoredFile::insert($nid, $src->fname, $src->getRealFileName(),
+        $storedFile = StoredFile::insert($nid, $src->name, $src->getRealFileName(),
             '', '', NULL, BasicStor::GetType($src->gunid));
         if (PEAR::isError($storedFile)) {
             return $storedFile;
@@ -668,13 +728,13 @@ class StoredFile {
     {
         global $CC_CONFIG, $CC_DBC;
         $CC_DBC->query("BEGIN");
-        $res = $this->rename($name);
+        $res = $this->setName($name);
         if (PEAR::isError($res)) {
             $CC_DBC->query("ROLLBACK");
             return $res;
         }
         if ($localFilePath != '') {
-            $res = $this->replaceRawMediaData($localFilePath);
+            $res = $this->setRawMediaData($localFilePath);
         } else {
             $res = $this->deleteFile();
         }
@@ -683,7 +743,7 @@ class StoredFile {
             return $res;
         }
         if ($metadata != '') {
-            $res = $this->replaceMetadata($metadata, $mdataLoc);
+            $res = $this->setMetadata($metadata, $mdataLoc);
         } else {
             $res = $this->md->delete();
         }
@@ -744,9 +804,9 @@ class StoredFile {
      *
      * @param string $localFilePath
      * 		local path to media file
-     * @return void|PEAR_Error
+     * @return TRUE|PEAR_Error
      */
-    public function replaceRawMediaData($localFilePath)
+    public function setRawMediaData($localFilePath)
     {
         $res = $this->replaceFile($localFilePath);
         if (PEAR::isError($res)) {
@@ -763,6 +823,7 @@ class StoredFile {
         if (PEAR::isError($r)) {
             return $r;
         }
+        return TRUE;
     }
 
 
@@ -779,7 +840,7 @@ class StoredFile {
      *      (NULL = no validation)
      * @return boolean
      */
-    public function replaceMetadata($metadata, $mdataLoc='file', $format=NULL)
+    public function setMetadata($metadata, $mdataLoc='file', $format=NULL)
     {
         global $CC_CONFIG, $CC_DBC;
         $CC_DBC->query("BEGIN");
@@ -819,17 +880,17 @@ class StoredFile {
      * @param string $newname
      * @return TRUE|PEAR_Error
      */
-    public function rename($newname)
+    public function setName($p_newname)
     {
         global $CC_CONFIG, $CC_DBC;
-        $escapedName = pg_escape_string($newname);
+        $escapedName = pg_escape_string($p_newname);
         $res = $CC_DBC->query("
             UPDATE ".$CC_CONFIG['filesTable']." SET name='$escapedName', mtime=now()
-            WHERE gunid=x'{$this->gunid}'::bigint
-        ");
+            WHERE gunid=x'{$this->gunid}'::bigint");
         if (PEAR::isError($res)) {
             return $res;
         }
+        $this->name = $p_newname;
         return TRUE;
     }
 
@@ -843,19 +904,20 @@ class StoredFile {
      * 		 user id | 'NULL' for clear editedBy field
      * @return TRUE|PEAR_Error
      */
-    public function setState($state, $editedby=NULL)
+    public function setState($p_state, $p_editedby=NULL)
     {
         global $CC_CONFIG, $CC_DBC;
-        $escapedState = pg_escape_string($state);
-        $eb = (!is_null($editedby) ? ", editedBy=$editedby" : '');
+        $escapedState = pg_escape_string($p_state);
+        $eb = (!is_null($p_editedby) ? ", editedBy=$p_editedby" : '');
         $res = $CC_DBC->query("
             UPDATE ".$CC_CONFIG['filesTable']."
             SET state='$escapedState'$eb, mtime=now()
-            WHERE gunid=x'{$this->gunid}'::bigint
-        ");
+            WHERE gunid=x'{$this->gunid}'::bigint");
         if (PEAR::isError($res)) {
             return $res;
         }
+        $this->state = $p_state;
+        $this->editedby = $p_editedby;
         return TRUE;
     }
 
@@ -867,19 +929,20 @@ class StoredFile {
      * 		mime-type
      * @return boolean|PEAR_Error
      */
-    public function setMime($mime)
+    public function setMime($p_mime)
     {
         global $CC_CONFIG, $CC_DBC;
-        if (!is_string($mime)) {
-            $mime = 'application/octet-stream';
+        if (!is_string($p_mime)) {
+            $p_mime = 'application/octet-stream';
         }
-        $escapedMime = pg_escape_string($mime);
+        $escapedMime = pg_escape_string($p_mime);
         $res = $CC_DBC->query(
             "UPDATE ".$CC_CONFIG['filesTable']." SET mime='$escapedMime', mtime=now()
             WHERE gunid=x'{$this->gunid}'::bigint");
         if (PEAR::isError($res)) {
             return $res;
         }
+        $this->mime = $p_mime;
         return TRUE;
     }
 
@@ -900,6 +963,7 @@ class StoredFile {
         if (PEAR::isError($res)) {
             return $res;
         }
+        $this->md5 = $p_md5sum;
         return TRUE;
     }
 
@@ -910,12 +974,14 @@ class StoredFile {
      * @see MetaData
      * @return TRUE|PEAR_Error
      */
-    public function delete()
+    public function delete($p_deleteFile = true)
     {
         global $CC_CONFIG, $CC_DBC;
-        $res = $this->deleteFile();
-        if (PEAR::isError($res)) {
-            return $res;
+        if ($p_deleteFile) {
+            $res = $this->deleteFile();
+            if (PEAR::isError($res)) {
+                return $res;
+            }
         }
         $res = $this->md->delete();
         if (PEAR::isError($res)) {
@@ -960,12 +1026,11 @@ class StoredFile {
     {
         global $CC_CONFIG, $CC_DBC;
         if (is_null($gunid)) {
-            $gunid = $this->gunid;
+            return ($this->currentlyaccessing > 0);
         }
         $ca = $CC_DBC->getOne("
             SELECT currentlyAccessing FROM ".$CC_CONFIG['filesTable']."
-            WHERE gunid=x'$gunid'::bigint
-        ");
+            WHERE gunid=x'$gunid'::bigint");
         if (is_null($ca)) {
             return PEAR::raiseError(
                 "StoredFile::isAccessed: invalid gunid ($gunid)",
@@ -986,7 +1051,7 @@ class StoredFile {
     public function isEdited($playlistId=NULL)
     {
         if (is_null($playlistId)) {
-            $playlistId = $this->gunid;
+            return ($this->state == 'edited');
         }
         $state = $this->getState($playlistId);
         if ($state != 'edited') {
@@ -1094,7 +1159,7 @@ class StoredFile {
      */
     public function getFileExtension()
     {
-        $fname = $this->getFileName();
+        $fname = $this->getName();
         $pos = strrpos($fname, '.');
         if ($pos !== FALSE) {
             $ext = substr($fname, $pos+1);
@@ -1153,7 +1218,7 @@ class StoredFile {
     {
         global $CC_CONFIG, $CC_DBC;
         if (is_null($gunid)) {
-            $gunid = $this->gunid;
+            return $this->state;
         }
         return $CC_DBC->getOne("
             SELECT state FROM ".$CC_CONFIG['filesTable']."
@@ -1169,11 +1234,11 @@ class StoredFile {
      * 		global unique id of file
      * @return string
      */
-    public function getFileName($gunid=NULL)
+    public function getName($gunid=NULL)
     {
         global $CC_CONFIG, $CC_DBC;
         if (is_null($gunid)) {
-            $gunid = $this->gunid;
+            return $this->name;
         }
         return $CC_DBC->getOne("
             SELECT name FROM ".$CC_CONFIG['filesTable']."
@@ -1209,7 +1274,7 @@ class StoredFile {
      */
     public function getRealFileName()
     {
-        return $this->fname;
+        return $this->filepath;
     }
 
 
diff --git a/campcaster/src/modules/storageServer/var/Transport.php b/campcaster/src/modules/storageServer/var/Transport.php
index a18ff2311..30223c18d 100644
--- a/campcaster/src/modules/storageServer/var/Transport.php
+++ b/campcaster/src/modules/storageServer/var/Transport.php
@@ -287,12 +287,12 @@ class Transport
         switch ($ftype = BasicStor::GetType($gunid)) {
             case "audioclip":
             case "webstream":
-                $ac = StoredFile::recallByGunid($gunid);
-                if (PEAR::isError($ac)) {
-                	return $ac;
+                $storedFile = StoredFile::RecallByGunid($gunid);
+                if (PEAR::isError($storedFile)) {
+                	return $storedFile;
                 }
                 // handle metadata:
-                $mdfpath = $ac->getRealMetadataFileName();
+                $mdfpath = $storedFile->getRealMetadataFileName();
                 if (PEAR::isError($mdfpath)) {
                 	return $mdfpath;
                 }
@@ -303,11 +303,11 @@ class Transport
                 	return $mdtrec;
                 }
                 // handle raw media file:
-                $fpath = $ac->getRealFileName();
+                $fpath = $storedFile->getRealFileName();
                 if (PEAR::isError($fpath)) {
                 	return $fpath;
                 }
-                $fname = $ac->getFileName();
+                $fname = $storedFile->getName();
                 if (PEAR::isError($fname)) {
                 	return $fname;
                 }
@@ -325,11 +325,11 @@ class Transport
             case "playlist":
                 $plid = $gunid;
                 require_once("Playlist.php");
-                $pl = Playlist::recallByGunid($plid);
+                $pl = Playlist::RecallByGunid($plid);
                 if (PEAR::isError($pl)) {
                 	return $pl;
                 }
-                $fname = $pl->getFileName();
+                $fname = $pl->getName();
                 if (PEAR::isError($fname)) {
                 	return $fname;
                 }
diff --git a/campcaster/src/modules/storageServer/var/xmlrpc/simpleGet.php b/campcaster/src/modules/storageServer/var/xmlrpc/simpleGet.php
index e8c1fe4cb..1933e7f9e 100644
--- a/campcaster/src/modules/storageServer/var/xmlrpc/simpleGet.php
+++ b/campcaster/src/modules/storageServer/var/xmlrpc/simpleGet.php
@@ -58,7 +58,7 @@ if (preg_match("|^[0-9a-fA-F]{16}$|", $_REQUEST['id'])) {
 }
 
 // stored file recall:
-$ac = StoredFile::recallByGunid($gunid);
+$ac = StoredFile::RecallByGunid($gunid);
 if (PEAR::isError($ac)) {
     switch ($ac->getCode()) {
         case GBERR_DENY: