phpDocumentor koliportal
[ class tree: koliportal ] [ index: koliportal ] [ all elements ]

Source for file lib.students.php

Documentation is available at lib.students.php

  1. <?php
  2. /** Hallgatók kezelésével kapcsolatos függvények
  3. *
  4. * @package koliportal
  5. * @author Karakó Miklós <palacsint_X_freemail.hu>
  6. * @copyright Copyright &copy; 2005, Karakó Miklós
  7. */
  8.  
  9. /**
  10. * Hallgatók listájának lekérdezése
  11. *
  12. * A megadott típus alapján lekérdezi az fiúkat, a lányokat, vagy az összes
  13. * hallgatót az adatbázisból, akik még egy szobába sincsenek beosztva. Ha
  14. * nincs megadva a típus, akkor az összes hallgató listájával tér vissza.
  15. *
  16. * @param int $bid épület azonosító (buildings.bid az adatbázisban)
  17. * @param int $stype lekért hallgatók típusa (fiú, lány, összes,
  18. * ST_* konstansok alapján)
  19. * @return array hallgatók azonosítói tömbben
  20. *
  21. */
  22. function get_student_list($bid, $stype)
  23. {
  24. global $database;
  25. $slist = array();
  26. switch ($stype)
  27. {
  28. case ST_HETEROGEN:
  29. $sql_q = "SELECT w1.sid AS 'sid'
  30. FROM wishes AS w1, wishes AS w2, users AS s1, users AS s2
  31. WHERE w1.used = '0'
  32. AND w2.used = '0'
  33. AND w1.sid = w2.wsid
  34. AND w1.wsid = w2.sid
  35. AND s1.sex != s2.sex
  36. AND s1.sid = w1.sid
  37. AND s2.sid = w1.wsid
  38. AND s1.ut = 'UT_ASTUDENT'
  39. AND s2.ut = 'UT_ASTUDENT'
  40. AND s1.bid = '$bid'
  41. AND s2.bid = '$bid'";
  42. break;
  43.  
  44. case ST_MALE:
  45. $sql_q = "SELECT sid FROM users WHERE bid = '$bid' AND ut = 'UT_ASTUDENT' AND sex = 'M'";
  46. break;
  47.  
  48. case ST_FEMALE:
  49. $sql_q = "SELECT sid FROM users WHERE bid = '$bid' AND ut = 'UT_ASTUDENT' AND sex = 'F'";
  50. break;
  51.  
  52. case ST_ALL:
  53. default:
  54. $sql_q = "SELECT sid FROM users WHERE bid = '$bid' AND ut = 'UT_ASTUDENT'";
  55. }
  56.  
  57. debug_echo($sql_q, DEBUG_SQL);
  58. $student_res = mysql_query($sql_q, $database)
  59. or myerr(ERROR_DB, $sql_q);
  60. while ($s_arr = mysql_fetch_assoc($student_res))
  61. {
  62. $sid = $s_arr["sid"];
  63. if (!is_assigned_student($sid))
  64. {
  65. $slist[$sid] = $sid;
  66. }
  67. }
  68.  
  69. return $slist;
  70. }
  71. /** A megadott hallgató be van-e már osztva valamelyik szobába?
  72. *
  73. * Lekérdezi az adatbázisból, hogy a megadott hallgató be lett-e már
  74. * osztva valamelyik szobába.
  75. *
  76. * @param int $sid A hallgató azonosítója
  77. * @return bool A hallgató már valamelyik szobához van rendelve (true), vagy sem (false)
  78. */
  79. function is_assigned_student($sid)
  80. {
  81. global $database;
  82. if (!is_numeric($sid))
  83. {
  84. myerr("is_assigned_student($sid)");
  85. }
  86. $sql_q = "SELECT * FROM room_conn_student WHERE sid = '$sid'";
  87. $sql_res = mysql_query($sql_q, $database)
  88. or myerr(ERROR_DB, $sql_q);
  89. if (mysql_num_rows($sql_res) === 1)
  90. {
  91. $ret = true;
  92. }
  93. else
  94. {
  95. $ret = false;
  96. }
  97. return $ret;
  98.  
  99. }
  100. /** egy diák nemének lekérdezése
  101. *
  102. * @param int A diák azonosítója (users.sid)
  103. * @return enum('M','F') Férfi ('M'ale) vagy Nő ('F'emale)
  104. */
  105. function get_student_st($sid)
  106. {
  107. global $database;
  108. if (!is_numeric($sid))
  109. {
  110. myerr("get_student_st($sid)");
  111. }
  112. $sql_q = "SELECT sex FROM users WHERE sid = '$sid'";
  113. $sql_res = mysql_query($sql_q, $database)
  114. or myerr(ERROR_DB, $sql_q);
  115. $sa = mysql_fetch_assoc($sql_res)
  116. or myerr(ERROR_DB, $sql_q);
  117. return $sa["sex"];
  118. }
  119.  
  120. /** egy diákhoz rendelt épület azonosítójának lekérdezése
  121. *
  122. * @param int $sid A diák azonosítója (users.sid)
  123. * @return int Az épület azonosítója
  124. */
  125. function get_student_bid($sid)
  126. {
  127. global $database;
  128. if (!is_numeric($sid))
  129. {
  130. myerr("get_student_bid($sid)");
  131. }
  132. $sql_q = "SELECT bid FROM users WHERE sid = '$sid'";
  133. $sql_res = mysql_query($sql_q, $database)
  134. or myerr(ERROR_DB, $sql_q);
  135. $sa = mysql_fetch_assoc($sql_res)
  136. or myerr(ERROR_DB, $sql_q);
  137. return $sa["bid"];
  138. }
  139. /** egy diákhoz rendelt szoba azonosítójának
  140. *
  141. * @param int $sid A diák azonosítója (users.sid)
  142. * @return int A szoba azonosítója (ha van), egyébként false
  143. */
  144. function get_student_roomid($sid)
  145. {
  146. global $database;
  147. if (!is_numeric($sid))
  148. {
  149. myerr("get_student_roomid($sid)");
  150. }
  151. $sql_q = "SELECT * FROM room_conn_student WHERE sid = '$sid'";
  152. $sql_res = mysql_query($sql_q, $database);
  153. if (false === $sql_res)
  154. {
  155. return false;
  156. }
  157. $sa = mysql_fetch_assoc($sql_res);
  158. if (false === $sa)
  159. {
  160. return false;
  161. }
  162. return $sa["roomid"];
  163. }
  164. /** Létezik-e egy felhasználó?
  165. *
  166. * @param int $sid A keresett felhasználó azonosítója
  167. @ @return bool true: létezik, false: nem létezik
  168. */
  169. function is_student_exist($sid)
  170. {
  171. global $database;
  172. if (!is_numeric($sid))
  173. {
  174. return false; // ilyen biztos nincs :>
  175. }
  176. $sql_q = "SELECT * FROM users WHERE sid = '$sid'";
  177. $sql_res = mysql_query($sql_q, $database)
  178. or myerr(ERROR_DB, $sql_q);
  179. $sql_arr = mysql_fetch_assoc($sql_res);
  180. if (false === $sql_arr)
  181. {
  182. return false;
  183. }
  184. return true;
  185. }
  186.  
  187. /** Lekérdezi a hallgató tanulmányi átlagát az adatbázisból
  188. *
  189. * @param $sid int A hallgató azonosítója (users.sid)
  190. * @return double A hallgató tanulmányi átlaga, hiba esetén 0
  191. */
  192. function get_average($sid) {
  193. global $database;
  194.  
  195. $sql_q = "SELECT av FROM users WHERE sid = '$sid'";
  196. $sql_res = mysql_query($sql_q, $database)
  197. or myerr(ERROR_DB, $sql_q);
  198. $sql_arr = mysql_fetch_assoc($sql_res);
  199. if ((false === $sql_arr) || is_numeric($sql_arr["av"])) {
  200. $ret = 0;
  201. } else {
  202. $ret = $sql_arr["av"];
  203. }
  204. return $ret;
  205. }
  206. /** Létezik-e egy felhasználói név?
  207. *
  208. * @param string $sid A keresett felhasználói név
  209. @ @return bool true: létezik, false: nem létezik
  210. */
  211. function is_username_exist($username)
  212. {
  213. global $database;
  214. $sql_q = "SELECT * FROM users WHERE username = '$username'";
  215. $sql_res = mysql_query($sql_q, $database)
  216. or myerr(ERROR_DB, $sql_q);
  217. $sql_arr = mysql_fetch_assoc($sql_res);
  218. if (false === $sql_arr)
  219. {
  220. return false;
  221. }
  222. return true;
  223. }
  224.  
  225. ?>

Documentation generated on Wed, 18 May 2005 19:24:37 +0200 by phpDocumentor 1.3.0RC3