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

Procedural File: lib.groups.php

Source Location: /include/lib/lib.groups.php

Page Details

A groups tömbökön különböző műveletek végző függvények kódjai

Itt azok a függvények találhatóak, amelyek a $groups tömbön végeznek különféle műveleteket.

Filesource:  Source Code for this file
Copyright:  Copyright © 2005, Karakó Miklós
Author:  Karakó Miklós <palacsint_X_freemail.hu>
Functions
calc_points  [line 358]

array calc_points( array $groups, array $table_full  )

Csoportok pontszámainak kiszámítása és sorrendezési

Kiszámítja minden csoport pontszámát, majd a tömböt eszerint sorba is rendezi. A pontszám jelenleg attól függ, hogy csoporttagok hanyadik helyen jelölték meg egymás. A lista elejéhez közelebb eső jelölések kevesebb pontot érnek, de növekvő sorrenbe lesznek rendezve a csoportok a függvény végén, s majd a szobabeosztás is ez alapján fog történni.

Parameters:
array   $groups:  Csoporttömb
array   $table_full:  Kívánságmátrix

API Tags:
Return:  Csoporttömb, pontszám szerint sorbarendezve


[ Top ]
cmp_group_by_points  [line 317]

int cmp_group_by_points( array $a, array $b  )

Két csoport összehasonlítása pontszám szerint

Az usort() függvényhez szükséges segédfüggvény, amely két csoportot hasonlít össze a pontszámuk szerint.

Parameters:
array   $a:  Az első csoport
array   $b:  A második csoport

API Tags:
Return:  Az usort() által várt 1, -1, vagy 0


[ Top ]
debug_groups_selftest  [line 409]

void debug_groups_selftest( array $groups, array $table_full  )

Csoportellenőrzés

A függvény leellenőrzi, hogy tényleg mindenki belevaló-e a csoportba, mindenki bejelölt-e mindenkit a csoportból. Fejlesztői (?) funkció, az csoportképző algoritmus helyességének vizsgálatára.

Parameters:
array   $groups:  Az ellenőrizni kívánt csoport
array   $table_full:  Az ellenőrzéshez használt kívánságmátrix


[ Top ]
drop_groupslike  [line 507]

array drop_groupslike( array $from, int $t  )

Azon csoportok kiszűrése, amelyekben szerepel a megadott felhasználó

A megadott csoportokat tartalmazó tömbből meghagyja azokat, amelyek nem tartalmazzák a $t tömbben lévő egyik felhasználói azonosítót sem. Erre olyankor van szükség, amikor beosztottunk egy hallgatót, illetve egy csoportot valamelyik szobába, de mivel egy hallgató több csoportban is szerepelhet, ezért a többi olyan csoportot, amiben szerepel meg kell szüntetni, hiszen egy embert csak egy szobába lehet beosztani.

Parameters:
array   $from:  A kezdeti csoportlista
int   $t:  A törlendő hallgatói azonosító

API Tags:
Return:  A megszűrt csoportlista


[ Top ]
groups_filter  [line 540]

void groups_filter( array $g, int $space  )

Csoportlista szűrése létszám alapján

Kiszűri egy csoportlistából a megadott létszámú csoportokat.

Parameters:
array   $g:  A szűrendő csoport
int   $space:  A keresett létszám


[ Top ]
group_to_room  [line 470]

void group_to_room( array $group, array $rd  )

Csoport beosztása egy szobába

Egy csoport minden tagját elhelyezi a megadott szobában.

Parameters:
array   $group:  A csoport, tömb a csoportba tartozó hallgatók azonosítóival
array   $rd:  A szoba adatait tartalmazó tömb


[ Top ]
is_group  [line 441]

bool is_group( array $g, array $newg  )

Csoport keresés csoportlistában

Eldönti, hogy a megadott csoportlistában szerepel-e már valamilyen csoport, benne van-e az adott csoporttömbben a $newg csoport.

Parameters:
array   $g:  A keresés alanya, csoporttöb
array   $newg:  A keresett csoport

API Tags:
Return:  true, ha megtalálható a $g csoportömbben a $newg, egyébként false


[ Top ]
make_2groups  [line 112]

array make_2groups( array $table, mixed $keys, int $stype, array $key  )

Kétfős csoportok kialakítása

A megadott adatok alapján létrehoz egy tömböt, amelyek két fős csoportokat tartalmaz. A csoportokat a $table tömb kölcsönös élei alapján rakja össze. Egy csoport többször is szerepelhet a kimeneti tömbben, ezt később még szűrni kell.

Parameters:
array   $table:  A kapcsolatokat tartalmazó táblázat
array   $key:  A $table indexeihez tartozó valódi felhasználói azonosítók (users.sid)
int   $stype:  A kapcsolat típusa. Jelenleg két részre van bonta: páros szoba és nem páros szoba

API Tags:
Return:  A kétfős csoportokat tartalamzó tömb


[ Top ]
make_ngroups  [line 175]

void make_ngroups( array $groups, array $table, array $students, int $spacemax  )

2-nél nagyobb létszámú csoportok létrehozása

A megkapott, kétfős csoportokat próbálja meg kibővíteni mindig egy-egy új hallgató hozzáadásával. Maximum $spacemax fős csoportokat hoz létre.

Parameters:
array   $groups:  Kiindulási csoportok
array   $table:  Kívánságmátrix
array   $students:  A kívánságmátrixban szereplő hallgatói azonosítók indexfolytonosan
int   $spacemax:  Maximum ennyi fős csoportokat kell létrehozni


[ Top ]
sort_groups  [line 292]

array sort_groups( array $groups  )

Csoportok sorrendezése

Sorrendezi a csoportokat, folyonos indexeléssel látja el mind a főtömböt, mind az egyes altömbök "users" tömbjét.

Parameters:
array   $groups:  Sorrendezni kívánt csoport tömbje

API Tags:
Return:  Rendezett csoportlista


[ Top ]
strip_not11_groups  [line 32]

array strip_not11_groups( array $groups, array $table, array $students, int $stype  )

Első-első kívánságot nem tartalmazó csoportok kiszűrése

Kiszűri azokat a csoportokat, amelyek 1-1-es jelölés esetén csak az egyik hallgatót tartalmazzák.

1-1-es jelölés: két diák egymást jelölte meg első helyen a kívánságlistájukban.

ST_HETEROGEN esetén azokat a csoportokat is kiszűri, amelyekben egyforma neműek vannak.

Parameters:
array   $groups:  A szűrendő csoportok
array   $table:  Használt kívánságmátrix
array   $students:  A kívánságmátrixban található hallgatói azonosítók folytonosan indexelve
int   $stype:  Fiú-Lány 1-1 kívánsot keresünk-e? Ha igen, akkor ST_HETEROGEN, más esetben ettől eltérő értéke legyen.

API Tags:
Return:  Megszűrt csoportlista


[ Top ]
uniq_groups  [line 261]

array uniq_groups( array $groups  )

Többször jelenlévő csoportok törlése

A függvény egy kivételével törli a $groups tömb azon elemeit, amelyek ["users"] altömbjének azonos elemei vannak. Folytonosan indexelt $groups tömb szükséges a helyes működéshez!

Parameters:
array   $groups:  Csoportlista

API Tags:
Return:  Megszűrt csoportlista


[ Top ]


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