PageRenderTime 40ms CodeModel.GetById 14ms RepoModel.GetById 1ms app.codeStats 0ms

/server/task.json.php

https://github.com/praaxe/damas-core
PHP | 139 lines | 119 code | 7 blank | 13 comment | 26 complexity | 38107347b934f9c72d94c50c083e3d53 MD5 | raw file
Possible License(s): GPL-3.0
  1. <?php
  2. /**
  3. * Author Remy Lalanne
  4. * Copyright (c) 2005-2010 Remy Lalanne
  5. */
  6. session_start();
  7. include_once "service.php"; //error_code()
  8. include_once "Workflow/lib.task.php";
  9. include_once "Workflow/workflow.json.php";
  10. include_once "../php/DAM.php";
  11. damas_service::init_http();
  12. damas_service::accessGranted();
  13. header('Content-type: application/json');
  14. $cmd = arg("cmd");
  15. $ret = false;
  16. if( !$cmd )
  17. {
  18. header("HTTP/1.1: 400 Bad Request"); //ERR_COMMAND
  19. echo "Bad command";
  20. exit;
  21. }
  22. if( !allowed( "model::" . $cmd ) )
  23. {
  24. header("HTTP/1.1: 403 Forbidden"); //ERR_PERMISSION
  25. echo "Permission denied";
  26. exit;
  27. }
  28. switch ($cmd){
  29. case "taskAdd":
  30. if( is_null( arg('id') ) || is_null( arg('name') ) ){
  31. header("HTTP/1.1: 400 Bad Request");
  32. exit;
  33. }
  34. $ret = model::createNode( arg("id"), "task" );
  35. if( $ret )
  36. model::setKey( $ret, "label", arg("name"));
  37. if( !$ret ) {
  38. //$err = $ERR_NODE_CREATE;
  39. header("HTTP/1.1: 304 Not Modified Error on create");
  40. exit;
  41. }
  42. break;
  43. case "taskTag":
  44. if( is_null( arg('id') ) || is_null( arg('type') ) ){
  45. header("HTTP/1.1: 400 Bad Request");
  46. exit;
  47. }
  48. $ret = model::tag(arg("id"), arg("name"));
  49. if (!$ret) {
  50. //$err = $ERR_NODE_UPDATE;
  51. header("HTTP/1.1: 304 Not Modified Error on update");
  52. exit;
  53. }
  54. break;
  55. case "taskUntag":
  56. if( is_null( arg('id') ) || is_null( arg('name') ) ){
  57. header("HTTP/1.1: 400 Bad Request");
  58. exit;
  59. }
  60. $ret = model::untag(arg("id"), arg("name"));
  61. if (!$ret) {
  62. header("HTTP/1.1: 304 Not Modified Error on update");
  63. exit;
  64. //$err = $ERR_NODE_UPDATE;
  65. }
  66. break;
  67. case "taskSet":
  68. if( is_null( arg('id') ) || is_null( arg('name') ) || is_null( arg('value') ) ){
  69. header("HTTP/1.1: 400 Bad Request");
  70. exit;
  71. }
  72. $ret = model::setKey(arg("id"), arg("name"), arg("value"));
  73. if (!$ret) {
  74. header("HTTP/1.1: 304 Not Modified Error on update");
  75. exit;
  76. //$err = $ERR_NODE_UPDATE;
  77. }
  78. break;
  79. case "taskSetTeam":
  80. if( is_null( arg('id') ) || is_null( arg('value') ) ){
  81. header("HTTP/1.1: 400 Bad Request");
  82. exit;
  83. }
  84. $ret = taskSetTeam(arg("id"),arg("value"));
  85. if (!$ret) {
  86. header("HTTP/1.1: 304 Not Modified Error on update");
  87. exit;
  88. //$err = $ERR_NODE_UPDATE;
  89. }
  90. break;
  91. case "taskSetState":
  92. if( is_null( arg('id') ) || is_null( arg('value') ) ){
  93. header("HTTP/1.1: 400 Bad Request");
  94. exit;
  95. }
  96. $ret = taskSetState(arg("id"),arg("value"));
  97. if (!$ret) {
  98. header("HTTP/1.1: 304 Not Modified Error on update");
  99. exit;
  100. //$err = $ERR_NODE_UPDATE;
  101. }
  102. break;
  103. case "workflowByStateTotal":
  104. $ret = workflowByStateTotal();
  105. if (!$ret) {
  106. header("HTTP/1.1: 405 Method Not Allowed");
  107. exit;
  108. //$err = $ERR_PERMISSION;
  109. }
  110. break;
  111. case "workflowByState":
  112. $ret = workflowByState();
  113. if (!$ret) {
  114. header("HTTP/1.1: 405 Method Not Allowed");
  115. exit;
  116. //$err = $ERR_PERMISSION;
  117. }
  118. break;
  119. case "workflowByTask":
  120. $ret = workflowByTask(arg("name"));
  121. if (!$ret) {
  122. header("HTTP/1.1: 405 Method Not Allowed");
  123. exit;
  124. //$err = $ERR_PERMISSION;
  125. }
  126. break;
  127. default:
  128. header("HTTP/1.1: 400 Bad Request");
  129. exit;
  130. }
  131. echo json_encode($ret);
  132. ?>