ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
// SPRAWDZENIE WERSJI PHP
if (version_compare(phpversion(), '5.1.0', '<') == true)
{
die('Tylko w PHP5');
}
if ((ini_get('magic_quotes_gpc')) === '0')
{
function addsl($value)
{
$value = is_array($value) ? array_map('addsl', $value) : addslashes($value);
return $value;
}
foreach ($_REQUEST as $key => $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 . "' AND
(
`Jezyk` IS NULL OR
`Jezyk`='" . Engine::pobierzJezyk() . "'
)
");
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'] && $_MODULY[$_GET['module']]['Klasa'])
{
$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, array(
'PominPodstronyModulow' => 1
));
$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)
{
$aParametry = array();
$aParametry = self::wczytajParametryBloku($Blok['IDBloku']);
$ListaAktualnosci = Aktualnosci::pobierzListe(3, 1, array(
'ID' => $aParametry['ID']
));
$aDANE['ListaAktualnosci'] = $ListaAktualnosci;
unset($ListaAktualnosci);
$aDANE['PrefixLinku'] = Struktura::pobierzPelnySymbol($aParametry['ID']);
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);
if (Engine::pobierzAktywneID())
{
$tpl->assign('Sciezka', Struktura::pobierzSciezke(Engine::pobierzAktywneID()));
$tpl->assign('cmsTemat', Engine::pobierzTemat());
$aRodzice = Struktura::pobierzRodzicow(Engine::pobierzAktywneID());
$tpl->assign('AktywneID_aRodzice', $aRodzice);
$tpl->assign('AktywneID', Engine::pobierzAktywneID());
$tpl->assign('Sciezka', Struktura::pobierzSciezke(Engine::pobierzAktywneID()));
}
if (Engine::pobierzAktywneID() == 1)
{
$tpl->assign('HitSzczegoly', Struktura::pobierzSzczegoly(108));
$tpl->assign('HitZajawka', Struktura::pobierzZajawke(108));
}
$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
));
}
}
}
?>
Fatal error: Uncaught Error: Class "Engine" not found in /home/hosting/www/konarskakrystyna.pl/www/index.php:3
Stack trace:
#0 /home/hosting/www/konarskakrystyna.pl/www/admin.php(6): require_once()
#1 {main}
thrown in /home/hosting/www/konarskakrystyna.pl/www/index.php on line 3