mirror of
https://github.com/php/php-src.git
synced 2024-12-06 00:04:07 +08:00
236 lines
7.5 KiB
Plaintext
236 lines
7.5 KiB
Plaintext
<?
|
|
$id = 188178; // A plain/text document
|
|
$collid = 169828; // A collection
|
|
$query = "Name=m*"; // Search query for test_9
|
|
$host = "gehtnix";
|
|
$username = "annonymous";
|
|
$password = "";
|
|
|
|
$connect = hw_connect($host, 418, $username, $password);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
exit;
|
|
}
|
|
|
|
// Set all test to 'yes' if they shall be executed
|
|
$test_1 = "no"; // Get the text document with id $id and output it
|
|
$test_2 = "no"; // Check if id $id is in $collid
|
|
$test_3 = "no"; // Convert object record to object array and back
|
|
$test_4 = "no"; // Get object record of object with id $id
|
|
$test_5 = "no"; // List children of $collid
|
|
$test_6 = "no"; // List parents of $id
|
|
$test_7 = "no"; // Insert a new text document
|
|
$test_8 = "no"; // Remove the just inserted text document
|
|
$test_9 = "no"; // Searching for objects with Name $query
|
|
$test_10= "no"; // Listing all anchors of a document
|
|
$test_11= "no"; // Creates document from file and outputs it.
|
|
$test_12= "yes"; // Creates document from file and outputs it.
|
|
|
|
/* Lists an object array
|
|
*/
|
|
function list_attr($attributes) {
|
|
// var_dump($attributes);
|
|
// return;
|
|
for($i=0; $i<count($attributes); $i++) {
|
|
$key = key($attributes);
|
|
switch($key) {
|
|
case "Title":
|
|
case "Description":
|
|
$title_arr = $attributes[$key];
|
|
$cj = count($title_arr);
|
|
printf("%s = ", $key);
|
|
for($j=0; $j<$cj; $j++) {
|
|
$tkey = key($title_arr);
|
|
switch($tkey) {
|
|
case "en":
|
|
$flagfile = "english.gif";
|
|
break;
|
|
case "ge":
|
|
$flagfile = "german.gif";
|
|
break;
|
|
case "du":
|
|
$flagfile = "dutch.gif";
|
|
break;
|
|
default:
|
|
$flagfile = "europe.gif";
|
|
}
|
|
printf("%s:%s; ", $tkey, $title_arr[$tkey]);
|
|
|
|
next($title_arr);
|
|
}
|
|
printf("\n");
|
|
break;
|
|
default:
|
|
if(is_array($attributes[$key])) {
|
|
$group_arr = $attributes[$key];
|
|
$cj = count($group_arr);
|
|
for($j=0; $j<$cj; $j++) {
|
|
printf("%s = %s\n", $key, $group_arr[$j]);
|
|
next($group_arr);
|
|
}
|
|
} else {
|
|
printf("%s = %s\n", $key, $attributes[$key]);
|
|
}
|
|
|
|
}
|
|
next($attributes);
|
|
}
|
|
echo "\n";
|
|
}
|
|
|
|
// Here come the tests
|
|
if($test_1 == "yes") {
|
|
echo "TEST 1 ----------------------------------------------\n";
|
|
echo "Get the text document with id 0x".dechex($id)."\n";
|
|
$doc = hw_gettext($connect, $id);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
exit;
|
|
}
|
|
hw_output_document($doc);
|
|
echo "\n";
|
|
}
|
|
|
|
if($test_2 == "yes") {
|
|
echo "TEST 2 ----------------------------------------------\n";
|
|
echo "Checking if '$id' (0x".dechex($id).") is in collection '$collid (0x".dechex($collid).")'\n";
|
|
$incoll = hw_incollections($connect, array($id), array($collid), 0);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
exit;
|
|
}
|
|
for($i=0; $i<count($incoll); $i++)
|
|
echo $incoll[$i]."\n";
|
|
}
|
|
|
|
if($test_3 == "yes") {
|
|
echo "TEST 3 ----------------------------------------------\n";
|
|
echo "Convert an object array into an object record\n";
|
|
$objrec = hw_array2objrec(array("Title"=>"ge:Hier der Titel", "Author"=>"Hier der Autor"));
|
|
echo $objrec."\n";
|
|
$objrec .= "\nTitle=en:Here the title";
|
|
echo "Add another title and convert it back to an object array\n";
|
|
$objarr = hw_objrec2array($objrec);
|
|
list_attr($objarr);
|
|
}
|
|
|
|
if($test_4 == "yes") {
|
|
echo "TEST 4 ----------------------------------------------\n";
|
|
echo "Get the object array of document with id 0x".dechex($id)."\n";
|
|
$objrec = hw_getobject($connect, $id);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
exit;
|
|
}
|
|
$objarr = hw_objrec2array($objrec);
|
|
list_attr($objarr);
|
|
}
|
|
|
|
if($test_5 == "yes") {
|
|
echo "TEST 5 ----------------------------------------------\n";
|
|
echo "List the children of collection 0x".dechex($collid)."\n";
|
|
$children = hw_childrenobj($connect, $collid);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
exit;
|
|
}
|
|
$c_children = count($children) - 1;
|
|
for($i=0; $i<$c_children; $i++) {
|
|
$objarr = hw_objrec2array($children[$i]);
|
|
list_attr($objarr);
|
|
}
|
|
list_attr($children[$c_children]);
|
|
}
|
|
|
|
if($test_6 == "yes") {
|
|
echo "TEST 6 ----------------------------------------------\n";
|
|
echo "List the parents of object 0x".dechex($id)."\n";
|
|
$parents = hw_getparentsobj($connect, $collid);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
exit;
|
|
}
|
|
$c_parents = count($parents) - 1;
|
|
for($i=0; $i<$c_parents; $i++) {
|
|
$objarr = hw_objrec2array($parents[$i]);
|
|
list_attr($objarr);
|
|
}
|
|
list_attr($parents[$c_parents]);
|
|
}
|
|
|
|
if($test_7 == "yes") {
|
|
echo "TEST 7 ----------------------------------------------\n";
|
|
echo "Inserting a new text document into 0x".dechex($collid)."\n";
|
|
$objrec = "Type=Document\nDocumentType=text\nName=HWTest\nTitle=en:Component\nMimeType=text/plain\nAuthor=".$username;
|
|
$contents = "Ein bischen Text";
|
|
$doc = hw_new_document($objrec, $contents, strlen($contents)+1);
|
|
$objid = hw_insertdocument($connect, $collid, $doc);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
exit;
|
|
}
|
|
$objrec = hw_getobject($connect, $objid);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
exit;
|
|
}
|
|
$objarr = hw_objrec2array($objrec);
|
|
list_attr($objarr);
|
|
}
|
|
|
|
if($test_8 == "yes") {
|
|
echo "TEST 8 ----------------------------------------------\n";
|
|
echo "Removing text document just inserted\n";
|
|
$kk[0] = (int) $objid;
|
|
hw_mv($connect, $kk, $collid, 0);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
exit;
|
|
}
|
|
echo "If the document was really deleted you should see an error now\n";
|
|
$objrec = hw_getobject($connect, $objid);
|
|
if(hw_error($connect)) {
|
|
echo "ERROR: ".hw_errormsg($connect)."\n";
|
|
} else {
|
|
$objarr = hw_objrec2array($objrec);
|
|
list_attr($objarr);
|
|
}
|
|
}
|
|
|
|
if($test_9 == "yes") {
|
|
echo "TEST 9 ----------------------------------------------\n";
|
|
echo "Searching for objects with $query\n";
|
|
$objrecs = hw_getobjectbyqueryobj($connect, $query, -1);
|
|
$c_objrecs = count($objrecs) - 1;
|
|
echo "$c_objrecs found\n";
|
|
for($i=0; $i<$c_objrecs; $i++) {
|
|
$objarr = hw_objrec2array($objrecs[$i]);
|
|
list_attr($objarr);
|
|
}
|
|
list_attr($objrecs[$c_objrecs]);
|
|
}
|
|
|
|
if($test_10 == "yes") {
|
|
$anchors = hw_getanchorsobj($connect, $id);
|
|
$countanchors = count($anchors) - 1;
|
|
echo "$countanchors Anchors of Object $id\n";
|
|
for($i=0; $i<$countanchors; $i++) {
|
|
$arr = hw_objrec2array($anchors[$i]);
|
|
list_attr($arr);
|
|
}
|
|
}
|
|
|
|
if($test_11 == "yes") {
|
|
$doc = hw_new_document_from_file("ObjectRecord", "hw_document.txt");
|
|
hw_output_document($doc);
|
|
}
|
|
|
|
if($test_12 == "yes") {
|
|
$doc = hw_new_document_from_file("ObjectRecord", "hw_document.txt");
|
|
hw_insertanchors($doc, array("Position=0x2 0x7\nObjectID=0x3\nTAnchor=Src\nDest=0x5"), array("ObjectID=0x5\nName=DestDoc"));
|
|
hw_output_document($doc);
|
|
}
|
|
|
|
hw_close($connect);
|
|
?>
|