Commit eec81c4c1e8fc16c52a6484b7c4398d17f16e6bf
1 parent
711a0eca
Added webservice functions for saved searches
Committed By: Kevin Cyster Reviewed By: Megan Watson
Showing
1 changed file
with
198 additions
and
28 deletions
ktapi/ktapi.inc.php
| ... | ... | @@ -286,7 +286,7 @@ class KTAPI |
| 286 | 286 | "status_code" => 0, |
| 287 | 287 | "results" => $permissions->permissions |
| 288 | 288 | ); |
| 289 | - | |
| 289 | + | |
| 290 | 290 | } |
| 291 | 291 | |
| 292 | 292 | /** |
| ... | ... | @@ -752,13 +752,13 @@ class KTAPI |
| 752 | 752 | if (is_null($rows) || PEAR::isError($rows)) |
| 753 | 753 | { |
| 754 | 754 | $response['status_code'] = 1; |
| 755 | - if(is_null($rows)) | |
| 755 | + if(is_null($rows)) | |
| 756 | 756 | { |
| 757 | 757 | $response['message'] = "No types"; |
| 758 | 758 | } else { |
| 759 | 759 | $response['message'] = $rows->getMessage(); |
| 760 | 760 | } |
| 761 | - | |
| 761 | + | |
| 762 | 762 | return $response; |
| 763 | 763 | } |
| 764 | 764 | else |
| ... | ... | @@ -2309,10 +2309,10 @@ class KTAPI |
| 2309 | 2309 | $response['message'] = $result->getMessage(); |
| 2310 | 2310 | return $response; |
| 2311 | 2311 | } |
| 2312 | - | |
| 2312 | + | |
| 2313 | 2313 | $new_document_id = $result->documentid; |
| 2314 | 2314 | return $this->get_document_detail($new_document_id, ''); |
| 2315 | - | |
| 2315 | + | |
| 2316 | 2316 | } |
| 2317 | 2317 | |
| 2318 | 2318 | /** |
| ... | ... | @@ -2354,12 +2354,12 @@ class KTAPI |
| 2354 | 2354 | $response['message'] = $result->getMessage(); |
| 2355 | 2355 | return $response; |
| 2356 | 2356 | } |
| 2357 | - | |
| 2357 | + | |
| 2358 | 2358 | } |
| 2359 | 2359 | |
| 2360 | - | |
| 2360 | + | |
| 2361 | 2361 | return $this->get_document_detail($document_id, ''); |
| 2362 | - | |
| 2362 | + | |
| 2363 | 2363 | } |
| 2364 | 2364 | |
| 2365 | 2365 | /** |
| ... | ... | @@ -2386,10 +2386,10 @@ class KTAPI |
| 2386 | 2386 | $response['message'] = $result->getMessage(); |
| 2387 | 2387 | return $response; |
| 2388 | 2388 | } |
| 2389 | - | |
| 2390 | - | |
| 2389 | + | |
| 2390 | + | |
| 2391 | 2391 | return $this->get_document_detail($document_id); |
| 2392 | - | |
| 2392 | + | |
| 2393 | 2393 | } |
| 2394 | 2394 | |
| 2395 | 2395 | /** |
| ... | ... | @@ -2416,9 +2416,9 @@ class KTAPI |
| 2416 | 2416 | $response['message'] = $result->getMessage(); |
| 2417 | 2417 | return $response; |
| 2418 | 2418 | } |
| 2419 | - | |
| 2419 | + | |
| 2420 | 2420 | return $this->get_document_detail($document_id); |
| 2421 | - | |
| 2421 | + | |
| 2422 | 2422 | } |
| 2423 | 2423 | |
| 2424 | 2424 | /** |
| ... | ... | @@ -2446,11 +2446,11 @@ class KTAPI |
| 2446 | 2446 | $response['message'] = $result->getMessage(); |
| 2447 | 2447 | return $response; |
| 2448 | 2448 | } |
| 2449 | - | |
| 2450 | 2449 | |
| 2451 | - | |
| 2450 | + | |
| 2451 | + | |
| 2452 | 2452 | return $this->get_document_detail($document_id); |
| 2453 | - | |
| 2453 | + | |
| 2454 | 2454 | } |
| 2455 | 2455 | |
| 2456 | 2456 | /** |
| ... | ... | @@ -2477,7 +2477,7 @@ class KTAPI |
| 2477 | 2477 | $response['message'] = $result->getMessage(); |
| 2478 | 2478 | return $response; |
| 2479 | 2479 | } |
| 2480 | - | |
| 2480 | + | |
| 2481 | 2481 | |
| 2482 | 2482 | return $this->get_document_detail($document_id); |
| 2483 | 2483 | } |
| ... | ... | @@ -2505,8 +2505,8 @@ class KTAPI |
| 2505 | 2505 | $response['message'] = $result->getMessage(); |
| 2506 | 2506 | return $response; |
| 2507 | 2507 | } |
| 2508 | - | |
| 2509 | - | |
| 2508 | + | |
| 2509 | + | |
| 2510 | 2510 | return $this->get_document_detail($document_id); |
| 2511 | 2511 | } |
| 2512 | 2512 | |
| ... | ... | @@ -2535,9 +2535,9 @@ class KTAPI |
| 2535 | 2535 | $response['message'] = $result>getMessage(); |
| 2536 | 2536 | return $response; |
| 2537 | 2537 | } |
| 2538 | - | |
| 2538 | + | |
| 2539 | 2539 | return $this->get_document_detail($document_id); |
| 2540 | - | |
| 2540 | + | |
| 2541 | 2541 | } |
| 2542 | 2542 | |
| 2543 | 2543 | |
| ... | ... | @@ -2581,7 +2581,7 @@ class KTAPI |
| 2581 | 2581 | $metadata[$i]['fields'][$j]['selection'] = $new; |
| 2582 | 2582 | } |
| 2583 | 2583 | } |
| 2584 | - | |
| 2584 | + | |
| 2585 | 2585 | $response['status_code'] = 0; |
| 2586 | 2586 | $response['result'] = $metadata; |
| 2587 | 2587 | return $response; |
| ... | ... | @@ -2623,7 +2623,7 @@ class KTAPI |
| 2623 | 2623 | } |
| 2624 | 2624 | |
| 2625 | 2625 | return $this->get_document_detail($document_id, 'M'); |
| 2626 | - | |
| 2626 | + | |
| 2627 | 2627 | } |
| 2628 | 2628 | |
| 2629 | 2629 | /** |
| ... | ... | @@ -2714,7 +2714,7 @@ class KTAPI |
| 2714 | 2714 | $response['history'] = $result; |
| 2715 | 2715 | return $response; |
| 2716 | 2716 | } |
| 2717 | - | |
| 2717 | + | |
| 2718 | 2718 | /** |
| 2719 | 2719 | * Returns the folder transaction history. |
| 2720 | 2720 | * |
| ... | ... | @@ -2957,7 +2957,7 @@ class KTAPI |
| 2957 | 2957 | function search($query, $options) |
| 2958 | 2958 | { |
| 2959 | 2959 | $response['status_code'] = 1; |
| 2960 | - $response['hits'] = array(); | |
| 2960 | + $response['results'] = array(); | |
| 2961 | 2961 | |
| 2962 | 2962 | $results = processSearchExpression($query); |
| 2963 | 2963 | if (PEAR::isError($results)) |
| ... | ... | @@ -2967,15 +2967,185 @@ class KTAPI |
| 2967 | 2967 | } |
| 2968 | 2968 | |
| 2969 | 2969 | $response['message'] = ''; |
| 2970 | + if(empty($results)){ | |
| 2971 | + $response['message'] = _kt('Your search did not return any results'); | |
| 2972 | + } | |
| 2970 | 2973 | $response['status_code'] = 0; |
| 2971 | - $response['hits'] = $results; | |
| 2974 | + $response['results'] = $results; | |
| 2972 | 2975 | |
| 2973 | 2976 | return $response; |
| 2974 | 2977 | } |
| 2975 | 2978 | |
| 2979 | + /** | |
| 2980 | + * Method to create a saved search | |
| 2981 | + * | |
| 2982 | + * @author KnowledgeTree Team | |
| 2983 | + * @access public | |
| 2984 | + * @param string $name The name of the saved search | |
| 2985 | + * @param string $query The saved search query | |
| 2986 | + * @return array $response The formatted response array | |
| 2987 | + */ | |
| 2988 | + public function createSavedSearch($name, $query) | |
| 2989 | + { | |
| 2990 | + $savedSearch = new savedSearches($this); | |
| 2991 | + if(PEAR::isError($savedSearch)){ | |
| 2992 | + $response['status_code'] = 1; | |
| 2993 | + $response['message'] = $savedSearch->getMessage(); | |
| 2994 | + return $response; | |
| 2995 | + } | |
| 2996 | + | |
| 2997 | + $result = $savedSearch->create($name, $query); | |
| 2998 | + if(PEAR::isError($result)){ | |
| 2999 | + $response['status_code'] = 1; | |
| 3000 | + $response['message'] = $result->getMessage(); | |
| 3001 | + return $response; | |
| 3002 | + } | |
| 3003 | + | |
| 3004 | + $response['message'] = ''; | |
| 3005 | + $response['status_code'] = 0; | |
| 3006 | + $response['results']['search_id'] = $result; | |
| 3007 | + | |
| 3008 | + return $response; | |
| 3009 | + } | |
| 3010 | + | |
| 3011 | + /** | |
| 3012 | + * Method to retrieve a saved search | |
| 3013 | + * | |
| 3014 | + * @author KnowledgeTree Team | |
| 3015 | + * @access public | |
| 3016 | + * @param string $searchID The id of the saved search | |
| 3017 | + * @return array $response The formatted response array | |
| 3018 | + */ | |
| 3019 | + public function getSavedSearch($searchID) | |
| 3020 | + { | |
| 3021 | + $savedSearch = new savedSearches($this); | |
| 3022 | + if(PEAR::isError($savedSearch)){ | |
| 3023 | + $response['status_code'] = 1; | |
| 3024 | + $response['message'] = $savedSearch->getMessage(); | |
| 3025 | + return $response; | |
| 3026 | + } | |
| 3027 | + | |
| 3028 | + $result = $savedSearch->getSavedSearch($searchID); | |
| 3029 | + if(PEAR::isError($result)){ | |
| 3030 | + $response['status_code'] = 1; | |
| 3031 | + $response['message'] = $result->getMessage(); | |
| 3032 | + return $response; | |
| 3033 | + } | |
| 3034 | + | |
| 3035 | + if(empty($result)){ | |
| 3036 | + $response['status_code'] = 1; | |
| 3037 | + $response['message'] = _kt('No saved searches found'); | |
| 3038 | + return $response; | |
| 3039 | + } | |
| 3040 | + | |
| 3041 | + $response['message'] = ''; | |
| 3042 | + $response['status_code'] = 0; | |
| 3043 | + $response['results'] = $result[0]; | |
| 3044 | + | |
| 3045 | + return $response; | |
| 3046 | + } | |
| 3047 | + | |
| 3048 | + /** | |
| 3049 | + * Method to retrieve a list of saved searches | |
| 3050 | + * | |
| 3051 | + * @author KnowledgeTree Team | |
| 3052 | + * @access public | |
| 3053 | + * @return array $response The formatted response array | |
| 3054 | + */ | |
| 3055 | + public function getSavedSearchList() | |
| 3056 | + { | |
| 3057 | + $savedSearch = new savedSearches($this); | |
| 3058 | + if(PEAR::isError($savedSearch)){ | |
| 3059 | + $response['status_code'] = 1; | |
| 3060 | + $response['message'] = $savedSearch->getMessage(); | |
| 3061 | + return $response; | |
| 3062 | + } | |
| 3063 | + | |
| 3064 | + $result = $savedSearch->getList(); | |
| 3065 | + if(PEAR::isError($result)){ | |
| 3066 | + $response['status_code'] = 1; | |
| 3067 | + $response['message'] = $result->getMessage(); | |
| 3068 | + return $response; | |
| 3069 | + } | |
| 3070 | + | |
| 3071 | + if(empty($result)){ | |
| 3072 | + $response['status_code'] = 1; | |
| 3073 | + $response['message'] = _kt('No saved searches found'); | |
| 3074 | + return $response; | |
| 3075 | + } | |
| 3076 | + | |
| 3077 | + $response['message'] = ''; | |
| 3078 | + $response['status_code'] = 0; | |
| 3079 | + $response['results'] = $result; | |
| 3080 | + | |
| 3081 | + return $response; | |
| 3082 | + } | |
| 3083 | + | |
| 3084 | + /** | |
| 3085 | + * Method to delete a saved searche | |
| 3086 | + * | |
| 3087 | + * @author KnowledgeTree Team | |
| 3088 | + * @access public | |
| 3089 | + * @param string $searchID The id of the saved search to delete | |
| 3090 | + * @return array $response The formatted response array | |
| 3091 | + */ | |
| 3092 | + public function deleteSavedSearch($searchID) | |
| 3093 | + { | |
| 3094 | + $savedSearch = new savedSearches($this); | |
| 3095 | + if(PEAR::isError($savedSearch)){ | |
| 3096 | + $response['status_code'] = 1; | |
| 3097 | + $response['message'] = $savedSearch->getMessage(); | |
| 3098 | + return $response; | |
| 3099 | + } | |
| 3100 | + | |
| 3101 | + $result = $savedSearch->delete($searchID); | |
| 3102 | + if(PEAR::isError($result)){ | |
| 3103 | + $response['status_code'] = 1; | |
| 3104 | + $response['message'] = $result->getMessage(); | |
| 3105 | + return $response; | |
| 3106 | + } | |
| 3107 | + | |
| 3108 | + $response['message'] = ''; | |
| 3109 | + $response['status_code'] = 0; | |
| 3110 | + | |
| 3111 | + return $response; | |
| 3112 | + } | |
| 3113 | + | |
| 3114 | + /** | |
| 3115 | + * Method to retrieve a list of saved searches | |
| 3116 | + * | |
| 3117 | + * @author KnowledgeTree Team | |
| 3118 | + * @access public | |
| 3119 | + * @param string $searchID The id of the saved search to delete | |
| 3120 | + * @return array $response The formatted response array | |
| 3121 | + */ | |
| 3122 | + public function runSavedSearch($searchID) | |
| 3123 | + { | |
| 3124 | + $savedSearch = new savedSearches($this); | |
| 3125 | + if(PEAR::isError($savedSearch)){ | |
| 3126 | + $response['status_code'] = 1; | |
| 3127 | + $response['message'] = $savedSearch->getMessage(); | |
| 3128 | + return $response; | |
| 3129 | + } | |
| 3130 | + | |
| 3131 | + $results = $savedSearch->runSavedSearch($searchID); | |
| 3132 | + if(PEAR::isError($results)){ | |
| 3133 | + $response['status_code'] = 1; | |
| 3134 | + $response['message'] = $results->getMessage(); | |
| 3135 | + return $response; | |
| 3136 | + } | |
| 3137 | + | |
| 3138 | + $response['message'] = ''; | |
| 3139 | + if(empty($results)){ | |
| 3140 | + $response['message'] = _kt('Your saved search did not return any results'); | |
| 3141 | + } | |
| 3142 | + $response['status_code'] = 0; | |
| 3143 | + $response['results'] = $results; | |
| 3144 | + | |
| 3145 | + return $response; | |
| 3146 | + } | |
| 2976 | 3147 | } |
| 2977 | - | |
| 2978 | - | |
| 3148 | + | |
| 2979 | 3149 | |
| 2980 | 3150 | /** |
| 2981 | 3151 | * This class handles the saved search functionality within the API | ... | ... |