Commit ab3b60494dca8d55411e57fa1680b5a1fc85cb54
1 parent
76a2cec3
WSA-72
"Add missing fields to document detail structure in web services" Updated. Committed By: Conrad Vermeulen Reviewed By: Megan Watson git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@7742 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
3 changed files
with
130 additions
and
79 deletions
ktapi/KTAPIDocument.inc.php
| @@ -1405,123 +1405,156 @@ class KTAPI_Document extends KTAPI_FolderItem | @@ -1405,123 +1405,156 @@ class KTAPI_Document extends KTAPI_FolderItem | ||
| 1405 | $detail = array(); | 1405 | $detail = array(); |
| 1406 | $document = $this->document; | 1406 | $document = $this->document; |
| 1407 | 1407 | ||
| 1408 | + // get the document id | ||
| 1409 | + $detail['document_id'] = (int) $document->getId(); | ||
| 1410 | + | ||
| 1411 | + // get the title | ||
| 1408 | $detail['title'] = $document->getName(); | 1412 | $detail['title'] = $document->getName(); |
| 1409 | 1413 | ||
| 1414 | + // get the document type | ||
| 1410 | $documenttypeid=$document->getDocumentTypeID(); | 1415 | $documenttypeid=$document->getDocumentTypeID(); |
| 1416 | + $documenttype = '* unknown *'; | ||
| 1411 | if (is_numeric($documenttypeid)) | 1417 | if (is_numeric($documenttypeid)) |
| 1412 | { | 1418 | { |
| 1413 | - $documenttype = DocumentType::get($documenttypeid); | 1419 | + $dt = DocumentType::get($documenttypeid); |
| 1414 | 1420 | ||
| 1415 | - $documenttype=$documenttype->getName(); | ||
| 1416 | - } | ||
| 1417 | - else | ||
| 1418 | - { | ||
| 1419 | - $documenttype = '* unknown *'; | 1421 | + if (!is_null($dt) && !PEAR::isError($dt)) |
| 1422 | + { | ||
| 1423 | + $documenttype=$dt->getName(); | ||
| 1424 | + } | ||
| 1420 | } | 1425 | } |
| 1421 | $detail['document_type'] = $documenttype; | 1426 | $detail['document_type'] = $documenttype; |
| 1422 | 1427 | ||
| 1423 | - $detail['version'] = $document->getVersion(); | 1428 | + // get the filename |
| 1424 | $detail['filename'] = $document->getFilename(); | 1429 | $detail['filename'] = $document->getFilename(); |
| 1425 | 1430 | ||
| 1426 | - $detail['created_date'] = $document->getCreatedDateTime(); | 1431 | + // get the filesize |
| 1432 | + $detail['filesize'] = (int) $document->getFileSize(); | ||
| 1427 | 1433 | ||
| 1434 | + // get the folder id | ||
| 1435 | + $detail['folder_id'] = (int) $document->getFolderID(); | ||
| 1436 | + | ||
| 1437 | + // get the creator | ||
| 1428 | $userid = $document->getCreatorID(); | 1438 | $userid = $document->getCreatorID(); |
| 1439 | + $username='n/a'; | ||
| 1429 | if (is_numeric($userid)) | 1440 | if (is_numeric($userid)) |
| 1430 | { | 1441 | { |
| 1442 | + $username = '* unknown *'; | ||
| 1431 | $user = User::get($userid); | 1443 | $user = User::get($userid); |
| 1432 | - $username=(is_null($user) || PEAR::isError($user))?'* unknown *':$user->getName(); | ||
| 1433 | - } | ||
| 1434 | - else | ||
| 1435 | - { | ||
| 1436 | - $username='n/a'; | 1444 | + if (!is_null($user) && !PEAR::isError($user)) |
| 1445 | + { | ||
| 1446 | + $username = $user->getName(); | ||
| 1447 | + } | ||
| 1437 | } | 1448 | } |
| 1438 | $detail['created_by'] = $username; | 1449 | $detail['created_by'] = $username; |
| 1439 | - $detail['updated_date'] = $document->getLastModifiedDate(); | ||
| 1440 | - $detail['modified_date'] = $document->getLastModifiedDate(); | ||
| 1441 | 1450 | ||
| 1442 | - $userid = $document->getModifiedUserId(); | 1451 | + // get the creation date |
| 1452 | + $detail['created_date'] = $document->getCreatedDateTime(); | ||
| 1453 | + | ||
| 1454 | + // get the checked out user | ||
| 1455 | + $userid = $document->getCheckedOutUserID(); | ||
| 1456 | + $username='n/a'; | ||
| 1443 | if (is_numeric($userid)) | 1457 | if (is_numeric($userid)) |
| 1444 | { | 1458 | { |
| 1459 | + $username = '* unknown *'; | ||
| 1445 | $user = User::get($userid); | 1460 | $user = User::get($userid); |
| 1446 | - $username=(is_null($user) || PEAR::isError($user))?'* unknown *':$user->getName(); | ||
| 1447 | - } | ||
| 1448 | - else | ||
| 1449 | - { | ||
| 1450 | - $username='n/a'; | ||
| 1451 | - } | ||
| 1452 | - $detail['modified_by'] = $username; | ||
| 1453 | - $detail['updated_by'] = $username; | ||
| 1454 | - $detail['document_id'] = (int) $document->getId(); | ||
| 1455 | - $detail['folder_id'] = (int) $document->getFolderID(); | ||
| 1456 | - | ||
| 1457 | - $workflowid = $document->getWorkflowId(); | ||
| 1458 | - if (is_numeric($workflowid)) | ||
| 1459 | - { | ||
| 1460 | - $workflow = KTWorkflow::get($workflowid); | ||
| 1461 | - $workflowname=(is_null($workflow) || PEAR::isError($workflow))?'* unknown *':$workflow->getName(); | ||
| 1462 | - } | ||
| 1463 | - else | ||
| 1464 | - { | ||
| 1465 | - $workflowname='n/a'; | 1461 | + if (!is_null($user) && !PEAR::isError($user)) |
| 1462 | + { | ||
| 1463 | + $username = $user->getName(); | ||
| 1464 | + } | ||
| 1466 | } | 1465 | } |
| 1467 | - $detail['workflow'] = $workflowname; | 1466 | + $detail['checked_out_by'] = $username; |
| 1468 | 1467 | ||
| 1469 | - $stateid = $document->getWorkflowStateId(); | ||
| 1470 | - if (is_numeric($stateid)) | 1468 | + // get the checked out date |
| 1469 | + list($major, $minor, $fix) = explode('.', $default->systemVersion); | ||
| 1470 | + if ($major == 3 && $minor >= 5) | ||
| 1471 | { | 1471 | { |
| 1472 | - $state = KTWorkflowState::get($stateid); | ||
| 1473 | - $workflowstate=(is_null($state) || PEAR::isError($state))?'* unknown *':$state->getName(); | 1472 | + $detail['checked_out_date'] = $document->getCheckedOutDate(); |
| 1474 | } | 1473 | } |
| 1475 | else | 1474 | else |
| 1476 | { | 1475 | { |
| 1477 | - $workflowstate = 'n/a'; | 1476 | + $detail['checked_out_date'] = $detail['modified_date']; |
| 1478 | } | 1477 | } |
| 1479 | - $detail['workflow_state']=$workflowstate; | ||
| 1480 | - | ||
| 1481 | - $userid = $document->getOwnerID(); | 1478 | + if (is_null($detail['checked_out_date'])) $detail['checked_out_date'] = 'n/a'; |
| 1482 | 1479 | ||
| 1480 | + // get the modified user | ||
| 1481 | + $userid = $document->getModifiedUserId(); | ||
| 1482 | + $username='n/a'; | ||
| 1483 | if (is_numeric($userid)) | 1483 | if (is_numeric($userid)) |
| 1484 | { | 1484 | { |
| 1485 | + $username = '* unknown *'; | ||
| 1485 | $user = User::get($userid); | 1486 | $user = User::get($userid); |
| 1486 | - $username=(is_null($user) || PEAR::isError($user))?'* unknown *':$user->getName(); | ||
| 1487 | - } | ||
| 1488 | - else | ||
| 1489 | - { | ||
| 1490 | - $username = 'n/a'; | 1487 | + if (!is_null($user) && !PEAR::isError($user)) |
| 1488 | + { | ||
| 1489 | + $username = $user->getName(); | ||
| 1490 | + } | ||
| 1491 | } | 1491 | } |
| 1492 | - $detail['owner'] = $username; | ||
| 1493 | - | ||
| 1494 | - $detail['is_immutable'] = (bool) $document->getImmutable(); | ||
| 1495 | - | 1492 | + $detail['modified_by'] = $detail['updated_by'] = $username; |
| 1496 | 1493 | ||
| 1497 | - $userid = $document->getCheckedOutUserID(); | 1494 | + // get the modified date |
| 1495 | + $detail['updated_date'] = $detail['modified_date'] = $document->getLastModifiedDate(); | ||
| 1498 | 1496 | ||
| 1497 | + // get the owner | ||
| 1498 | + $userid = $document->getOwnerID(); | ||
| 1499 | + $username='n/a'; | ||
| 1499 | if (is_numeric($userid)) | 1500 | if (is_numeric($userid)) |
| 1500 | { | 1501 | { |
| 1502 | + $username = '* unknown *'; | ||
| 1501 | $user = User::get($userid); | 1503 | $user = User::get($userid); |
| 1502 | - $username=(is_null($user) || PEAR::isError($user))?'* unknown *':$user->getName(); | ||
| 1503 | - } | ||
| 1504 | - else | ||
| 1505 | - { | ||
| 1506 | - $username = 'n/a'; | 1504 | + if (!is_null($user) && !PEAR::isError($user)) |
| 1505 | + { | ||
| 1506 | + $username = $user->getName(); | ||
| 1507 | + } | ||
| 1507 | } | 1508 | } |
| 1508 | - $detail['checked_out_by'] = $username; | 1509 | + $detail['owned_by'] = $username; |
| 1509 | 1510 | ||
| 1510 | - list($major, $minor, $fix) = explode('.', $default->systemVersion); | 1511 | + // get the version |
| 1512 | + $detail['version'] = $document->getVersion(); | ||
| 1511 | 1513 | ||
| 1514 | + // check immutability | ||
| 1515 | + $detail['is_immutable'] = (bool) $document->getImmutable(); | ||
| 1512 | 1516 | ||
| 1513 | - if ($major == 3 && $minor >= 5) | 1517 | + // check permissions |
| 1518 | + $detail['permissions'] = 'not available'; | ||
| 1519 | + | ||
| 1520 | + // get workflow name | ||
| 1521 | + $workflowid = $document->getWorkflowId(); | ||
| 1522 | + $workflowname='n/a'; | ||
| 1523 | + if (is_numeric($workflowid)) | ||
| 1514 | { | 1524 | { |
| 1515 | - $detail['checked_out_date'] = $document->getCheckedOutDate(); | 1525 | + $workflow = KTWorkflow::get($workflowid); |
| 1526 | + if (!is_null($workflow) && !PEAR::isError($workflow)) | ||
| 1527 | + { | ||
| 1528 | + $workflowname = $workflow->getName(); | ||
| 1529 | + } | ||
| 1516 | } | 1530 | } |
| 1517 | - else | 1531 | + $detail['workflow'] = $workflowname; |
| 1532 | + | ||
| 1533 | + // get the workflow state | ||
| 1534 | + $stateid = $document->getWorkflowStateId(); | ||
| 1535 | + $workflowstate = 'n/a'; | ||
| 1536 | + if (is_numeric($stateid)) | ||
| 1518 | { | 1537 | { |
| 1519 | - $detail['checked_out_date'] = $detail['modified_date']; | 1538 | + $state = KTWorkflowState::get($stateid); |
| 1539 | + if (!is_null($state) && !PEAR::isError($state)) | ||
| 1540 | + { | ||
| 1541 | + $workflowstate = $state->getName(); | ||
| 1542 | + } | ||
| 1520 | } | 1543 | } |
| 1521 | - if (is_null($detail['checked_out_date'])) $detail['checked_out_date'] = 'n/a'; | 1544 | + $detail['workflow_state']=$workflowstate; |
| 1522 | 1545 | ||
| 1546 | + // get the full path | ||
| 1523 | $detail['full_path'] = $this->ktapi_folder->get_full_path() . '/' . $this->get_title(); | 1547 | $detail['full_path'] = $this->ktapi_folder->get_full_path() . '/' . $this->get_title(); |
| 1524 | 1548 | ||
| 1549 | + // get mime info | ||
| 1550 | + $mimetypeid = $document->getMimeTypeID(); | ||
| 1551 | + $detail['mime_type'] =KTMime::getMimeTypeName($mimetypeid); | ||
| 1552 | + $detail['mime_icon_path'] =KTMime::getIconPath($mimetypeid); | ||
| 1553 | + $detail['mime_display'] =KTMime::getFriendlyNameForString($type); | ||
| 1554 | + | ||
| 1555 | + // get the storage path | ||
| 1556 | + $detail['storage_path'] = $document->getStoragePath(); | ||
| 1557 | + | ||
| 1525 | return $detail; | 1558 | return $detail; |
| 1526 | } | 1559 | } |
| 1527 | 1560 |
ktapi/KTAPIFolder.inc.php
| @@ -367,7 +367,7 @@ class KTAPI_Folder extends KTAPI_FolderItem | @@ -367,7 +367,7 @@ class KTAPI_Folder extends KTAPI_FolderItem | ||
| 367 | 367 | ||
| 368 | 'version' => 'n/a', | 368 | 'version' => 'n/a', |
| 369 | 369 | ||
| 370 | - 'immutable'=> 'n/a', | 370 | + 'is_immutable'=> 'n/a', |
| 371 | 'permissions' => 'n/a', | 371 | 'permissions' => 'n/a', |
| 372 | 372 | ||
| 373 | 'workflow'=>'n/a', | 373 | 'workflow'=>'n/a', |
| @@ -490,7 +490,7 @@ class KTAPI_Folder extends KTAPI_FolderItem | @@ -490,7 +490,7 @@ class KTAPI_Folder extends KTAPI_FolderItem | ||
| 490 | 490 | ||
| 491 | 'version' => $document->getMajorVersionNumber() . '.' . $document->getMinorVersionNumber(), | 491 | 'version' => $document->getMajorVersionNumber() . '.' . $document->getMinorVersionNumber(), |
| 492 | 492 | ||
| 493 | - 'immutable'=> $document->getImmutable()?'true':'false', | 493 | + 'is_immutable'=> $document->getImmutable()?'true':'false', |
| 494 | 'permissions' => 'n/a', | 494 | 'permissions' => 'n/a', |
| 495 | 495 | ||
| 496 | 'workflow'=> $workflow, | 496 | 'workflow'=> $workflow, |
ktwebservice/webservice.php
| @@ -183,6 +183,7 @@ class KTWebService | @@ -183,6 +183,7 @@ class KTWebService | ||
| 183 | 'item_type' => 'string', | 183 | 'item_type' => 'string', |
| 184 | 184 | ||
| 185 | 'title' => 'string', | 185 | 'title' => 'string', |
| 186 | + 'document_type' => 'string', | ||
| 186 | 'filename' => 'string', | 187 | 'filename' => 'string', |
| 187 | 'filesize' => 'string', | 188 | 'filesize' => 'string', |
| 188 | 189 | ||
| @@ -199,7 +200,7 @@ class KTWebService | @@ -199,7 +200,7 @@ class KTWebService | ||
| 199 | 200 | ||
| 200 | 'version' => 'string', | 201 | 'version' => 'string', |
| 201 | 202 | ||
| 202 | - 'immutable'=>'boolean', | 203 | + 'is_immutable'=>'string', |
| 203 | 'permissions' => 'string', | 204 | 'permissions' => 'string', |
| 204 | 205 | ||
| 205 | 'workflow'=>'string', | 206 | 'workflow'=>'string', |
| @@ -258,23 +259,40 @@ class KTWebService | @@ -258,23 +259,40 @@ class KTWebService | ||
| 258 | array( | 259 | array( |
| 259 | 'status_code'=>'int', | 260 | 'status_code'=>'int', |
| 260 | 'message'=>'string', | 261 | 'message'=>'string', |
| 262 | + | ||
| 263 | + 'document_id' => 'int', | ||
| 261 | 'title' => 'string', | 264 | 'title' => 'string', |
| 262 | 'document_type' => 'string', | 265 | 'document_type' => 'string', |
| 263 | - 'version' => 'string', | ||
| 264 | 'filename' => 'string', | 266 | 'filename' => 'string', |
| 265 | - 'created_date' => 'string', | 267 | + 'filesize' => 'int', |
| 268 | + 'folder_id' => 'int', | ||
| 269 | + | ||
| 266 | 'created_by' => 'string', | 270 | 'created_by' => 'string', |
| 267 | - 'modified_date' => 'string', | 271 | + 'created_date' => 'string', |
| 272 | + | ||
| 273 | + 'checked_out_by'=>'string', | ||
| 274 | + 'checked_out_date'=>'string', | ||
| 275 | + | ||
| 268 | 'modified_by' => 'string', | 276 | 'modified_by' => 'string', |
| 269 | - 'document_id' => 'int', | ||
| 270 | - 'folder_id' => 'int', | 277 | + 'modified_date' => 'string', |
| 278 | + | ||
| 279 | + 'owned_by'=>'string', | ||
| 280 | + | ||
| 281 | + 'version' => 'string', | ||
| 282 | + | ||
| 283 | + 'is_immutable'=>'boolean', | ||
| 284 | + 'permissions' => 'string', | ||
| 285 | + | ||
| 271 | 'workflow' => 'string', | 286 | 'workflow' => 'string', |
| 272 | 'workflow_state' => 'string', | 287 | 'workflow_state' => 'string', |
| 273 | 'full_path' => 'string', | 288 | 'full_path' => 'string', |
| 274 | - 'owner'=>'string', | ||
| 275 | - 'is_immutable'=>'boolean', | ||
| 276 | - 'checked_out_date'=>'string', | ||
| 277 | - 'checked_out_by'=>'string', | 289 | + |
| 290 | + 'mime_type' => 'string', | ||
| 291 | + 'mime_icon_path' => 'string', | ||
| 292 | + 'mime_display' => 'string', | ||
| 293 | + | ||
| 294 | + 'storage_path' => 'string', | ||
| 295 | + | ||
| 278 | 'metadata' => "{urn:$this->namespace}kt_metadata_fieldsets", | 296 | 'metadata' => "{urn:$this->namespace}kt_metadata_fieldsets", |
| 279 | 'links' => "{urn:$this->namespace}kt_linked_documents", | 297 | 'links' => "{urn:$this->namespace}kt_linked_documents", |
| 280 | 'transitions' => "{urn:$this->namespace}kt_workflow_transitions", | 298 | 'transitions' => "{urn:$this->namespace}kt_workflow_transitions", |