$val) { $_REQUEST[$key] = addsl($val); } foreach ($_GET as $key => $val) { $_GET[$key] = addsl($val); } foreach ($_POST as $key => $val) { $_POST[$key] = addsl($val); } foreach ($_COOKIE as $key => $val) { $_COOKIE[$key] = addsl($val); } } // CONFIG require_once (dirname(__FILE__) . '/config_system.inc.php'); require_once (dirname(__FILE__) . '/config_projekt.inc.php'); require_once (rootDir . '_libs/common.inc.php'); // LOCALE setlocale(LC_ALL, locale); // BLEDY require_once (rootDir . '_libs/Wyjatki/BladKrytyczny.class.php'); function handleError($n, $m, $f, $l) { throw new BladKrytyczny("Wystąpił błąd!", "e_warning=" . E_WARNING . " num=" . $n . " msg=" . $m . " line=" . $l . " file=$f\n"); } set_error_handler('handleError', error_reporting); // ENGINE require_once (rootDir . '_libs/Session.class.php'); require_once (rootDir . '_libs/Wyjatki/Blad404.class.php'); require_once (rootDir . '_libs/Wyjatki/Blad403.class.php'); function __autoload($Name) { global $_AUTOLOAD; if (is_file(rootDir . $_AUTOLOAD[$Name])) { require_once (rootDir . $_AUTOLOAD[$Name]); return true; } else { throw new BladKrytyczny('Błąd podczas ładowania modułów!', "Nie znaleziono klasy: $Name."); } } class Engine { private static $instance; private function __clone() { } static function getInstance() { return ($i = &self::$instance) ? $i : $i = new self(); } // Tytuł strony private static $Tytul; public static function ustawTytul($Tytul) { self::$Tytul = $Tytul; return true; } public static function pobierzTytul() { return self::$Tytul; } private static $Jezyk; private static function ustawJezyk($Jezyk) { self::$Jezyk = $Jezyk; return true; } static function pobierzJezyk() { return self::$Jezyk; } static function pobierzSkrotJezyka() { global $_JEZYKI; return $_JEZYKI[self::$Jezyk]['Skrot']; } static function pobierzDostepneJezyki() { global $_JEZYKI; return $_JEZYKI; } private static $AktywneID; public static function ustawAktywneID($AktywneID) { self::$AktywneID = $AktywneID; return true; } public static function pobierzAktywneID() { return self::$AktywneID ? self::$AktywneID : 0; } private static $Temat; private static function ustawTemat($Temat) { self::$Temat = $Temat; return true; } static function pobierzTemat() { return self::$Temat; } public function pobierzListeSzablonow() { global $db; $result[0] = $db->query("SELECT * FROM `szablony` ORDER BY `NazwaSzablonu` ASC"); $aReturn = array(); while ($row[0] = $db->fetch_assoc($result[0])) { $aReturn[] = array( 'IDSzablonu' => $row[0]['IDSzablonu'], 'NazwaSzablonu' => $row[0]['NazwaSzablonu'], 'Schemat' => $row[0]['Schemat'], 'Domyslny' => $row[0]['Domyslny'] ); } return $aReturn; } private static $IDSzablonu; private static $SZABLON = array(); private static $REGIONY = array(); public static function ustawSzablon($IDSzablonu) { self::$IDSzablonu = $IDSzablonu; return true; } static function pobierzSzablon() { return self::$IDSzablonu; } static function wczytajSzablon($IDSzablonu) { global $db, $_SZABLONY_PANELU_ADMINISTRACYJNEGO; if ($IDSzablonu > 0) { $result[0] = $db->query("SELECT * FROM `szablony` WHERE `IDSzablonu`='" . $IDSzablonu . "' "); $row[0] = $db->fetch_assoc($result[0]); } else { // szablony ponizej 0 to szablony administracyjne, na razie nie ma ich w bazie // nie wiem czy w ogole beda, sie zobaczy $row[0] = $_SZABLONY_PANELU_ADMINISTRACYJNEGO[$IDSzablonu]; } if ($row[0]) { $aSzablon['NazwaSzablonu'] = $row[0]['NazwaSzablonu']; $aSzablon['Schemat'] = $row[0]['Schemat']; // wczytujemy wszystkie bloki ktore sa przypisane do tego szablonu if ($IDSzablonu > 0) { $aSzablon['Bloki'] = Engine::wczytajBlokiDoSzablonu($IDSzablonu); } self::$SZABLON = $aSzablon; return true; } else { return false; } } static function wczytajBlokiDoSzablonu($IDSzablonu, $Opcje = array()) { global $db; $where = ''; if (! $Opcje['Wszystkie']) { $where = ' AND `bdr`.`Status`=1'; } $result[0] = $db->query("SELECT * FROM `szablony_blokidoregionow` bdr,`szablony_bloki` b WHERE `b`.`IDBloku`=`bdr`.`IDBloku` AND `bdr`.`IDSzablonu`='" . $IDSzablonu . "' " . $where . " ORDER BY `bdr`.`Prio` ASC "); if ($db->num_rows($result[0]) > 0) { while ($row[0] = $db->fetch_assoc($result[0])) { $aBlok['IDBloku'] = $row[0]['IDBloku']; $aBlok['NazwaBloku'] = $row[0]['NazwaBloku']; $aBlok['TypBloku'] = $row[0]['TypBloku']; $aBlok['Kontener'] = $row[0]['Kontener']; $aBlok['Status'] = $row[0]['Status']; if ($row[0]['TypBloku'] == 1) { // bloku modulu, musimy zapisac info w ktorym regionie bedzie // pozniej napewno sie przyda :P self::ustawRegionGlowny($row[0]['Region']); } $aBloki[$row[0]['Region']][] = $aBlok; } return $aBloki; } else { return false; } } static function wczytajParametryBloku($IDBloku) { global $db; $aDANE = array(); $result[0] = $db->query("SELECT * FROM `szablony_bloki_parametry` WHERE `IDBloku`='" . $IDBloku . "' "); if ($db->num_rows($result[0]) > 0) { while ($row[0] = $db->fetch_assoc($result[0])) { $aDANE[$row[0]['Nazwa']] = $row[0]['Wartosc']; } } return $aDANE; } // tutaj bedziemy wrzucac odpalone moduly // bo moze sie przydadza w innym miejscu // np w kilku blokach na raz // w przypadku kiedy inicjowanie modulu bedzie wymagalo wczytania // wiekszej ilosci danych trzeba bedzie zrobic tak zeby raz uruchomiony modul juz tutaj siedzial // i z niego korzystac private static $MODULY = array(); // Tryb wyjscia // akcje ajaksowe albo wysylajace pliki // powinny zmienic ta wartosc // 1 - normalnie, smarty robi display na okncu // 2 - nienormalnie :P czyli displaja nie robi, // moze sobie akcja zrobic sama, albo wyslac w ogole cos innego // metoda Komunikat przywraca ta wartosc na 1 private static $TrybWyjscia = wyjTPL; public static function ustawTrybWyjscia($TrybWyjscia) { self::$TrybWyjscia = $TrybWyjscia; return true; } private static $RegionGlowny; public static function ustawRegionGlowny($RegionGlowny) { self::$RegionGlowny = $RegionGlowny; return true; } public static function pobierzRegionGlowny() { return self::$RegionGlowny; } private function uruchomPanelAdministracyjny() { global $db, $tpl, $user, $_MODULY, $_JEZYKI_SKROTY; if ($user->jestZalogowany() && $user->jestAdministratorem()) { if ($_GET['PowrotDoWersjiDev'] == 1) { header('Location: ' . siteURL); exit(); } if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0')) {throw new Blad404("Masz zbyt starą przeglądarke by móc się zalogować.
Aby sie zalogować skorzystaj z przeglądarki
Firefox, Opera lub Interenet Explorer w wersji 7 lub wyższej.
Przepraszamy ", '');} // wczytywanie standardowego szablonu dla admina // -2 to popup, np jakis modul moze go sobie zmienic jezeli potrzebuje popupa self::wczytajSzablon(- 1); // w admninie 1 region zawsze jest glownym, tym w ktorym odpalamy modul self::ustawRegionGlowny(1); $tpl->assign('aDostepneJezyki', Engine::pobierzDostepneJezyki()); if ($_REQUEST['Jezyk']) { // ustawiamy jezyk Session::set('Jezyk', $_REQUEST['Jezyk']); } if ($_JEZYKI_SKROTY[Session::get('Jezyk')]) { Engine::ustawJezyk($_JEZYKI_SKROTY[Session::get('Jezyk')]); } else { Engine::ustawJezyk(Konfiguracja::pobierzKonfiguracjeDoJezyka(0, 'domyslny_jezyk')); } if ($_GET['ID'] && ! $_GET['module']) { // ustawiamy z geta, ale jakis moduł może to jeszcze zmienić Engine::ustawAktywneID($_GET['ID'] ? $_GET['ID'] : 0); $aRouter = array(); if (Engine::pobierzAktywneID()) { $aRouter = Struktura::pobierzSzczegoly(Engine::pobierzAktywneID()); // ustawiamy tytul wg aktywnego id, modul moze to jeszcze zmienic Engine::ustawTytul(Struktura::pobierzTytul(Engine::pobierzAktywneID())); } } else { // tutaj odpalamy inne moduly takie ktore w stukturze nie wystepuja // nazwijmy je aplikacjami // np. system banerowy, konfigurator itp if ($_GET['module']) { $aRouter['Modul'] = $_GET['module']; } else { // domyslnie modul administracja $aRouter['Modul'] = 100; } $aRouter['Typ'] = 1; } // region 1 to w adminie glowny obszar dzialania self::$REGIONY[1] = new Region(1); if ($aRouter['Typ'] != 1) { // jezeli to nie jest moduł to pokazujemy komunikat o braku konfiguracji Engine::Komunikat('Ten moduł nie posiada możliwości konfiguracji.', array( 'Typ' => komINFORMACJA )); } if ($aRouter['Typ'] == 1) { $tmpKlasa = 'admin' . $_MODULY[$aRouter['Modul']]['Klasa']; self::$MODULY[Engine::pobierzAktywneID()] = new $tmpKlasa(Engine::pobierzAktywneID(), $_GET['action']); } if (self::$TrybWyjscia == wyjTPL) { if (self::$MODULY[Engine::pobierzAktywneID()]) { self::$REGIONY[1]->dodajBlok(array( 'TEMPLAT' => self::$MODULY[Engine::pobierzAktywneID()]->TEMPLAT, 'DANE' => self::$MODULY[Engine::pobierzAktywneID()]->DANE )); } $tpl->assign('REGION_1', self::$REGIONY[1]->pobierzBloki()); // pobieranie powinno byc na koncu w razie gdyby cos zmienilo AktywneID // albo jakas inna wartosc $aStruktura = Struktura::pobierzStruktureDoMenu(0); $tpl->assign('aStrukturaSerwisu', $aStruktura); $tpl->assign('AktywnyJezyk', Engine::pobierzJezyk()); $tpl->assign('Tytul', Engine::pobierzTytul()); if (Engine::pobierzAktywneID()) { $aRodzice = Struktura::pobierzRodzicow(Engine::pobierzAktywneID()); $tpl->assign('AktywneID_aRodzice', $aRodzice); $tpl->assign('AktywneID', Engine::pobierzAktywneID()); $tpl->assign('Sciezka', Struktura::pobierzSciezke(Engine::pobierzAktywneID())); $tpl->assign('Zajawka', Struktura::pobierzZajawke(Engine::pobierzAktywneID())); $tpl->assign('WlaczZajawke', 1); } else { $tpl->assign('Sciezka', self::$MODULY[Engine::pobierzAktywneID()]->Sciezka); } $tpl->display(self::$SZABLON['Schemat'] . '.admin.tpl'); } } else { $tpl->assign('PowrotDoWersjiDev', $_GET['PowrotDoWersjiDev']); // pokazujemy logowanie $tpl->display('login.admin.tpl'); } return true; } public function init() { global $db, $tpl, $user, $queue, $_MODULY, $_JEZYKI; $db = new Db(dbHost, dbUser, dbPassword, dbName, dbPersistent); $db->query("SET NAMES '" . dbCharset . "'"); // wczytywanie konfiguracji globalnej new Konfiguracja(); $tpl = new Smarty(); $tpl->template_dir = '_templates/'; $tpl->compile_dir = '_tmp/templates_c/'; $tpl->caching = false; $tpl->cache_dir = '_tmp/cache/'; $tpl->debugging = false; $tpl->compile_check = true; // jezeli wywoluje flash to ustawiami idsesji z GET // bo normalnie flash tych wartosic nie przekazuje // wymagane do poprawnego dzialania uploadu przez flasha if ($_SERVER['HTTP_USER_AGENT'] == 'Shockwave Flash') { if ($_GET['IDSesji']) { $_COOKIE['IDSesji'] = $_GET['IDSesji']; } } // Sesje Session::useCookies(true); Session::start('IDSesji'); // Uzytkownik $user = new User(); } private function __construct() { global $db, $tpl, $user, $queue, $_MODULY, $_JEZYKI; $Benchmark = new Benchmark(); $Benchmark->startTimer(); self::init(); $tpl->assign_by_ref('user', $user); if ($_SERVER['HTTP_HOST'] != siteHOST) { Header('Location: ' . siteURL); exit(); } if (isset($_REQUEST['Wyloguj'])) { $user->wyloguj(); } if ($_POST['Zaloguj']) { if (! $user->zaloguj($_POST['Login'], $_POST['Haslo'])) { $tpl->assign('aErrors', array( 'Logowanie' => 'Login lub hasło jest niepoprawne' )); } } // wrzucamy do smarty info o projekcie $tpl->assign('config_siteName', siteName); $tpl->assign('config_siteURL', siteURL); // TODO: jezeli do panelu to trzeba mu sprawdzic uprawnienia if (ADMIN === true) { $queue = new Queue(); if (isset($_REQUEST['Wyloguj'])) { Queue::Clear(); } //echo '
';
			//print_r(Queue::$queue);
			//echo '
