| 1 | <?php |
|---|
| 2 | /******************************************************************************/ |
|---|
| 3 | // // |
|---|
| 4 | // InstantCMS v1.8 // |
|---|
| 5 | // http://www.instantcms.ru/ // |
|---|
| 6 | // // |
|---|
| 7 | // written by InstantCMS Team, 2007-2010 // |
|---|
| 8 | // produced by InstantSoft, (www.instantsoft.ru) // |
|---|
| 9 | // // |
|---|
| 10 | // LICENSED BY GNU/GPL v2 // |
|---|
| 11 | // // |
|---|
| 12 | /******************************************************************************/ |
|---|
| 13 | |
|---|
| 14 | Error_Reporting(E_ALL & ~E_NOTICE & ~E_WARNING); |
|---|
| 15 | setlocale(LC_ALL, 'ru_RU.CP1251'); |
|---|
| 16 | |
|---|
| 17 | define('PATH', $_SERVER['DOCUMENT_ROOT']); |
|---|
| 18 | |
|---|
| 19 | ////////////////////////////// Ïðîâåðÿåì ÷òî ñèñòåìà óñòàíîâëåíà ///////////////////////////// |
|---|
| 20 | |
|---|
| 21 | if(is_dir('install')||is_dir('migrate')) { |
|---|
| 22 | if (!file_exists(PATH.'/includes/config.inc.php')){ |
|---|
| 23 | header('location:/install/'); |
|---|
| 24 | } else { |
|---|
| 25 | include(PATH.'/core/messages/installation.html'); |
|---|
| 26 | die(); |
|---|
| 27 | } |
|---|
| 28 | } |
|---|
| 29 | |
|---|
| 30 | /////////////////////////////////// Ïîäãîòîâêà ////////////////////////////////////////////// |
|---|
| 31 | |
|---|
| 32 | define("VALID_CMS", 1); |
|---|
| 33 | session_start(); |
|---|
| 34 | |
|---|
| 35 | include('core/cms.php'); //ÿäðî |
|---|
| 36 | include(PATH.'/includes/config.inc.php'); //êîíôèã, îñòàâëåí äëÿ ñòàðûõ ïëàãèíîâ |
|---|
| 37 | |
|---|
| 38 | $inCore = cmsCore::getInstance(); |
|---|
| 39 | |
|---|
| 40 | define('HOST', 'http://' . $inCore->getHost()); |
|---|
| 41 | |
|---|
| 42 | /////////////////////////////////// Âêëþ÷àåì òàéìåð ///////////////////////////////////////// |
|---|
| 43 | |
|---|
| 44 | $inCore->startGenTimer(); |
|---|
| 45 | |
|---|
| 46 | ////////////////////////// Çàãðóæàåì íóæíûå êëàññû ////////////////////////////////////////// |
|---|
| 47 | |
|---|
| 48 | $inCore->loadClass('page'); //ñòðàíèöà |
|---|
| 49 | $inCore->loadClass('plugin'); //ïëàãèíû |
|---|
| 50 | $inCore->loadClass('user'); //ïîëüçîâàòåëü |
|---|
| 51 | $inCore->loadClass('actions'); //ëåíòà àêòèâíîñòè |
|---|
| 52 | |
|---|
| 53 | $inDB = cmsDatabase::getInstance(); |
|---|
| 54 | $inPage = cmsPage::getInstance(); |
|---|
| 55 | $inConf = cmsConfig::getInstance(); |
|---|
| 56 | $inUser = cmsUser::getInstance(); |
|---|
| 57 | |
|---|
| 58 | date_default_timezone_set($inConf->timezone); |
|---|
| 59 | |
|---|
| 60 | cmsCore::loadLanguage('lang'); //ãëàâíûé ÿçûêîâûé ôàéë |
|---|
| 61 | |
|---|
| 62 | $inUser->autoLogin(); //àâòîìàòè÷åñêè àâòîðèçóåì ïîëüçîâàòåëÿ, åñëè íàéäåí êóêèñ |
|---|
| 63 | |
|---|
| 64 | //ïðîâåðÿåì ÷òî ïîëüçîâàòåëü íå óäàëåí è íå çàáàíåí |
|---|
| 65 | if (!$inUser->update() && !$_SERVER['REQUEST_URI']!=='/logout') { $inCore->halt(); } |
|---|
| 66 | |
|---|
| 67 | //îïðåäåëÿåì çàãîëîâîê ãëàâíîé ñòðàíèöû |
|---|
| 68 | $home_title = $inConf->hometitle ? $inConf->hometitle : $inConf->sitename; |
|---|
| 69 | |
|---|
| 70 | //óñòàíàâëèâàåì çàãîëîâîê áðàóçåðà â íàçâàíèå ñàéòà |
|---|
| 71 | $inPage->setTitle( $inConf->sitename ); |
|---|
| 72 | |
|---|
| 73 | ////////////////////////// Ïðîâåðÿåì, âêëþ÷åí ëè ñàéò ////////////////////////// |
|---|
| 74 | |
|---|
| 75 | //Åñëè ñàéò âûêëþ÷åí è ïîëüçîâàòåëü íå àäìèíèñòðàòîð, |
|---|
| 76 | //òî ïîêàçûâàåì øàáëîí ñîîáùåíèÿ î òîì ÷òî ñàéò îòêëþ÷åí |
|---|
| 77 | if ( $inConf->siteoff && |
|---|
| 78 | !$inUser->is_admin && |
|---|
| 79 | $_SERVER['REQUEST_URI']!='/login' && |
|---|
| 80 | $_SERVER['REQUEST_URI']!='/logout' |
|---|
| 81 | ) { |
|---|
| 82 | $inPage->includeTemplateFile('special/siteoff.php'); |
|---|
| 83 | $inCore->halt(); |
|---|
| 84 | } |
|---|
| 85 | |
|---|
| 86 | //Åñëè ñàéò âûêëþ÷åí, íî ïîëüçîâàòåëü - àäìèíèñòðàòîð, |
|---|
| 87 | //òî âûâîäèì ïîëîñêó ñ ñîîáùåíèåì "Âíèìàíèå, ñàéò îòêëþ÷åí" |
|---|
| 88 | if ($inConf->siteoff && $inUser->is_admin) { |
|---|
| 89 | echo $inPage->siteOffNotify(); |
|---|
| 90 | } |
|---|
| 91 | |
|---|
| 92 | //////////////////////////// Ìîíèòîðèíã ïîëüçîâàòåëåé ////////////////////////// |
|---|
| 93 | |
|---|
| 94 | $inCore->onlineStats(); //îáíîâëÿåì ñòàòèñòèêó ïîñåùåíèé ñàéòà |
|---|
| 95 | |
|---|
| 96 | ////////////////////////////// Ãåíåðàöèÿ ñòðàíèöû ////////////////////////////// |
|---|
| 97 | |
|---|
| 98 | //Ïîëó÷àåì ID òåêóùåãî ïóíêòà ìåíþ |
|---|
| 99 | $menuid = $inCore->menuId(); |
|---|
| 100 | |
|---|
| 101 | //Ñòðîèì ãëóáèíîìåð |
|---|
| 102 | $inPage->addPathway($_LANG['PATH_HOME'], '/'); |
|---|
| 103 | $inPage->setTitle( $inCore->menuTitle() ); |
|---|
| 104 | if ($menuid > 1) { $inPage->addMenuPathway($menuid); } |
|---|
| 105 | |
|---|
| 106 | //Ïðîâåðÿåì äîñòóï ïîëüçîâàòåëÿ |
|---|
| 107 | //Åñëè ïðîâåðêà çàâåðøèòñÿ íåóäà÷åé, òî âûâîä êîìïîíåíòà áóäåò |
|---|
| 108 | //çàìåùåí ñîîáùåíèåì "Äîñòóï çàïðåùåí" |
|---|
| 109 | |
|---|
| 110 | |
|---|
| 111 | //Ñòðîèì òåëî ñòðàíèöû (çàïóñêàåì òåêóùèé êîìïîíåíò) |
|---|
| 112 | if ($inCore->checkMenuAccess()) $inCore->proceedBody(); |
|---|
| 113 | |
|---|
| 114 | //////////////////////////////////// Âûâîä øàáëîíà ///////////////////////////// |
|---|
| 115 | |
|---|
| 116 | //Ïðîâåðÿåì íóæíî ëè ïîêàçàòü âõîäíóþ ñòðàíèöó (splash) |
|---|
| 117 | if($inCore->isSplash()){ |
|---|
| 118 | //Ïîêàçûâàåì âõîäíóþ ñòðàíèöó |
|---|
| 119 | if (!$inPage->showSplash()){ |
|---|
| 120 | //Åñëè øàáëîí âõîäíîé ñòðàíèöû íå áûë íàéäåí, |
|---|
| 121 | //ïîêàçûâàåì îáû÷íûé øàáëîí ñàéòà |
|---|
| 122 | $inPage->showTemplate(); |
|---|
| 123 | } |
|---|
| 124 | } else { |
|---|
| 125 | //ïîêàçûâàåì øàáëîí ñàéòà |
|---|
| 126 | $inPage->showTemplate(); |
|---|
| 127 | } |
|---|
| 128 | |
|---|
| 129 | //////////////////////// Âû÷èñëÿåì è âûâîäèì âðåìÿ ãåíåðàöèè /////////////////// |
|---|
| 130 | |
|---|
| 131 | $time = $inCore->getGenTime(); |
|---|
| 132 | |
|---|
| 133 | echo '<!-- '.$_LANG['DEBUG_TIME_GEN_PAGE'].': '.number_format($time, 4).' '.$_LANG['DEBUG_SEC'].' -->'; |
|---|
| 134 | |
|---|
| 135 | //////////////////////// Î÷èùàåì âðåìåííûå ïåðåìåííûå ////////////////////////// |
|---|
| 136 | |
|---|
| 137 | $inCore->clearSessionTrash(); |
|---|
| 138 | |
|---|
| 139 | ?> |
|---|