- <?php
- /** Hallgatók kezelésével kapcsolatos függvények
- *
- * @package koliportal
- * @author Karakó Miklós <palacsint_X_freemail.hu>
- * @copyright Copyright © 2005, Karakó Miklós
- */
-
- /**
- * Hallgatók listájának lekérdezése
- *
- * A megadott típus alapján lekérdezi az fiúkat, a lányokat, vagy az összes
- * hallgatót az adatbázisból, akik még egy szobába sincsenek beosztva. Ha
- * nincs megadva a típus, akkor az összes hallgató listájával tér vissza.
- *
- * @param int $bid épület azonosító (buildings.bid az adatbázisban)
- * @param int $stype lekért hallgatók típusa (fiú, lány, összes,
- * ST_* konstansok alapján)
- * @return array hallgatók azonosítói tömbben
- *
- */
- function get_student_list($bid, $stype)
- {
- global $database;
-
- $slist = array();
- switch ($stype)
- {
- case ST_HETEROGEN:
- $sql_q = "SELECT w1.sid AS 'sid'
- FROM wishes AS w1, wishes AS w2, users AS s1, users AS s2
- WHERE w1.used = '0'
- AND w2.used = '0'
- AND w1.sid = w2.wsid
- AND w1.wsid = w2.sid
- AND s1.sex != s2.sex
- AND s1.sid = w1.sid
- AND s2.sid = w1.wsid
- AND s1.ut = 'UT_ASTUDENT'
- AND s2.ut = 'UT_ASTUDENT'
- AND s1.bid = '$bid'
- AND s2.bid = '$bid'";
- break;
-
- case ST_MALE:
- $sql_q = "SELECT sid FROM users WHERE bid = '$bid' AND ut = 'UT_ASTUDENT' AND sex = 'M'";
- break;
-
- case ST_FEMALE:
- $sql_q = "SELECT sid FROM users WHERE bid = '$bid' AND ut = 'UT_ASTUDENT' AND sex = 'F'";
- break;
-
- case ST_ALL:
- default:
- $sql_q = "SELECT sid FROM users WHERE bid = '$bid' AND ut = 'UT_ASTUDENT'";
- }
-
- debug_echo($sql_q, DEBUG_SQL);
- $student_res = mysql_query($sql_q, $database)
- or myerr(ERROR_DB, $sql_q);
- while ($s_arr = mysql_fetch_assoc($student_res))
- {
- $sid = $s_arr["sid"];
- if (!is_assigned_student($sid))
- {
- $slist[$sid] = $sid;
- }
- }
-
- return $slist;
- }
-
-
-
- /** A megadott hallgató be van-e már osztva valamelyik szobába?
- *
- * Lekérdezi az adatbázisból, hogy a megadott hallgató be lett-e már
- * osztva valamelyik szobába.
- *
- * @param int $sid A hallgató azonosítója
- * @return bool A hallgató már valamelyik szobához van rendelve (true), vagy sem (false)
- */
- function is_assigned_student($sid)
- {
- global $database;
-
- if (!is_numeric($sid))
- {
- myerr("is_assigned_student($sid)");
- }
-
- $sql_q = "SELECT * FROM room_conn_student WHERE sid = '$sid'";
- $sql_res = mysql_query($sql_q, $database)
- or myerr(ERROR_DB, $sql_q);
-
- if (mysql_num_rows($sql_res) === 1)
- {
- $ret = true;
- }
- else
- {
- $ret = false;
- }
-
- return $ret;
-
- }
-
- /** egy diák nemének lekérdezése
- *
- * @param int A diák azonosítója (users.sid)
- * @return enum('M','F') Férfi ('M'ale) vagy Nő ('F'emale)
- */
- function get_student_st($sid)
- {
- global $database;
-
- if (!is_numeric($sid))
- {
- myerr("get_student_st($sid)");
- }
-
- $sql_q = "SELECT sex FROM users WHERE sid = '$sid'";
- $sql_res = mysql_query($sql_q, $database)
- or myerr(ERROR_DB, $sql_q);
- $sa = mysql_fetch_assoc($sql_res)
- or myerr(ERROR_DB, $sql_q);
-
- return $sa["sex"];
- }
-
- /** egy diákhoz rendelt épület azonosítójának lekérdezése
- *
- * @param int $sid A diák azonosítója (users.sid)
- * @return int Az épület azonosítója
- */
- function get_student_bid($sid)
- {
- global $database;
-
- if (!is_numeric($sid))
- {
- myerr("get_student_bid($sid)");
- }
-
- $sql_q = "SELECT bid FROM users WHERE sid = '$sid'";
- $sql_res = mysql_query($sql_q, $database)
- or myerr(ERROR_DB, $sql_q);
- $sa = mysql_fetch_assoc($sql_res)
- or myerr(ERROR_DB, $sql_q);
-
- return $sa["bid"];
- }
-
- /** egy diákhoz rendelt szoba azonosítójának
- *
- * @param int $sid A diák azonosítója (users.sid)
- * @return int A szoba azonosítója (ha van), egyébként false
- */
- function get_student_roomid($sid)
- {
- global $database;
-
- if (!is_numeric($sid))
- {
- myerr("get_student_roomid($sid)");
- }
-
- $sql_q = "SELECT * FROM room_conn_student WHERE sid = '$sid'";
- $sql_res = mysql_query($sql_q, $database);
- if (false === $sql_res)
- {
- return false;
- }
-
- $sa = mysql_fetch_assoc($sql_res);
- if (false === $sa)
- {
- return false;
- }
- return $sa["roomid"];
- }
-
- /** Létezik-e egy felhasználó?
- *
- * @param int $sid A keresett felhasználó azonosítója
- @ @return bool true: létezik, false: nem létezik
- */
- function is_student_exist($sid)
- {
- global $database;
-
- if (!is_numeric($sid))
- {
- return false; // ilyen biztos nincs :>
- }
- $sql_q = "SELECT * FROM users WHERE sid = '$sid'";
- $sql_res = mysql_query($sql_q, $database)
- or myerr(ERROR_DB, $sql_q);
- $sql_arr = mysql_fetch_assoc($sql_res);
- if (false === $sql_arr)
- {
- return false;
- }
- return true;
- }
-
- /** Lekérdezi a hallgató tanulmányi átlagát az adatbázisból
- *
- * @param $sid int A hallgató azonosítója (users.sid)
- * @return double A hallgató tanulmányi átlaga, hiba esetén 0
- */
- function get_average($sid) {
- global $database;
-
- $sql_q = "SELECT av FROM users WHERE sid = '$sid'";
- $sql_res = mysql_query($sql_q, $database)
- or myerr(ERROR_DB, $sql_q);
- $sql_arr = mysql_fetch_assoc($sql_res);
- if ((false === $sql_arr) || is_numeric($sql_arr["av"])) {
- $ret = 0;
- } else {
- $ret = $sql_arr["av"];
- }
-
- return $ret;
- }
-
-
- /** Létezik-e egy felhasználói név?
- *
- * @param string $sid A keresett felhasználói név
- @ @return bool true: létezik, false: nem létezik
- */
- function is_username_exist($username)
- {
- global $database;
-
- $sql_q = "SELECT * FROM users WHERE username = '$username'";
- $sql_res = mysql_query($sql_q, $database)
- or myerr(ERROR_DB, $sql_q);
- $sql_arr = mysql_fetch_assoc($sql_res);
- if (false === $sql_arr)
- {
- return false;
- }
- return true;
- }
-
-
- ?>