diff --git a/livesupport/modules/storageServer/var/BasicStor.php b/livesupport/modules/storageServer/var/BasicStor.php index 7f9d31e37..ff4296e25 100644 --- a/livesupport/modules/storageServer/var/BasicStor.php +++ b/livesupport/modules/storageServer/var/BasicStor.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.3 $ + Version : $Revision: 1.4 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/BasicStor.php,v $ ------------------------------------------------------------------------------*/ @@ -48,7 +48,7 @@ require_once "Transport.php"; * Core of LiveSupport file storage module * * @author $Author: tomas $ - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ * @see Alib */ class BasicStor extends Alib{ @@ -215,7 +215,7 @@ class BasicStor extends Alib{ { $cnt = $this->dbc->getOne(" SELECT count(token) FROM {$this->accessTable} - WHERE token='{$token}' AND type='$type' + WHERE token=x'{$token}'::bigint AND type='$type' "); if(PEAR::isError($cnt)){ return FALSE; } return ($cnt == 1); @@ -236,9 +236,11 @@ class BasicStor extends Alib{ $token = StoredFile::_createGunid(); $res = $this->dbc->query(" INSERT INTO {$this->accessTable} - (gunid, sessid, token, ext, type, ts) + (gunid, sessid, token, + ext, type, ts) VALUES - ('{$gunid}', '$sessid', '$token', '$ext', '$type', now()) + (x'{$gunid}'::bigint, '$sessid', x'$token'::bigint, + '$ext', '$type', now()) "); if(PEAR::isError($res)){ return $res; } $linkFname = "{$this->accessDir}/$token.$ext"; @@ -271,15 +273,15 @@ class BasicStor extends Alib{ ); } $acc = $this->dbc->getRow(" - SELECT gunid, ext FROM {$this->accessTable} - WHERE token='{$token}' AND type='$type' + SELECT to_hex(gunid)as gunid, ext FROM {$this->accessTable} + WHERE token=x'{$token}'::bigint AND type='$type' "); $ext = $acc['ext']; - $gunid = $acc['gunid']; + $gunid = StoredFile::_normalizeGunid($acc['gunid']); if(PEAR::isError($acc)){ return $acc; } $linkFname = "{$this->accessDir}/$token.$ext"; $res = $this->dbc->query(" - DELETE FROM {$this->accessTable} WHERE token='$token' + DELETE FROM {$this->accessTable} WHERE token=x'$token'::bigint "); if(PEAR::isError($res)){ return $res; } if(! @unlink($linkFname)){ @@ -339,10 +341,11 @@ class BasicStor extends Alib{ { if($part == 'metadata'){ $gunid = $this->dbc->getOne(" - SELECT gunid FROM {$this->accessTable} - WHERE token='{$token}' AND type='download' + SELECT to_hex(gunid)as gunid FROM {$this->accessTable} + WHERE token=x'{$token}'::bigint AND type='download' "); if(PEAR::isError($gunid)){ return $gunid; } + $gunid = StoredFile::_normalizeGunid($gunid); $fname = "{$this->bufferDir}/$gunid"; @unlink($fname); } @@ -365,7 +368,7 @@ class BasicStor extends Alib{ INSERT INTO {$this->accessTable} (gunid, sessid, token, ext, chsum, type, ts) VALUES - ('{$gunid}', '$sessid', '$token', + (x'{$gunid}'::bigint, '$sessid', x'$token'::bigint, '$ext', '$chsum', 'put', now()) "); if(PEAR::isError($res)){ return $res; } @@ -390,7 +393,7 @@ class BasicStor extends Alib{ } $chsum = $this->dbc->getOne(" SELECT chsum FROM {$this->accessTable} - WHERE token='{$token}' + WHERE token=x'{$token}'::bigint "); $fname = "{$this->accessDir}/$token"; $md5sum = md5_file($fname); @@ -400,7 +403,7 @@ class BasicStor extends Alib{ ); } $res = $this->dbc->query(" - DELETE FROM {$this->accessTable} WHERE token='$token' + DELETE FROM {$this->accessTable} WHERE token=x'$token'::bigint "); if(PEAR::isError($res)){ return $res; } return $fname; @@ -544,14 +547,54 @@ class BasicStor extends Alib{ */ function bsLocalSearch($criteria) { - $ftsrch = $criteria; - $res = $this->dbc->getCol("SELECT md.gunid as gunid + $types = array('and'=>'AND', 'or'=>'OR'); + $ops = array('full'=>"='%s'", 'partial'=>"like '%%%s%%'", 'prefix'=>"like '%s%%'", + '<'=>"< '%s'", '='=>"= '%s'", '>'=>"> '%s'", '<='=>"<= '%s'", '>='=>">= '%s'" + ); +# var_dump($criteria); + echo "\n"; + $type = strtolower($criteria['type']); + $conds = $criteria['conds']; + $whereArr = array(); + foreach($conds as $cond){ + $cat = strtolower($cond['cat']); + $opVal = sprintf($ops[$cond['op']], strtolower($cond['val'])); + $sqlCond = " + %s.predicate = '".str_replace("%", "%%", $cat)."' AND + %s.objns='_L' AND lower(%s.object) ".str_replace("%", "%%", $opVal)."\n + "; +# echo "$sqlCond\n"; + $whereArr[] = "$sqlCond"; + } + if($type == 'and'){ + $from = array(); $joinArr = array(); + foreach($whereArr as $i=>$v){ + $from[] = "{$this->mdataTable} md$i"; + $whereArr[$i] = sprintf($v, "md$i", "md$i", "md$i"); + $joinArr[] = "md$i.gunid = md".($i+1).".gunid"; + } + array_pop($joinArr); + $sql = "SELECT to_hex(md0.gunid)as gunid \nFROM ".join(", ", $from). + "\nWHERE ".join(' AND ', $whereArr); + if(count($joinArr)>0){ $sql .= " AND ".join(" AND ", $joinArr); } + }else{ + foreach($whereArr as $i=>$v){ + $whereArr[$i] = sprintf($v, "md", "md", "md"); + } + $sql = "\nSELECT to_hex(gunid)as gunid \n". + "FROM {$this->mdataTable} md \nWHERE ".join(' OR ', $whereArr); + } + echo "$sql\n"; +# var_dump($whereArr); + $sql0 = "SELECT to_hex(md.gunid)as gunid FROM {$this->filesTable} f, {$this->mdataTable} md WHERE f.gunid=md.gunid AND md.objns='_L' AND - md.object like '%$ftsrch%' + md.object like '%$criteria%' GROUP BY md.gunid - "); + "; + $res = $this->dbc->getCol($sql); if(!is_array($res)) $res = array(); + // $res = array_map("StoredFile::_normalizeGunid", $res); // TODO: correct! return $res; } @@ -931,14 +974,16 @@ class BasicStor extends Alib{ function install() { parent::install(); - $this->dbc->query("CREATE TABLE {$this->filesTable} ( + echo "{$this->filesTable}\n"; + $r = $this->dbc->query("CREATE TABLE {$this->filesTable} ( id int not null, - gunid char(32) not null, -- global unique ID + gunid bigint not null, -- global unique ID name varchar(255) not null default'', -- human file id ;) type varchar(255) not null default'', -- mime type state varchar(128) not null default'empty', -- file state currentlyAccessing int not null default 0 -- access counter )"); + if(PEAR::isError($r)) return $r; $this->dbc->query("CREATE UNIQUE INDEX {$this->filesTable}_id_idx ON {$this->filesTable} (id)"); $this->dbc->query("CREATE UNIQUE INDEX {$this->filesTable}_gunid_idx @@ -946,10 +991,11 @@ class BasicStor extends Alib{ $this->dbc->query("CREATE INDEX {$this->filesTable}_name_idx ON {$this->filesTable} (name)"); + echo "{$this->mdataTable}\n"; $this->dbc->createSequence("{$this->mdataTable}_id_seq"); - $this->dbc->query("CREATE TABLE {$this->mdataTable} ( + $r = $this->dbc->query("CREATE TABLE {$this->mdataTable} ( id int not null, - gunid char(32), + gunid bigint, subjns varchar(255), -- subject namespace shortcut/uri subject varchar(255) not null default '', predns varchar(255), -- predicate namespace shortcut/uri @@ -958,6 +1004,7 @@ class BasicStor extends Alib{ objns varchar(255), -- object namespace shortcut/uri object text )"); + if(PEAR::isError($r)) return $r; $this->dbc->query("CREATE UNIQUE INDEX {$this->mdataTable}_id_idx ON {$this->mdataTable} (id)"); $this->dbc->query("CREATE INDEX {$this->mdataTable}_gunid_idx @@ -967,15 +1014,17 @@ class BasicStor extends Alib{ $this->dbc->query("CREATE INDEX {$this->mdataTable}_pred_idx ON {$this->mdataTable} (predns, predicate)"); - $this->dbc->query("CREATE TABLE {$this->accessTable} ( - gunid char(32) not null default'', + echo "{$this->accessTable}\n"; + $r = $this->dbc->query("CREATE TABLE {$this->accessTable} ( + gunid bigint, sessid char(32) not null default'', - token char(32) not null default'', + token bigint, chsum char(32) not null default'', ext varchar(128) not null default'', type varchar(20) not null default'', ts timestamp )"); + if(PEAR::isError($r)) return $r; $this->dbc->query("CREATE INDEX {$this->accessTable}_token_idx ON {$this->accessTable} (token)"); $this->dbc->query("CREATE INDEX {$this->accessTable}_gunid_idx diff --git a/livesupport/modules/storageServer/var/GreenBox.php b/livesupport/modules/storageServer/var/GreenBox.php index 88534e0aa..c03fb82be 100644 --- a/livesupport/modules/storageServer/var/GreenBox.php +++ b/livesupport/modules/storageServer/var/GreenBox.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.12 $ + Version : $Revision: 1.13 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/GreenBox.php,v $ ------------------------------------------------------------------------------*/ @@ -35,7 +35,7 @@ require_once "BasicStor.php"; * LiveSupport file storage module * * @author $Author: tomas $ - * @version $Revision: 1.12 $ + * @version $Revision: 1.13 $ * @see BasicStor */ class GreenBox extends BasicStor{ @@ -522,7 +522,7 @@ class GreenBox extends BasicStor{ function _idFromGunid($gunid) { return $this->dbc->getOne( - "SELECT id FROM {$this->filesTable} WHERE gunid='$gunid'" + "SELECT id FROM {$this->filesTable} WHERE gunid=x'$gunid'::bigint" ); } @@ -535,9 +535,12 @@ class GreenBox extends BasicStor{ function _gunidFromId($id) { if(!is_numeric($id)) return NULL; - return $this->dbc->getOne( - "SELECT gunid FROM {$this->filesTable} WHERE id='$id'" - ); + $gunid = $this->dbc->getOne(" + SELECT to_hex(gunid)as gunid FROM {$this->filesTable} + WHERE id='$id' + "); + if(is_null($gunid)) return NULL; + return StoredFile::_normalizeGunid($gunid); } } diff --git a/livesupport/modules/storageServer/var/MetaData.php b/livesupport/modules/storageServer/var/MetaData.php index 0837ecf36..cc3ac6aa0 100644 --- a/livesupport/modules/storageServer/var/MetaData.php +++ b/livesupport/modules/storageServer/var/MetaData.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.5 $ + Version : $Revision: 1.6 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/MetaData.php,v $ ------------------------------------------------------------------------------*/ @@ -111,8 +111,10 @@ class MetaData{ */ function delete() { - $res = $this->dbc->query("DELETE FROM {$this->mdataTable} - WHERE gunid='{$this->gunid}'"); + $res = $this->dbc->query(" + DELETE FROM {$this->mdataTable} + WHERE gunid=x'{$this->gunid}'::bigint + "); if(PEAR::isError($res)) return $res; $this->exists = FALSE; return TRUE; @@ -135,8 +137,11 @@ class MetaData{ */ function dbCheck($gunid) { - $cnt = $this->dbc->getOne("SELECT count(*)as cnt - FROM {$this->mdataTable} WHERE gunid='$gunid'"); + $cnt = $this->dbc->getOne(" + SELECT count(*)as cnt + FROM {$this->mdataTable} + WHERE gunid=x'$gunid'::bigint + "); if(PEAR::isError($cnt)) return $cnt; return (intval($cnt) > 0); } @@ -192,7 +197,7 @@ class MetaData{ $nameSpaces = array(); $arr = $this->dbc->getAll("SELECT subject, object FROM {$this->mdataTable} - WHERE gunid='{$this->gunid}' + WHERE gunid=x'{$this->gunid}'::bigint AND subjns='_L' AND predns is null AND predicate='_namespace' AND objns='_L' @@ -218,16 +223,19 @@ class MetaData{ function storeXMLNode($node, $parid=NULL, $mode='insert') { //echo $node->node_name().", ".$node->node_type().", ".$node->prefix().", $parid.\n"; + // preprocessing: switch($node->node_type()){ case 1: // element case 2: // attribute $subjns = (is_null($parid)? '_G' : '_I'); $subject = (is_null($parid)? $this->gunid : $parid); + // DOM XML extension doesn't like empty prefix - use '_d' $prefix = $node->prefix(); $prefix = ($prefix === '' ? '_d' : $prefix); if(!isset($this->nameSpaces[$prefix])) $this->nameSpaces[$prefix] = $node->namespace_uri(); break; } + // main processing: switch($node->node_type()){ case 9: // document $this->storeXMLNode($node->document_element(), $parid, $mode); @@ -264,6 +272,7 @@ class MetaData{ # echo"T\n"; if($node->is_blank_node()) break; $objns_sql = "'_L'"; + // coalesce ... returns the first of its arguments that is not NULL $object_sql = "coalesce(object,'')||'".$node->node_value()."'"; $res = $this->dbc->query(" UPDATE {$this->mdataTable} @@ -297,7 +306,7 @@ class MetaData{ { $res = $this->dbc->query("UPDATE {$this->mdataTable} SET objns = '$objns', object = '$object' - WHERE gunid = '{$this->gunid}' AND id='$mdid' + WHERE gunid = x'{$this->gunid}'::bigint AND id='$mdid' "); if(PEAR::isError($res)) return $res; return TRUE; @@ -327,7 +336,7 @@ class MetaData{ $objns_sql = (is_null($objns) ? "NULL":"'$objns'" ); $object_sql = (is_null($object)? "NULL":"'$object'"); if($mode == 'update'){ - $cond = "gunid = '{$this->gunid}' AND predns=$predns_sql + $cond = "gunid = x'{$this->gunid}'::bigint AND predns=$predns_sql AND predicate='$predicate'"; if($subjns == '_I'){ $cond .= " AND subjns='_I' AND subject='$subject'"; @@ -349,7 +358,7 @@ class MetaData{ objns , object ) VALUES - ($id, '{$this->gunid}', '$subjns', '$subject', + ($id, x'{$this->gunid}'::bigint, '$subjns', '$subject', $predns_sql, '$predicate', '$predxml', $objns_sql, $object_sql ) @@ -376,8 +385,8 @@ class MetaData{ $domd =& domxml_new_xmldoc('1.0'); $row = $this->dbc->getRow(" SELECT * FROM {$this->mdataTable} - WHERE gunid='{$this->gunid}' - AND subjns='_G' AND subject='{$this->gunid}' + WHERE gunid=x'{$this->gunid}'::bigint + AND subjns='_G' AND subject=x'{$this->gunid}'::bigint "); if(PEAR::isError($row)) return $row; if(is_null($row)){ @@ -412,7 +421,7 @@ class MetaData{ $xn->append_child(&$nxn); $uri = $this->dbc->getOne(" SELECT object FROM {$this->mdataTable} - WHERE gunid='{$this->gunid}' AND predicate='_namespace' + WHERE gunid=x'{$this->gunid}'::bigint AND predicate='_namespace' AND subjns='_L' AND subject='{$row['predns']}' "); if(!is_null($uri) && $uri !== ''){ @@ -440,7 +449,8 @@ class MetaData{ { $qh = $this->dbc->query(" SELECT * FROM {$this->mdataTable} - WHERE gunid='{$this->gunid}' AND subjns='_I' AND subject='$parid' + WHERE gunid=x'{$this->gunid}'::bigint AND subjns='_I' + AND subject='$parid' ORDER BY id "); if(PEAR::isError($qh)) return $qh; diff --git a/livesupport/modules/storageServer/var/StoredFile.php b/livesupport/modules/storageServer/var/StoredFile.php index 3401544a2..e962cc9b8 100644 --- a/livesupport/modules/storageServer/var/StoredFile.php +++ b/livesupport/modules/storageServer/var/StoredFile.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.8 $ + Version : $Revision: 1.9 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/StoredFile.php,v $ ------------------------------------------------------------------------------*/ @@ -96,8 +96,8 @@ class StoredFile{ INSERT INTO {$ac->filesTable} (id, name, gunid, type, state) VALUES - ('$oid', '{$ac->name}', '{$ac->gunid}', '{$ac->type}', - 'incomplete') + ('$oid', '{$ac->name}', x'{$ac->gunid}'::bigint, + '{$ac->type}', 'incomplete') "); if(PEAR::isError($res)){ $this->dbc->query("ROLLBACK"); return $res; } // --- metadata insert: @@ -154,9 +154,12 @@ class StoredFile{ */ function recall(&$gb, $oid='', $gunid='') { - $cond = ($oid != '' ? "id='".intval($oid)."'" : "gunid='$gunid'" ); + $cond = ($oid != '' + ? "id='".intval($oid)."'" + : "gunid=x'$gunid'::bigint" + ); $row = $gb->dbc->getRow(" - SELECT id, gunid, type, name + SELECT id, to_hex(gunid)as gunid, type, name FROM {$gb->filesTable} WHERE $cond "); if(PEAR::isError($row)) return $row; @@ -166,7 +169,8 @@ class StoredFile{ GBERR_FOBJNEX ); } - $ac =& new StoredFile(&$gb, $row['gunid']); + $gunid = StoredFile::_normalizeGunid($row['gunid']); + $ac =& new StoredFile(&$gb, $gunid); $ac->type = $row['type']; $ac->name = $row['name']; $ac->id = $row['id']; @@ -196,11 +200,15 @@ class StoredFile{ */ function recallByToken(&$gb, $token) { - $gunid = $gb->dbc->getOne("SELECT gunid FROM {$gb->accessTable} - WHERE token='$token'"); + $gunid = $gb->dbc->getOne(" + SELECT to_hex(gunid)as gunid + FROM {$gb->accessTable} + WHERE token=x'$token'::bigint + "); if(PEAR::isError($gunid)) return $gunid; if(is_null($gunid)) return PEAR::raiseError( "StoredFile::recallByToken: invalid token ($token)", GBERR_AOBJNEX); + $gunid = StoredFile::_normalizeGunid($gunid); return StoredFile::recall(&$gb, '', $gunid); } @@ -270,7 +278,7 @@ class StoredFile{ $res = $this->dbc->query(" UPDATE {$this->filesTable} SET currentlyAccessing=currentlyAccessing+1 - WHERE gunid='{$this->gunid}' + WHERE gunid=x'{$this->gunid}'::bigint "); if(PEAR::isError($res)){ $this->dbc->query("ROLLBACK"); return $res; } # $token = $this->_createGunid(); @@ -298,7 +306,7 @@ class StoredFile{ $this->dbc->query("BEGIN"); $res = $this->dbc->query("UPDATE {$this->filesTable} SET currentlyAccessing=currentlyAccessing-1 - WHERE gunid='{$this->gunid}' AND currentlyAccessing>0 + WHERE gunid=x'{$this->gunid}'::bigint AND currentlyAccessing>0 "); if(PEAR::isError($res)){ $this->dbc->query("ROLLBACK"); return $res; } $res = $this->gb->bsRelease($token); @@ -408,7 +416,7 @@ class StoredFile{ { $res = $this->dbc->query(" UPDATE {$this->filesTable} SET name='$newname' - WHERE gunid='{$this->gunid}' + WHERE gunid=x'{$this->gunid}'::bigint "); if(PEAR::isError($res)) return $res; return TRUE; @@ -424,7 +432,7 @@ class StoredFile{ { $res = $this->dbc->query(" UPDATE {$this->filesTable} SET state='$state' - WHERE gunid='{$this->gunid}' + WHERE gunid=x'{$this->gunid}'::bigint "); if(PEAR::isError($res)){ return $res; } return TRUE; @@ -440,7 +448,7 @@ class StoredFile{ { $res = $this->dbc->query(" UPDATE {$this->filesTable} SET type='$type' - WHERE gunid='{$this->gunid}' + WHERE gunid=x'{$this->gunid}'::bigint "); if(PEAR::isError($res)){ return $res; } return TRUE; @@ -458,17 +466,23 @@ class StoredFile{ if(PEAR::isError($res)) return $res; $res = $this->md->delete(); if(PEAR::isError($res)) return $res; - $tokens = $this->dbc->getAll("SELECT token, ext FROM {$this->accessTable} - WHERE gunid='{$this->gunid}'"); + $tokens = $this->dbc->getAll(" + SELECT to_hex(token)as token, ext FROM {$this->accessTable} + WHERE gunid=x'{$this->gunid}'::bigint + "); if(is_array($tokens)) foreach($tokens as $i=>$item){ $file = $this->_getAccessFname($item['token'], $item['ext']); if(file_exists($file)){ @unlink($file); } } - $res = $this->dbc->query("DELETE FROM {$this->accessTable} - WHERE gunid='{$this->gunid}'"); + $res = $this->dbc->query(" + DELETE FROM {$this->accessTable} + WHERE gunid=x'{$this->gunid}'::bigint + "); if(PEAR::isError($res)) return $res; - $res = $this->dbc->query("DELETE FROM {$this->filesTable} - WHERE gunid='{$this->gunid}'"); + $res = $this->dbc->query(" + DELETE FROM {$this->filesTable} + WHERE gunid=x'{$this->gunid}'::bigint + "); if(PEAR::isError($res)) return $res; return TRUE; } @@ -484,7 +498,7 @@ class StoredFile{ if(is_null($gunid)) $gunid = $this->gunid; return (0 < $this->dbc->getOne(" SELECT currentlyAccessing FROM {$this->filesTable} - WHERE gunid='$gunid' + WHERE gunid=x'$gunid'::bigint ")); } @@ -504,8 +518,8 @@ class StoredFile{ function exists() { $indb = $this->dbc->getRow(" - SELECT gunid FROM {$this->filesTable} - WHERE gunid='{$this->gunid}' + SELECT to_hex(gunid) FROM {$this->filesTable} + WHERE gunid=x'{$this->gunid}'::bigint "); return (!is_null($indb) && $this->rmd->exists()); } @@ -517,9 +531,21 @@ class StoredFile{ */ function _createGunid() { - return md5( - microtime().$_SERVER['SERVER_ADDR'].rand()."org.mdlf.livesupport" - ); + $initString = + microtime().$_SERVER['SERVER_ADDR'].rand()."org.mdlf.livesupport"; + $hash = md5($initString); + // int8 + $res = substr($hash, 0, 16); + return StoredFile::_normalizeGunid($res); + } + + /** + * Create new global unique id + * + */ + function _normalizeGunid($gunid0) + { + return str_pad($gunid0, 16, "0", STR_PAD_LEFT); } /** @@ -532,8 +558,10 @@ class StoredFile{ function _idFromGunid($gunid=NULL) { if(is_null($gunid)) $gunid = $this->$gunid; - $id = $this->dbc->getOne("SELECT id FROM {$this->filesTable} - WHERE gunid='$gunid'"); + $id = $this->dbc->getOne(" + SELECT id FROM {$this->filesTable} + WHERE gunid=x'$gunid'::bigint + "); if(is_null($id)) return PEAR::raiseError( "StoredFile::_idFromGunid: no such global unique id ($gunid)" ); @@ -566,7 +594,7 @@ class StoredFile{ { return $this->dbc->getOne(" SELECT type FROM {$this->filesTable} - WHERE gunid='$gunid' + WHERE gunid=x'$gunid'::bigint "); } @@ -600,8 +628,7 @@ class StoredFile{ */ function _getAccessFname($token, $ext='EXT') { - $spart = md5($token); - return "{$this->accessDir}/$spart.$ext"; + return "{$this->accessDir}/$token.$ext"; } } ?> \ No newline at end of file diff --git a/livesupport/modules/storageServer/var/install/install.php b/livesupport/modules/storageServer/var/install/install.php index 703f8a824..9bd982c36 100644 --- a/livesupport/modules/storageServer/var/install/install.php +++ b/livesupport/modules/storageServer/var/install/install.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.6 $ + Version : $Revision: 1.7 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/install/install.php,v $ ------------------------------------------------------------------------------*/ @@ -63,7 +63,8 @@ echo "\n# storageServer: Install ...\n"; $dbc->setErrorHandling(PEAR_ERROR_RETURN); $gb->uninstall(); PEAR::setErrorHandling(PEAR_ERROR_PRINT, "%s
\n"); -$gb->install(); +$r = $gb->install(); +if(PEAR::isError($r)){ echo $r->getUserInfo()."\n"; exit; } echo "# Testing ...\n"; $gb->test(); diff --git a/livesupport/modules/storageServer/var/tests/mdata2.xml b/livesupport/modules/storageServer/var/tests/mdata2.xml index baf0fb19f..617e28ca1 100644 --- a/livesupport/modules/storageServer/var/tests/mdata2.xml +++ b/livesupport/modules/storageServer/var/tests/mdata2.xml @@ -26,7 +26,7 @@ Episode Title txt Episode sequence - Editor + Author John X 123456789 diff --git a/livesupport/modules/storageServer/var/xmlrpc/put.php b/livesupport/modules/storageServer/var/xmlrpc/put.php index 7e522c851..f8c77db45 100644 --- a/livesupport/modules/storageServer/var/xmlrpc/put.php +++ b/livesupport/modules/storageServer/var/xmlrpc/put.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.2 $ + Version : $Revision: 1.3 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/xmlrpc/put.php,v $ ------------------------------------------------------------------------------*/ @@ -71,7 +71,7 @@ function http_error($code, $err){ exit; } -if(preg_match("|^[0-9a-f]{32}$|", $_REQUEST['token'])){ +if(preg_match("|^[0-9a-f]{16}$|", $_REQUEST['token'])){ $token = $_REQUEST['token']; }else{ http_error(400, "Error on token parameter. ({$_REQUEST['token']})"); diff --git a/livesupport/modules/storageServer/var/xmlrpc/simpleGet.php b/livesupport/modules/storageServer/var/xmlrpc/simpleGet.php index 0e2cfa485..bcded4e48 100644 --- a/livesupport/modules/storageServer/var/xmlrpc/simpleGet.php +++ b/livesupport/modules/storageServer/var/xmlrpc/simpleGet.php @@ -23,7 +23,7 @@ Author : $Author: tomas $ - Version : $Revision: 1.4 $ + Version : $Revision: 1.5 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/xmlrpc/simpleGet.php,v $ ------------------------------------------------------------------------------*/ @@ -76,7 +76,7 @@ if(preg_match("|^[0-9a-f]{32}$|", $_REQUEST['sessid'])){ }else{ http_error(400, "Error on sessid parameter. ({$_REQUEST['sessid']})"); } -if(preg_match("|^[0-9a-f]{32}$|", $_REQUEST['id'])){ +if(preg_match("|^[0-9a-f]{16}$|", $_REQUEST['id'])){ $gunid = $_REQUEST['id']; }else{ http_error(400, "Error on id parameter. ({$_REQUEST['id']})"); diff --git a/livesupport/modules/storageServer/var/xmlrpc/xr_cli_test.py b/livesupport/modules/storageServer/var/xmlrpc/xr_cli_test.py index e345c0741..6f3861fdd 100755 --- a/livesupport/modules/storageServer/var/xmlrpc/xr_cli_test.py +++ b/livesupport/modules/storageServer/var/xmlrpc/xr_cli_test.py @@ -24,7 +24,7 @@ # # # Author : $Author: tomas $ -# Version : $Revision: 1.6 $ +# Version : $Revision: 1.7 $ # Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/storageServer/var/xmlrpc/Attic/xr_cli_test.py,v $ # #------------------------------------------------------------------------------ @@ -117,7 +117,8 @@ try: elif method=="updateAudioClipMetadata": print server.locstor.updateAudioClipMetadata({'sessid':pars[0], 'gunid':pars[1], 'mdataFileLP':pars[2]}) elif method=="searchMetadata": - print server.locstor.searchMetadata({'sessid':pars[0], 'criteria':pars[1]}) +# print server.locstor.searchMetadata({'sessid':pars[0], 'criteria':pars[1]}) + print server.locstor.searchMetadata({'sessid':pars[0], 'criteria':{'type':'and', 'conds':['a', 'b']}}) elif method=="getAudioClip": r = server.locstor.getAudioClip({'sessid':pars[0], 'gunid':pars[1]}) print r['metadata']