skill.ajax.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * Responses to AJAX calls
  5. */
  6. require_once '../global.inc.php';
  7. require_once api_get_path(LIBRARY_PATH).'skill.lib.php';
  8. require_once api_get_path(LIBRARY_PATH).'gradebook.lib.php';
  9. $action = isset($_REQUEST['a']) ? $_REQUEST['a'] : null;
  10. $skill = new Skill();
  11. $gradebook = new Gradebook();
  12. $skill_gradebook = new SkillRelGradebook();
  13. $skill_rel_skill = new SkillRelSkill();
  14. switch ($action) {
  15. case 'add':
  16. if (isset($_REQUEST['id']) && !empty($_REQUEST['id'])) {
  17. $skill->edit($_REQUEST);
  18. } else {
  19. $skill->add($_REQUEST);
  20. }
  21. break;
  22. case 'find_skills':
  23. $tag = Database::escape_string($_REQUEST['tag']);
  24. $skills = $skill->find('all', array('where' => array('name LIKE %?% '=>$_REQUEST['tag'])));
  25. $return_skills = array();
  26. foreach($skills as $skill) {
  27. $skill['caption'] = $skill['name'];
  28. $skill['value'] = $skill['id'];
  29. $return_skills[] = $skill;
  30. }
  31. echo json_encode($return_skills);
  32. break;
  33. case 'get_gradebooks':
  34. $gradebooks = $gradebook_list = $gradebook->get_all();
  35. /*$gradebook_list = array();
  36. if (!empty($gradebooks)) {
  37. foreach($gradebooks as $gradebook) {
  38. if ($gradebook['parent_id'] == 0) {
  39. $gradebook['name'] = $gradebook['name'];
  40. $gradebook_list[] = $gradebook;
  41. } else {
  42. // $gradebook['name'] = $gradebook_list[$gradebook['parent_id']]['name'].' > '.$gradebook['name'];
  43. $gradebook_list[] = $gradebook;
  44. }
  45. }
  46. }*/
  47. echo json_encode($gradebook_list);
  48. break;
  49. case 'get_skills':
  50. $load_user_data = isset($_REQUEST['load_user_data']) ? $_REQUEST['load_user_data'] : null;
  51. $skills = $skill->get_all($load_user_data);
  52. echo json_encode($skills);
  53. break;
  54. case 'get_skill_info':
  55. $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
  56. $skill_info = $skill->get_skill_info($id);
  57. echo json_encode($skill_info);
  58. break;
  59. case 'load_children':
  60. $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
  61. $skills = $skill->get_children($id);
  62. $return = array();
  63. foreach($skills as $skill) {
  64. $return [$skill['data']['id']] = array(
  65. 'id' => $skill['data']['id'],
  66. 'name' => $skill['data']['name'],
  67. 'passed'=> $skill['data']['passed']);
  68. }
  69. echo json_encode($return);
  70. break;
  71. case 'load_direct_parents':
  72. $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
  73. $skills = $skill->get_direct_parents($id);
  74. $return = array();
  75. foreach($skills as $skill) {
  76. $return [$skill['data']['id']] = array (
  77. 'id' => $skill['data']['id'],
  78. 'parent_id' => $skill['data']['parent_id'],
  79. 'name' => $skill['data']['name']
  80. );
  81. }
  82. echo json_encode($return);
  83. break;
  84. case 'remove_skill':
  85. if (!empty($_REQUEST['skill_id']) && !empty($_REQUEST['gradebook_id'])) {
  86. $skill_item = $skill_gradebook->get_skill_info($_REQUEST['skill_id'], $_REQUEST['gradebook_id']);
  87. if (!empty($skill_item)) {
  88. $skill_gradebook->delete($skill_item['id']);
  89. echo 1;
  90. }
  91. } else {
  92. echo 0;
  93. }
  94. break;
  95. case 'save_profile':
  96. $skill_profile = new SkillProfile();
  97. $params = $_REQUEST;
  98. $params['skills'] = isset($_SESSION['skills']) ? $_SESSION['skills'] : null;
  99. $skill_data = $skill_profile->save($params);
  100. if (!empty($skill_data)) {
  101. echo 1;
  102. } else {
  103. echo 0;
  104. }
  105. break;
  106. case 'skill_exists':
  107. $skill_data = $skill->get($_REQUEST['skill_id']);
  108. if (!empty($skill_data)) {
  109. echo 1;
  110. } else {
  111. echo 0;
  112. }
  113. break;
  114. default:
  115. echo '';
  116. }
  117. exit;