skill.ajax.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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. switch ($action) {
  14. case 'add':
  15. if (isset($_REQUEST['id']) && !empty($_REQUEST['id'])) {
  16. $skill->edit($_REQUEST);
  17. } else {
  18. $skill->add($_REQUEST);
  19. }
  20. break;
  21. case 'find_skills':
  22. $skills = $skill->find('all', array('where' => array('name LIKE %?% '=>$_REQUEST['tag'])));
  23. $return_skills = array();
  24. foreach($skills as $skill) {
  25. $skill['caption'] = $skill['name'];
  26. $skill['value'] = $skill['id'];
  27. $return_skills[] = $skill;
  28. }
  29. echo json_encode($return_skills);
  30. break;
  31. case 'get_gradebooks':
  32. $gradebooks = $gradebook_list = $gradebook->get_all();
  33. $gradebook_list = array();
  34. //Only course gradebook with certificate
  35. if (!empty($gradebooks)) {
  36. foreach ($gradebooks as $gradebook) {
  37. if ($gradebook['parent_id'] == 0 && !empty($gradebook['certif_min_score']) && !empty($gradebook['document_id'])) {
  38. $gradebook_list[] = $gradebook;
  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. //$parent_id = intval($_REQUEST['parent_id']);
  52. $id = intval($_REQUEST['id']);
  53. $skills = $skill->get_all($load_user_data, false, $id);
  54. echo json_encode($skills);
  55. break;
  56. case 'get_skill_info':
  57. $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
  58. $skill_info = $skill->get_skill_info($id);
  59. echo json_encode($skill_info);
  60. break;
  61. case 'load_children':
  62. $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
  63. $load_user_data = isset($_REQUEST['load_user_data']) ? $_REQUEST['load_user_data'] : null;
  64. $skills = $skill->get_children($id, $load_user_data);
  65. $return = array();
  66. foreach($skills as $skill) {
  67. if (isset($skill['data']) && !empty($skill['data'])) {
  68. $return[$skill['data']['id']] = array(
  69. 'id' => $skill['data']['id'],
  70. 'name' => $skill['data']['name'],
  71. 'passed'=> $skill['data']['passed']);
  72. }
  73. }
  74. echo json_encode($return);
  75. break;
  76. case 'load_direct_parents':
  77. $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
  78. $skills = $skill->get_direct_parents($id);
  79. $return = array();
  80. foreach($skills as $skill) {
  81. $return [$skill['data']['id']] = array (
  82. 'id' => $skill['data']['id'],
  83. 'parent_id' => $skill['data']['parent_id'],
  84. 'name' => $skill['data']['name']
  85. );
  86. }
  87. echo json_encode($return);
  88. break;
  89. case 'remove_skill':
  90. if (!empty($_REQUEST['skill_id']) && !empty($_REQUEST['gradebook_id'])) {
  91. $skill_item = $skill_gradebook->get_skill_info($_REQUEST['skill_id'], $_REQUEST['gradebook_id']);
  92. if (!empty($skill_item)) {
  93. $skill_gradebook->delete($skill_item['id']);
  94. echo 1;
  95. }
  96. } else {
  97. echo 0;
  98. }
  99. break;
  100. case 'save_profile':
  101. $skill_profile = new SkillProfile();
  102. $params = $_REQUEST;
  103. $params['skills'] = isset($_SESSION['skills']) ? $_SESSION['skills'] : null;
  104. $skill_data = $skill_profile->save($params);
  105. if (!empty($skill_data)) {
  106. echo 1;
  107. } else {
  108. echo 0;
  109. }
  110. break;
  111. case 'skill_exists':
  112. $skill_data = $skill->get($_REQUEST['skill_id']);
  113. if (!empty($skill_data)) {
  114. echo 1;
  115. } else {
  116. echo 0;
  117. }
  118. break;
  119. default:
  120. echo '';
  121. }
  122. exit;