$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; } elseif (substr($Name, 0, 4) == 'Blok' && is_file(rootDir . '_libs/Bloki/' . $Name . '.class.php')) { require_once (rootDir . '_libs/Bloki/' . $Name . '.class.php'); 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 $SiteID; private static function ustawSiteID($SiteID) { self::$SiteID = $SiteID; return true; } static function pobierzSiteID() { return self::$SiteID; } static function pobierzSites() { global $_SITES; return $_SITES; } 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,$_SITES; $DostepneJezyki = array(); foreach($_JEZYKI as $k => $v) { if(in_array($k, $_SITES[Engine::pobierzSiteID()]['Jezyki'])) { $DostepneJezyki[$k]=$v; } } return $DostepneJezyki; } 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`='" . addslashes($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`='" . addslashes($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 //self::ustawRegionGlowny($row[0]['Region']); } $aBloki[$row[0]['Region']][] = $aBlok; } return $aBloki; } else { return false; } } // 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, $_SITES; if ($user->jestZalogowany() && $user->jestAdministratorem()) { if ($_GET['PowrotDoWersjiDev'] == 1) { Header('Location: http://' . $_SERVER['HTTP_HOST'] . ''); exit(); } if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0') !== FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0') === FALSE && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.0') === FALSE) { throw new Blad403("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('aSites', Engine::pobierzSites()); if ($_REQUEST['SiteID']) { // ustawiamy jezyk Session::set('SiteID', $_REQUEST['SiteID']); } if ($_SITES[Session::get('SiteID')]) { Engine::ustawSiteID(Session::get('SiteID')); } else { Engine::ustawSiteID(1); } // =================================== $aDostepneJezyki=Engine::pobierzDostepneJezyki(); $tpl->assign('aDostepneJezyki', $aDostepneJezyki); if ($_REQUEST['Jezyk']) { // ustawiamy jezyk Session::set('Jezyk', $_REQUEST['Jezyk']); } if ($aDostepneJezyki[$_JEZYKI_SKROTY[Session::get('Jezyk')]]) { Engine::ustawJezyk($_JEZYKI_SKROTY[Session::get('Jezyk')]); } else { Engine::ustawJezyk($_SITES[Engine::pobierzSiteID()]['DomyslnyJezyk']); } 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 $_GET['module'] = intval($_GET['module']); 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('AktywneSiteID', Engine::pobierzSiteID()); $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('WlaczEdycjeStrony', 1); $tpl->assign('Sciezka', Struktura::pobierzSciezke(Engine::pobierzAktywneID())); $tpl->assign('konf_Zajawka', Struktura::pobierzZajawke(Engine::pobierzAktywneID())); $tpl->assign('konf_Tagi', Tagi::pobierzTagiArr('ID_' . Engine::pobierzAktywneID())); $tpl->assign('WlaczZajawke', 1); } else { $tpl->assign('Sciezka', self::$MODULY[Engine::pobierzAktywneID()]->Sciezka); } $tpl->assign('cmsSzablon', Engine::pobierzSzablon()); $tpl->display(self::$SZABLON['Schemat'] . '.admin.tpl'); } } else { if (!$_COOKIE['COOKIETest'] && !$_GET['COOKIETest']) { setcookie('COOKIETest', 1, time() + 60 * 60 * 24 * 30); Header('Location: http://' . $_SERVER['HTTP_HOST'] . '' . $_SERVER['REQUEST_URI'] . '?COOKIETest=1&' . ($_GET['PowrotDoWersjiDev'] ? 'PowrotDoWersjiDev=1' : '')); exit; } $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, $_SITES; $Benchmark = new Benchmark(); $Benchmark->startTimer(); self::init(); $tpl->assign_by_ref('user', $user); //if ($_SERVER['HTTP_HOST'] != siteHOST) //{ // Header('Location: ' . siteURL); // exit(); //} // wrzucamy do smarty info o projekcie $tpl->assign('config_siteName', siteName); //$tpl->assign('config_siteURL', siteURL); $SiteID = Router::odczytajSiteID($_SERVER['HTTP_HOST']); if ($SiteID) { self::ustawSiteID($SiteID); if ($_SITES[self::pobierzSiteID()]['GlownaDomena'] != $_SERVER['HTTP_HOST']) { Header('Location: http://' . $_SITES[self::pobierzSiteID()]['GlownaDomena'] . '' . $_SERVER['REQUEST_URI']); exit(); } else { $tpl->assign('config_siteURL', 'http://' . $_SITES[self::pobierzSiteID()]['GlownaDomena'] . '/'); } } else { // jezeli domena nie jest rozpoznana to redirect na glownyadres pierwszego sajtu Header('Location: http://' . $_SITES[1]['GlownaDomena'] . ''); exit(); } if (!$user->jestZalogowany()) { if (DEV === true) { $tpl->assign('authOstatnieLogowanie', 1); } else { $authOstatnieLogowanie = Log::SprawdzOstatnieLogowanie($_SERVER['REMOTE_ADDR']); $tpl->assign('authOstatnieLogowanie', Log::SprawdzOstatnieLogowanie($_SERVER['REMOTE_ADDR'])); } } if (isset($_REQUEST['Wyloguj']) && !$_POST['Zaloguj']) { $user->wyloguj(); $tpl->assign('aErrors', array( 'Wylogowanie' => 'Nastąpiło poprawne wylogowanie z systemu' )); } if ($_POST['Zaloguj']) { $_POST['Captcha'] = htmlspecialchars(stripslashes($_POST['Captcha'])); if (ADMIN === true && DEV === false && $authOstatnieLogowanie == 2 && !Captcha::sprawdzCaptcha($_POST['Captcha'])) { $tpl->assign('aErrors', array( 'Logowanie' => 'Nieprawidłowy token' )); } else { if (!$user->zaloguj($_POST['Login'], $_POST['Haslo'])) { $tpl->assign('aErrors', array( 'Logowanie' => 'Login lub hasło jest niepoprawne' )); if (DEV === false) { $tpl->assign('authOstatnieLogowanie', 2); } } } } if (ADMIN === true) { $queue = new Queue(); if (isset($_REQUEST['Wyloguj'])) { Queue::Clear(); } 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ę $_GET['module'] = intval($_GET['module']); if ($_GET['module'] && $_MODULY[$_GET['module']]) { $aRouter['Modul'] = $_GET['module']; $aRouter['ID'] = - 1; if ($_GET['Jezyk']) { $aRouter['Jezyk'] = $_GET['Jezyk']; } else { $aRouter['Jezyk'] = $_SITES[Engine::pobierzSiteID()]['DomyslnyJezyk']; //$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); } if ($aRouter['Typ'] == 3) { // link do podstrony // przekierowujemy header('Location: ' . (strpos($aRouter['Link'], 'http://') !== FALSE ? $aRouter['Link'] : (($aRouter['Link'][0] == '/' ? '' : '/') . $aRouter['Link']))); exit(); } 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) { 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); } else { $tmpKlasa = 'Blok_' . $Blok['TypBloku']; self::$REGIONY[$Region]->dodajBlok(new $tmpKlasa($Blok)); } } } } // 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_by_ref('user', $user); 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())); $tpl->assign('cmsSzablon', Engine::pobierzSzablon()); } $tpl->assign('cmsTemat', Engine::pobierzTemat()); $tpl->display('../_tematy/' . Engine::pobierzTemat() . '/templates/' . self::$SZABLON['Schemat'] . '.sch.tpl', Engine::pobierzJezyk() . '_StronaGlowna'); } } 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.user.tpl', 'DANE' => $DANE )); } } } ?>