admin.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <?php
  2. /*
  3. * Created on 18 October 2006 by Elixir Interactive http://www.elixir-interactive.com
  4. */
  5. ob_start();
  6. // name of the language file that needs to be included
  7. $language_file = array ('registration', 'index','trad4all', 'tracking');
  8. $cidReset = true;
  9. require '../inc/global.inc.php';
  10. $this_section = "session_my_space";
  11. $nameTools = get_lang('Administrators');
  12. api_block_anonymous_users();
  13. $interbreadcrumb[] = array ("url" => "index.php", "name" => get_lang('MySpace'));
  14. Display :: display_header($nameTools);
  15. api_display_tool_title($nameTools);
  16. // Database Table Definitions
  17. $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE);
  18. $tbl_user = Database :: get_main_table(TABLE_MAIN_USER);
  19. $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
  20. $tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
  21. $tbl_session_rel_user = Database :: get_main_table(TABLE_MAIN_SESSION_USER);
  22. $tbl_admin = Database :: get_main_table(TABLE_MAIN_ADMIN);
  23. /*
  24. ===============================================================================
  25. FUNCTION
  26. ===============================================================================
  27. */
  28. function exportCsv($a_header, $a_data) {
  29. global $archiveDirName;
  30. $fileName = 'administrators.csv';
  31. $archivePath = api_get_path(SYS_ARCHIVE_PATH);
  32. $archiveURL = api_get_path(WEB_CODE_PATH).'course_info/download.php?archive=';
  33. if (!$open = fopen($archivePath.$fileName, 'w+')) {
  34. $message = get_lang('noOpen');
  35. } else {
  36. $info = '';
  37. foreach ($a_header as $header) {
  38. $info .= $header.';';
  39. }
  40. $info .= "\r\n";
  41. foreach ($a_data as $data) {
  42. foreach ($data as $infos) {
  43. $info .= $infos.';';
  44. }
  45. $info .= "\r\n";
  46. }
  47. fwrite($open, $info);
  48. fclose($open);
  49. $perm = api_get_setting('permissions_for_new_files');
  50. $perm = octdec(!empty($perm) ? $perm : '0660');
  51. chmod($fileName, $perm);
  52. header("Location:".$archiveURL.$fileName);
  53. }
  54. return $message;
  55. }
  56. /**
  57. * MAIN PART
  58. */
  59. /*
  60. * liste nominative avec coordonn�es et lien vers les cours et
  61. les stagiaires dont il est le
  62. responsable.
  63. */
  64. if (isset($_POST['export'])) {
  65. $order_clause = api_is_western_name_order(PERSON_NAME_DATA_EXPORT) ? ' ORDER BY firstname, lastname' : ' ORDER BY lastname, firstname';
  66. } else {
  67. $order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname' : ' ORDER BY lastname, firstname';
  68. }
  69. $sqlAdmins = "SELECT user.user_id,lastname,firstname,email
  70. FROM $tbl_user as user, $tbl_admin as admin
  71. WHERE admin.user_id=user.user_id".$order_clause;
  72. $resultAdmins = Database::query($sqlAdmins, __FILE__, __LINE__);
  73. if (api_is_western_name_order()) {
  74. echo '<table class="data_table"><tr><th>'.get_lang('FirstName').'</th><th>'.get_lang('LastName').'</th><th>'.get_lang('Email').'</th></tr>';
  75. } else {
  76. echo '<table class="data_table"><tr><th>'.get_lang('LastName').'</th><th>'.get_lang('FirstName').'</th><th>'.get_lang('Email').'</th></tr>';
  77. }
  78. if (api_is_western_name_order(PERSON_NAME_DATA_EXPORT)) {
  79. $a_header[] = get_lang('FirstName');
  80. $a_header[] = get_lang('LastName');
  81. $a_header[] = get_lang('Email');
  82. } else {
  83. $a_header[] = get_lang('LastName');
  84. $a_header[] = get_lang('FirstName');
  85. $a_header[] = get_lang('Email');
  86. }
  87. if (Database::num_rows($resultAdmins) > 0 ) {
  88. while ($a_admins = Database::fetch_array($resultAdmins)) {
  89. $i_user_id = $a_admins["user_id"];
  90. $s_lastname = $a_admins["lastname"];
  91. $s_firstname = $a_admins["firstname"];
  92. $s_email = $a_admins["email"];
  93. if ($i%2 == 0) {
  94. $s_css_class = "row_odd";
  95. if ($i%20 == 0 && $i!=0) {
  96. if (api_is_western_name_order()) {
  97. echo '<tr><th>'.get_lang('FirstName').'</th><th>'.get_lang('LastName').'</th><th>'.get_lang('Email').'</th></tr>';
  98. } else {
  99. echo '<tr><th>'.get_lang('LastName').'</th><th>'.get_lang('FirstName').'</th><th>'.get_lang('Email').'</th></tr>';
  100. }
  101. }
  102. } else {
  103. $s_css_class = "row_even";
  104. }
  105. $i++;
  106. if (api_is_western_name_order()) {
  107. echo "<tr class=".$s_css_class."><td>$s_firstname</td><td>$s_lastname</td><td><a href='mailto:".$s_email."'>$s_email</a></td></tr>";
  108. } else {
  109. echo "<tr class=".$s_css_class."><td>$s_lastname</td><td>$s_firstname</td><td><a href='mailto:".$s_email."'>$s_email</a></td></tr>";
  110. }
  111. if (api_is_western_name_order(PERSON_NAME_DATA_EXPORT)) {
  112. $a_data[$i_user_id]["firstname"] = $s_firstname;
  113. $a_data[$i_user_id]["lastname"] = $s_lastname;
  114. $a_data[$i_user_id]["email"] = $s_email;
  115. } else {
  116. $a_data[$i_user_id]["lastname"] = $s_lastname;
  117. $a_data[$i_user_id]["firstname"] = $s_firstname;
  118. $a_data[$i_user_id]["email"] = $s_email;
  119. }
  120. }
  121. }
  122. //No results
  123. else {
  124. echo '<tr><td colspan="3" "align=center">'.get_lang("NoResults").'</td></tr>';
  125. }
  126. echo '</table>';
  127. if (isset($_POST['export'])) {
  128. exportCsv($a_header, $a_data);
  129. }
  130. echo "<br /><br />";
  131. echo "<form method='post' action='admin.php'><button type='submit' class='save' name='export' value='".get_lang('exportExcel')."'>".get_lang('exportExcel')."</button><form>";
  132. /*
  133. ==============================================================================
  134. FOOTER
  135. ==============================================================================
  136. */
  137. Display::display_footer();