public function getHtml() { $predmetyZapisnehoListu = $this->skusky->getPredmetyZapisnehoListu(); $predmetyZapisnehoListuTable = new Table(TableDefinitions::predmetyZapisnehoListu()); $predmetyZapisnehoListuCollapsible = new Collapsible('Predmety zápisného listu', $predmetyZapisnehoListuTable); $kreditovCelkomLeto = 0; $kreditovCelkomZima = 0; $pocetPredmetovLeto = 0; $pocetPredmetovZima = 0; foreach (Sorter::sort($predmetyZapisnehoListu->getData(), array("semester" => -1, "nazov" => 1)) as $row) { if ($row['semester'] == 'L') { $pocetPredmetovLeto += 1; $kreditovCelkomLeto += $row['kredit']; $class = 'leto'; } else { $pocetPredmetovZima += 1; $kreditovCelkomZima += $row['kredit']; $class = 'zima'; } $predmetyZapisnehoListuTable->addRow($row, array('class' => $class)); } $pocetPredmetovText = 'Celkom '; $pocetPredmetovText .= FajrUtils::formatPlural($pocetPredmetovLeto + $pocetPredmetovZima, '0 predmetov', '1 predmet', '%d predmety', '%d predmetov'); if ($pocetPredmetovLeto > 0 && $pocetPredmetovZima > 0) { $pocetPredmetovText .= sprintf(' (%d v zime, %d v lete)', $pocetPredmetovZima, $pocetPredmetovLeto); } $kreditovCelkomText = '' . ($kreditovCelkomLeto + $kreditovCelkomZima); if ($kreditovCelkomLeto > 0 && $kreditovCelkomZima > 0) { $kreditovCelkomText .= sprintf(' (%d+%d)', $kreditovCelkomZima, $kreditovCelkomLeto); } $predmetyZapisnehoListuTable->addFooter(array('nazov' => $pocetPredmetovText, 'kredit' => $kreditovCelkomText), array()); $predmetyZapisnehoListuTable->setUrlParams(array('studium' => Input::get('studium'), 'list' => Input::get('list'))); return $predmetyZapisnehoListuTable->getHtml(); }