diff --git a/livesupport/modules/storageServer/var/AccessRecur.php b/livesupport/modules/storageServer/var/AccessRecur.php index cbb1ee6d6..d708c6d63 100644 --- a/livesupport/modules/storageServer/var/AccessRecur.php +++ b/livesupport/modules/storageServer/var/AccessRecur.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.1 $ + Version : $Revision: 1.2 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/AccessRecur.php,v $ ------------------------------------------------------------------------------*/ @@ -47,9 +47,15 @@ class AccessRecur{ $r = $ls->accessPlaylist($sessid, $plid, FALSE, $parent); if(PEAR::isError($r)) return $r; $plRes = $r; - $r = $ppa->processPlaylist($plid, $plRes['token']); + $r =& StoredFile::recallByGunid($ppa->ls, $plid); if(PEAR::isError($r)) return $r; - $plRes['files'] = $r; + $ac = $r; + $r = $ac->md->genPhpArray(); + if(PEAR::isError($r)) return $r; + $pla = $r; + $r = $ppa->processPlaylist($pla, $plRes['token']); + if(PEAR::isError($r)) return $r; + $plRes['content'] = $r; return $plRes; } function releasePlaylist(&$ls, $sessid, $token){ @@ -85,20 +91,15 @@ class AccessRecur{ if($ppa->dbc->isError($r)){ return $r; } return TRUE; } - function processPlaylist($plid, $parent){ - $r =& StoredFile::recallByGunid($this->ls, $plid); - if(PEAR::isError($r)) return $r; - $ac = $r; - $r = $ac->md->genPhpArray(); - if(PEAR::isError($r)) return $r; - $pla = $r; + function processPlaylist($pla, $parent){ $res = array(); foreach($pla['children'] as $ple){ switch($ple['elementname']){ case"playlistElement": $r = $this->processPlEl($ple, $parent); if(PEAR::isError($r)) return $r; - $res = array_merge($res, $r); + // $res = array_merge($res, $r); + $res[] = $r; break; default: } @@ -108,8 +109,7 @@ class AccessRecur{ function processAc($gunid, $parent){ $r = $this->ls->accessRawAudioData($this->sessid, $gunid, $parent); if(PEAR::isError($r)) return $r; - $res = $r['url']; - return $res; + return $r; } function processPlEl($ple, $parent='0'){ foreach($ple['children'] as $ac){ @@ -120,10 +120,40 @@ class AccessRecur{ return $r; break; case"playlist": - $r = $this->accessPlaylist($this->ls, $this->sessid, - $ac['attrs']['id'], $parent); - if(PEAR::isError($r)) return $r; - return $r['files']; +# if(empty($ac['children'])){ + $r = $this->accessPlaylist($this->ls, $this->sessid, + $ac['attrs']['id'], $parent); + if(PEAR::isError($r)){ + if($r->getCode() != GBERR_NOTF) return $r; + else{ + $r = $this->processPlaylist($ac, $parent); + if(PEAR::isError($r)) return $r; + $r = array( + 'content' => $r, + 'url' => NULL, + 'token' => NULL, + 'chsum' => NULL, + 'size' => NULL, + 'warning' => 'inline playlist?', + ); + } + } + return $r; +/* + }else{ + $r = $this->processPlaylist($ac, $parent); + if(PEAR::isError($r)) return $r; + $res = array( + 'content' => $r, + 'url' => NULL, + 'token' => NULL, + 'chsum' => NULL, + 'size' => NULL, + 'warning' => 'inline playlist', + ); + return $res; + } +*/ break; default: } diff --git a/livesupport/modules/storageServer/var/LocStor.php b/livesupport/modules/storageServer/var/LocStor.php index b7bfce5c3..d9a3047c2 100644 --- a/livesupport/modules/storageServer/var/LocStor.php +++ b/livesupport/modules/storageServer/var/LocStor.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.41 $ + Version : $Revision: 1.42 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/LocStor.php,v $ ------------------------------------------------------------------------------*/ @@ -615,11 +615,15 @@ class LocStor extends BasicStor{ * * @param sessid string, session ID * @param playlistId string, playlist global unique ID - * @param recursive boolean, flag for recursive access files + * @param recursive boolean, flag for recursive access content * inside playlist (optional, default: false) * @param parent int parent token - * @return struct - * {url:readable URL for HTTP GET, token:access token, chsum:checksum} + * @return struct { + * url: readable URL for HTTP GET, + * token: access token, + * chsum: checksum, + * content: array of structs - recursive access (optional) + * } */ function accessPlaylist($sessid, $playlistId, $recursive=FALSE, $parent='0') { @@ -650,7 +654,7 @@ class LocStor extends BasicStor{ * * @param sessid string, session ID * @param playlistToken string, playlist access token - * @param recursive boolean, flag for recursive access files + * @param recursive boolean, flag for recursive access content * inside playlist (optional, default: false) * @return string, playlist ID */ diff --git a/livesupport/modules/storageServer/var/xmlrpc/XR_LocStor.php b/livesupport/modules/storageServer/var/xmlrpc/XR_LocStor.php index 02c267b71..4db69218d 100644 --- a/livesupport/modules/storageServer/var/xmlrpc/XR_LocStor.php +++ b/livesupport/modules/storageServer/var/xmlrpc/XR_LocStor.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.24 $ + Version : $Revision: 1.25 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/xmlrpc/XR_LocStor.php,v $ ------------------------------------------------------------------------------*/ @@ -954,7 +954,7 @@ class XR_LocStor extends LocStor{ * * @@ -964,6 +964,7 @@ class XR_LocStor extends LocStor{ * XML format *
  • token : string - playlist token
  • *
  • chsum : string - md5 checksum
  • + *
  • content: array of structs - recursive access (optional)
  • * * * On errors, returns an XML-RPC error response. @@ -1009,7 +1010,7 @@ class XR_LocStor extends LocStor{ * *