Procedural File: inc_tabla_func.php
Source Location: /include/admin/inc_tabla_func.php
Functions
void array_diffp(
array $a1, array $a2
)
|
|
Különböző-e két tömb?
Két tömb különbözőségét vizsgálja. Az array_diff() nem teljesen alkalmas erre a feladatra, de használható részeredmények számításához.
Parameters:
array |
$a1: |
Egyik tömb |
array |
$a2: |
Másik tömb |
mixed check_spaces(
int $bid, mixed $roomlist
)
|
|
Férőhelyek és felvett hallgatók épületenkénti ellenőrzése
A függvény ellenőrzi, hogy a megadott épület összes férőhelyében elférnek-e az oda felvett hallgatók. Ellenőrzi továbbá, hogy ha van az épületben olyan szoba, ahova csak fiúkat, illetve csak lányokat lehet beköltöztetni, s ezekből elegendő áll-e az épületbe felvett hallgatók rendelkezésére.
Parameters:
int |
$bid: |
Épület-azonosító (buildins.bid) |
API Tags:
Return: | Siker esetén true, egyébként hibaüzenet (string) |
cmp_rooms_by_space [line 125]
array cmp_rooms_by_space(
array $a, array $b
)
|
|
Két szoba összehasonlítása szabad helyek szerint
Segédfüggvény az usort() hoz.
Parameters:
array |
$a: |
Első szoba tömbje |
array |
$b: |
Második szoba tömbje |
API Tags:
Return: | Az usort() által várt -1, +1, vagy 0 |
collect_unassigned_students [line 937]
array collect_unassigned_students(
int $bid, int $stype
)
|
|
Minden csoportból kimaradt hallgatók összegyűjtése
A függvény összegyűjti azokat a hallgatókat, akik egyik szobába sincsenek még beosztva. Ezek tipikusan azok a hallgatók, akik a a csoport pontozásánál a hátsó csoportokban szerepeltek, és már minden csoporttársukat beosztott valamelyik másik csoporttal.
Parameters:
int |
$bid: |
Az adott épületbe beosztott hallgatók között keres |
int |
$stype: |
A megadott típusú hallgatókat keresi (ST_* konstansok alapján) |
API Tags:
Return: | A hallgatók azonosítóit tartalmazó tömb |
count_rooms_by_spaces [line 147]
array count_rooms_by_spaces(
array $r
)
|
|
Szobák összeszámolása szabad hely szerinti bontásban
Egy tömbbe összegyűjti, hogy n szabad hellyel rendelkező szobából hány található a listában. Az n lesz a tömb indexe, az n szabad hellyel rendelkező szobák száma pedig az indexhez tartozó érték.
Parameters:
API Tags:
Return: | Szobák darabszáma szabad hely szerinti bontásban |
debug_clean_tables [line 16]
void debug_clean_tables(
)
|
|
A szobákba beoszott hallgatók kitörlése
Fejlesztői funkció. Kitörli a room_conn_student tábla tartalmát, s ezzel a hallgatókat nem lesznek egyik szobába sem beosztva, valamint a hallgatók kívánságait nem használtra állítja, így azok ismét kiértékelhetőek. Tesztelés, fejlesztéshez használatos.
debug_show_groups [line 662]
void debug_show_groups(
array $g, [bool $sort = true]
)
|
|
Csoportok megjelenítése
Csoportok megjelenítése sorrendezéssel vagy anélkül. Fejlesztői funkció.
Parameters:
array |
$g: |
A csoportokat tartalmazó tömb |
bool |
$sort: |
Legyen-e sorrendezés a megjelenítés előtt |
debug_show_table [line 701]
array debug_show_table(
mixed $alttext, array $table, mixed $keys, array $key
)
|
|
Kívánságmátrix megjelenítése
Megjeleníti táblázatos formában egy kivánságmátrixot. Fejlesztői funkció.
Parameters:
array |
$table: |
A kívánságokat tartalmazó táblázat |
array |
$key: |
A $table -ben előforduló hallgatói azonosítók sorbarendezve |
API Tags:
Return: | A táblázat nem üres elemeinek száma |
drop_single_wishes [line 573]
array drop_single_wishes(
array $table, mixed $keys, array $key
)
|
|
Nem kölcsönös kívánságok eltávolítása
A megkapott kívánságmátrixból eltávolítja a nem kölcsönös kívánságokat. Lényegében megnézi, hogy az [i,j] elemhez van-e [j,i]. Ha nincs, akkor törli az elemet a tömbből.
Parameters:
array |
$table: |
A kapcsolatokat tartalmazó táblázat |
array |
$key: |
A $table azonosítói egy tömbben |
API Tags:
Return: | Csak kölcsönös kívánságokat tartalmazó tömb |
mixed find_wish(
array $table, mixed $keys, int $uid, int $pref, array $key
)
|
|
Kivánság megkeresése
Megkeresi az $uid felhasználó kivánságlistájában a $pref. helyen szereplő hallgató azonosítóját, ha van ilyen a megadott kívánságmátrixban.
Parameters:
array |
$table: |
A kívánságokat tartalmazó táblázat |
array |
$key: |
A $table indexeihez tartozó valódi felhasználói azonosítók (users.sid) |
int |
$uid: |
A felhasználó azonosítója (users.sid) |
int |
$pref: |
A keresett hely a listában |
API Tags:
Return: | A listában $pref helyen lévő hallgató azonosítója (users.sid), ha nincs ilyen, akkor false |
array get_roomlist(
int $bid, mixed $stype, string $szoba
)
|
|
Szobalista lekérdezése
Kinyeri az adatbázisból az adott típusú szobák listáját. Négyféle szobatípus van: - homogén (ST_HOMOGEN): csak egynemű hallgatók kerülhetnek bele, tehát
csak fiúk, vagy csak lányok - heterogén (ST_HETEROGEN): különböző nemű hallgatók is beköltözhetnek
- lány (ST_FEMALE): csak nőnemű hallgatók vehetik birtokba
- fiú (ST_MALE): csak fiúk költözhetne be
Keresésnél ha ST_MALE vagy ST_FEMALE szobát keresünk, akkor annak megfelelő az ST_HOMOGEN típusú is, hiszen abba is beköltözhetnek csak fiúk, vagy csak lányok.
Parameters:
int |
$bid: |
épület azonosítója (buildings.bid) |
string |
$szoba: |
a keresett szobák típusa (ST_* konstansok alapján) |
API Tags:
Return: | tömbben a szobák azonosítói |
get_rooms_spacemax [line 539]
int get_rooms_spacemax(
array $r
)
|
|
Szobalistából a maximális szobaméret meghatározása
A megadott szobalista minden szobájára a férőhelyen egy maximumkeresést hajt végre. Üres szobalista esetén hibával kilép (ilyen nem fordulhat elő, hamarabb kell ellenőrizni.
Parameters:
API Tags:
Return: | A maxiumkeresés eredménye |
get_rooms_spacemin [line 506]
int get_rooms_spacemin(
array $r
)
|
|
Szobalistából a minimális szobaméret meghatározása
A megadott szobalista minden szobájára a férőhelyen egy minimumkeresést hajt végre. Üres szobalista esetén hibával kilép (ilyen nem fordulhat elő, hamarabb kell ellenőrizni.
Parameters:
API Tags:
Return: | A minimumkeresés eredménye |
string get_room_st(
int $rid
)
|
|
Egy szobában lakók nemének meghatározása
Lekérdezi az adatbázisból, hogy kik laknak a megadott szobában: fiúk vagy lányok. Ha üres a szoba, akkor ST_ALL -al tér vissza. Csak a get_roomlist() függvény használja.
Parameters:
int |
$rid: |
szobaazonosító (rooms.roomid) |
API Tags:
get_spaces_max [line 203]
void get_spaces_max(
mixed $s
)
|
|
get_spaces_min [line 189]
void get_spaces_min(
mixed $s
)
|
|
get_students_from_wishlist [line 99]
array get_students_from_wishlist(
array $w
)
|
|
Hallgatói azonosítók kinyerése egy kivánságmátrixból
A bemeneti kívánságmátrixból kigyűjti az összes hallgatói azonosítót, majd egy folytosan indexelt tömb elemeiként visszatér ezekkel. Általában a $keys tömbök így állnak elő.
Parameters:
array |
$w: |
Bemeneti kívánságmátrix |
API Tags:
Return: | A hallgatók azonosítói egy tömbben |
array get_wishes(
[array $sid_list = false]
)
|
|
Kívánságmátrix létrehozása
Az adatbázis wishes táblája alapján letrehoz egy kétdimenziós tömböt, amely a ki-kivel kapcsolatokat tartalmazza. A mátrix [ki, kivel] indexű elemének értéke pedig a kívánságlistabeli sorszám lesz (wishes.pref).
Parameters:
array |
$sid_list: |
Csak az itt megadott felhasználóazonosítókhoz tartozó kívánságokat kérdezi le. A paraméter elhagyása esetén minden felhasználó kívánságai bekerülnek a mátrixba. |
API Tags:
Return: | A kívánságmátrix, 2 dimenziós táblaként |
room_filter_by_minspace [line 781]
array room_filter_by_minspace(
array $rooms, int $minspace
)
|
|
Szobák szűrése minimális férőhely alapján
Meghagyja a megadott szobalistából azokat a szobákat, amelyekben legalább $minspace ágy található.
Parameters:
array |
$rooms: |
Szobalista (tömbként) |
int |
$minspace: |
A keresett férőhelyek minimuma |
API Tags:
Return: | A feltételnek megfelelő szobákt (tömbként) |
room_freespace [line 808]
int room_freespace(
int $roomid
)
|
|
Szabad helyek számítsa egy szobához
Kiszámítja a megadott szobában a szabad helyek számát.
Parameters:
int |
$roomid: |
A szoba azonosítója |
API Tags:
Return: | A szabad ágyak száma |
void set_usedwish(
int $student_id
)
|
|
Egy hallgató és a hallgatóra vonatkozó kívánságok érvénytelenítése
A hallgató kivánságainak megjelölése használtként, valamint az összes az adott hallgatóra vonatkozó kívánság szintén használtként való megjelölése. Erre akkor van szükség, ha a hallgatót már beosztottuk valamelyik szobába, mert ilyenkor a további kívánságait nem lehet figyelembe venni, mivel egy hallgatót csak egy szobába lehet beosztani. Ilyenkor az összes további kívánsága, és az összes olyan kívánság, ami az adott hallgatóra vonatkozik érvényét veszti. Ez technikailag a wishes tábla used attributumának 1-re állítását jelenti.
Parameters:
int |
$student_id: |
A hallgató azonosítója |
strip_extra_rooms [line 229]
array strip_extra_rooms(
array $rooms, string $st, int $num
)
|
|
Felesleges szobák kiszűrése
Pontosan annyi férőhelyet hagy meg a szobalistából, amennyire szükség van. Ha nincs annyi összesen, akkor persze kevesebbet.
Parameters:
array |
$rooms: |
Kezdeti szobalista |
string |
$st: |
A szükséges szobatípus |
int |
$num: |
A szükséges férőhelyek száma |
API Tags:
Return: | A megmaradt szobalista |
sum_room_space [line 991]
int sum_room_space(
array $roomlist
)
|
|
Szobák összes férőhelyének kiszámítása
A megadott szobalista alapján kiszámolja, hogy hány hallgatót lehet elszállásolni összesen.
Parameters:
array |
$roomlist: |
Szobalista |
API Tags:
void szobaba_tesz(
int $roomid, int $sid
)
|
|
Elhelyez egy hallgatót egy szobában
A megadott szobát hozzárendeli a megadott hallgatóhoz. Technikailag a room_conn_student táblába tölt fel egy rekordot. FIXME: itt ellenőrizni kellene mindent - ferőhely >= benne lakók száma
- csak páros szobába kerülhetnek nem azonos neműek
Parameters:
int |
$roomid: |
A szoba azonosítója |
int |
$sid: |
A hallgató azonosítója |
|
|