libarea/app/Controllers/HomeController.php

67 lines
2.1 KiB
PHP
Raw Normal View History

<?php
namespace App\Controllers;
use Hleb\Scheme\App\Controllers\MainController;
use Hleb\Constructor\Handlers\Request;
use App\Models\HomeModel;
use Config, Tpl, UserData, Meta, Translate;
class HomeController extends MainController
{
protected $limit = 20;
private $user;
public function __construct()
{
$this->user = UserData::get();
}
2021-12-24 06:12:37 +01:00
public function index($sheet, $type)
{
$page = Request::getInt('page');
$page = $page == 0 ? 1 : $page;
if ($sheet == 'main.deleted' && $this->user['trust_level'] != 10) {
redirect('/');
}
$latest_answers = HomeModel::latestAnswers($this->user);
$topics_user = HomeModel::subscription($this->user['id']);
$pagesCount = HomeModel::feedCount($topics_user, $this->user, $sheet);
$posts = HomeModel::feed($page, $this->limit, $topics_user, $this->user, $sheet);
$topics = [];
if (count($topics_user) == 0) {
$topics = \App\Models\FacetModel::advice($this->user['id']);
}
$meta_title = sprintf(Translate::get($sheet . '.title'), Config::get('meta.name'));
$meta_desc = sprintf(Translate::get($sheet . '.desc'), Config::get('meta.name'));
$m = [
'og' => true,
'imgurl' => Config::get('meta.img_path'),
'url' => $sheet == 'top' ? '/top' : '/',
];
return Tpl::agRender(
'/home',
[
'meta' => Meta::get($m, $meta_title, $meta_desc, 'main'),
'data' => [
'pagesCount' => ceil($pagesCount / $this->limit),
'pNum' => $page,
'sheet' => $sheet,
2021-12-24 06:12:37 +01:00
'type' => $type,
'latest_answers' => $latest_answers,
'topics_user' => $topics_user,
'posts' => $posts,
'topics' => $topics,
],
],
);
}
}