-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathFaqCategoriesBoxController.class.php
More file actions
55 lines (47 loc) · 1.77 KB
/
FaqCategoriesBoxController.class.php
File metadata and controls
55 lines (47 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
namespace wcf\system\box;
use Override;
use wcf\data\category\AbstractDecoratedCategory;
use wcf\data\category\CategoryNodeTree;
use wcf\data\faq\category\FaqCategoryNodeTree;
use wcf\page\FaqQuestionListPage;
use wcf\page\FaqQuestionPage;
use wcf\system\request\LinkHandler;
use wcf\system\request\RequestHandler;
final class FaqCategoriesBoxController extends AbstractCategoriesBoxController
{
#[Override]
protected function getNodeTree(): CategoryNodeTree
{
return new FaqCategoryNodeTree('dev.tkirch.wsc.faq.category');
}
#[Override]
protected function getActiveCategory(): ?AbstractDecoratedCategory
{
$activeCategory = null;
if (RequestHandler::getInstance()->getActiveRequest() !== null) {
if (
RequestHandler::getInstance()->getActiveRequest()->getRequestObject() instanceof FaqQuestionListPage
|| RequestHandler::getInstance()->getActiveRequest()->getRequestObject() instanceof FaqQuestionPage
) {
if (isset(RequestHandler::getInstance()->getActiveRequest()->getRequestObject()->category)) {
// @phpstan-ignore property.protected
$activeCategory = RequestHandler::getInstance()->getActiveRequest()->getRequestObject()->category;
}
}
}
return $activeCategory;
}
#[Override]
protected function getResetFilterLink(): string
{
return LinkHandler::getInstance()->getControllerLink(FaqQuestionListPage::class);
}
#[Override]
public function hasContent()
{
$categoryTree = $this->getNodeTree();
$categoryList = $categoryTree->getIterator();
return SIMPLE_FAQ_VIEW !== 'gallery' && \iterator_count($categoryList);
}
}