#1438 - return structure of recursive accessPlaylist have been changed to

hierarchical struct instead of linear array.
This commit is contained in:
tomas 2005-09-05 10:39:43 +00:00
parent 0a92d1d5ea
commit 37a0789f6d
3 changed files with 60 additions and 25 deletions

View file

@ -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":
# 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;
return $r['files'];
$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:
}

View file

@ -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
*/

View file

@ -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{
* <ul>
* <li> sessid : string - session id </li>
* <li> plid : string - global unique id of Playlist</li>
* <li> recursive : boolean - flag for recursive access files
* <li> recursive : boolean - flag for recursive access content
* inside playlist (default: false)</li>
* </ul>
*
@ -964,6 +964,7 @@ class XR_LocStor extends LocStor{
* XML format</li>
* <li> token : string - playlist token</li>
* <li> chsum : string - md5 checksum</li>
* <li> content: array of structs - recursive access (optional)</li>
* </ul>
*
* On errors, returns an XML-RPC error response.
@ -1009,7 +1010,7 @@ class XR_LocStor extends LocStor{
* <ul>
* <li> token : string - playlist token
* returned by locstor.accessPlaylist</li>
* <li> recursive : boolean - flag for recursive release files
* <li> recursive : boolean - flag for recursive release content
* accessed by recursive accessPlaylist (default: false)</li>
* </ul>
*