session_course_user_list.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <?php
  2. $language_file='admin';
  3. $cidReset=true;
  4. include('../inc/global.inc.php');
  5. api_protect_admin_script();
  6. $tbl_user=Database::get_main_table(TABLE_MAIN_USER);
  7. $tbl_course=Database::get_main_table(TABLE_MAIN_COURSE);
  8. $tbl_session=Database::get_main_table(TABLE_MAIN_SESSION);
  9. $tbl_session_rel_course=Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
  10. $tbl_session_rel_course_rel_user=Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
  11. $id_session=intval($_GET['id_session']);
  12. $course_code=trim(stripslashes($_GET['course_code']));
  13. $page=intval($_GET['page']);
  14. $action=$_REQUEST['action'];
  15. $sort=in_array($_GET['sort'],array('lastname','firstname','username'))?$_GET['sort']:'lastname';
  16. $idChecked = (is_array($_GET['idChecked']) ? $_GET['idChecked'] : (is_array($_POST['idChecked']) ? $_POST['idChecked'] : null));
  17. $result=api_sql_query("SELECT name,title FROM $tbl_session,$tbl_course WHERE id='$id_session' AND code='".addslashes($course_code)."'",__FILE__,__LINE__);
  18. if(!list($session_name,$course_title)=mysql_fetch_row($result))
  19. {
  20. header('Location: session_course_list.php?id_session='.$id_session);
  21. exit();
  22. }
  23. if($action == 'delete')
  24. {
  25. if(is_array($idChecked))
  26. {
  27. $idChecked=implode(',',$idChecked);
  28. api_sql_query("DELETE FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code='".addslashes($course_code)."' AND id_user IN($idChecked)",__FILE__,__LINE__);
  29. $nbr_affected_rows=mysql_affected_rows();
  30. api_sql_query("UPDATE $tbl_session_rel_course SET nbr_users=nbr_users-$nbr_affected_rows WHERE id_session='$id_session' AND course_code='".addslashes($course_code)."'",__FILE__,__LINE__);
  31. }
  32. header('Location: '.api_get_self().'?id_session='.$id_session.'&course_code='.urlencode($course_code).'&sort='.$sort);
  33. exit();
  34. }
  35. $limit=20;
  36. $from=$page * $limit;
  37. $result=api_sql_query("SELECT user_id,lastname,firstname,username FROM $tbl_session_rel_course_rel_user,$tbl_user WHERE user_id=id_user AND id_session='$id_session' AND course_code='".addslashes($course_code)."' ORDER BY $sort LIMIT $from,".($limit+1),__FILE__,__LINE__);
  38. $Users=api_store_result($result);
  39. $nbr_results=sizeof($Users);
  40. $tool_name = get_lang('ListOfUsersSubscribedToCourse').' &quot;'.htmlentities($course_title,ENT_QUOTES,$charset).'&quot; '.get_lang('ForTheSession').' &quot;'.htmlentities($session_name,ENT_QUOTES,$charset).'&quot;';
  41. $interbredcrump[]=array("url" => "index.php","name" => get_lang('AdministrationTools'));
  42. $interbredcrump[]=array("url" => "session_list.php","name" => get_lang('SessionList'));
  43. $interbredcrump[]=array("url" => "session_course_list.php?id_session=$id_session","name" => get_lang('ListOfCoursesOfSession')." &quot;".htmlentities($session_name,ENT_QUOTES,$charset)."&quot;");
  44. Display::display_header($tool_name);
  45. api_display_tool_title($tool_name);
  46. ?>
  47. <div id="main">
  48. <form method="post" action="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&sort=<?php echo $sort; ?>" onsubmit="javascript:if(!confirm('<?php echo get_lang('ConfirmYourChoice'); ?>')) return false;">
  49. <div align="right">
  50. <?php
  51. if($page)
  52. {
  53. ?>
  54. <a href="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&page=<?php echo $page-1; ?>&sort=<?php echo $sort; ?>"><?php echo get_lang('Previous');?></a>
  55. <?php
  56. }
  57. else
  58. {
  59. echo get_lang('Previous');
  60. }
  61. ?>
  62. |
  63. <?php
  64. if($nbr_results > $limit)
  65. {
  66. ?>
  67. <a href="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&page=<?php echo $page+1; ?>&sort=<?php echo $sort; ?>"><?php echo get_lang('Next');?></a>
  68. <?php
  69. }
  70. else
  71. {
  72. echo get_lang('Next');
  73. }
  74. ?>
  75. </div>
  76. <br>
  77. <table class="data_table" width="100%">
  78. <tr>
  79. <th>&nbsp;</th>
  80. <th><a href="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&sort=lastname">Nom</a></th>
  81. <th><a href="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&sort=firstname">Prénom</a></th>
  82. <th><a href="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&sort=username">Identifiant</a></th>
  83. <th>Actions</th>
  84. </tr>
  85. <?php
  86. $i=0;
  87. foreach($Users as $key=>$enreg)
  88. {
  89. if($key == $limit)
  90. {
  91. break;
  92. }
  93. ?>
  94. <tr class="<?php echo $i?'row_odd':'row_even'; ?>">
  95. <td><input type="checkbox" name="idChecked[]" value="<?php echo $enreg['user_id']; ?>"></td>
  96. <td><?php echo htmlentities($enreg['lastname'],ENT_QUOTES,$charset); ?></td>
  97. <td><?php echo htmlentities($enreg['firstname'],ENT_QUOTES,$charset); ?></td>
  98. <td><?php echo htmlentities($enreg['username'],ENT_QUOTES,$charset); ?></td>
  99. <td>
  100. <a href="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&sort=<?php echo $sort; ?>&action=delete&idChecked[]=<?php echo $enreg['user_id']; ?>" onclick="javascript:if(!confirm('<?php echo get_lang('ConfirmYourChoice'); ?>')) return false;"><img src="../img/delete.gif" border="0" align="absmiddle" title="Effacer"></a>
  101. </td>
  102. </tr>
  103. <?php
  104. $i=$i ? 0 : 1;
  105. }
  106. unset($Users);
  107. ?>
  108. </table>
  109. <br>
  110. <div align="left">
  111. <?php
  112. if($page)
  113. {
  114. ?>
  115. <a href="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&page=<?php echo $page-1; ?>&sort=<?php echo $sort; ?>"><?php echo get_lang('Previous'); ?></a>
  116. <?php
  117. }
  118. else
  119. {
  120. echo get_lang('Previous');
  121. }
  122. ?>
  123. |
  124. <?php
  125. if($nbr_results > $limit)
  126. {
  127. ?>
  128. <a href="<?php echo api_get_self(); ?>?id_session=<?php echo $id_session; ?>&course_code=<?php echo urlencode($course_code); ?>&page=<?php echo $page+1; ?>&sort=<?php echo $sort; ?>"><?php echo get_lang('Next'); ?></a>
  129. <?php
  130. }
  131. else
  132. {
  133. echo get_lang('Next');
  134. }
  135. ?>
  136. </div>
  137. <br>
  138. <select name="action">
  139. <option value="delete"><?php get_lang('UnsubscribeSelectedUsersFromSession');?></option>
  140. </select>
  141. <input type="submit" value="<?php echo get_lang('Ok'); ?>">
  142. </table>
  143. </div>
  144. <?php
  145. Display::display_footer();
  146. ?>