#!/usr/bin/perl
#Чтение всех параметров передоваемых скрипту POST
read(STDIN, $modul::paramstring, $ENV{'CONTENT_LENGTH'});


use CGI;
require 'modul.pm';
require 'design.pm';
require 'pages.pm';
require 'goods.pm';
require 'control.pm';
require 'stat.pm';
require 'encode.pm';
require 'regist.pm';
require 'local.pm';
require 'seo.pm';


$modul::script_now=~s/$modul::cgi_alias//g;


stat::getstat();
$co=new CGI;



### Чтение систменых параметров
$mode=modul::get_param('mode',255,$co);$modul::mode=$mode;
$action=modul::get_param('action',255,$co);$modul::action=$action;
#print $co->header(-charset=>'windows-1251');print "!$action!";
$page=modul::get_param('page',255,$co);$modul::page=$page;
$pageref=$modul::params{'pageref'};

$viewstring1=$modul::params{'viewstring'};
$viewstring2=modul::get_param('viewstring',50*1024,$co);
if (length($viewstring1)>length($viewstring2)){$design::viewstring=$viewstring1;}
else{$design::viewstring=$viewstring2;}



$query=modul::get_param('query',255,$co);
$t=modul::get_param('t',255,$co);
$p=modul::get_param('p',255,$co);
$v=modul::get_param('v',255,$co);



$pp=$modul::pp;
$modul::noprinthead=0;

### Дать ссылку на переменные в другие модули
$design::co=$co;
$design::mode=$mode;
$design::page=$page;
$goods::co=$co;
$local::co=$co;

#Регистрация
regist::auto();

if ($modul::shop){
require 'shop.pm';$shop::co=$co;shop::write2cookies();
}
#$pages::co=$co;
#$pages::mode=$mode;
#$pages::page=$page;
$design::query=$query;
$design::t=$t;
$design::p=$p;
$design::v=$v;

### прочитать текущие дату и время
modul::gd();

### Работа стандартных функций по работе с посетителями сайта 
#Авторизация, обратная связь, гостевая книга, вопрос-ответ)
control::PERSONAL($co,$mode);
local::setcookie();

$design::co=$co;$design::mode=$mode;
$pages::co=$co;$pages::mode=$mode;
#$adminm::co=$co;$adminm::mode=$mode;
#$modul::co=$co;$modul::mode=$mode;


#SEO
$seo::co=$co;seo::check();
#SEO



if ($modul::headerprint eq ''){print $co->header(-charset=>'windows-1251');}
$resu=modul::test_refresh();if ($resu>0){exit;}


if ($mode eq '' && $modul::params{'mode'} ne ''){$mode=$modul::params{'mode'};$modul::mode=$mode;$design::mode=$mode;}

#modul::alert("$mode $page");

if ($mode eq '' && index($modul::paramstring,'mode')<0){design::compile_page();}
else{design::compile_mode();}

print "\n</body></html>";
