index.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379
  1. <?php
  2. /**
  3. * @todo use constant for $this_section
  4. */
  5. // name of the language file that needs to be included
  6. $language_file = array ('registration', 'index','tracking');
  7. $cidReset=true;
  8. require ('../inc/global.inc.php');
  9. $nameTools= get_lang("MySpace");
  10. $this_section = "session_my_space";
  11. api_block_anonymous_users();
  12. Display :: display_header($nameTools);
  13. // Database table definitions
  14. $tbl_user = Database :: get_main_table(TABLE_MAIN_USER);
  15. $tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE);
  16. $tbl_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
  17. $tbl_class = Database :: get_main_table(TABLE_MAIN_CLASS);
  18. $tbl_sessions = Database :: get_main_table(TABLE_MAIN_SESSION);
  19. $tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
  20. $tbl_session_user = Database :: get_main_table(TABLE_MAIN_SESSION_USER);
  21. $tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
  22. $tbl_admin = Database :: get_main_table(TABLE_MAIN_ADMIN);
  23. function is_coach()
  24. {
  25. global $tbl_session_course;
  26. $sql="SELECT course_code FROM $tbl_session_course WHERE id_coach='".$_SESSION["_uid"]."'";
  27. $result=api_sql_query($sql);
  28. if(mysql_num_rows($result)>0)
  29. {
  30. return true;
  31. }
  32. else
  33. {
  34. return false;
  35. }
  36. }
  37. /*
  38. ===============================================================================
  39. MAIN CODE
  40. ===============================================================================
  41. */
  42. //Trainers
  43. if(api_is_platform_admin())
  44. {
  45. $sqlNbFormateurs = "SELECT COUNT(user_id) FROM $tbl_user WHERE status = 1";
  46. $resultNbFormateurs = api_sql_query($sqlNbFormateurs);
  47. $a_nbFormateurs = mysql_fetch_array($resultNbFormateurs);
  48. $nbFormateurs = $a_nbFormateurs[0];
  49. }
  50. //Coachs
  51. $nbCoachs=0;
  52. if(api_is_platform_admin())
  53. {
  54. $sqlNbCoachs = "SELECT COUNT(DISTINCT id_coach) FROM $tbl_session_course WHERE id_coach<>'0'";
  55. $resultNbCoachs = api_sql_query($sqlNbCoachs);
  56. $a_nbCoachs = mysql_fetch_array($resultNbCoachs);
  57. $nbCoachs = $a_nbCoachs[0];
  58. }
  59. elseif($is_allowedCreateCourse)
  60. {
  61. $a_coach=array();
  62. $sqlNbCours = " SELECT course_code
  63. FROM $tbl_course_user
  64. WHERE user_id='".$_user['user_id']."' AND status='1'
  65. ";
  66. $resultNbCours = api_sql_query($sqlNbCours);
  67. while($a_courses=mysql_fetch_array($resultNbCours))
  68. {
  69. $sql="SELECT DISTINCT id_coach FROM $tbl_session_course WHERE course_code='".$a_courses["course_code"]."'";
  70. $resultCoach = api_sql_query($sql);
  71. if(mysql_num_rows($resultCoach)>0)
  72. {
  73. while($a_temp=mysql_fetch_array($resultCoach))
  74. {
  75. $a_coach[]=$a_temp["id_coach"];
  76. }
  77. }
  78. }
  79. $a_coach=array_unique($a_coach);
  80. $nbCoachs=count($a_coach);
  81. }
  82. //Nombre de stagiaires (cours dans lesquels il est coach ou formateurs)
  83. $nbStagiaire=0;
  84. $a_stagiaire_teacher=array();
  85. //La personne est admin
  86. if(api_is_platform_admin())
  87. {
  88. $sqlNbStagiaire = " SELECT COUNT(user_id)
  89. FROM $tbl_user
  90. WHERE status = 5
  91. ";
  92. $resultNbStagiaire = api_sql_query($sqlNbStagiaire);
  93. $a_nbStagiaire = mysql_fetch_array($resultNbStagiaire);
  94. $nbStagiaire = $a_nbStagiaire[0];
  95. }
  96. else
  97. {
  98. //La personne a le statut de professeur
  99. if($is_allowedCreateCourse){
  100. //Cours ou la personne est formateur mais dont les cours ne sont pas dans une session
  101. $sql_select_courses="SELECT course_rel_user.course_code FROM $tbl_course_user as course_rel_user LEFT OUTER JOIN $tbl_session_course as src ON course_rel_user.course_code=src.course_code WHERE user_id='$_uid' AND status='1' AND src.course_code IS NULL";
  102. $result_courses=api_sql_query($sql_select_courses);
  103. while($a_courses=mysql_fetch_array($result_courses))
  104. {
  105. $s_course_code=$a_courses["course_code"];
  106. $sqlStudents = "SELECT user.user_id,lastname,firstname,email FROM $tbl_course_user as course_rel_user, $tbl_user as user WHERE course_rel_user.user_id=user.user_id AND course_rel_user.status='5' AND course_rel_user.course_code='$s_course_code'";
  107. $result_students=api_sql_query($sqlStudents);
  108. if(mysql_num_rows($result_students)>0)
  109. {
  110. while($a_students_temp=mysql_fetch_array($result_students))
  111. {
  112. $a_stagiaire_teacher[]=$a_students_temp["user_id"];
  113. }
  114. }
  115. }
  116. $sqlNbStagiaire="SELECT DISTINCT srcru.id_user FROM $tbl_course_user as course_rel_user, $tbl_session_course_user as srcru " .
  117. "WHERE course_rel_user.user_id='".$_user['user_id']."' AND course_rel_user.status='1' AND course_rel_user.course_code=srcru.course_code";
  118. $resultNbStagiaire = api_sql_query($sqlNbStagiaire);
  119. while($a_temp = mysql_fetch_array($resultNbStagiaire))
  120. {
  121. $a_stagiaire_teacher[]=$a_temp[0];
  122. }
  123. }
  124. if(is_coach())
  125. {
  126. $a_stagiaire_coach=array();
  127. $sql="SELECT id_session, course_code FROM $tbl_session_course WHERE id_coach='".$_user['user_id']."'";
  128. $result=api_sql_query($sql);
  129. while($a_courses=mysql_fetch_array($result))
  130. {
  131. $course_code=$a_courses["course_code"];
  132. $id_session=$a_courses["id_session"];
  133. $sqlStudents = "SELECT distinct srcru.id_user
  134. FROM $tbl_session_course_user AS srcru
  135. INNER JOIN $tbl_user as user
  136. ON srcru.id_user = user.user_id
  137. AND user.status = 5
  138. WHERE course_code='$course_code' AND id_session='$id_session'";
  139. $q_students=api_sql_query($sqlStudents);
  140. while($a_temp=mysql_fetch_array($q_students))
  141. {
  142. $a_stagiaire_coach[]=$a_temp[0];
  143. }
  144. }
  145. $a_stagiaires=array_merge($a_stagiaire_teacher,$a_stagiaire_coach);
  146. $a_stagiaires=array_unique($a_stagiaires);
  147. $nbStagiaire=count($a_stagiaires);
  148. }
  149. else
  150. {
  151. $nbStagiaire=count($a_stagiaire_teacher);
  152. }
  153. }
  154. //Nombre de cours
  155. //La personne est admin donc on compte le nombre total de cours
  156. if(api_is_platform_admin())
  157. {
  158. $sqlNbCours = " SELECT COUNT(code)
  159. FROM $tbl_course
  160. ";
  161. $resultNbCours = api_sql_query($sqlNbCours);
  162. $a_nbCours = mysql_fetch_array($resultNbCours);
  163. $nbCours = $a_nbCours[0];
  164. }
  165. else{
  166. $a_cours=array();
  167. //La personne a le statut de professeur
  168. if($is_allowedCreateCourse)
  169. {
  170. $sqlNbCours = " SELECT DISTINCT course_code
  171. FROM $tbl_course_user
  172. WHERE user_id='".$_user['user_id']."' AND status='1'
  173. ";
  174. $resultCours = api_sql_query($sqlNbCours);
  175. while($a_cours_teacher = mysql_fetch_array($resultCours)){
  176. $a_cours[]=$a_cours_teacher["course_code"];
  177. }
  178. }
  179. //La personne est coach
  180. if(is_coach()){
  181. $sqlNbCours = " SELECT DISTINCT course_code
  182. FROM $tbl_session_course
  183. WHERE id_coach='".$_user['user_id']."'
  184. ";
  185. $resultCours = api_sql_query($sqlNbCours);
  186. while($a_cours_coach = mysql_fetch_array($resultCours)){
  187. $a_cours[]=$a_cours_coach["course_code"];
  188. }
  189. }
  190. $a_cours=array_unique($a_cours);
  191. $nbCours=count($a_cours);
  192. }
  193. //Nombre de sessions
  194. //La personne est admin donc on compte le nombre total de sessions
  195. if(api_is_platform_admin())
  196. {
  197. $sqlNbSessions = " SELECT COUNT(id)
  198. FROM $tbl_sessions
  199. ";
  200. $resultNbSessions = api_sql_query($sqlNbSessions);
  201. $a_nbSessions= mysql_fetch_array($resultNbSessions);
  202. $nbSessions = $a_nbSessions[0];
  203. }
  204. else
  205. {
  206. $a_sessions=array();
  207. if($is_allowedCreateCourse)
  208. {
  209. $sqlNbSessions = " SELECT DISTINCT id_session
  210. FROM $tbl_session_course as session_course, $tbl_course_user as course_rel_user
  211. WHERE session_course.course_code=course_rel_user.course_code AND course_rel_user.status='1' AND course_rel_user.user_id='".$_user['user_id']."'
  212. ";
  213. $resultNbSessions = api_sql_query($sqlNbSessions);
  214. while($a_temp = mysql_fetch_array($resultNbSessions))
  215. {
  216. $a_sessions[]=$a_temp["id_session"];
  217. }
  218. }
  219. if(is_coach())
  220. {
  221. $sqlNbSessions = " SELECT DISTINCT id_session
  222. FROM $tbl_session_course
  223. WHERE id_coach='".$_user['user_id']."'
  224. ";
  225. $resultNbSessions = api_sql_query($sqlNbSessions);
  226. while($a_temp = mysql_fetch_array($resultNbSessions))
  227. {
  228. $a_sessions[]=$a_temp["id_session"];
  229. }
  230. }
  231. $a_sessions=array_unique($a_sessions);
  232. $nbSessions = count($a_sessions);
  233. }
  234. $sql_nb_admin="SELECT count(user_id) FROM $tbl_admin";
  235. $resultNbAdmin = api_sql_query($sql_nb_admin);
  236. $i_nb_admin=mysql_result($resultNbAdmin,0,0);
  237. if(api_is_platform_admin())
  238. {
  239. echo '<div class="admin_section">
  240. <h4>
  241. <a href="teachers.php"><img src="'.api_get_path(WEB_IMG_PATH).'teachers.gif">&nbsp;'.get_lang('Trainers').' ('.$nbFormateurs.')</a>
  242. </h4>
  243. </div>';
  244. }
  245. if((api_is_platform_admin() || $is_allowedCreateCourse) && api_get_setting('use_session_mode')=='true')
  246. {
  247. echo '<div class="admin_section">
  248. <h4>
  249. <a href="coaches.php"><img src="'.api_get_path(WEB_IMG_PATH).'coachs.gif">&nbsp;'.get_lang("Tutor").' ('.$nbCoachs.')</a>
  250. </h4>
  251. </div>';
  252. }
  253. ?>
  254. <div class="admin_section">
  255. <h4>
  256. <?php
  257. echo "<a href='student.php'><img src='".api_get_path(WEB_IMG_PATH)."students.gif'>&nbsp;".get_lang('Probationers').' ('.$nbStagiaire.')'."</a>";
  258. ?>
  259. </h4>
  260. </div>
  261. <div class="admin_section">
  262. <h4>
  263. <?php echo "<a href='admin.php'><img src='".api_get_path(WEB_IMG_PATH)."admins.gif'>&nbsp;".get_lang('Administrators')." (".$i_nb_admin.")</a>"; ?>
  264. </h4>
  265. </div>
  266. <div class="admin_section">
  267. <h4>
  268. <?php echo "<a href='cours.php'><img src='".api_get_path(WEB_IMG_PATH)."courses.gif'>&nbsp;".get_lang('Course').' ('.$nbCours.')'."</a>"; ?>
  269. </h4>
  270. </div>
  271. <?php
  272. if(api_get_setting('use_session_mode')=='true'){
  273. ?>
  274. <div class="admin_section">
  275. <h4>
  276. <?php echo "<a href='session.php'><img src='".api_get_path(WEB_IMG_PATH)."sessions.gif'>&nbsp;".get_lang('Sessions').' ('.$nbSessions.')'."</a>"; ?>
  277. </h4>
  278. </div>
  279. <?php
  280. }
  281. ?>
  282. <div class="admin_section">
  283. <h4>
  284. <?php echo "<img src='".api_get_path(WEB_IMG_PATH)."statistics.gif'>&nbsp;".get_lang('Tracks'); ?>
  285. </h4>
  286. <ul>
  287. <li>
  288. <a href="progression.php"><?php echo get_lang('Progression'); ?></a>
  289. </li>
  290. <li>
  291. <a href="reussite.php"><?php echo get_lang('Success'); ?></a>
  292. </li>
  293. </ul>
  294. </div>
  295. <?php
  296. /*
  297. ==============================================================================
  298. FOOTER
  299. ==============================================================================
  300. */
  301. Display::display_footer();
  302. ?>