@@ -57,13 +57,13 @@ function getPrimaryURL($id = null) {
57
57
function handleParameters ($ data ) {
58
58
$ params = "" ;
59
59
if (gettype ($ data ) === "object " ){
60
- foreach ($ data as $ item ) {
61
- $ params .= $ item . "= " . $ data [ $ item ] . "& " ;
60
+ foreach ($ data as $ key => $ value ) {
61
+ $ params .= $ key . "= " . $ value . "& " ;
62
62
}
63
63
} else {
64
64
return "? " . $ data ;
65
65
}
66
- return "? " . $ params .substr (0 , $ params.length - 1 );
66
+ return "? " . $ params .substr (0 , strlen ( $ params) - 1 );
67
67
}
68
68
function passedRequires ($ data ) {
69
69
try {
@@ -72,7 +72,7 @@ function passedRequires($data) {
72
72
if (gettype ($ data )=="array " || gettype ($ data )=="object " ){
73
73
foreach ($ this ->requiredFields as $ item =>$ value ) {
74
74
if (($ dataType =="array " ) ? array_key_exists ($ item , $ dataObj ): property_exists ($ dataObj , $ item )) {
75
- if (( $ dataType == " array " )?! $ dataObj [ $ item ]:! $ dataObj -> $ item ) {
75
+ if ($ value ) {
76
76
logio ("ERROR : Field " . $ item . " is required to create new " . $ this ->name . "" );
77
77
$ this ->printRequired ();
78
78
return false ;
@@ -89,7 +89,6 @@ function passedRequires($data) {
89
89
logio ("ERROR : Data is not valid JSON " .$ e );
90
90
return false ;
91
91
}
92
- logio ("All required fields present " );
93
92
return true ;
94
93
}
95
94
function required () {
@@ -166,17 +165,23 @@ function buildURL($url, $params = null) {
166
165
return ($ params !== null ) ? $ url . $ params : $ url ;
167
166
}
168
167
function getPrimaryURL ($ parent_id = null , $ id = null ) {
169
- $ returnURL = zohodeskAPI_vars.appBaseURL ;
168
+ $ returnURL = ZOHOBASE_URL ;
170
169
$ type = $ this ->name ;
171
- if ($ parent_id !== null ) {
170
+ if ($ parent_id !== null && trim ( $ parent_id )!== "" ) {
172
171
$ returnURL .= $ this ->parent_name . "/ " . $ parent_id ;
173
172
if ($ id !== null ) {
174
173
$ returnURL .= "/ " . $ this ->name . "/ " . $ id ;
175
174
} else {
176
175
$ returnURL .= ($ type === $ this ->name ) ? "/ " . $ this ->name : "" ;
177
176
}
178
177
} else {
179
- $ returnURL .= $ this ->parent_name ;
178
+ try {
179
+ throw new Exception ("ERROR : " .$ this ->parent_name ."-ID is empty or missing " );
180
+ }
181
+ catch (Exception $ e ){
182
+ echo $ e ->getMessage ();
183
+ }
184
+ return FALSE ;
180
185
}
181
186
return $ returnURL ;
182
187
}
@@ -194,24 +199,23 @@ function handleParameters($data) {
194
199
function passedRequires ($ data ) {
195
200
try {
196
201
$ dataObj = (gettype ($ data ) === "object " ) ? $ data :json_decode ($ data );
197
- foreach ($ this ->requiredFields as $ item ) {
198
- if ($ dataObj-> hasOwnProperty ( $ item )) {
199
- if (!$ dataObj [ $ item] ) {
200
- logio ("ERROR : Fieldl " . $ item . " is required to create new " . $ this ->name . "" );
202
+ foreach ($ this ->requiredFields as $ item=> $ value ) {
203
+ if (property_exists ( $ dataObj, $ item )) {
204
+ if (!$ data -> $ item ) {
205
+ logio ("ERROR : Field " . $ item . " is empty & required to create new " . $ this ->name . "" );
201
206
$ this ->printRequired ();
202
207
return false ;
203
208
}
204
209
} else {
205
- logio ("ERROR : Fieldl " . $ item . " is required to create new " . $ this ->name . "" );
210
+ logio ("ERROR : Field " . $ item . " is required to create new " . $ this ->name . "" );
206
211
$ this ->printRequired ();
207
212
return false ;
208
213
}
209
214
}
210
215
} catch (Exception $ e ) {
211
- logio ("ERROR : Data is not valid JSON " );
216
+ logio ("ERROR : Data is not valid JSON " . $ e -> getMessage () );
212
217
return false ;
213
218
}
214
- logio ("All required fields present " );
215
219
return true ;
216
220
}
217
221
function required () {
@@ -220,7 +224,7 @@ function required() {
220
224
function printRequired () {
221
225
logio ("Required fields to create new " . $ this ->name . " are " );
222
226
$ i = 0 ;
223
- foreach ($ this ->requiredFields as $ item ) {
227
+ foreach ($ this ->requiredFields as $ item=> $ value ) {
224
228
logio ((++$ i ) . " : " . $ item );
225
229
}
226
230
logio ("------------- " );
@@ -278,51 +282,58 @@ function __construct($auth_token, $orgId) {
278
282
$ this ->departments = new zohodeskAPI_ReadOnly_Obj ("departments " );
279
283
280
284
$ this ->tickets ->quickCreate = function ($ subject , $ departmentId , $ contactId , $ productId = "" , $ email = "" , $ phone = "" , $ description = "" ) {
281
- return array (
285
+ return json_encode ( array (
282
286
"subject " => $ subject ,
283
287
"departmentId " => $ departmentId ,
284
288
"contactId " => $ contactId ,
285
289
"productId " => $ productId ,
286
290
"email " => $ email ,
287
291
"phone " => $ phone ,
288
292
"description " => $ description
289
- );
293
+ )) ;
290
294
};
291
295
$ this ->comments ->quickCreate = function ($ ticketID ,$ content , $ isPublic = true ) {
292
- return array (
296
+ return json_encode ( array (
293
297
"content " => $ content ,
294
298
"isPublic " => ($ isPublic )?"true " :"false "
295
- );
299
+ )) ;
296
300
};
297
301
298
302
$ this ->contacts ->quickCreate = function ($ lastName , $ firstName = "" , $ email = "" , $ phone = "" , $ description = "" ) {
299
- return array (
303
+ return json_encode ( array (
300
304
"lastName " => $ lastName ,
301
305
"firstName " => $ firstName ,
302
306
"email " => $ email ,
303
307
"phone " => $ phone ,
304
308
"description " => $ description
305
- );
309
+ )) ;
306
310
};
307
311
$ this ->accounts ->quickCreate = function ($ accountName , $ email = "" , $ website = "" ) {
308
- return array (
312
+ return json_encode ( array (
309
313
"accountName " => $ accountName ,
310
314
"email " => $ email ,
311
315
"website " => $ website
312
- );
316
+ )) ;
313
317
};
314
318
$ this ->tasks ->quickCreate = function ($ departmentId , $ subject , $ description = "" , $ priority = "" , $ ticketId = null ) {
315
- return array (
319
+ return json_encode ( array (
316
320
"departmentId " => $ departmentId ,
317
321
"subject " => $ subject ,
318
322
"description " => $ description ,
319
323
"priority " => $ priority ,
320
324
"ticketId " => $ ticketId
321
- );
325
+ ));
326
+ };
327
+ $ this ->tasks ->tasksOfTicket = function ($ ticketId ,$ params ,$ obj ) {
328
+ $ param = ($ params ) ? $ this ->tasks ->handleParameters ($ params ) : "" ;
329
+ $ url = $ this ->tasks ->buildURL (ZOHOBASE_URL ."tickets/ $ ticketId/tasks " , $ param );
330
+ return $ obj ->httpGET ($ url );
322
331
};
323
332
324
333
}
325
-
334
+ static function getBaseUrl (){
335
+ return ZOHOBASE_URL ;
336
+ }
326
337
function createTicket ($ data ) {
327
338
$ arguments = func_get_args ();
328
339
$ dataJsonObj = $ this ->getValidJson ($ data );
@@ -403,16 +414,19 @@ function createTask($data) {
403
414
$ arguments = func_get_args ();
404
415
$ dataJsonObj = $ this ->getValidJson ($ data );
405
416
$ dataObj = ($ dataJsonObj )?$ dataJsonObj : call_user_func_array ($ this ->tasks ->quickCreate ,$ arguments );
406
- return $ this ->tasks . create ($ dataObj ,$ this );
417
+ return $ this ->tasks -> create ($ dataObj ,$ this );
407
418
}
408
419
function updateTask ($ id , $ data ) {
409
- return $ this ->tasks . update ($ id , $ data ,$ this );
420
+ return $ this ->tasks -> update ($ id , $ data ,$ this );
410
421
}
411
422
function deleteTask ($ id ) {
412
- return $ this ->tasks . delete ($ id ,$ this );
423
+ return $ this ->tasks -> delete ($ id ,$ this );
413
424
}
414
425
function taskDetails ($ id , $ params = "" ) {
415
- return $ this ->tasks .info ($ id , $ params ,$ this );
426
+ return $ this ->tasks ->info ($ id , $ params ,$ this );
427
+ }
428
+ function ticketTasks ($ ticketId ,$ params ="" ){
429
+ return $ this ->tasks ->tasksOfTicket ($ ticketId , $ params ,$ this );
416
430
}
417
431
418
432
function allAgents ($ params = "" ) {
0 commit comments