';
			//$tpl->assign_by_ref('queue', $queue);
			//$queue->ReturnURL();
			//to co sie dzieje jezeli chce wejsc do panelu administracyjnego
			self::uruchomPanelAdministracyjny();
		}
		else
		{
			if (DEV === true)
			{
				if (! $user->jestZalogowany())
				{throw new Blad403('Aby uzyskać dostęp do wersji rozwojowej musisz się zalogować!
Logowanie', '');} } // to co sie dzieje jak klient wchodzi na stronę if ($_GET['module']) { $aRouter['Modul'] = $_GET['module']; $aRouter['ID'] = - 1; if ($_GET['Jezyk']) { $aRouter['Jezyk'] = $_GET['Jezyk']; } else { $aRouter['Jezyk'] = Konfiguracja::pobierzKonfiguracjeDoJezyka(0, 'domyslny_jezyk'); } $aRouter['AkcjaModulu'] = $_GET['action']; } else { $aRouter = Router::odczytajZadanie($_GET['Target']); } if (! $aRouter['Jezyk']) {throw new Blad404('', 'Nie ustawiono domyślnego języka!');} // ustawiamy w enginie wybrany jezyk Engine::ustawJezyk($aRouter['Jezyk']); Konfiguracja::wczytajKonfiguracje(Engine::pobierzJezyk()); if (! $aRouter['ID']) { // szukamy domyslnego wpisu dla danego jezyka $aRouter = array_merge(Struktura::pobierzDomyslny(Engine::pobierzJezyk()),$aRouter); } // TODO: POPRAWIĆ TE LINKI, ALIASY DO MODULY I LINKI DO STRONY GLOWNEJ // TE RZECZY NIE MOGA MIEC DZIECI W STRUKTURZE BO TO BYLOBY BEZ SENSU if ($aRouter['Typ'] == 5) { // katalog // pobieramy pierwsza podstrone do { $tmpID = Struktura::pobierzPierwszeDziecko($aRouter['ID']); if (! $tmpID) {throw new Blad404('', 'Nie znaleziono nic do wyświetlenia!');} $aRouter = Struktura::pobierzSzczegoly($tmpID); } while ($aRouter['Typ'] == 5); unset($tmpID); //print_r($aRouter); } Engine::ustawAktywneID($aRouter['ID']); // pobiera temat do danego jezyka Engine::ustawTemat(Konfiguracja::pobierzKonfiguracjeDoJezyka(Engine::pobierzJezyk(), 'temat')); if (file_exists(rootDir . '_locale/' . Engine::pobierzSkrotJezyka() . '/main.php')) { include_once (rootDir . '_locale/' . Engine::pobierzSkrotJezyka() . '/main.php'); } if (file_exists(rootDir . '_tematy/' . Engine::pobierzTemat() . '/locale/' . Engine::pobierzSkrotJezyka() . '/main.php')) { include_once (rootDir . '_tematy/' . Engine::pobierzTemat() . '/locale/' . Engine::pobierzSkrotJezyka() . '/main.php'); } $tpl->assign_by_ref('_LANG', $_LANG); $tpl->assign_by_ref('Jezyk', Engine::pobierzSkrotJezyka()); // ustawiamy tytul wg aktywnego id, modul moze to jeszcze zmienic Engine::ustawTytul(Struktura::pobierzTytul(Engine::pobierzAktywneID())); if (Engine::pobierzAktywneID() && $aRouter['Modul']) { // ustawiamy szablon, najpierw, bo modul moze go jeszcze zmienic Engine::ustawSzablon($aRouter['IDSzablonu']); // najpierw odpalamy wlsciwy modul a wrzucamy do szablonu // i odpalamy reszte blokow // dlatego, że odpalony modul moze jeszcze cos zmienic // np. zmienic szablon na inny (np popupa), wyslac pdfa itp // odpala wlasciwy modul $tmpKlasa = 'user' . $_MODULY[$aRouter['Modul']]['Klasa']; self::$MODULY[Engine::pobierzAktywneID()] = new $tmpKlasa(Engine::pobierzAktywneID(), $aRouter['AkcjaModulu']); $aBlokModulu = array( 'TEMPLAT' => self::$MODULY[Engine::pobierzAktywneID()]->TEMPLAT, 'DANE' => self::$MODULY[Engine::pobierzAktywneID()]->DANE ); if (self::$TrybWyjscia == wyjTPL) { // wczytujemy szablon if (! Engine::wczytajSzablon(Engine::pobierzSzablon())) {throw new Blad404('', 'Nie znaleziono szablonu!');} // dalej juz jedziemy po blokach if (self::$SZABLON['Bloki']) { foreach (self::$SZABLON['Bloki'] as $Region => $Bloki) { if (! self::$REGIONY[$Region]) { // Tworzymy region jezeli go jeszcze nie ma // pozniej najlepiej byloby gdyby system byl swiadomy ilosci // i numerom blokow w schemacie self::$REGIONY[$Region] = new Region($Region); } foreach ($Bloki as $Blok) { $aDANE = array(); $aDANE['IDBloku'] = $Blok['IDBloku']; if ($Blok['TypBloku'] == 1) { // blok modulu, moze wystapic tylko raz // wlasciwy modul jest odpalony pierwszy // tutaj go tylko pryzpisujemy $aBlokModulu['KONTENER'] = $Blok['Kontener']; $aBlokModulu['DANE']['IDBloku'] = $Blok['IDBloku']; self::$REGIONY[$Region]->dodajBlok($aBlokModulu); } if ($Blok['TypBloku'] == 2) { // blok menu // nalezy wczytac dane z tabeli _parametry // i przekazac do funkcji $aParametry = array(); $aParametry = self::wczytajParametryBloku($Blok['IDBloku']); if ($aParametry['StartID']) { $StartID = $aParametry['StartID']; } if ($aParametry['TrybWczytania'] == 5) { //menu podarzajace, w menu pojawiaja sie podstrony z aktywnego id $StartID = Engine::pobierzAktywneID(); } if ($aParametry['TrybWczytania'] == 2 && ! $aParametry['OdPoziomu']) { $StartID = 0; $aParametry['EndID'] = Engine::pobierzAktywneID(); } if ($aParametry['TrybWczytania'] == 2 && $aParametry['OdPoziomu']) { // tutaj musimy znalezc od jakiego id zaczynamy // czyli odpowiednie ID w rodzicach aktywnegoID gdzies Poziom==OdPoziomu // pobieramy od poziom n-1, bo inaczej pobierze OdPoziomu w dolu, a ja chce z danym // poziomem wlacznie $aRodzic = Struktura::pobierzRodzicaWgPoziomu(Engine::pobierzAktywneID(), $aParametry['OdPoziomu'] - 1); $StartID = $aRodzic['ID']; $aParametry['EndID'] = Engine::pobierzAktywneID(); } $aDANE['Struktura'] = Struktura::pobierzStruktureDoMenu($StartID, $aParametry); if ($aParametry['Zajawka'] == 1) { // wczytujemy zajawke i foto, tylko do artykulow foreach ((array) $aDANE['Struktura'] as $i => $Dane) { if ($Dane['Modul'] == 1) { $aDANE['Struktura'][$i]['Zajawka'] = Artykul::pobierzZajawke($Dane['ID']); $aDANE['Struktura'][$i]['Autor'] = Artykul::pobierzAutora($Dane['ID']); $aDANE['Struktura'][$i]['Zajawka_Zdjecie'] = ManagerPlikow::pobierzPlikDoPowiazania($Dane['ID'], 'Zajawka' . $Dane['ID'], 'Zdjecia', 1); } } } //print_r($aDANE); //print_r($aParametry); unset($StartID); self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 10) { // blok html, dosc prosty // nalezy wczytac dane z tabeli _parametry $aDANE = self::wczytajParametryBloku($Blok['IDBloku']); self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 15) { // blok ze skrótem aktualności $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { //$aParametry = self::wczytajParametryBloku($Blok['IDBloku']); //$tmpAktualnosci = new Aktualnosci($aParametry['ID']); // turystyczne wiesci z regionu $tmpAktualnosci = new Aktualnosci(32); $ListaAktualnosci = $tmpAktualnosci->pobierzListeAktualnosci(9, 1, 1); $aDANE['ListaAktualnosci_TWR'] = $ListaAktualnosci; unset($tmpAktualnosci); // z zycia rot $tmpAktualnosci = new Aktualnosci(33); $ListaAktualnosci = $tmpAktualnosci->pobierzListeAktualnosci(9, 1, 1); $aDANE['ListaAktualnosci_ROT'] = $ListaAktualnosci; unset($tmpAktualnosci); // targi turystyczne $tmpAktualnosci = new Aktualnosci(34); $ListaAktualnosci = $tmpAktualnosci->pobierzListeAktualnosci(9, 1, 1); $aDANE['ListaAktualnosci_TT'] = $ListaAktualnosci; unset($tmpAktualnosci); $aDANE['LinkDoStrony'] = $_JEZYKI[Engine::pobierzJezyk()]['Skrot'] . '/' . Struktura::pobierzPelnySymbol($aParametry['ID']); Cache::Set($CacheID, $aDANE); } else { $aDANE = Cache::Get($CacheID); } self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 16) { // PODPORTAL // blok ze skrótem aktualności $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $tmpAktualnosci = new Aktualnosci(24); $ListaAktualnosci = $tmpAktualnosci->pobierzListeAktualnosci(9, 1, 1); $aDANE['ListaAktualnosci'] = $ListaAktualnosci; unset($tmpAktualnosci); $aDANE['LinkDoStrony'] = $_JEZYKI[Engine::pobierzJezyk()]['Skrot'] . '/' . Struktura::pobierzPelnySymbol($aParametry['ID']); Cache::Set($CacheID, $aDANE); } else { $aDANE = Cache::Get($CacheID); } self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 30) { // blok atrakcje turystyczne $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $aDANE = self::wczytajParametryBloku($Blok['IDBloku']); $aDANE['Obiekty'] = InformatorTurystyczny::pobierzAtrakcjeTurystyczneNaStroneGlowna(); Cache::Set($CacheID, $aDANE); } else { $aDANE = Cache::Get($CacheID); } /// print_r($aDANE); self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 31) { // blok znajdz nocleg $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $aDANE = self::wczytajParametryBloku($Blok['IDBloku']); $aDANE['Obiekty'] = InformatorTurystyczny::pobierzNoclegiNaStroneGlowna(); Cache::Set($CacheID, $aDANE); } else { $aDANE = Cache::Get($CacheID); } // print_r($aDANE); self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 32) { // blok kalendarz imprez $aParametry = array(); $aParametry = self::wczytajParametryBloku($Blok['IDBloku']); if ($aParametry['IloscWydarzen']) { $aDANE['Wydarzenia'] = InformatorTurystyczny::pobierzWydarzeniaNaStroneGlowna($aParametry['IloscWydarzen']); } else { $aDANE['Wydarzenia'] = InformatorTurystyczny::pobierzWydarzeniaNaStroneGlowna(); } self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 33) { // blok informacje turystyczne $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $aDANE = self::wczytajParametryBloku($Blok['IDBloku']); $aDANE['Obiekty'] = InformatorTurystyczny::pobierzInformacjeTurystycznaNaStroneGlowna(); Cache::Set($CacheID, $aDANE); } else { $aDANE = Cache::Get($CacheID); } self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 34) { // blok hity $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $aDANE = self::wczytajParametryBloku($Blok['IDBloku']); $aDANE['Szlaki'] = InformatorTurystyczny::pobierzSzlakiTurystyczneNaStroneGlowna(); $aDANE['Oferty'] = InformatorTurystyczny::pobierzOfertyTurystyczneNaStroneGlowna(); $aDANE['Obiekty'] = InformatorTurystyczny::pobierzJakSpedzicCzasNaStroneGlowna(); Cache::Set($CacheID, $aDANE); unset($tmparray); } else { $aDANE = Cache::Get($CacheID); } //print_r($aDANE); self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 35) { // blok informacje o pogodzie $aDANE = self::wczytajParametryBloku($Blok['IDBloku']); $CacheID = 'Pogoda_Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $aDANE['Obiekt'] = Pogoda::pobierzPogodeNaStroneGlowna(); Cache::Set($CacheID, $aDANE['Obiekt']); unset($tmparray); } else { $aDANE['Obiekt'] = Cache::Get($CacheID); } self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 36) { // blok multimedia $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $aDANE = self::wczytajParametryBloku($Blok['IDBloku']); $aDANE['eKartki'] = EKartki::pobierzKartkiNaStroneGlowna(0, 4); $aDANE['Filmy'] = GaleriaVideo::pobierzWideoNaStroneGlowna(0, 4); $aDANE['Galerie'] = ListaGalerii::pobierzGalerieNaStroneGlowna(4); $aDANE['Tapety'] = Galeria::pobierzListeZdjec($aDANE['TapetyID'], 6, 1); $aDANE['eWydawnictwa'] = Pliki::pobierzPlikiNaStroneGlowna($aDANE['eWydawnictwaID'], 3); Cache::Set($CacheID, $aDANE); } else { $aDANE = Cache::Get($CacheID); } self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 23) { // blok sondy $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $aDANE = self::wczytajParametryBloku($Blok['IDBloku']); $aDANE['Obiekt'] = Sondy::pobierzSondeDoBloku(); Cache::Set($CacheID, $aDANE); } else { $aDANE = Cache::Get($CacheID); } self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 37) { // Blok galeria - 1 w boksie $aDANE['Galerie'] = ListaGalerii::pobierzGalerieNaStroneGlowna2(5); //print_r($aDANE); self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 38) { // Blok galerie - 4 w boksie $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $aDANE['Galerie'] = ListaGalerii::pobierzGalerieNaStroneGlowna3(4); Cache::Set($CacheID, $aDANE); } else { $aDANE = Cache::Get($CacheID); } //print_r($aDANE); self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } if ($Blok['TypBloku'] == 39) { // blok kalendarz imprez $CacheID = 'Blok_' . $Blok['TypBloku']; if (! Cache::IsCached($CacheID)) { $aDANE = self::wczytajParametryBloku($Blok['IDBloku']); $aDANE['Obiekty'] = InformatorTurystyczny::pobierzRozrywkaNaStroneGlowna(8); Cache::Set($CacheID, $aDANE); } else { $aDANE = Cache::Get($CacheID); } self::$REGIONY[$Region]->dodajBlok(array( 'DANE' => $aDANE, 'KONTENER' => $Blok['Kontener'] )); unset($aDANE); } } } } // Wrzucamy regiony do smarty foreach (self::$REGIONY as $Region => $Obiekt) { // echo self::$REGIONY[$Region]->pobierzBloki(); $tpl->assign('REGION_' . $Region, self::$REGIONY[$Region]->pobierzBloki()); } // wrzucamy tytul i meta $tpl->assign('Tytul', Engine::pobierzTytul()); $CacheID = 'Meta_' . Engine::pobierzAktywneID(); if (! Cache::IsCached($CacheID)) { if ($aRouter['IDMeta']) { // jak sa ustawione $aMeta = Struktura::pobierzMeta($aRouter['IDMeta']); } if (! $aMeta['MetaTitle']) { $aMeta['MetaTitle'] = Konfiguracja::pobierzKonfiguracjeDoJezyka(Engine::pobierzJezyk(), 'MetaTitle'); } if (! $aMeta['MetaKeywords']) { $aMeta['MetaKeywords'] = Konfiguracja::pobierzKonfiguracjeDoJezyka(Engine::pobierzJezyk(), 'MetaKeywords'); } if (! $aMeta['MetaDescription']) { $aMeta['MetaDescription'] = Konfiguracja::pobierzKonfiguracjeDoJezyka(Engine::pobierzJezyk(), 'MetaDescription'); } Cache::Set($CacheID, $aMeta); } else { $aMeta = Cache::Get($CacheID); } $tpl->assign('Meta', $aMeta); unset($aMeta); $tpl->assign('Sciezka', Struktura::pobierzSciezke(Engine::pobierzAktywneID())); $aRodzice = Struktura::pobierzRodzicow(Engine::pobierzAktywneID()); $tpl->assign('AktywneID_aRodzice', $aRodzice); $tpl->assign('AktywneID', Engine::pobierzAktywneID()); $tpl->assign('cmsTemat', Engine::pobierzTemat()); $tpl->display('../_tematy/' . Engine::pobierzTemat() . '/templates/' . self::$SZABLON['Schemat'] . '.sch.tpl', Engine::pobierzJezyk() . '_StronaGlowna'); if ((self::$TrybWyjscia == wyjTPL && DEBUG === true) || $user->jestZalogowany()) { // jezeli tryb wyjscia jest inni niz 1 to i tego nie pokazujemy bo mogloby cos spierdolic // potem to trzeba ukryc i pokazywac tylko w trybie debug w echo ''; } } } else { throw new Blad404('', 'Brak struktury!'); } } Session::updateIdle(); if (self::$TrybWyjscia == wyjTPL && DEBUG === true && $user->jestZalogowany()) { // jezeli tryb wyjscia jest inni niz 1 to i tego nie pokazujemy bo mogloby cos spierdolic // potem to trzeba ukryc i pokazywac tylko w trybie debug w echo ''; } } function Komunikat($Komunikat, $Opcje = array()) { /* * $opcje * 'Typ' => 'Ostrzezenie', // Informacja, Blad * 'Buttony' => array( * 'Tak' => '?ID='.$this->ID.'&action=Usun&IDArtykulu='.$IDArtykulu.'&step=2', * 'Nie' => 'history.back();' * ), */ // Komunikat zmienia tryb wyjscia na 1 bo stalo sie cos co trzeba zakomunikowac // i musi to wyjsc przez smarty self::ustawTrybWyjscia(wyjTPL); $DANE = array(); $DANE['Komunikat'] = $Komunikat; foreach ($Opcje as $N => $V) { $DANE['Opcje'][$N] = $V; } if (ADMIN === true) { self::$REGIONY[1]->dodajBlok(array( 'TEMPLAT' => 'Komunikaty/Komunikat.admin.tpl', 'DANE' => $DANE )); } else { // jakiś templat z danego tematu // wrzucamy do regionow glownego, czyli tego w ktorym jest blok modulu self::$REGIONY[self::pobierzRegionGlowny()]->dodajBlok(array( 'TEMPLAT' => '../tematy/' . Engine::pobierzTemat() . '/templates/Komunikaty/Komunikat.tpl', 'DANE' => $DANE )); } } } //echo '
';
// print_r(Queue::$queue);
// echo '
';
?>