#1438 - return structure of recursive accessPlaylist have been changed to
hierarchical struct instead of linear array.
This commit is contained in:
parent
0a92d1d5ea
commit
37a0789f6d
3 changed files with 60 additions and 25 deletions
|
@ -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:
|
||||
}
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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>
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue