Commit 3506e6515e478af7ea69246b58495c8f6890ee90
Merge branch 'edge' of git@github.com:ktgit/knowledgetree into edge
Showing
2 changed files
with
69 additions
and
9 deletions
webservice/clienttools/services/3.6.1/auth.php
| @@ -20,13 +20,32 @@ class auth extends client_service { | @@ -20,13 +20,32 @@ class auth extends client_service { | ||
| 20 | $kt =& $this->KT; | 20 | $kt =& $this->KT; |
| 21 | 21 | ||
| 22 | if ($username != 'admin') { | 22 | if ($username != 'admin') { |
| 23 | - require_once(KT_DIR . '/plugins/wintools/baobabkeyutil.inc.php'); | 23 | + //$this->addDebug('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',''); |
| 24 | + if(!file_exists(KT_DIR . '/plugins/wintools/baobabkeyutil.inc.php')){ | ||
| 25 | + $this->setResponse(array('authenticated'=> false, 'message'=> 'baobabkeyutil not found - this appears to be a community install.')); | ||
| 26 | + $this->addError('baobabkeyutil not found - this appears to be a community install.'); | ||
| 27 | + return; | ||
| 28 | + } | ||
| 29 | + try{ | ||
| 30 | + require_once(KT_DIR . '/plugins/wintools/baobabkeyutil.inc.php'); | ||
| 31 | + | ||
| 32 | + }catch(Exception $e){ | ||
| 33 | + $this->addError('could not include plugins/wintools/baobabkeyutil.inc.php'); | ||
| 34 | + $this->setResponse(array('authenticated'=> false, 'message'=> 'Baobab load error')); | ||
| 35 | + return; | ||
| 36 | + } | ||
| 24 | 37 | ||
| 25 | - if (!BaobabKeyUtil::checkIfLicensed(true)) { | ||
| 26 | - $this->setResponse(array('authenticated'=> false, 'message'=> 'license_expired')); | ||
| 27 | - $this->addError('Licence Expired'); | ||
| 28 | - return false; | ||
| 29 | - } | 38 | + try{ |
| 39 | + if (!BaobabKeyUtil::checkIfLicensed(true)) { | ||
| 40 | + $this->setResponse(array('authenticated'=> false, 'message'=> 'license_expired')); | ||
| 41 | + $this->addError('Licence Expired'); | ||
| 42 | + return false; | ||
| 43 | + } | ||
| 44 | + }catch(Exception $e){ | ||
| 45 | + $this->addError('could not execute BaobabKeyUtil::checkIfLicensed'); | ||
| 46 | + $this->setResponse(array('authenticated'=> false, 'message'=> 'BaobabKeyUtil::checkIfLicensed error')); | ||
| 47 | + return; | ||
| 48 | + } | ||
| 30 | } | 49 | } |
| 31 | 50 | ||
| 32 | $user=$kt->get_user_object_by_username($username); | 51 | $user=$kt->get_user_object_by_username($username); |
| @@ -60,6 +79,7 @@ class auth extends client_service { | @@ -60,6 +79,7 @@ class auth extends client_service { | ||
| 60 | 79 | ||
| 61 | public function japiLogin(){ | 80 | public function japiLogin(){ |
| 62 | global $default; | 81 | global $default; |
| 82 | + | ||
| 63 | $user=$this->KT->get_user_object_by_username($this->AuthInfo['user']); | 83 | $user=$this->KT->get_user_object_by_username($this->AuthInfo['user']); |
| 64 | $ret=array( | 84 | $ret=array( |
| 65 | 'fullName' =>PEAR::isError($user)?'':$user->getName() | 85 | 'fullName' =>PEAR::isError($user)?'':$user->getName() |
webservice/clienttools/services/3.6.1/kt.php
| @@ -434,7 +434,16 @@ class kt extends client_service { | @@ -434,7 +434,16 @@ class kt extends client_service { | ||
| 434 | 434 | ||
| 435 | } | 435 | } |
| 436 | 436 | ||
| 437 | - function download_document($params) { | 437 | + /** |
| 438 | + * Get a url for downloading the specified document | ||
| 439 | + * Parameters: | ||
| 440 | + * session_id | ||
| 441 | + * app_type | ||
| 442 | + * document_id | ||
| 443 | + * | ||
| 444 | + * @param unknown_type $params | ||
| 445 | + */ | ||
| 446 | + function download_document($params,$returnResult=false) { | ||
| 438 | 447 | ||
| 439 | $kt=&$this->KT; | 448 | $kt=&$this->KT; |
| 440 | $params['session_id']=$params['session_id']?$params['session_id']:$this->AuthInfo['session']; | 449 | $params['session_id']=$params['session_id']?$params['session_id']:$this->AuthInfo['session']; |
| @@ -484,10 +493,37 @@ class kt extends client_service { | @@ -484,10 +493,37 @@ class kt extends client_service { | ||
| 484 | $response['status_code']=0; | 493 | $response['status_code']=0; |
| 485 | $response['message']=$url.'&apptype='.$params['app_type']; | 494 | $response['message']=$url.'&apptype='.$params['app_type']; |
| 486 | $response['filename']=$docname; | 495 | $response['filename']=$docname; |
| 496 | + | ||
| 487 | $this->addDebug('effective params',$params); | 497 | $this->addDebug('effective params',$params); |
| 498 | + | ||
| 499 | + if($returnResult){ | ||
| 500 | + return $response; | ||
| 501 | + }else{ | ||
| 502 | + $this->setResponse($response); | ||
| 503 | + } | ||
| 504 | + } | ||
| 505 | + | ||
| 506 | + /** | ||
| 507 | + * Get download URLS for multiple documents | ||
| 508 | + * params contains: | ||
| 509 | + * app_type | ||
| 510 | + * documents = array of doc_id | ||
| 511 | + * | ||
| 512 | + * @param unknown_type $params | ||
| 513 | + */ | ||
| 514 | + public function download_multiple_documents($params){ | ||
| 515 | + $response=array(); | ||
| 516 | + foreach($params['documents'] as $docId){ | ||
| 517 | + $ret=$this->download_document(array('document_id'=>$docId,'app_type'=>$params['app_type']),true); | ||
| 518 | + $rec=array( | ||
| 519 | + 'filename' =>$ret['filename'], | ||
| 520 | + 'url' =>$ret['message'], | ||
| 521 | + 'succeeded' =>$ret['status_code']==0?true:false | ||
| 522 | + ); | ||
| 523 | + if(is_array($ret))$response[$docId]=$rec; | ||
| 524 | + } | ||
| 488 | $this->setResponse($response); | 525 | $this->setResponse($response); |
| 489 | } | 526 | } |
| 490 | - | ||
| 491 | 527 | ||
| 492 | /** | 528 | /** |
| 493 | * Checkout a Document | 529 | * Checkout a Document |
| @@ -982,7 +1018,11 @@ class kt extends client_service { | @@ -982,7 +1018,11 @@ class kt extends client_service { | ||
| 982 | $this->setResponse(array('status'=>'norecipients')); | 1018 | $this->setResponse(array('status'=>'norecipients')); |
| 983 | return false; | 1019 | return false; |
| 984 | }else{ | 1020 | }else{ |
| 985 | - $document->email($recipientsList, $message, TRUE); // true to attach document | 1021 | + $result = $document->email($recipientsList, $message, TRUE); // true to attach document |
| 1022 | + if (PEAR::isError($result)) { | ||
| 1023 | + $this->setResponse(array('status'=>$result->getMessage()));; | ||
| 1024 | + return false; | ||
| 1025 | + } | ||
| 986 | $this->setResponse(array('status'=>'documentemailed')); | 1026 | $this->setResponse(array('status'=>'documentemailed')); |
| 987 | } | 1027 | } |
| 988 | return true; | 1028 | return true; |