diff --git a/src/modules/htmlUI/var/html/ui_browser.php b/src/modules/htmlUI/var/html/ui_browser.php index 885af3b48..070e66e63 100644 --- a/src/modules/htmlUI/var/html/ui_browser.php +++ b/src/modules/htmlUI/var/html/ui_browser.php @@ -229,42 +229,42 @@ if (isset($_REQUEST['popup']) && is_array($_REQUEST['popup'])){ case 'HUBBROWSE.getResults': //$HUBBROWSE = new uiHubBrowse($uiBrowser); - if (isset($_REQUEST['trtokid'])) { - $Smarty->assign('trtokid', $_REQUEST['trtokid']); - //if ($HUBBROWSE->getSearchResults($_REQUEST['trtokid'])) { - if ($uiBrowser->HUBBROWSE->getSearchResults($_REQUEST['trtokid'])) { - $Smarty->assign('results', true); - } else { - $Smarty->assign('results', false); - } - } else { - //$Smarty->assign('trtokid', $HUBBROWSE->searchDB()); - $Smarty->assign('trtokid', $uiBrowser->HUBBROWSE->searchDB()); - $Smarty->assign('results', false); - } - $Smarty->assign('polling_frequency', UI_HUB_POLLING_FREQUENCY); - $Smarty->assign('_prefix', 'HUBBROWSE'); - $Smarty->display('popup/HUB.getResults.tpl'); +// if (isset($_REQUEST['trtokid'])) { +// $Smarty->assign('trtokid', $_REQUEST['trtokid']); +// //if ($HUBBROWSE->getSearchResults($_REQUEST['trtokid'])) { +// if ($uiBrowser->HUBBROWSE->getSearchResults($_REQUEST['trtokid'])) { +// $Smarty->assign('results', true); +// } else { +// $Smarty->assign('results', false); +// } +// } else { +// //$Smarty->assign('trtokid', $HUBBROWSE->searchDB()); +// $Smarty->assign('trtokid', $uiBrowser->HUBBROWSE->searchDB()); +// $Smarty->assign('results', false); +// } +// $Smarty->assign('polling_frequency', UI_HUB_POLLING_FREQUENCY); +// $Smarty->assign('_prefix', 'HUBBROWSE'); +// $Smarty->display('popup/HUB.getResults.tpl'); break; case 'HUBSEARCH.getResults': - if (isset($_REQUEST['trtokid']) && $_REQUEST['trtokid']) { - $Smarty->assign('trtokid',$_REQUEST['trtokid']); - $r = $uiBrowser->HUBSEARCH->getSearchResults($_REQUEST['trtokid'], FALSE); - if ( PEAR::isError($r) && ($r->getCode() != TRERR_NOTFIN) ) { - break; - } - if ($r) { - $Smarty->assign('results',true); - } else { - $Smarty->assign('results',false); - } - } else { - $Smarty->assign('trtok',true); - } - $Smarty->assign('polling_frequency',UI_HUB_POLLING_FREQUENCY); - $Smarty->assign('_prefix','HUBSEARCH'); - $Smarty->display('popup/HUB.getResults.tpl'); +// if (isset($_REQUEST['trtokid']) && $_REQUEST['trtokid']) { +// $Smarty->assign('trtokid',$_REQUEST['trtokid']); +// $r = $uiBrowser->HUBSEARCH->getSearchResults($_REQUEST['trtokid'], FALSE); +// if ( PEAR::isError($r) && ($r->getCode() != TRERR_NOTFIN) ) { +// break; +// } +// if ($r) { +// $Smarty->assign('results',true); +// } else { +// $Smarty->assign('results',false); +// } +// } else { +// $Smarty->assign('trtok',true); +// } +// $Smarty->assign('polling_frequency',UI_HUB_POLLING_FREQUENCY); +// $Smarty->assign('_prefix','HUBSEARCH'); +// $Smarty->display('popup/HUB.getResults.tpl'); break; } } @@ -311,13 +311,11 @@ if ($uiBrowser->userid) { case "addWebstreamData": case "addWebstreamMData": -// $Smarty->assign('structure', $uiBrowser->getStructure($uiBrowser->id)); $Smarty->assign('editItem', array('type' => 'webstream', 'id' => $_REQUEST['id'], 'folderId' => $uiBrowser->fid, 'curr_langid' => $_REQUEST['curr_langid'])); break; case "editItem": $uiBrowser->SCRATCHPAD->addItem($_REQUEST['id']); -// $Smarty->assign('structure', $uiBrowser->getStructure($uiBrowser->id)); $Smarty->assign('editItem', array('type' => $uiBrowser->type, 'id' => $_REQUEST['id'], 'folderId' => $uiBrowser->fid, 'curr_langid' => $_REQUEST['curr_langid'])); break; @@ -327,22 +325,18 @@ if ($uiBrowser->userid) { break; case "BROWSE": - #echo 'uiBrowser->BROWSE->getResult():'; print_r($uiBrowser->BROWSE->getResult()); echo "\n"; $Smarty->assign('browseForm', $uiBrowser->BROWSE->browseForm($uiBrowser->id, $ui_fmask)); $Smarty->assign('showLibrary', TRUE); break; case "HUBSEARCH": - #echo '_REQUEST:'; print_r($_REQUEST); echo "\n"; - #$Smarty->assign('searchForm', $uiBrowser->HUBSEARCH->searchForm($uiBrowser->id, $ui_fmask)); $Smarty->assign('hubSearchForm', $uiBrowser->HUBSEARCH->searchForm($uiBrowser->id, $ui_fmask)); $Smarty->assign('showLibrary', TRUE); $Smarty->assign('isHub', TRUE); + $Smarty->assign('results', true); break; case "HUBBROWSE": - //$HUBBROWSE = new uiHubBrowse($uiBrowser); - //$Smarty->assign('hubBrowseForm', $HUBBROWSE->browseForm($uiBrowser->id, $ui_fmask)); $Smarty->assign('hubBrowseForm', $uiBrowser->HUBBROWSE->browseForm($uiBrowser->id, $ui_fmask)); $Smarty->assign('showLibrary', TRUE); $Smarty->assign('isHub', TRUE); diff --git a/src/modules/htmlUI/var/ui_browser_init.php b/src/modules/htmlUI/var/ui_browser_init.php index 96c96c645..3734a502e 100644 --- a/src/modules/htmlUI/var/ui_browser_init.php +++ b/src/modules/htmlUI/var/ui_browser_init.php @@ -1,15 +1,30 @@ init(); diff --git a/src/modules/htmlUI/var/ui_hubBrowse.class.php b/src/modules/htmlUI/var/ui_hubBrowse.class.php index 69243065b..7253bdcfa 100644 --- a/src/modules/htmlUI/var/ui_hubBrowse.class.php +++ b/src/modules/htmlUI/var/ui_hubBrowse.class.php @@ -14,7 +14,7 @@ class uiHubBrowse extends uiBrowse $this->prefix = 'HUBBROWSE'; $this->col =& $_SESSION[UI_HUBBROWSE_SESSNAME]['col']; $this->criteria =& $_SESSION[UI_HUBBROWSE_SESSNAME]['criteria']; - //$this->results =& $_SESSION[UI_HUBBROWSE_SESSNAME]['results']; + $this->results =& $_SESSION[UI_HUBBROWSE_SESSNAME]['results']; $this->reloadUrl = UI_BROWSER.'?popup[]=_reload_parent&popup[]=_close'; if (empty($this->criteria['limit'])) { diff --git a/src/modules/htmlUI/var/ui_hubSearch.class.php b/src/modules/htmlUI/var/ui_hubSearch.class.php index ac5a6a7a3..88ec4be71 100644 --- a/src/modules/htmlUI/var/ui_hubSearch.class.php +++ b/src/modules/htmlUI/var/ui_hubSearch.class.php @@ -1,8 +1,8 @@ Base =& $uiBase; $this->prefix = 'HUBSEARCH'; - #$this->results =& $_SESSION[UI_HUBSEARCH_SESSNAME]['results']; + $this->results =& $_SESSION[UI_HUBSEARCH_SESSNAME]['results']; $this->criteria =& $_SESSION[UI_HUBSEARCH_SESSNAME]['criteria']; $this->reloadUrl = UI_BROWSER.'?popup[]=_reload_parent&popup[]=_close'; if (empty($this->criteria['limit'])) { - $this->criteria['limit'] = UI_BROWSE_DEFAULT_LIMIT; + $this->criteria['limit'] = UI_BROWSE_DEFAULT_LIMIT; } } // constructor function getResult() { - //$this->searchDB(); - if (isset($_REQUEST['trtokid'])) { - $this->getSearchResults($_REQUEST['trtokid']); - return $this->results; - } - return false; + return $this->results; } // fn getResult + /** + * This gets called when the user first fills in the search form. + * + */ function newSearch(&$formdata) { $this->results = NULL; @@ -61,70 +60,57 @@ class uiHubSearch extends uiSearch { } } - //echo 'this->criteria:'; print_r($this->criteria); echo "\n"; - $trtokid = $this->Base->gb->globalSearch($this->criteria); - if (PEAR::isError($trtokid)) { - // don't know how to display error message in htmlUi- should be improved: - echo "ERROR: {$trtokid->getMessage()} {$trtokid->getUserInfo()}". - ($trtokid->getCode() ? " ({$trtokid->getCode()})" : "")."\n"; - echo "
\nBack\n"; - exit; - //$this->Base->_retMsg("ERROR_3: {$trtokid->getMessage()} {$trtokid->getUserInfo()}\n"); - //$this->Base->redirUrl = UI_BROWSER.'?popup[]='; - return $trtokid; - } - - $this->Base->redirUrl = UI_BROWSER.'?popup[]='.$this->prefix.'.getResults&trtokid='.$trtokid; + $results = $this->Base->gb->globalSearch($this->criteria); + $this->results["cnt"] = $results["cnt"]; + $this->results["items"] = $results["results"]; + $this->pagination(); + $this->Base->redirUrl = UI_BROWSER."?act=HUBSEARCH"; } // fn newSearch + /** + * This gets called when the user is paginating. + * + */ function searchDB() { if (count($this->criteria) === 0) { return FALSE; } - $this->results = array('page' => $this->criteria['offset'] / $this->criteria['limit']); - - $results = $this->Base->gb->localSearch($this->criteria, $this->Base->sessid); - if (PEAR::isError($results)) { - return FALSE; - } - foreach ($results['results'] as $rec) { - $tmpId = BasicStor::IdFromGunid($rec["gunid"]); - $this->results['items'][] = $this->Base->getMetaInfo($tmpId); - } - $this->results['cnt'] = $results['cnt']; - - $this->pagination($results); + $this->results = array('page' => ($this->criteria['offset'] / $this->criteria['limit'])); + $results = $this->Base->gb->globalSearch($this->criteria); + $this->results["cnt"] = $results["cnt"]; + $this->results["items"] = $results["results"]; + $this->pagination(); return TRUE; } // fn searchDB - function getSearchResults($trtokid, $andClose=TRUE) - { - $this->results = array('page' => $this->criteria['offset']/$this->criteria['limit']); - $results = $this->Base->gb->getSearchResults($trtokid, $andClose); - if ( PEAR::isError($results) && ($results->getCode() != TRERR_NOTFIN) ) { - echo "ERROR: {$results->getMessage()} {$results->getUserInfo()}\n"; - return $results; - } - if (!is_array($results) || !count($results)) { - return false; - } - $this->results['cnt'] = $results['cnt']; -/* - foreach ($results['results'] as $rec) { - // TODO: maybe this getMetaInfo is not correct for the remote results - // yes, right :) - // $this->results['items'][] = $this->Base->getMetaInfo(BasicStor::IdFromGunid($rec)); - $this->results['items'][] = $rec; - } -*/ - $this->results['items'] = $results['results']; - $this->pagination($results); - return is_array($results); - } // fn getSearchResults +// function getSearchResults($trtokid, $andClose=TRUE) +// { +// $this->results = array('page' => $this->criteria['offset']/$this->criteria['limit']); +// $results = $this->Base->gb->getSearchResults($trtokid, $andClose); +// if ( PEAR::isError($results) && ($results->getCode() != TRERR_NOTFIN) ) { +// echo "ERROR: {$results->getMessage()} {$results->getUserInfo()}\n"; +// return $results; +// } +// if (!is_array($results) || !count($results)) { +// return false; +// } +// $this->results['cnt'] = $results['cnt']; +///* +// foreach ($results['results'] as $rec) { +// // TODO: maybe this getMetaInfo is not correct for the remote results +// // yes, right :) +// // $this->results['items'][] = $this->Base->getMetaInfo(BasicStor::IdFromGunid($rec)); +// $this->results['items'][] = $rec; +// } +//*/ +// $this->results['items'] = $results['results']; +// $this->pagination($results); +// return is_array($results); +// } // fn getSearchResults } // class uiHubSearch ?> \ No newline at end of file diff --git a/src/modules/htmlUI/var/ui_search.class.php b/src/modules/htmlUI/var/ui_search.class.php index 90bbc469d..185f597be 100644 --- a/src/modules/htmlUI/var/ui_search.class.php +++ b/src/modules/htmlUI/var/ui_search.class.php @@ -1,16 +1,17 @@ $maxNumPaginationButtons) { // When currentPage goes past deltaLower if ($currentPage <= $deltaLower) { @@ -300,7 +301,7 @@ class uiSearch $o = $l * ($page-1); } $this->setReload(); - //$this->searchDB(); + $this->searchDB(); } } // class uiSearch diff --git a/src/modules/storageServer/var/GreenBox.php b/src/modules/storageServer/var/GreenBox.php index fd6b3cdba..fc0a930db 100644 --- a/src/modules/storageServer/var/GreenBox.php +++ b/src/modules/storageServer/var/GreenBox.php @@ -1651,8 +1651,9 @@ class GreenBox extends BasicStor { { require_once("Transport.php"); $tr = new Transport($this); - return $tr->globalSearch($criteria); - } // fn globalSearch + //return $tr->globalSearch($criteria); + return $tr->remoteSearch($criteria); + } /** @@ -1665,12 +1666,12 @@ class GreenBox extends BasicStor { * @return array * search result format (see localSearch) */ - public function getSearchResults($trtok, $andClose=TRUE) - { - require_once("Transport.php"); - $tr = new Transport($this); - return $tr->getSearchResults($trtok, $andClose); - } // fn getSearchResults +// public function getSearchResults($trtok, $andClose=TRUE) +// { +// require_once("Transport.php"); +// $tr = new Transport($this); +// return $tr->getSearchResults($trtok, $andClose); +// } // fn getSearchResults /* ========================================================= info methods */ diff --git a/src/modules/storageServer/var/LocStor.php b/src/modules/storageServer/var/LocStor.php index 85edbc453..49c41ec54 100644 --- a/src/modules/storageServer/var/LocStor.php +++ b/src/modules/storageServer/var/LocStor.php @@ -415,7 +415,7 @@ class LocStor extends BasicStor { * * @see BasicStor::localSearch */ - protected function searchMetadata($sessid, $criteria) + public function searchMetadata($sessid, $criteria) { if (($res = BasicStor::Authorize('read', $this->storId, $sessid)) !== TRUE) { return $res; @@ -1378,7 +1378,7 @@ class LocStor extends BasicStor { * * @return string */ - protected function getVersion() + public static function getVersion() { return CAMPCASTER_VERSION; } diff --git a/src/modules/storageServer/var/Transport.php b/src/modules/storageServer/var/Transport.php index a6cd4e2de..c7df5c561 100644 --- a/src/modules/storageServer/var/Transport.php +++ b/src/modules/storageServer/var/Transport.php @@ -405,7 +405,42 @@ class Transport } - /* ------------------------------------------------ global-search methods */ + /* ------------------------------------------------ remote-search methods */ + /** + * Start search job on remote Campcaster instance. + * + * @param array $criteria + * LS criteria format (see localSearch) + * @param string $resultMode + * 'php' | 'xmlrpc' + * @param array $pars + * default parameters (optional, internal use) + * @return string + * transport token + */ + function remoteSearch($criteria, $resultMode='php') + { + global $CC_CONFIG, $CC_DBC; + $criteria['resultMode'] = $resultMode; + + // testing of hub availability and hub account configuration. + $sessid = $this->loginToArchive(); + if (PEAR::isError($sessid)) { + switch(intval($sessid->getCode())) { + case 802: + return PEAR::raiseError("Can't login to Hub ({$sessid->getMessage()})", TRERR_XR_FAIL); + case TRERR_XR_FAIL: + return PEAR::raiseError("Can't connect to Hub ({$sessid->getMessage()})", TRERR_XR_FAIL); + } + return $sessid; + } + $params = array("sessid" => $sessid, "criteria" => $criteria); + $result = $this->xmlrpcCall("locstor.searchMetadata", $params); + //$result = $this->xmlrpcCall("locstor.ping", array("par" => "foo")); + $this->logoutFromArchive($sessid); + return $result; + } + /** * Start search job on network hub * @@ -418,33 +453,33 @@ class Transport * @return string * transport token */ - function globalSearch($criteria, $resultMode='php', $pars=array()) - { - global $CC_CONFIG, $CC_DBC; - // testing of hub availability and hub account configuration. - // it makes searchjob not async - should be removed for real async - $r = $this->loginToArchive(); - if (PEAR::isError($r)) { - switch(intval($r->getCode())) { - case 802: - return PEAR::raiseError("Can't login to Hub ({$r->getMessage()})", TRERR_XR_FAIL); - case TRERR_XR_FAIL: - return PEAR::raiseError("Can't connect to Hub ({$r->getMessage()})", TRERR_XR_FAIL); - } - return $r; - } - $this->logoutFromArchive($r); - $criteria['resultMode'] = $resultMode; - $localfile = tempnam($CC_CONFIG['transDir'], 'searchjob_'); - @chmod($localfile, 0660); - $len = file_put_contents($localfile, serialize($criteria)); - $trec = $this->_uploadGeneralFileToHub($localfile, 'searchjob', $pars); - if (PEAR::isError($trec)) { - return $trec; - } - $this->startCronJobProcess($trec->trtok); - return $trec->trtok; - } +// function globalSearch($criteria, $resultMode='php', $pars=array()) +// { +// global $CC_CONFIG, $CC_DBC; +// // testing of hub availability and hub account configuration. +// // it makes searchjob not async - should be removed for real async +// $r = $this->loginToArchive(); +// if (PEAR::isError($r)) { +// switch(intval($r->getCode())) { +// case 802: +// return PEAR::raiseError("Can't login to Hub ({$r->getMessage()})", TRERR_XR_FAIL); +// case TRERR_XR_FAIL: +// return PEAR::raiseError("Can't connect to Hub ({$r->getMessage()})", TRERR_XR_FAIL); +// } +// return $r; +// } +// $this->logoutFromArchive($r); +// $criteria['resultMode'] = $resultMode; +// $localfile = tempnam($CC_CONFIG['transDir'], 'searchjob_'); +// @chmod($localfile, 0660); +// $len = file_put_contents($localfile, serialize($criteria)); +// $trec = $this->_uploadGeneralFileToHub($localfile, 'searchjob', $pars); +// if (PEAR::isError($trec)) { +// return $trec; +// } +// $this->startCronJobProcess($trec->trtok); +// return $trec->trtok; +// } /** @@ -457,60 +492,60 @@ class Transport * @return array * LS search result format (see localSearch) */ - function getSearchResults($trtok, $andClose=TRUE) - { - $trec = TransportRecord::recall($this, $trtok); - if (PEAR::isError($trec)) { - return $trec; - } - $row = $trec->row; - switch ($st = $trec->getState()) { - case "failed": - return PEAR::raiseError( - "Transport::getSearchResults:". - " global search or results transport failed". - " ({$trec->row['errmsg']})" - ); - case "closed": -/* - $res = file_get_contents($row['localfile']); - $results = unserialize($res); - return $results; -*/ - return PEAR::raiseError( - "Transport::getSearchResults:". - " closed transport token ($trtok)", TRERR_TOK - ); - case "finished": - if ($row['direction'] == 'down') { - // really finished - $res = file_get_contents($row['localfile']); - $results = unserialize($res); - if ($andClose) { - $ret = $this->xmlrpcCall('archive.downloadClose', - array( - 'token' => $row['pdtoken'] , - 'trtype' => $row['trtype'] , - )); - if (PEAR::isError($ret)) { - return $ret; - } - @unlink($row['localfile']); - $r = $trec->close(); - if (PEAR::isError($r)) { - return $r; - } - } - return $results; - } - // otherwise not really finished - only request upload finished - default: - return PEAR::raiseError( - "Transport::getSearchResults: not finished ($st)", - TRERR_NOTFIN - ); - } - } +// function getSearchResults($trtok, $andClose=TRUE) +// { +// $trec = TransportRecord::recall($this, $trtok); +// if (PEAR::isError($trec)) { +// return $trec; +// } +// $row = $trec->row; +// switch ($st = $trec->getState()) { +// case "failed": +// return PEAR::raiseError( +// "Transport::getSearchResults:". +// " global search or results transport failed". +// " ({$trec->row['errmsg']})" +// ); +// case "closed": +///* +// $res = file_get_contents($row['localfile']); +// $results = unserialize($res); +// return $results; +//*/ +// return PEAR::raiseError( +// "Transport::getSearchResults:". +// " closed transport token ($trtok)", TRERR_TOK +// ); +// case "finished": +// if ($row['direction'] == 'down') { +// // really finished +// $res = file_get_contents($row['localfile']); +// $results = unserialize($res); +// if ($andClose) { +// $ret = $this->xmlrpcCall('archive.downloadClose', +// array( +// 'token' => $row['pdtoken'] , +// 'trtype' => $row['trtype'] , +// )); +// if (PEAR::isError($ret)) { +// return $ret; +// } +// @unlink($row['localfile']); +// $r = $trec->close(); +// if (PEAR::isError($r)) { +// return $r; +// } +// } +// return $results; +// } +// // otherwise not really finished - only request upload finished +// default: +// return PEAR::raiseError( +// "Transport::getSearchResults: not finished ($st)", +// TRERR_NOTFIN +// ); +// } +// } /* ------------------------ methods for ls-archive-format file transports */ @@ -712,7 +747,7 @@ class Transport function loginToArchive() { global $CC_CONFIG; - $res = $this->xmlrpcCall('archive.login', + $res = $this->xmlrpcCall('locstor.login', array( 'login' => $CC_CONFIG['archiveAccountLogin'], 'pass' => $CC_CONFIG['archiveAccountPass'] @@ -734,7 +769,7 @@ class Transport */ function logoutFromArchive($sessid) { - $res = $this->xmlrpcCall('archive.logout', + $res = $this->xmlrpcCall('locstor.logout', array('sessid'=>$sessid)); return $res; } @@ -777,7 +812,7 @@ class Transport return TRUE; } // ping to archive server: - $r = $this->pingToArchive(); + $r = $this->ping(); chdir($CC_CONFIG['transDir']); // for all opened transports: foreach ($transports as $i => $row) { @@ -1423,7 +1458,7 @@ class Transport } break; case "metadata": - case "searchjob": +// case "searchjob": return TRUE; // don't close - getSearchResults should close it break; } @@ -1606,14 +1641,14 @@ class Transport /** - * Ping to archive server + * Ping to remote Campcaster server * * @return string * network hub response or error object */ - function pingToArchive() + function ping() { - $res = $this->xmlrpcCall('archive.ping', + $res = $this->xmlrpcCall('ping', array('par'=>'ping_'.date('H:i:s'))); return $res; } @@ -1633,10 +1668,11 @@ class Transport { global $CC_CONFIG; $xrp = XML_RPC_encode($pars); - $c = new XML_RPC_Client( - $CC_CONFIG['archiveUrlPath']."/".$CC_CONFIG['archiveXMLRPC'], - $CC_CONFIG['archiveUrlHost'], $CC_CONFIG['archiveUrlPort'] - ); + $path = $CC_CONFIG['archiveUrlPath']."/".$CC_CONFIG['archiveXMLRPC']; + $url = $CC_CONFIG["archiveUrlHost"].":".$CC_CONFIG["archiveUrlPort"]."/".$path; + //echo $url."\n"; + $c = new XML_RPC_Client($path, $CC_CONFIG['archiveUrlHost'], + $CC_CONFIG['archiveUrlPort']); $f = new XML_RPC_Message($method, array($xrp)); $r = $c->send($f); if (!$r) { diff --git a/src/modules/storageServer/var/tests/transTest.php b/src/modules/storageServer/var/tests/transTest.php index f98e7bd68..ae5210cca 100644 --- a/src/modules/storageServer/var/tests/transTest.php +++ b/src/modules/storageServer/var/tests/transTest.php @@ -1,6 +1,7 @@ remoteSearch(""); +if (PEAR::isError($result)) { + echo $result->message."\n"; +} else { + var_dump($result); +} +//$client = XML_RPC2_Client::create('http://localhost/~paul/campcaster/storageServer/var/xmlrpc/xrLocStor2.php', array('backend'=>'php', 'prefix' => "Campcaster_Remote.")); +////var_dump($client); +//$result = $client->System_Ping("woo"); +//var_dump($result); +exit; -echo"# Ping: "; -$r = $tr->pingToArchive(); -if(PEAR::isError($r)){ echo "ERROR: ".$r->getMessage()."\n"; exit(1); } -var_export($r); echo"\n"; -echo"# logout: "; $r = Alib::Logout($sessid); -if(PEAR::isError($r)){ echo "ERROR: ".$r->getMessage()."\n"; exit(1); } -echo "$r\n"; -*/ /* ========== STORE ========== */ -echo"# Login: ".($sessid = Alib::Login('root', 'q'))."\n"; echo"# Store: "; -$parid = $gb->_getHomeDirIdFromSess($sessid); +//$parid = $gb->_getHomeDirIdFromSess($sessid); $values = array( "filename" => "xx1.mp3", "filepath" => $mediaFile, @@ -47,7 +48,7 @@ $values = array( "gunid" => $gunid, "filetype" => "audioclip" ); -$storedFile = $gb->bsPutFile($parid, $values); +$storedFile = $gb->bsPutFile($values); if (PEAR::isError($storedFile)) { if ($storedFile->getCode()!=GBERR_GUNID) { echo "ERROR: ".$storedFile->getMessage()."\n"; @@ -185,7 +186,7 @@ if(PEAR::isError($r)){ echo "ERROR: ".$r->getMessage()."\n"; exit(1); } var_export($r['status']); echo"\n"; echo"# Ping: "; -$r = $tr->pingToArchive(); +$r = $tr->ping(); if(PEAR::isError($r)){ echo "ERROR: ".$r->getMessage()."\n"; exit(1); } var_export($r); echo"\n"; diff --git a/src/modules/storageServer/var/xmlrpc/XR_LocStor.php b/src/modules/storageServer/var/xmlrpc/XR_LocStor.php index 47c997a1c..3ee030648 100644 --- a/src/modules/storageServer/var/xmlrpc/XR_LocStor.php +++ b/src/modules/storageServer/var/xmlrpc/XR_LocStor.php @@ -10,7 +10,6 @@ require_once(dirname(__FILE__).'/../LocStor.php'); * @license http://www.gnu.org/licenses/gpl.txt */ class XR_LocStor extends LocStor { - /* ----------------------------------------------------------- getVersion */ /** * Dummy method - only returns Campcaster version @@ -38,19 +37,36 @@ class XR_LocStor extends LocStor { * @return XML_RPC_Response * @see Subjects::getVersion */ - public function xr_getVersion($input) +// public function xr_getVersion($input) +// { +// list($ok, $r) = XR_LocStor::xr_getParams($input); +// if (!$ok) { +// return $r; +// } +// $res = $this->getVersion(); +// if (PEAR::isError($res)) { +// return new XML_RPC_Response(0, 805, +// "xr_getVersion: ".$res->getMessage(). +// " ".$res->getUserInfo() +// ); +// } +// return new XML_RPC_Response( +// XML_RPC_encode(array('version'=>$res)) +// ); +// } + public function xr_getVersion() { - list($ok, $r) = XR_LocStor::xr_getParams($input); - if (!$ok) { - return $r; - } +// list($ok, $r) = XR_LocStor::xr_getParams($input); +// if (!$ok) { +// return $r; +// } $res = $this->getVersion(); - if (PEAR::isError($res)) { - return new XML_RPC_Response(0, 805, - "xr_getVersion: ".$res->getMessage(). - " ".$res->getUserInfo() - ); - } +// if (PEAR::isError($res)) { +// return new XML_RPC_Response(0, 805, +// "xr_getVersion: ".$res->getMessage(). +// " ".$res->getUserInfo() +// ); +// } return new XML_RPC_Response( XML_RPC_encode(array('version'=>$res)) ); @@ -3270,24 +3286,24 @@ class XR_LocStor extends LocStor { * @return XML_RPC_Response * @see Transport::globalSearch */ - public function xr_globalSearch($input) - { - list($ok, $r) = XR_LocStor::xr_getParams($input); - if (!$ok) { - return $r; - } - require_once('../Transport.php'); - $tr = new Transport($this); - $res = $tr->globalSearch($r['criteria']); - if (PEAR::isError($res)) { - $ec0 = intval($res->getCode()); - $ec = ($ec0 == GBERR_SESS || $ec0 == TRERR_TOK ? 800+$ec0 : 805 ); - return new XML_RPC_Response(0, $ec, - "xr_globalSearch: ".$res->getMessage()." ".$res->getUserInfo() - ); - } - return new XML_RPC_Response(XML_RPC_encode(array('trtok'=>$res))); - } +// public function xr_globalSearch($input) +// { +// list($ok, $r) = XR_LocStor::xr_getParams($input); +// if (!$ok) { +// return $r; +// } +// require_once('../Transport.php'); +// $tr = new Transport($this); +// $res = $tr->globalSearch($r['criteria']); +// if (PEAR::isError($res)) { +// $ec0 = intval($res->getCode()); +// $ec = ($ec0 == GBERR_SESS || $ec0 == TRERR_TOK ? 800+$ec0 : 805 ); +// return new XML_RPC_Response(0, $ec, +// "xr_globalSearch: ".$res->getMessage()." ".$res->getUserInfo() +// ); +// } +// return new XML_RPC_Response(XML_RPC_encode(array('trtok'=>$res))); +// } /** * Get results from search job on network hub. @@ -3335,26 +3351,26 @@ class XR_LocStor extends LocStor { * @return XML_RPC_Response * @see Transport::getSearchResults */ - public function xr_getSearchResults($input) - { - list($ok, $r) = XR_LocStor::xr_getParams($input); - if (!$ok) { - return $r; - } - require_once('../Transport.php'); - $tr = new Transport($this); - $res = $tr->getSearchResults($r['trtok']); - if (PEAR::isError($res)) { - $ec0 = intval($res->getCode()); - $ec = ( - $ec0 == GBERR_SESS || $ec0 == TRERR_TOK || $ec0 == TRERR_NOTFIN - ? 800+$ec0 : 805 ); - return new XML_RPC_Response(0, $ec, - "xr_getSearchResults: ".$res->getMessage()." ".$res->getUserInfo() - ); - } - return new XML_RPC_Response(XML_RPC_encode($res)); - } +// public function xr_getSearchResults($input) +// { +// list($ok, $r) = XR_LocStor::xr_getParams($input); +// if (!$ok) { +// return $r; +// } +// require_once('../Transport.php'); +// $tr = new Transport($this); +// $res = $tr->getSearchResults($r['trtok']); +// if (PEAR::isError($res)) { +// $ec0 = intval($res->getCode()); +// $ec = ( +// $ec0 == GBERR_SESS || $ec0 == TRERR_TOK || $ec0 == TRERR_NOTFIN +// ? 800+$ec0 : 805 ); +// return new XML_RPC_Response(0, $ec, +// "xr_getSearchResults: ".$res->getMessage()." ".$res->getUserInfo() +// ); +// } +// return new XML_RPC_Response(XML_RPC_encode($res)); +// } /** * OBSOLETE @@ -3389,24 +3405,24 @@ class XR_LocStor extends LocStor { * @return XML_RPC_Response * @see Transport::uploadToArchive */ - public function xr_uploadToArchive($input) - { - list($ok, $r) = XR_LocStor::xr_getParams($input); - if (!$ok) { - return $r; - } - require_once(dirname(__FILE__).'/../Transport.php'); - $tr = new Transport($this); - $res = $tr->uploadToArchive($r['gunid'], $r['sessid']); - if (PEAR::isError($res)) { - $ec0 = intval($res->getCode()); - $ec = ($ec0 == GBERR_SESS ? 800+$ec0 : 805 ); - return new XML_RPC_Response(0, $ec, - "xr_getAudioClip: ".$res->getMessage()." ".$res->getUserInfo() - ); - } - return new XML_RPC_Response(XML_RPC_encode(array('trtok'=>$res))); - } +// public function xr_uploadToArchive($input) +// { +// list($ok, $r) = XR_LocStor::xr_getParams($input); +// if (!$ok) { +// return $r; +// } +// require_once(dirname(__FILE__).'/../Transport.php'); +// $tr = new Transport($this); +// $res = $tr->uploadToArchive($r['gunid'], $r['sessid']); +// if (PEAR::isError($res)) { +// $ec0 = intval($res->getCode()); +// $ec = ($ec0 == GBERR_SESS ? 800+$ec0 : 805 ); +// return new XML_RPC_Response(0, $ec, +// "xr_getAudioClip: ".$res->getMessage()." ".$res->getUserInfo() +// ); +// } +// return new XML_RPC_Response(XML_RPC_encode(array('trtok'=>$res))); +// } /** * OBSOLETE @@ -3441,24 +3457,24 @@ class XR_LocStor extends LocStor { * @return XML_RPC_Response * @see Transport::downloadFromArchive */ - public function xr_downloadFromArchive($input) - { - list($ok, $r) = XR_LocStor::xr_getParams($input); - if (!$ok) { - return $r; - } - require_once(dirname(__FILE__).'/../Transport.php'); - $tr = new Transport($this); - $res = $tr->downloadFromArchive($r['gunid'], $r['sessid']); - if (PEAR::isError($res)) { - $ec0 = intval($res->getCode()); - $ec = ($ec0 == GBERR_SESS ? 800+$ec0 : 805 ); - return new XML_RPC_Response(0, $ec, - "xr_getAudioClip: ".$res->getMessage()." ".$res->getUserInfo() - ); - } - return new XML_RPC_Response(XML_RPC_encode(array('trtok'=>$res))); - } +// public function xr_downloadFromArchive($input) +// { +// list($ok, $r) = XR_LocStor::xr_getParams($input); +// if (!$ok) { +// return $r; +// } +// require_once(dirname(__FILE__).'/../Transport.php'); +// $tr = new Transport($this); +// $res = $tr->downloadFromArchive($r['gunid'], $r['sessid']); +// if (PEAR::isError($res)) { +// $ec0 = intval($res->getCode()); +// $ec = ($ec0 == GBERR_SESS ? 800+$ec0 : 805 ); +// return new XML_RPC_Response(0, $ec, +// "xr_getAudioClip: ".$res->getMessage()." ".$res->getUserInfo() +// ); +// } +// return new XML_RPC_Response(XML_RPC_encode(array('trtok'=>$res))); +// } /* ================================================ methods for debugging */ /** @@ -3593,7 +3609,7 @@ class XR_LocStor extends LocStor { } /** - * Simple ping method - return strtouppered string + * Simple ping method - return string * * @param XML_RPC_Message $input * @return XML_RPC_Response @@ -3604,7 +3620,7 @@ class XR_LocStor extends LocStor { if (!$ok) { return $r; } - $res = date("Ymd-H:i:s")." Network hub answer: {$r['par']}"; + $res = date("Ymd-H:i:s")." -- reply from remote node: {$r['par']}"; return new XML_RPC_Response(XML_RPC_encode($res)); } diff --git a/src/modules/storageServer/var/xmlrpc/xrLocStor.php b/src/modules/storageServer/var/xmlrpc/xrLocStor.php index 848ac1042..0c08d6d8b 100644 --- a/src/modules/storageServer/var/xmlrpc/xrLocStor.php +++ b/src/modules/storageServer/var/xmlrpc/xrLocStor.php @@ -61,11 +61,11 @@ $locStor = new XR_LocStor(); $methods = array( 'test' => 'Tests toupper and checks sessid, params: '. 'teststring, sessid.', - 'getVersion' => 'Dummy function for connection testing.', - 'authenticate' => 'Checks authentication.', + 'getVersion' => 'Get version of Campcaster.', +// 'authenticate' => 'Checks authentication.', 'login' => 'Login to storage.', 'logout' => 'Logout from storage.', - 'existsAudioClip' => 'Checks if an Audio clip with the specified '. + 'existsAudioClip' => 'Checks if an audio clip with the specified '. 'id is stored in local storage.', 'storeAudioClipOpen' => 'Open channel to store a new audio clip '. 'or replace an existing one.', @@ -140,26 +140,26 @@ $methods = array( 'startHubInitiatedTransfer' => 'Start of download initiated by hub', 'upload2Hub' => 'Start upload of audioclip or playlist from local storageServer to hub', 'downloadFromHub' => 'Start download of audioclip or playlist from hub to local storageServer', - 'globalSearch' => 'Start search job on network hub', - 'getSearchResults' => 'Get results from search job on network hub', +// 'globalSearch' => 'Start search job on network hub', +// 'getSearchResults' => 'Get results from search job on network hub', - 'uploadOpen' => 'Open file-layer upload', - 'uploadCheck' => 'Check the checksum of uploaded file', - 'uploadClose' => 'Close file-layer upload', - 'downloadOpen' => 'Open file-layer download', + 'uploadOpen' => 'Open file-layer upload', + 'uploadCheck' => 'Check the checksum of uploaded file', + 'uploadClose' => 'Close file-layer upload', + 'downloadOpen' => 'Open file-layer download', // 'downloadCheck' => 'Check the checksum of downloaded file', - 'downloadClose' => 'Close file-layer download', + 'downloadClose' => 'Close file-layer download', 'prepareHubInitiatedTransfer' => 'Prepare hub initiated transfer', 'listHubInitiatedTransfers' => 'List hub initiated transfers', 'setHubInitiatedTransfer' => 'Set state of hub initiated transfers', - 'ping' => 'Echo request', + 'ping' => 'Echo request', ); $defs = array(); foreach ($methods as $method => $description) { $defs["locstor.$method"] = array( "function" => array(&$locStor, "xr_$method"), -# "function" => "\$GLOBALS['locStor']->xr_$method", + // NOTE: the way this signature is set up, every function must take at least one parameter! "signature" => array( array($GLOBALS['XML_RPC_Struct'], $GLOBALS['XML_RPC_Struct']) ), diff --git a/src/modules/storageServer/var/xmlrpc/xr_cli_test.php b/src/modules/storageServer/var/xmlrpc/xr_cli_test.php index 569fee537..875410056 100644 --- a/src/modules/storageServer/var/xmlrpc/xr_cli_test.php +++ b/src/modules/storageServer/var/xmlrpc/xr_cli_test.php @@ -72,7 +72,8 @@ $infos = array( "methodHelp" => array('m'=>"system.methodHelp", 'p'=>0), "methodSignature" => array('m'=>"system.methodSignature", 'p'=>0), "test" => array('m'=>"locstor.test", 'p'=>array('sessid', 'teststring')), - "getVersion" => array('m'=>"locstor.getVersion", 'p'=>array(), 'r'=>'version'), + "ping" => array('m'=>"locstor.ping", 'p'=>array("par")), + "getVersion" => array('m'=>"locstor.getVersion", 'p'=>array("str"), 'r'=>'version'), "authenticate" => array('m'=>"locstor.authenticate", 'p'=>array('login', 'pass'), 'r'=>'authenticate'), "login" => array('m'=>"locstor.login", 'p'=>array('login', 'pass'), 'r'=>'sessid'), "logout" => array('m'=>"locstor.logout", 'p'=>array('sessid'), 'r'=>'status'), @@ -193,10 +194,10 @@ $infos = array( 'p'=>array('sessid', 'gunid'), 'r'=>array('trtok')), "downloadFromHub" => array('m'=>"locstor.downloadFromHub", 'p'=>array('sessid', 'gunid'), 'r'=>array('trtok')), - "globalSearch" => array('m'=>"locstor.globalSearch", - 'p'=>array('sessid', 'criteria'), 'r'=>array('trtok')), - "getSearchResults" => array('m'=>"locstor.getSearchResults", - 'p'=>array('trtok')), +// "globalSearch" => array('m'=>"locstor.globalSearch", +// 'p'=>array('sessid', 'criteria'), 'r'=>array('trtok')), +// "getSearchResults" => array('m'=>"locstor.getSearchResults", +// 'p'=>array('trtok')), "createBackupOpen" => array('m'=>"locstor.createBackupOpen", 'p'=>array('sessid', 'criteria'), 'r'=>array('token')), @@ -228,7 +229,7 @@ $infos = array( switch ($method) { case "searchMetadata": - case "globalSearch": +// case "globalSearch": case "createBackupOpen": $parr = array( 'sessid'=>$pars[0], @@ -283,7 +284,11 @@ switch ($method) { } // switch $fullmethod = $infos[$method]['m']; -$msg = new XML_RPC_Message($fullmethod, array(XML_RPC_encode($options))); +if (is_array($options)) { + $msg = new XML_RPC_Message($fullmethod, array(XML_RPC_encode($options))); +} else { + $msg = new XML_RPC_Message($fullmethod); +} //$msg = new XML_RPC_Message($fullmethod, array(XML_RPC_encode($parr))); if ($verbose) { @@ -327,7 +332,7 @@ if (isset($infos[$method]['r'])) { } else { switch ($method) { case "searchMetadata": - case "getSearchResults": +// case "getSearchResults": $acCnt = 0; $acGunids = array(); $plCnt = 0; @@ -356,6 +361,7 @@ if (isset($infos[$method]['r'])) { break; default: print_r($resp); + echo "\n"; } } diff --git a/src/modules/storageServer/var/xmlrpc/xr_web_test.php b/src/modules/storageServer/var/xmlrpc/xr_web_test.php index 30de7abe7..0673db834 100644 --- a/src/modules/storageServer/var/xmlrpc/xr_web_test.php +++ b/src/modules/storageServer/var/xmlrpc/xr_web_test.php @@ -184,10 +184,10 @@ $methodDefs = array( 'p'=>array('sessid', 'gunid'), 'r'=>array('trtok')), "downloadFromHub" => array('m'=>"locstor.downloadFromHub", 'p'=>array('sessid', 'gunid'), 'r'=>array('trtok')), - "globalSearch" => array('m'=>"locstor.globalSearch", - 'p'=>array('sessid', 'criteria'), 'r'=>array('trtok')), - "getSearchResults" => array('m'=>"locstor.getSearchResults", - 'p'=>array('trtok')), +// "globalSearch" => array('m'=>"locstor.globalSearch", +// 'p'=>array('sessid', 'criteria'), 'r'=>array('trtok')), +// "getSearchResults" => array('m'=>"locstor.getSearchResults", +// 'p'=>array('trtok')), "createBackupOpen" => array('m'=>"locstor.createBackupOpen", 'p'=>array('sessid', 'criteria'), 'r'=>array('token')), @@ -267,7 +267,7 @@ if (isset($_REQUEST['go_button'])) { } else { switch ($method) { case "searchMetadata": - case "getSearchResults": +// case "getSearchResults": $acCnt = 0; $acGunids = array(); $plCnt = 0;