meraproject/content/merakomis/blocks/article/switch.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

64 lines
1.7 KiB
PHP

<?php
use themes\merakomis as Theme;
use themes\merakomis\Article;
use themes\merakomis\Block;
use themes\merakomis\Group;
$ID = intval(explode("_",trim(\SITE::$URL[2]))[0]);
$ARTICLE = null;
$GROUP = Group::getByTextID(\Site::$URL[1]);
if($ID){
$ARTICLE = Article::getByID($ID);
} else {
$r = Article::select([
\Query::WHERE => new \Where(\Where::_and([
\Where::_operator(Article::$VIS, '=', 1),
\Where::_operator(Article::$PORTAL, '=', \Site::$portal_id),
\Where::_operator(Article::$DEFAULT, '=', 1),
\Where::_inQuery(Article::$BLOCK,[
\Query::TABLES => [Block::$table_name],
\Query::SELECT => [Block::$ID],
\Query::WHERE => new \Where(\Where::_operator(BLock::$GROUP,'=',$GROUP[Group::$ID])),
])
])),
\Query::COUNT=>1,
]);
$ARTICLE = \DB::fetch($r);
}
if($ARTICLE[Article::$VIS]) {
$ID = $ARTICLE[Article::$ID];
$NAME = Article::getName($ARTICLE);
$a = Theme::getArticlesForGroup($GROUP[Group::$ID]);
$PREV = '';
$NEXT = '';
$KEY_NEXT = null;
$list = [];
foreach ($a as $b){
foreach ($b['a'] as $v){
$list[] = $v;
if($v[Article::$ID]== $ID){
$KEY_NEXT = count($list);
if(count($list)>1){
$PREV = Theme::getArticleLink($GROUP, $list[ count($list)-2 ] );
}
}
}
}
if( $list[$KEY_NEXT] ){
$NEXT = Theme::getArticleLink($GROUP, $list[ $KEY_NEXT] );
}
//$text = '<h1>'.$NAME.'</h1>'.$ARTICLE[Article::$TEXT];
$headers = Theme::getHeaders($ARTICLE[Article::$TEXT]);
} else {
\Site::redirect301("/");
}
include_once JADE_PATH . '/pages/article.php';