source: trunk/index.php @ 783

Revision 783, 5.2 KB checked in by r2, 10 months ago (diff)

авторизация админа на закрытом сайте

  • Property svn:executable set to *
Line 
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?>
Note: See TracBrowser for help on using the repository browser.