assertion.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * Show information about a new assertion.
  5. *
  6. * @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com>
  7. *
  8. * @package chamilo.badge
  9. */
  10. header('Content-Type: application/json');
  11. require_once __DIR__.'/../inc/global.inc.php';
  12. $userId = isset($_GET['user']) ? intval($_GET['user']) : 0;
  13. $skillId = isset($_GET['skill']) ? intval($_GET['skill']) : 0;
  14. $courseId = isset($_GET['course']) ? intval($_GET['course']) : 0;
  15. $sessionId = isset($_GET['session']) ? intval($_GET['session']) : 0;
  16. if ($userId === 0 || $skillId === 0) {
  17. exit;
  18. }
  19. $objSkill = new Skill();
  20. if (!$objSkill->userHasSkill($userId, $skillId, $courseId, $sessionId)) {
  21. exit;
  22. }
  23. $objSkillRelUser = new SkillRelUser();
  24. $userSkill = $objSkillRelUser->getByUserAndSkill(
  25. $userId,
  26. $skillId,
  27. $courseId,
  28. $sessionId
  29. );
  30. if ($userSkill == false) {
  31. exit;
  32. }
  33. $user = api_get_user_info($userSkill['user_id']);
  34. $json = [
  35. 'uid' => $userSkill['id'],
  36. 'recipient' => [
  37. 'type' => 'email',
  38. 'hashed' => false,
  39. 'identity' => $user['email'],
  40. ],
  41. 'issuedOn' => strtotime($userSkill['acquired_skill_at']),
  42. 'badge' => api_get_path(WEB_CODE_PATH)."badge/class.php?id=$skillId",
  43. 'verify' => [
  44. 'type' => 'hosted',
  45. 'url' => api_get_path(WEB_CODE_PATH)."badge/assertion.php?".http_build_query([
  46. 'user' => $userId,
  47. 'skill' => $skillId,
  48. 'course' => $courseId,
  49. 'session' => $sessionId,
  50. ]),
  51. ],
  52. ];
  53. echo json_encode($json);