#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 $
|
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 $
|
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);
|
$r = $ls->accessPlaylist($sessid, $plid, FALSE, $parent);
|
||||||
if(PEAR::isError($r)) return $r;
|
if(PEAR::isError($r)) return $r;
|
||||||
$plRes = $r;
|
$plRes = $r;
|
||||||
$r = $ppa->processPlaylist($plid, $plRes['token']);
|
$r =& StoredFile::recallByGunid($ppa->ls, $plid);
|
||||||
if(PEAR::isError($r)) return $r;
|
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;
|
return $plRes;
|
||||||
}
|
}
|
||||||
function releasePlaylist(&$ls, $sessid, $token){
|
function releasePlaylist(&$ls, $sessid, $token){
|
||||||
|
@ -85,20 +91,15 @@ class AccessRecur{
|
||||||
if($ppa->dbc->isError($r)){ return $r; }
|
if($ppa->dbc->isError($r)){ return $r; }
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
function processPlaylist($plid, $parent){
|
function processPlaylist($pla, $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;
|
|
||||||
$res = array();
|
$res = array();
|
||||||
foreach($pla['children'] as $ple){
|
foreach($pla['children'] as $ple){
|
||||||
switch($ple['elementname']){
|
switch($ple['elementname']){
|
||||||
case"playlistElement":
|
case"playlistElement":
|
||||||
$r = $this->processPlEl($ple, $parent);
|
$r = $this->processPlEl($ple, $parent);
|
||||||
if(PEAR::isError($r)) return $r;
|
if(PEAR::isError($r)) return $r;
|
||||||
$res = array_merge($res, $r);
|
// $res = array_merge($res, $r);
|
||||||
|
$res[] = $r;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
@ -108,8 +109,7 @@ class AccessRecur{
|
||||||
function processAc($gunid, $parent){
|
function processAc($gunid, $parent){
|
||||||
$r = $this->ls->accessRawAudioData($this->sessid, $gunid, $parent);
|
$r = $this->ls->accessRawAudioData($this->sessid, $gunid, $parent);
|
||||||
if(PEAR::isError($r)) return $r;
|
if(PEAR::isError($r)) return $r;
|
||||||
$res = $r['url'];
|
return $r;
|
||||||
return $res;
|
|
||||||
}
|
}
|
||||||
function processPlEl($ple, $parent='0'){
|
function processPlEl($ple, $parent='0'){
|
||||||
foreach($ple['children'] as $ac){
|
foreach($ple['children'] as $ac){
|
||||||
|
@ -120,10 +120,40 @@ class AccessRecur{
|
||||||
return $r;
|
return $r;
|
||||||
break;
|
break;
|
||||||
case"playlist":
|
case"playlist":
|
||||||
|
# if(empty($ac['children'])){
|
||||||
$r = $this->accessPlaylist($this->ls, $this->sessid,
|
$r = $this->accessPlaylist($this->ls, $this->sessid,
|
||||||
$ac['attrs']['id'], $parent);
|
$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;
|
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;
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: tomas $
|
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 $
|
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 sessid string, session ID
|
||||||
* @param playlistId string, playlist global unique 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)
|
* inside playlist (optional, default: false)
|
||||||
* @param parent int parent token
|
* @param parent int parent token
|
||||||
* @return struct
|
* @return struct {
|
||||||
* {url:readable URL for HTTP GET, token:access token, chsum:checksum}
|
* 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')
|
function accessPlaylist($sessid, $playlistId, $recursive=FALSE, $parent='0')
|
||||||
{
|
{
|
||||||
|
@ -650,7 +654,7 @@ class LocStor extends BasicStor{
|
||||||
*
|
*
|
||||||
* @param sessid string, session ID
|
* @param sessid string, session ID
|
||||||
* @param playlistToken string, playlist access token
|
* @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)
|
* inside playlist (optional, default: false)
|
||||||
* @return string, playlist ID
|
* @return string, playlist ID
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
|
|
||||||
Author : $Author: tomas $
|
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 $
|
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>
|
* <ul>
|
||||||
* <li> sessid : string - session id </li>
|
* <li> sessid : string - session id </li>
|
||||||
* <li> plid : string - global unique id of Playlist</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>
|
* inside playlist (default: false)</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
|
@ -964,6 +964,7 @@ class XR_LocStor extends LocStor{
|
||||||
* XML format</li>
|
* XML format</li>
|
||||||
* <li> token : string - playlist token</li>
|
* <li> token : string - playlist token</li>
|
||||||
* <li> chsum : string - md5 checksum</li>
|
* <li> chsum : string - md5 checksum</li>
|
||||||
|
* <li> content: array of structs - recursive access (optional)</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* On errors, returns an XML-RPC error response.
|
* On errors, returns an XML-RPC error response.
|
||||||
|
@ -1009,7 +1010,7 @@ class XR_LocStor extends LocStor{
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li> token : string - playlist token
|
* <li> token : string - playlist token
|
||||||
* returned by locstor.accessPlaylist</li>
|
* 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>
|
* accessed by recursive accessPlaylist (default: false)</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue