2021-07-08 21:18:08 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Controllers;
|
2021-08-01 20:43:50 +02:00
|
|
|
|
2022-10-16 22:22:22 +02:00
|
|
|
use Hleb\Constructor\Handlers\Request;
|
2023-01-31 19:53:02 +01:00
|
|
|
use App\Services\Meta\Home;
|
2023-01-09 05:18:00 +01:00
|
|
|
use App\Models\HomeModel;
|
2021-07-08 21:18:08 +02:00
|
|
|
|
2022-05-14 17:22:42 +02:00
|
|
|
class HomeController extends Controller
|
2021-07-08 21:18:08 +02:00
|
|
|
{
|
2022-05-11 11:29:37 +02:00
|
|
|
public function index($sheet)
|
|
|
|
{
|
2022-09-08 12:46:37 +02:00
|
|
|
// Topics signed by the participant. If a guest, then default.
|
|
|
|
// Темы на которые подписан участник. Если гость, то дефолтные.
|
2023-01-05 15:42:35 +01:00
|
|
|
$topics = \App\Models\FacetModel::advice();
|
2021-07-08 21:18:08 +02:00
|
|
|
|
2022-05-14 17:22:42 +02:00
|
|
|
return $this->render(
|
2021-10-27 22:11:03 +02:00
|
|
|
'/home',
|
|
|
|
[
|
2023-01-31 19:53:02 +01:00
|
|
|
'meta' => Home::metadata($sheet),
|
2021-10-27 22:11:03 +02:00
|
|
|
'data' => [
|
2023-10-19 02:38:52 +02:00
|
|
|
'pagesCount' => HomeModel::feedCount($sheet),
|
2022-05-14 17:22:42 +02:00
|
|
|
'pNum' => $this->pageNumber,
|
2021-10-27 22:11:03 +02:00
|
|
|
'sheet' => $sheet,
|
2022-05-15 07:33:57 +02:00
|
|
|
'topics' => $topics,
|
2023-10-19 02:38:52 +02:00
|
|
|
'type' => 'main',
|
2023-11-20 01:24:46 +01:00
|
|
|
'latest_comments' => HomeModel::latestComments(),
|
2023-10-19 02:38:52 +02:00
|
|
|
'topics_user' => HomeModel::subscription(),
|
|
|
|
'posts' => HomeModel::feed($this->pageNumber, $sheet),
|
|
|
|
'items' => HomeModel::latestItems(),
|
2021-10-27 22:11:03 +02:00
|
|
|
],
|
|
|
|
],
|
|
|
|
);
|
2021-07-08 21:18:08 +02:00
|
|
|
}
|
2022-04-01 15:12:11 +02:00
|
|
|
|
|
|
|
// Infinite scroll
|
|
|
|
// Бесконечный скролл
|
|
|
|
public function scroll()
|
|
|
|
{
|
2023-10-19 02:38:52 +02:00
|
|
|
$type = Request::get('type') == 'all' ? 'all' : 'main.feed';
|
2022-12-09 15:11:21 +01:00
|
|
|
|
2023-10-19 02:38:52 +02:00
|
|
|
$posts = HomeModel::feed($this->pageNumber, $type);
|
2022-04-01 15:12:11 +02:00
|
|
|
|
2022-05-14 17:22:42 +02:00
|
|
|
$this->insert(
|
2022-10-04 19:39:19 +02:00
|
|
|
'/content/post/type-post',
|
2022-04-01 15:12:11 +02:00
|
|
|
[
|
|
|
|
'data' => [
|
2022-05-14 17:22:42 +02:00
|
|
|
'pages' => $this->pageNumber,
|
2022-04-01 15:12:11 +02:00
|
|
|
'sheet' => 'main.feed',
|
2023-10-19 02:38:52 +02:00
|
|
|
'posts' => $posts, // $posts = empty($posts) ? 'null' : $posts;
|
2022-04-01 15:12:11 +02:00
|
|
|
|
|
|
|
]
|
|
|
|
]
|
|
|
|
);
|
|
|
|
}
|
2021-08-01 20:43:50 +02:00
|
|
|
}
|