meraproject/content/merakomis/index.php
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

251 lines
9.2 KiB
PHP

<?
use core\site\structure\HTMLPage as Page;
use themes\Merakomis;
use themes\Merakomis\Emp;
$PAGE = new \core\site\structure\HTMLPage;
$PAGE::addCrumb('Главная',\Site::sectionUrl());
$BLOCKS_PATH = dirname(__FILE__).'/blocks/';
$JADE_PATH = dirname(__FILE__).'/jade/';
define(BLOCKS_PATH,$BLOCKS_PATH);
define(JADE_PATH, $JADE_PATH);
$THEME_URL = \Site::$themeAbsPath;
$IMAGE_URL = \Site::$themeAbsPath.'img/';
$SECTION_URL = \Site::sectionUrl('');
$TEST_IMAGE = '/content/merakomru/pics/test.jpg';
/*
// Показывать ли все ошибки
error_reporting(E_ALL);
ini_set('display_errors',true);
/*/
ini_set('display_errors','Off');
/**/
if($_GET['emp']){
//*
// Показывать ли все ошибки
error_reporting(E_ALL);
ini_set('display_errors',true);
/*/
ini_set('display_errors','Off');
/**/
$r = Emp::insert([
Emp::$LOGIN => 'test',
Emp::$PASSWORD => $pass = 'test',
Emp::$TYPE => Emp\structure\eEmpType::ADMIN,
]);
$id = $r->id;
$C = Emp::getByID($id);
$C[Emp::$PASSWORD] = $pass;
$hash = Emp::hash($C);
$r = Emp::updateById($id,[Emp::$PASSWORD=>$hash]);
}
if($_GET['install']){
//*
// Показывать ли все ошибки
error_reporting(E_ALL);
ini_set('display_errors',true);
/*/
ini_set('display_errors','Off');
/**/
$r = Emp::insert([
Emp::$LOGIN => 'test@test.ru',
Emp::$PASSWORD => $pass = 'test',
Emp::$TYPE => Emp\structure\eEmpType::ADMIN,
Emp::$ACCEPT => 1,
]);
echo '<pre>';
echo var_dump($r);
echo '</pre>';
$id = $r->id;
$C = Emp::getByID($id);
$C[Emp::$PASSWORD] = $pass;
$hash = Emp::hash($C);
$r = Emp::updateById($id,[Emp::$PASSWORD=>$hash]);
echo '<pre>';
echo var_dump($id,$r);
echo '</pre>';
exit;
}
if($_GET['migrate']) {
echo 'start migrate<br/>';
//*
// Показывать ли все ошибки
error_reporting(E_ERROR);
ini_set('display_errors',true);
/*/
ini_set('display_errors','Off');
/**/
Merakomis::migrate();
$r = \themes\merakomis\Time::delete(new \Where(\Where::_operator(\themes\merakomis\Time::$DURATION,'=',0)));
echo '<pre>';
echo var_dump($r);
echo '</pre>';
echo 'end migrate<br/>';
exit;
}
Page::$favicon = Site::$themeAbsPath . "/favicon.svg";
//PAGE::addStyleCode('<style>'.file_get_contents( __DIR__ . "/css/style.css" ).'</style>');
Page::addStyleCode('
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap" rel="stylesheet">
');
if(Emp::isMeAccept()){
Page::addStyle('https://fonts.googleapis.com/icon?family=Material+Icons');
Page::addStyle('https://fonts.googleapis.com/icon?family=Material+Icons+Outlined');
Page::addStyle('https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/css/simple-line-icons.css');
Page::addStyleCode('<link rel="preconnect" href="https://fonts.gstatic.com">'.'
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;600;700;800&display=swap" rel="stylesheet">');
Page::addMetaCode('<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>');
Page::addTitle('MerakomRu.CMS');
if (Emp::$IS_AUTH) {
//if(Emp::isAdmin()) {
//Page::addScript(FixgardenCRM::getLastReactJSPath().'app.js');
//Page::addStyle(\Site::$themeAbsPath . 'css/panel.css');
Page::addStyle(\Site::$themeAbsPath . 'css/panel20251024.css');
Page::addBodyText('<div id="app"></div>');
Page::addBodyText('<script src="' . Merakomis::getLastReactJSPath() . 'app.js"></script>');
//}
} else {
PAGE::addStyle(Site::$themeAbsPath . "css/source.css");
//Page::addStyle(\Site::$themeAbsPath.'css/style.css');
PAGE::addScript("/lib/js/fastdom.js");
PAGE::addScript("/lib/js/jquery-3.3.1.min.js");
//Page::addScript('/content/merakomru/js/jquery.touchSwipe.min.js');
Page::addScript('/lib/js/bws/ui.js');
Page::addScript('/lib/js/mask.js');
//Page::addStyle('/lib/js/bws/ui.css');
Page::addScript('/lib/js/bws/form.js');
Page::addScript(\Site::$themeAbsPath.'js/all.js');
Page::addStyle('/lib/js/owlcarousel/owl.carousel.css');
Page::addStyle('/lib/js/owlcarousel/owl.theme.default.css');
Page::addScript('/lib/js/owlcarousel/owl.carousel.js');
//Page::addScript('https://owlcarousel2.github.io/OwlCarousel2/assets/owlcarousel/owl.carousel.js');
Page::addScript('/lib/js/fancybox3/dist/jquery.fancybox.min.js');
Page::addStyle('/lib/js/fancybox3/dist/jquery.fancybox.min.css');
ob_start();
include_once __DIR__.'/jade/admin/auth.php';
Page::addBodyText(ob_get_clean());
}
echo Page::getPage();
} else {
if (Site::$justContent) {
ob_start();
include_once('blocks/content.php');
Page::addBodyText(ob_get_clean());
$res = new stdClass();
$res->content = Page::getBodyContent();
$res->title = htmlspecialchars_decode(Page::getTitleText());
$res->data = Page::$data;
$res->time_compile = microtime(true) - $GLOBALS['start_engine'];
$res->time_bd = \DB::$total_time;
$res->keywords = Page::$keywords;
$res->description = Page::$description;
//$res->time_compile = $GLOBALS['start_engine'];
echo je($res);
} else {
$cache_time = date('YmdH');
Page::addScriptCode("<script>function detectIEEdge() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf('MSIE ');
if (msie > 0) {
// IE 10 or older => return version number
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
}
var trident = ua.indexOf('Trident/');
if (trident > 0) {
// IE 11 => return version number
var rv = ua.indexOf('rv:');
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
}
var edge = ua.indexOf('Edge/');
if (edge > 0) {
// Edge => return version number
return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
}
// other browser
return false;
}
var isIE = detectIEEdge();
if(isIE!==false){
window.location.href='https://support.microsoft.com/ru-ru/topic/%d1%8d%d1%82%d0%be%d1%82-%d0%b2%d0%b5%d0%b1-%d1%81%d0%b0%d0%b9%d1%82-%d0%b1%d1%83%d0%b4%d0%b5%d1%82-%d0%bb%d1%83%d1%87%d1%88%d0%b5-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d1%82%d1%8c-%d0%b2-microsoft-edge-160fa918-d581-4932-9e4e-1075c4713595?ui=ru-ru&rs=ru-ru&ad=ru'
}
</script>
");
PAGE::addScript("/lib/js/fastdom.js");
PAGE::addScript("/lib/js/jquery-3.3.1.min.js");
//Page::addScript('/content/merakomru/js/jquery.touchSwipe.min.js');
Page::addScript('/lib/js/bws/ui.js');
Page::addScript('/lib/js/mask.js');
Page::addStyle('/lib/js/bws/ui.css');
PAGE::addScript("/lib/js/jquery.forms.js");
PAGE::addScript("/lib/js/detect.browser.js");
Page::addScript('/lib/js/bws/form.js');
Page::addStyle('/lib/js/owlcarousel/owl.carousel.css');
Page::addStyle('/lib/js/owlcarousel/owl.theme.default.css');
Page::addScript('/lib/js/owlcarousel/owl.carousel.js');
Page::addScript('/lib/js/fancybox3/dist/jquery.fancybox.min.js');
Page::addStyle('/lib/js/fancybox3/dist/jquery.fancybox.min.css');
//Page::addStyle('https://use.typekit.net/rkh1nnt.css" rel="stylesheet');
//Page::addStyle('https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;700&display=swap" rel="stylesheet');
//Page::addStyle('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&family=Rubik:wght@400;500;700&display=swap" rel="stylesheet');
//Page::addStyle('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@300;400;500;600&family=Rubik:wght@400;500;700&display=swap" rel="stylesheet');
PAGE::addStyle(Site::$themeAbsPath . "css/source.css");
//Page::addScript(Site::$themeAbsPath . "js/jquery.animateNumber.min.js");
Page::addScript(Site::$themeAbsPath . "js/all" . $cache_time . ".js");
Page::addMetaCode('<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>');
\ms\portal\Script::addToPageHtml(\ms\ms\structure\msTo::SECTION, \Site::$section_id);
//Page::$favicon = Image::imageResize(RotarBlog::$FAVICON[Image::$URL],64,0,100,['crop'=>'center']);
ob_start();
echo '<div id="content">';
include_once(dirname(__FILE__) . '/blocks/content.php');
echo '</div>';
if(Emp::$IS_AUTH and false) {
echo '<div id="mob_footer">';
include($JADE_PATH . '/blocks/footer.php');
echo '<div>';
}
Page::addBodyText(ob_get_clean());
if (\Site::$URL[0] == '') {
Page::addBodyClass('main');
}
echo Page::getPage();
}
}