my_progress.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * Reporting page on the user's own progress
  5. * @package chamilo.tracking
  6. */
  7. /**
  8. * Code
  9. */
  10. $cidReset = true;
  11. require_once '../inc/global.inc.php';
  12. $this_section = SECTION_TRACKING;
  13. $nameTools = get_lang('MyProgress');
  14. api_block_anonymous_users();
  15. $htmlHeadXtra[] = api_get_js('jquery.timelinr-0.9.5.js');
  16. $htmlHeadXtra[] = '
  17. <script language="javascript">
  18. $(function() {
  19. $().timelinr();
  20. $(".dialog").dialog("destroy");
  21. $(".dialog").dialog({
  22. autoOpen: false,
  23. show: "blind",
  24. resizable: false,
  25. height:300,
  26. width:550,
  27. modal: true
  28. });
  29. $(".opener").click(function() {
  30. var my_id = $(this).attr(\'id\');
  31. var big_image = \'#main_graph_\' + my_id;
  32. $( big_image ).dialog("open");
  33. return false;
  34. });
  35. });
  36. </script>';
  37. $user_id = api_get_user_id();
  38. $course_user_list = CourseManager::get_courses_list_by_user_id($user_id);
  39. $dates = $issues = '';
  40. $sessionId = isset($_GET['session_id']) ? intval($_GET['session_id']) : 0;
  41. $courseCode = isset($_GET['course']) ? Security::remove_XSS($_GET['course']) : null;
  42. if (!empty($course_user_list)) {
  43. $items = MySpace::get_connections_from_course_list($user_id, $course_user_list);
  44. $first = null;
  45. $last = null;
  46. $last_item = count($items);
  47. $count = 1;
  48. foreach ($items as $result) {
  49. $login = $result['login'];
  50. if ($count == 1) {
  51. $first = '<a href="#'.$login.'">'.get_lang('First').'</a>';
  52. }
  53. if ($count == $last_item) {
  54. $last = '<a href="#'.$login.'">'.get_lang('Last').'</a>';
  55. }
  56. $course_info = api_get_course_info_by_id($result['c_id']);
  57. $course_image = '<img src="'.$course_info['course_image'].'">';
  58. $dates .= '<li><a href="#'.$login.'">'.api_get_utc_datetime($login).'</a></li>';
  59. $issues .= '<li id ="'.$login.'">
  60. <div class="row">
  61. <div class="span2"><div class="thumbnail">'.$course_image.'</div>
  62. </div>
  63. <div class="span3">'.sprintf(
  64. get_lang('YouHaveEnteredTheCourseXInY'),
  65. $result['course_code'],
  66. api_convert_and_format_date($login, DATE_FORMAT_LONG)
  67. ).'</div>
  68. </li>';
  69. $count++;
  70. }
  71. }
  72. $content = '';
  73. $content .= Tracking::show_user_progress(api_get_user_id(), $sessionId);
  74. $content .= Tracking::show_course_detail(api_get_user_id(), $courseCode, $sessionId);
  75. if (!empty($dates)) {
  76. if (!empty($content)) {
  77. $content .= '<br /><br />';
  78. }
  79. $content .= '<div class="row"><div class="span12">'.Display::page_subheader(get_lang('Timeline')).'</div>';
  80. $content .= '<div id="my_timeline">
  81. <div class="actions">
  82. <a href="#" id="prev"></a> <!-- optional -->
  83. <a href="#" id="next"></a> <!-- optional -->
  84. </div>
  85. <ul id="dates">
  86. '.$dates.'
  87. </ul>
  88. <ul id="issues">
  89. '.$issues.'
  90. </ul>
  91. </div></div>';
  92. }
  93. $message = null;
  94. if (empty($content)) {
  95. $message = Display::return_message(get_lang('NoDataAvailable'), 'warning');
  96. }
  97. $tpl = new Template($nameTools);
  98. $tpl->assign('message', $message);
  99. $tpl->assign('content', $content);
  100. $tpl->display_one_col_template();