my_progress.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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. // name of the language file that needs to be included
  11. $language_file = array('registration', 'tracking', 'exercice', 'admin', 'learnpath');
  12. $cidReset = true;
  13. require_once '../inc/global.inc.php';
  14. require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpath.class.php';
  15. require_once api_get_path(SYS_CODE_PATH).'exercice/exercise.lib.php';
  16. $this_section = SECTION_TRACKING;
  17. $nameTools = get_lang('MyProgress');
  18. api_block_anonymous_users();
  19. $htmlHeadXtra[] = api_get_js('jquery.timelinr-0.9.5.js');
  20. $htmlHeadXtra[] = '
  21. <script language="javascript">
  22. $(function() {
  23. $().timelinr();
  24. $(".dialog").dialog("destroy");
  25. $(".dialog").dialog({
  26. autoOpen: false,
  27. show: "blind",
  28. resizable: false,
  29. height:300,
  30. width:550,
  31. modal: true
  32. });
  33. $(".opener").click(function() {
  34. var my_id = $(this).attr(\'id\');
  35. var big_image = \'#main_graph_\' + my_id;
  36. $( big_image ).dialog("open");
  37. return false;
  38. });
  39. });
  40. </script>';
  41. require_once api_get_path(SYS_CODE_PATH).'mySpace/myspace.lib.php';
  42. $user_id = api_get_user_id();
  43. $course_user_list = CourseManager::get_courses_list_by_user_id($user_id);
  44. $dates = $issues = '';
  45. if (!empty($course_user_list)) {
  46. foreach ($course_user_list as $course) {
  47. $items = MySpace::get_connections_to_course($user_id, $course['code']);
  48. $first = null;
  49. $last = null;
  50. $last_item = count($items);
  51. $count = 1;
  52. foreach ($items as $result) {
  53. $login = $result['login'];
  54. if ($count == 1) {
  55. $first = '<a href="#'.$login.'">'. get_lang('First').'</a>';
  56. }
  57. if ($count == $last_item) {
  58. $last = '<a href="#'.$login.'">'. get_lang('Last').'</a>';
  59. }
  60. $course_info = api_get_course_info($course['code']);
  61. $course_image = '<img src="'.$course_info['course_image'].'">';
  62. $dates .= '<li><a href="#'.$login.'">'. api_get_utc_datetime($login).'</a></li>';
  63. $issues .= '<li id ="'.$login.'"><div class="row"><div class="span2"><div class="thumbnail">'.$course_image.'</div></div>
  64. <div class="span3">'.sprintf(get_lang('YouHaveEnteredTheCourseXInY') , $course['code'], api_convert_and_format_date($login, DATE_FORMAT_LONG)).'</div></li>';
  65. $count++;
  66. }
  67. }
  68. }
  69. $content .= Tracking::show_user_progress(api_get_user_id());
  70. $content .= Tracking::show_course_detail(api_get_user_id(), $_GET['course'], $_GET['session_id']);
  71. if (!empty($dates)) {
  72. if (!empty($content)) {
  73. $content .= '<br /><br />';
  74. }
  75. $content .= '<div class="row"><div class="span12">'.Display::page_subheader(get_lang('Timeline')).'</div>';
  76. $content .= '<div id="my_timeline">
  77. <div class="actions">
  78. <a href="#" id="prev"></a> <!-- optional -->
  79. <a href="#" id="next"></a> <!-- optional -->
  80. </div>
  81. <ul id="dates">
  82. '.$dates.'
  83. </ul>
  84. <ul id="issues">
  85. '.$issues.'
  86. </ul>
  87. </div></div>';
  88. }
  89. if (empty($content)) {
  90. $message = Display::return_message(get_lang('NoDataAvailable'), 'warning');
  91. }
  92. $tpl = new Template($tool_name);
  93. //$tpl->assign('actions', $actions);
  94. $tpl->assign('message', $message);
  95. $tpl->assign('content', $content);
  96. $tpl->display_one_col_template();