function Run() { //Load config $config = new Config(); $config->Load(); $displayManager = new DisplayManager(); //Create Login Manager $loginManager = new LoginManager(); $loginManager->Load(); $loginFail = false; if ($loginManager->WantLogin()) { $loginFail = !$loginManager->TryLogin(); if (!$loginFail) { header('location: index.php'); } } if ($loginManager->WantLogout()) { $loginManager->Logout(); } if (isset($_GET['want']) and $_GET['want'] == 'logo') { $logo = new Logo(); $logo->Generate(); return; } elseif (isset($_GET['want']) and $_GET['want'] == 'source') { $displayManager->DisplaySource(); } else { if ($loginManager->IsLogged()) { $imageManager = new ImageManager(); $images = $imageManager->GetImages(); $displayManager->DisplayImagesPage($images); } else { $displayManager->DisplayLoginPage($loginFail); } } }
public function getHtml() { $activeTab = $this->getActiveTab(); $code = '<div class=\'tab_header\'>'; foreach ($this->tabs as $key => $value) { $link = FajrUtils::linkUrl(array_merge($this->urlParams, array($this->name => $key))); if ($key == $activeTab['name']) { $class = 'tab_selected'; } else { $class = 'tab'; } $code .= '<span class=\'' . $class . '\'><a href="' . $link . '">' . $value['title'] . '</a></span>'; } $code .= '</div>'; try { $code .= $activeTab['content']->getHtml(); } catch (Exception $e) { DisplayManager::addException($e); } return $code; }
public static function setBase($base) { self::$base = $base; }
/** * Pomocou nastavených atribútov vygeneruje tabuľku v HTML formáte aj s linkami. * @return string Vygenerovaná tabuľka v HTML formáte. */ public function getHtml() { $id = DisplayManager::getUniqueHTMLId('table'); $table = "\n<!-- ******* Table ****** -->\n"; if (!is_array($this->data) || empty($this->data[0])) { $table .= '<font color="red"> Dáta pre túto tabuľku neboli nájdené.</font><hr class="space" />'; return $table; } $table .= "<table id=\"" . $id . "\"class='colstyle-sorting'>\n<thead>\n<tr>\n"; $columns = $this->getColumns(); foreach ($columns as $key => $value) { $table .= ' <th class="sortable">' . $value['title'] . "</th>\n"; } $table .= "</tr>\n"; $table .= "\n</thead>\n"; // Tu by mal byt TFOOT, vid nizsie $table .= "<tbody>\n"; foreach ($this->data as $row) { $table .= $row->getHtml(); } $table .= "</tbody>"; // FIXME: Tento TFOOT by mal byt podla specifikacie pred TBODY, // ale ked je tu, je mozne css-kom vypnut opakovanie // footer riadkov pri tlaci (inak by boli na vrchu tabulky). // Ak chceme mat vystup 100% validny, treba upravit sorter skript, // aby bral do uvahy nejaky class a zmenit tento TFOOT na TBODY. if ($this->footer !== null) { $table .= '<tfoot>'; foreach ($this->footer as $row) { $table .= $row->getHtml(); } $table .= "</tfoot>\n"; } $table .= "</table>\n"; return $table; }
public function getHtml() { $id = DisplayManager::getUniqueHTMLId('collapsible'); $html = '<div class="collapsible" id="' . $id . '"' . "\n"; $html .= '<h2 class="togglevisibility" onclick=\'toggleVisibility("' . $id . '");\' >'; $html .= $this->title . '</h2>' . "\n"; $html .= '<div class="collapsiblecontent">'; $html .= $this->content->getHtml(); $html .= '</div>'; $html .= "</div>\n\n\n"; if ($this->collapsed) { $html .= '<script type="text/javascript"> toggleVisibility("'; $html .= $id . "\") </script>\n"; } return $html; }
function Run() { $displayManager = new DisplayManager(); if (isset($_GET['want']) and $_GET['want'] == 'logo') { $logo = new Logo(); $logo->Generate(); return; } elseif (isset($_GET['want']) and $_GET['want'] == 'source') { $displayManager->DisplaySource(); } else { $displayManager->DisplaySitePage(); } }
public function run() { $timer = new SystemTimer(); $connection = null; $statsConnection = null; $rawStatsConnection = null; $trace = new NullTrace(); if (FajrConfig::get('Debug.Trace') === true) { $trace = new HtmlTrace($timer, "--Trace--"); } try { Input::prepare(); $login = Input::get('login'); Input::set('login', null); $krbpwd = Input::get('krbpwd'); Input::set('krbpwd', null); $cosignCookie = Input::get('cosignCookie'); Input::set('cosignCookie', null); // FIXME this should be refactored if ($login !== null && $krbpwd !== null || $cosignCookie !== null) { // we are going to log in, so we get a clean session // this needs to be done before a connection // is created, because we pass cookie file name // that contains session_id into AIS2CurlConnection // If we regenerated the session id afterwards, // we could not find the cookie file after a redirect FajrUtils::dropSession(); } $connection = new connection\CurlConnection(FajrUtils::getCookieFile()); $rawStatsConnection = new connection\StatsConnection($connection, new SystemTimer()); $connection = $rawStatsConnection; $connection = new connection\GzipDecompressingConnection($connection, FajrConfig::getDirectory('Path.Temporary')); $connection = new connection\AIS2ErrorCheckingConnection($connection); $statsConnection = new connection\StatsConnection($connection, new SystemTimer()); $connection = $statsConnection; $simpleConnection = new connection\HttpToSimpleConnectionAdapter($connection); AIS2Utils::connection($simpleConnection); // toto tu je docasne if (Input::get('logout') !== null) { FajrUtils::logout($connection); FajrUtils::redirect(); } if ($login !== null && $krbpwd !== null) { $loggedIn = FajrUtils::login(new CosignLogin($login, $krbpwd), $connection); $login = null; $krbpwd = null; } else { if ($cosignCookie !== null) { $loggedIn = FajrUtils::login(new AIS2CookieLogin($cosignCookie), $connection); $cosignCookie = null; } else { $loggedIn = FajrUtils::isLoggedIn(); } } if ($loggedIn) { DisplayManager::addContent('<div class=\'logout\'><a class="button negative" href="' . FajrUtils::linkUrl(array('logout' => true)) . '"> <img src="images/door_in.png" alt=""/>Odhlásiť</a></div>'); $adminStudia = new VSES017\AdministraciaStudiaScreen($trace, $simpleConnection); if (Input::get('studium') === null) { Input::set('studium', 0); } $zoznamStudii = $adminStudia->getZoznamStudii($trace->addChild("Get Zoznam Studii:")); $zoznamStudiiTable = new Table(TableDefinitions::zoznamStudii(), 'studium', array('tab' => Input::get('tab'))); $zoznamStudiiTable->addRows($zoznamStudii->getData()); $zoznamStudiiTable->setOption('selected_key', Input::get('studium')); $zoznamStudiiTable->setOption('collapsed', true); $zoznamStudiiCollapsible = new Collapsible(new HtmlHeader('Zoznam štúdií'), $zoznamStudiiTable, true); DisplayManager::addContent($zoznamStudiiCollapsible->getHtml()); $zapisneListy = $adminStudia->getZapisneListy($trace->addChild('getZapisneListy'), Input::get('studium')); $zapisneListyTable = new Table(TableDefinitions::zoznamZapisnychListov(), 'list', array('studium' => Input::get('studium'), 'tab' => Input::get('tab'))); if (Input::get('list') === null) { $tmp = $zapisneListy->getData(); $lastList = end($tmp); Input::set('list', $lastList['index']); } $zapisneListyTable->addRows($zapisneListy->getData()); $zapisneListyTable->setOption('selected_key', Input::get('list')); $zapisneListyTable->setOption('collapsed', true); $zapisneListyCollapsible = new Collapsible(new HtmlHeader('Zoznam zápisných listov'), $zapisneListyTable, true); DisplayManager::addContent($zapisneListyCollapsible->getHtml()); $terminyHodnotenia = new VSES017\TerminyHodnoteniaScreen($trace, $simpleConnection, $adminStudia->getIdZapisnyList($trace, Input::get('list')), $adminStudia->getIdStudium($trace, Input::get('list'))); if (Input::get('tab') === null) { Input::set('tab', 'TerminyHodnotenia'); } $tabs = new TabManager('tab', array('studium' => Input::get('studium'), 'list' => Input::get('list'))); // FIXME: chceme to nejak refaktorovat, aby sme nevytvarali zbytocne // objekty, ktore v konstruktore robia requesty $hodnoteniaScreen = new VSES017\HodnoteniaPriemeryScreen($trace, $simpleConnection, $adminStudia->getIdZapisnyList($trace, Input::get('list'))); $tabs->addTab('TerminyHodnotenia', 'Moje skúšky', new MojeTerminyHodnoteniaCallback($trace, $terminyHodnotenia, $hodnoteniaScreen)); $tabs->addTab('ZapisSkusok', 'Prihlásenie na skúšky', new ZoznamTerminovCallback($trace, $terminyHodnotenia, $hodnoteniaScreen)); $tabs->addTab('ZapisnyList', 'Zápisný list', new ZapisanePredmetyCallback($trace, $terminyHodnotenia)); $tabs->addTab('Hodnotenia', 'Hodnotenia/Priemery', new HodnoteniaCallback($trace, $hodnoteniaScreen)); $tabs->setActive(Input::get('tab')); DisplayManager::addContent($tabs->getHtml()); $version = '<div>Fajr verzia ' . hescape(Version::getVersionString()) . '</div>'; DisplayManager::addContent($version); $statistics = "<div> Fajr made " . $statsConnection->getTotalCount() . " requests and downloaded " . $rawStatsConnection->getTotalSize() . " bytes (" . $statsConnection->getTotalSize() . " bytes uncompressed) of data from AIS2 in " . sprintf("%.3f", $statsConnection->getTotalTime()) . " seconds. It took " . sprintf("%.3f", $timer->getElapsedTime()) . " seconds to generate this page.</div>"; DisplayManager::addContent($statistics); } else { DisplayManager::addContent('loginBox', true); DisplayManager::addContent('warnings', true); DisplayManager::addContent('terms', true); DisplayManager::addContent('credits', true); $version = "<div class='version prepend-1 span-21 last increase-line-height'>\n<strong>Verzia fajru:</strong> \n"; $version .= hescape(Version::getVersionString()); $version .= '</div>'; DisplayManager::addContent($version); DisplayManager::addContent(Version::getChangelog(), false); } } catch (AIS2LoginException $e) { if ($connection) { FajrUtils::logout($connection); } DisplayManager::addException($e); } catch (Exception $e) { DisplayManager::addException($e); } DisplayManager::setBase(hescape(FajrUtils::basePath())); $trace->tlog("everything done, generating html"); if (FajrConfig::get('Debug.Trace') === true) { $traceHtml = $trace->getHtml(); DisplayManager::addContent('<div class="span-24">' . $traceHtml . '<div> Trace size:' . sprintf("%.2f", strlen($traceHtml) / 1024.0 / 1024.0) . ' MB</div></div>'); } echo DisplayManager::display(); }
DisplayManager::addContent($tabs->getHtml()); $timeDiff = microtime(true) - $startTime; $version = '<div>Fajr verzia ' . hescape(Version::getVersionString()) . '</div>'; DisplayManager::addContent($version); $statistics = "<div> Fajr made " . $statsConnection->getTotalCount() . " requests and downloaded " . $rawStatsConnection->getTotalSize() . " bytes (" . $statsConnection->getTotalSize() . " bytes uncompressed) of data from AIS2 in " . sprintf("%.3f", $statsConnection->getTotalTime()) . " seconds. It took " . sprintf("%.3f", $timeDiff) . " seconds to generate this page.</div>"; DisplayManager::addContent($statistics); } else { DisplayManager::addContent('loginBox', true); DisplayManager::addContent('warnings', true); DisplayManager::addContent('terms', true); DisplayManager::addContent('credits', true); $version = "<div class='version prepend-1 span-21 last increase-line-height'>\n<strong>Verzia fajru:</strong> \n"; $version .= hescape(Version::getVersionString()); $version .= '</div>'; DisplayManager::addContent($version); DisplayManager::addContent(Version::getChangelog(), false); } } catch (AIS2LoginException $e) { if ($connection) { FajrUtils::logout($connection); } DisplayManager::addException($e); } catch (Exception $e) { DisplayManager::addException($e); } if ($debugConnection) { DisplayManager::dumpRequests($debugConnection->getRequests()); } DisplayManager::setBase(hescape(FajrUtils::basePath())); echo DisplayManager::display(); session_write_close();
function Run() { //Load config Config::SetInstance(new Config()); Config::GetInstance()->Load(); $albumManager = new AlbumManager(); $album = new Album(); $album->SetPath(Config::GetInstance()->GetPath()); LinkManager::SetInstance(new LinkManager()); LinkManager::GetInstance()->SetAlbum($album); $displayManager = new DisplayManager(); //Create Login Manager $loginManager = new LoginManager(); LoginManager::SetInstance($loginManager); $loginManager->Load(); $loginFail = false; if ($loginManager->WantLogin()) { $loginFail = !$loginManager->TryLogin(); if (!$loginFail) { header('location: ' . LinkManager::GetInstance()->Generate()); } } if ($loginManager->WantLogout()) { $loginManager->Logout(); } if (isset($_GET['want']) and $_GET['want'] == 'logo') { $logo = new Logo(); $logo->Generate(); return; } elseif (isset($_GET['want']) and $_GET['want'] == 'source') { $displayManager->DisplaySource(); } elseif (isset($_GET['want']) and $_GET['want'] == 'help') { $displayManager->DisplayHelpPage(); } else { if ($loginManager->IsAccessAllowed($album)) { $displayManager->DisplayImagesPage($album); } else { if ($loginManager->IsLogged()) { $displayManager->DisplayAccessRefusedPage($album); } else { $displayManager->DisplayLoginPage($album, $loginFail); } } } }