api.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. require_once('php/include.php');
  3. // TODO - Add API handling.
  4. $method = $_SERVER['REQUEST_METHOD'];
  5. $ret = Array();
  6. if(isset($_GET['type'])){
  7. if(isset($_GET['id'])){
  8. $id = $_GET['id'];
  9. switch($_GET['type']){
  10. case 'user':
  11. // TODO - handle user requests
  12. break;
  13. case 'group':
  14. // TODO - handle group requests
  15. break;
  16. case 'issue':
  17. // TODO - handle issue requests
  18. break;
  19. case 'scrum':
  20. // TODO - handle scrum requests
  21. break;
  22. case 'admin':
  23. // TODO - handle admin requests
  24. break;
  25. case 'template':
  26. $ret['template'] = file_get_contents(PATH_DATA.'pages/'.$id.'.template');
  27. if(file_exists(PATH_DATA.'context/'.$id.'.json')){
  28. $context = json_decode(file_get_contents(PATH_DATA.'context/'.$id.'.json'));
  29. }else{
  30. $context = Array();
  31. }
  32. if(loggedIn()){
  33. $context['key'] = $SESSION['key'];
  34. };
  35. $ret['context'] = $context;
  36. retj($ret,$id);
  37. break;
  38. case 'action':
  39. switch($id){
  40. case 'login':
  41. if(isset($_GET['username'])&&isset($_GET['password'])){
  42. $key = login($_GET['username'],$_GET['password']);
  43. if($key){
  44. $ret['key'] = $key;
  45. }else{
  46. $ret['error'] = "Login failed. Username or Password didn't match.";
  47. }
  48. }else{
  49. $ret['error'] = "Please provide a valid username and password.";
  50. }
  51. $ret['state'] = Array('data'=>Array('type'=>'template','id'=>'login'));
  52. retj($ret,$id);
  53. break;
  54. case 'register':
  55. if(isset($_GET['username'])&&isset($_GET['password'])&&isset($_GET['email'])){
  56. if(addUser($_GET['username'],$_GET['password'],$_GET['email'])){
  57. $ret['key'] = securityKey($_GET['username'],salt());
  58. setKey($ret['key']);
  59. }else{
  60. $ret['error'] = "Could not add user. ".$mysqli->error;
  61. }
  62. }else{
  63. $ret['error'] = "That username already exists!";
  64. }
  65. $ret['state'] = Array('data'=>Array('type'=>'template','id'=>'register'));
  66. retj($ret,$id);
  67. break;
  68. default:
  69. die('invalid action');
  70. }
  71. break;
  72. default:
  73. die("invalid type");
  74. }
  75. }else{
  76. die("id missing");
  77. }
  78. }else{
  79. die("type missing");
  80. }
  81. ?>