teachers.php 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. ob_start();
  4. // names of the language file that needs to be included
  5. $language_file = array ('registration', 'index', 'trad4all', 'tracking', 'admin');
  6. $cidReset = true;
  7. require_once '../inc/global.inc.php';
  8. require_once 'myspace.lib.php';
  9. require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php';
  10. require_once api_get_path(LIBRARY_PATH).'tracking.lib.php';
  11. $this_section = SECTION_TRACKING;
  12. $nameTools = get_lang('Teachers');
  13. api_block_anonymous_users();
  14. $interbreadcrumb[] = array ("url" => "index.php", "name" => get_lang('MySpace'));
  15. Display :: display_header($nameTools);
  16. $formateurs = array();
  17. if (api_is_drh() || api_is_platform_admin()) {
  18. // followed teachers by drh
  19. $formateurs = UserManager::get_users_followed_by_drh($_user['user_id'], COURSEMANAGER);
  20. $menu_items[] = Display::url(Display::return_icon('stats.png', get_lang('MyStats'),'',32),api_get_path(WEB_CODE_PATH)."auth/my_progress.php" );
  21. $menu_items[] = Display::url(Display::return_icon('user.png', get_lang('Students'), array(), 32), "index.php?view=drh_students&amp;display=yourstudents");
  22. $menu_items[] = Display::return_icon('teacher_na.png', get_lang('Trainers'), array(), 32);
  23. $menu_items[] = Display::url(Display::return_icon('course.png', get_lang('Courses'), array(), 32), 'course.php');
  24. $menu_items[] = Display::url(Display::return_icon('session.png', get_lang('Sessions'), array(), 32), 'session.php');
  25. echo '<div class="actions">';
  26. $nb_menu_items = count($menu_items);
  27. if ($nb_menu_items > 1) {
  28. foreach ($menu_items as $key => $item) {
  29. echo $item;
  30. }
  31. }
  32. if (count($formateurs) > 0) {
  33. echo '<span style="float:right">';
  34. echo Display::url(Display::return_icon('printer.png', get_lang('Print'), array(), 32), 'javascript: void(0);', array('onclick'=>'javascript: window.print();'));
  35. echo Display::url(Display::return_icon('export_csv.png', get_lang('ExportAsCSV'), array(), 32), api_get_self().'?export=xls');
  36. echo '</span>';
  37. }
  38. echo '</div>';
  39. echo '<h2>'.get_lang('YourTeachers').'</h2>';
  40. echo '<br />';
  41. }
  42. if (!api_is_drh()) {
  43. api_display_tool_title($nameTools);
  44. }
  45. // Database Table Definitions
  46. $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE);
  47. $tbl_user = Database :: get_main_table(TABLE_MAIN_USER);
  48. $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
  49. $tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
  50. $tbl_session_rel_user = Database :: get_main_table(TABLE_MAIN_SESSION_USER);
  51. /**
  52. * MAIN PART
  53. */
  54. if (isset($_POST['export'])) {
  55. $is_western_name_order = api_is_western_name_order(PERSON_NAME_DATA_EXPORT);
  56. } else {
  57. $is_western_name_order = api_is_western_name_order();
  58. }
  59. $sort_by_first_name = api_sort_by_first_name();
  60. if (!api_is_drh() && !api_is_platform_admin()) {
  61. $order_clause = $sort_by_first_name ? ' ORDER BY firstname, lastname' : ' ORDER BY lastname, firstname';
  62. if (isset($_GET["teacher_id"]) && $_GET["teacher_id"] != 0) {
  63. $teacher_id = intval($_GET["teacher_id"]);
  64. $sql_formateurs = "SELECT user_id,lastname,firstname,email
  65. FROM $tbl_user
  66. WHERE user_id='$teacher_id'".$order_clause;
  67. } else {
  68. $sql_formateurs = "SELECT user_id,lastname,firstname,email
  69. FROM $tbl_user
  70. WHERE status = 1".$order_clause;
  71. }
  72. $result_formateurs = Database::query($sql_formateurs);
  73. if (Database::num_rows($result_formateurs) > 0) {
  74. while ($row_formateurs = Database::fetch_array($result_formateurs)) {
  75. $formateurs[] = $row_formateurs;
  76. }
  77. }
  78. }
  79. $a_last_week = get_last_week();
  80. $last_week = date('Y-m-d',$a_last_week[0]).' '.get_lang('To').' '.date('Y-m-d', $a_last_week[6]);
  81. if ($is_western_name_order) {
  82. echo '<table class="data_table"><tr><th>'.get_lang('FirstName').'</th><th>'.get_lang('LastName').'</th><th>'.get_lang('TimeSpentLastWeek').'<br />'.$last_week.'</th><th>'.get_lang('Email').'</th><th>'.get_lang('AdminCourses').'</th><th>'.get_lang('Students').'</th></tr>';
  83. } else {
  84. echo '<table class="data_table"><tr><th>'.get_lang('LastName').'</th><th>'.get_lang('FirstName').'</th><th>'.get_lang('TimeSpentLastWeek').'<br />'.$last_week.'</th><th>'.get_lang('Email').'</th><th>'.get_lang('AdminCourses').'</th><th>'.get_lang('Students').'</th></tr>';
  85. }
  86. if ($is_western_name_order) {
  87. $header[] = get_lang('FirstName');
  88. $header[] = get_lang('LastName');
  89. } else {
  90. $header[] = get_lang('LastName');
  91. $header[] = get_lang('FirstName');
  92. }
  93. $header[] = get_lang('TimeSpentLastWeek');
  94. $header[] = get_lang('Email');
  95. $data = array();
  96. if (count($formateurs) > 0) {
  97. $i = 1;
  98. foreach ($formateurs as $formateur) {
  99. $user_id = $formateur["user_id"];
  100. $lastname = $formateur["lastname"];
  101. $firstname = $formateur["firstname"];
  102. $email = $formateur["email"];
  103. if ($i % 2 == 0) {
  104. $css_class = "row_odd";
  105. if ($i % 20 == 0 && $i != 0) {
  106. if ($is_western_name_order) {
  107. echo '<tr><th>'.get_lang('FirstName').'</th><th>'.get_lang('LastName').'</th><th>'.get_lang('Email').'</th><th>'.get_lang('AdminCourses').'</th><th>'.get_lang('Students').'</th></tr>';
  108. } else {
  109. echo '<tr><th>'.get_lang('LastName').'</th><th>'.get_lang('FirstName').'</th><th>'.get_lang('Email').'</th><th>'.get_lang('AdminCourses').'</th><th>'.get_lang('Students').'</th></tr>';
  110. }
  111. }
  112. } else {
  113. $css_class = "row_even";
  114. }
  115. $i++;
  116. if ($is_western_name_order) {
  117. $data[$user_id]["firstname"] = $firstname;
  118. $data[$user_id]["lastname"] = $lastname;
  119. } else {
  120. $data[$user_id]["lastname"] = $lastname;
  121. $data[$user_id]["firstname"] = $firstname;
  122. }
  123. $time_on_platform = api_time_to_hms(Tracking :: get_time_spent_on_the_platform($user_id,true));
  124. $data[$user_id]["timespentlastweek"] = $time_on_platform;
  125. $data[$user_id]["email"] = $email;
  126. if ($is_western_name_order) {
  127. echo '<tr class="'.$css_class.'"><td>'.$firstname.'</td><td>'.$lastname.'</td><td align="right">'.$time_on_platform.'</td><td align="right"><a href="mailto:'.$email.'">'.$email.'</a></td><td align="right"><a href="course.php?user_id='.$user_id.'"><img src="'.api_get_path(WEB_IMG_PATH).'2rightarrow.gif" border="0" /></a></td><td align="right"><a href="student.php?user_id='.$user_id.'&amp;display=yourstudents"><img src="'.api_get_path(WEB_IMG_PATH).'2rightarrow.gif" border="0" /></a></td></tr>';
  128. } else {
  129. echo '<tr class="'.$css_class.'"><td>'.$lastname.'</td><td>'.$firstname.'</td><td align="right">'.$time_on_platform.'</td><td align="right"><a href="mailto:'.$email.'">'.$email.'</a></td><td align="right"><a href="course.php?user_id='.$user_id.'"><img src="'.api_get_path(WEB_IMG_PATH).'2rightarrow.gif" border="0" /></a></td><td align="right"><a href="student.php?user_id='.$user_id.'&amp;display=yourstudents"><img src="'.api_get_path(WEB_IMG_PATH).'2rightarrow.gif" border="0" /></a></td></tr>';
  130. }
  131. }
  132. } else {
  133. // No results
  134. echo '<tr><td colspan="6" "align=center">'.get_lang("NoResults").'</td></tr>';
  135. }
  136. echo '</table>';
  137. if (isset($_POST['export']) || (api_is_drh() && isset($_GET['export']))) {
  138. MySpace::export_csv($header, $data, 'teachers.csv');
  139. }
  140. echo "<br /><br />";
  141. if (!api_is_drh()) {
  142. echo "<form method='post' action='teachers.php'><input type='submit' name='export' value='".get_lang('exportExcel')."'/><form>";
  143. }
  144. /*
  145. ==============================================================================
  146. FOOTER
  147. ==============================================================================
  148. */
  149. Display::display_footer();