Last active
March 6, 2018 01:36
-
-
Save davidvavra/fa2be8db788c8a19fad4a0447cb4a5ee to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Vrátí html kód pro přihlášení / odhlášení / informaci o zaplněnosti pro | |
* daného uživatele. Pokud není zadán, vrací prázdný řetězec. | |
* @todo v rodině instancí maximálně jedno přihlášení? | |
* @todo konstanty pro jména POST proměnných? viz prihlasovatkoZpracuj | |
*/ | |
function prihlasovatko(Uzivatel $u = null, $parametry = 0) { | |
$out = ''; | |
if($u && $u->gcPrihlasen() && $this->prihlasovatelna($parametry)) { | |
if (($stav = $this->prihlasenStav($u)) > -1) { | |
if ($stav == 0 || $parametry & self::ZPETNE) | |
$out .= | |
'<form method="post" style="display:inline">' . | |
'<input type="hidden" name="odhlasit" value="' . $this->id() . '">' . | |
'<a href="#" onclick="$(this).parent().submit(); return false">odhlásit</a>' . | |
'</form>'; | |
if ($stav == 1) $out .= '<em>účast</em>'; | |
if ($stav == 2) $out .= '<em>jako náhradník</em>'; | |
if ($stav == 3) $out .= '<em>neúčast</em>'; | |
if ($stav == 4) $out .= '<em>pozdní odhlášení</em>'; | |
} elseif ($u->organizuje($this)) { | |
$out = ''; | |
} elseif ($this->a['zamcel']) { | |
$out = '🔒'; //zámek | |
} else { | |
$volno = $this->volno(); | |
if ($volno == 'u' || $volno == $u->pohlavi()) | |
$out = | |
'<form method="post" style="display:inline">' . | |
'<input type="hidden" name="prihlasit" value="' . $this->id() . '">' . | |
'<a href="#" onclick="$(this).parent().submit(); return false">přihlásit</a>' . | |
'</form>'; | |
elseif ($volno == 'f') | |
$out = 'pouze ženská místa'; | |
elseif ($volno == 'm') | |
$out = 'pouze mužská místa'; | |
else { | |
if ($u->prihlasenJakoNahradnikNa($this)) { | |
$out = | |
'<form method="post" style="display:inline">' . | |
'<input type="hidden" name="odhlasNahradnika" value="' . $this->id() . '">' . | |
'<a href="#" onclick="$(this).parent().submit(); return false">odhlásit jako náhradník</a>' . | |
'</form>'; | |
} else { | |
$out = | |
'<form method="post" style="display:inline">' . | |
'<input type="hidden" name="prihlasNahradnika" value="' . $this->id() . '">' . | |
'<a href="#" onclick="$(this).parent().submit(); return false">přihlásit jako náhradník</a>' . | |
'</form>'; | |
} | |
} | |
} | |
} | |
if($parametry & self::PLUSMINUS_KAZDY) { | |
$out .= ' ' . $this->plusminus($u); | |
} | |
return $out; | |
} | |
/** Zpracuje post data z přihlašovátka. Pokud došlo ke změně, vyvolá reload */ | |
static function prihlasovatkoZpracuj(Uzivatel $u = null, $parametry = 0) | |
{ | |
if(post('prihlasit')) { | |
self::zId(post('prihlasit'))->prihlas($u, $parametry); | |
back(); | |
} | |
if(post('odhlasit')) { | |
$bezPokut = $parametry & self::ZPETNE ? self::BEZ_POKUT : 0; // v případě zpětných změn bez pokut | |
self::zId(post('odhlasit'))->odhlas($u, $bezPokut); | |
back(); | |
} | |
if(post('prihlasNahradnika')) { | |
self::zId(post('prihlasNahradnika'))->prihlasNahradnika($u); | |
back(); | |
} | |
if(post('odhlasNahradnika')) { | |
self::zId(post('odhlasNahradnika'))->odhlasNahradnika($u); | |
back(); | |
} | |
if($parametry & self::PLUSMINUS_KAZDY) { | |
self::plusminusZpracuj($u, $parametry); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment