api.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. $ret['template'] = file_get_contents(PATH_DATA.'pages/user.template');
  12. $user = userObj($id);
  13. $context = Array(
  14. 'name'=>$user['name'],
  15. 'email'=>$user['email']
  16. );
  17. if($LOGGEDIN){
  18. $context['key'] = true;
  19. $context['user'] = userObj($_SESSION['username']);
  20. };
  21. $ret['context'] = $context;
  22. retj($ret,$id);
  23. break;
  24. case 'group':
  25. // TODO - handle group requests
  26. break;
  27. case 'issue':
  28. // TODO - handle issue requests
  29. break;
  30. case 'scrum':
  31. // TODO - handle scrum requests
  32. break;
  33. case 'admin':
  34. // TODO - handle admin requests
  35. break;
  36. case 'page':
  37. if(file_exists(PATH_DATA.'pages/'.$id.'.template')){
  38. $ret['template'] = file_get_contents(PATH_DATA.'pages/'.$id.'.template');
  39. if(file_exists(PATH_DATA.'context/'.$id.'.json')){
  40. $context = objectToArray(json_decode(file_get_contents(PATH_DATA.'context/'.$id.'.json')));
  41. }else{
  42. $context = Array();
  43. }
  44. if($LOGGEDIN){
  45. $context['key'] = true;
  46. $context['user'] = userObj($_SESSION['username']);
  47. };
  48. $ret['context'] = $context;
  49. }else{
  50. $ret['error'] = 'That page does not exist';
  51. }
  52. retj($ret,$id);
  53. break;
  54. case 'action':
  55. switch($id){
  56. case 'login':
  57. $ret['state'] = Array(
  58. 'data'=>Array(
  59. 'type'=>'page',
  60. 'id'=>'login',
  61. )
  62. );
  63. if(isset($_GET['username'])&&isset($_GET['password'])){
  64. $key = login($_GET['username'],$_GET['password']);
  65. if($key){
  66. $_SESSION['username'] = $_GET['username'];
  67. }else{
  68. $ret['error'] = "Login failed. Username or Password didn't match.";
  69. }
  70. }else{
  71. $ret['error'] = "Please provide a valid username and password.";
  72. }
  73. retj($ret,$id);
  74. break;
  75. case 'register':
  76. $ret['state'] = Array(
  77. 'data'=>Array(
  78. 'type'=>'page',
  79. 'id'=>'register'
  80. )
  81. );
  82. if(isset($_GET['username'])&&isset($_GET['password'])&&isset($_GET['email'])){
  83. if(addUser($_GET['username'],$_GET['password'],$_GET['email'])){
  84. $key = login($_GET['username'],$_GET['password']);
  85. $_SESSION['username'] = $_GET['username'];
  86. }else{
  87. $ret['error'] = "Could not add user. ".$mysqli->error;
  88. }
  89. }else{
  90. $ret['error'] = "That username already exists!";
  91. }
  92. retj($ret,$id);
  93. break;
  94. default:
  95. die('invalid action');
  96. }
  97. break;
  98. default:
  99. die("invalid type");
  100. }
  101. }else{
  102. die("id missing");
  103. }
  104. }else{
  105. die("type missing");
  106. }
  107. ?>