| Server IP : 54.36.91.62 / Your IP : 216.73.217.112 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/coopiak/amisdesseniors-fr/aix/administrator/components/com_kunena/src/View/Tools/ |
Upload File : |
<?php
/**
* Kunena Component
*
* @package Kunena.Administrator
* @subpackage Views
*
* @copyright Copyright (C) 2008 - 2025 Kunena Team. All rights reserved.
* @license https://www.gnu.org/copyleft/gpl.html GNU/GPL
* @link https://www.kunena.org
**/
namespace Kunena\Forum\Administrator\View\Tools;
\defined('_JEXEC') or die();
use Exception;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView;
use Joomla\CMS\Toolbar\Toolbar;
use Joomla\CMS\Toolbar\ToolbarHelper;
use Kunena\Forum\Libraries\Access\KunenaAccess;
use Kunena\Forum\Libraries\Forum\Topic\KunenaTopicHelper;
use Kunena\Forum\Libraries\Login\KunenaLogin;
use Kunena\Forum\Libraries\Menu\KunenaMenuFix;
use Kunena\Forum\Libraries\User\KunenaUserHelper;
/**
* About view for Kunena cpanel
*
* @since Kunena 6.0
*/
class HtmlView extends BaseHtmlView
{
/**
* @var array
* @since Kunena 6.0
*/
protected $systemReport = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $systemReportAnonymous = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $listTrashDelete = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $forumList = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $controlOptions = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $keepSticky = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $legacy = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $conflicts = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $invalid = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $catSubscribersUsers = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $topicSubscribersUsers = [];
/**
* @var array
* @since Kunena 6.0
*/
protected $catTopicSubscribers = [];
/**
* @param null $tpl tpl
*
* @return void
*
* @since Kunena 6.0
*
* @throws Exception
*/
public function display($tpl = null)
{
$layout = $this->getLayout();
if ($layout == 'default') {
$this->setToolBar();
} elseif ($layout == 'cleanupip') {
$this->setToolBarCleanupIP();
} elseif ($layout == 'diagnostics') {
$this->setToolBarDiagnostics();
} elseif ($layout == 'menu') {
$this->legacy = KunenaMenuFix::getLegacy();
$this->invalid = KunenaMenuFix::getInvalid();
$this->conflicts = KunenaMenuFix::getConflicts();
$this->setToolBarMenu();
} elseif ($layout == 'prune') {
$this->forumList = $this->get('PruneCategories');
$this->listTrashDelete = $this->get('PruneListtrashDelete');
$this->controlOptions = $this->get('PruneControlOptions');
$this->keepSticky = $this->get('PruneKeepSticky');
$this->setToolBarPrune();
} elseif ($layout == 'purgerestatements') {
$this->setToolBarPurgeReStatements();
} elseif ($layout == 'recount') {
$this->setToolBarRecount();
} elseif ($layout == 'report') {
$this->systemReport = $this->get('SystemReport');
$this->systemReportAnonymous = $this->get('SystemReportAnonymous');
$this->setToolBarReport();
} elseif ($layout == 'subscriptions') {
$app = Factory::getApplication();
$id = $app->input->get('id', 0, 'int');
if ($id) {
$topic = KunenaTopicHelper::get($id);
$acl = KunenaAccess::getInstance();
$catSubscribers = $acl->loadSubscribers($topic, KunenaAccess::CATEGORY_SUBSCRIPTION);
$this->catSubscribersUsers = KunenaUserHelper::loadUsers($catSubscribers);
$topicSubscribers = $acl->loadSubscribers($topic, KunenaAccess::TOPIC_SUBSCRIPTION);
$this->topicSubscribersUsers = KunenaUserHelper::loadUsers($topicSubscribers);
$this->catTopicSubscribers = $acl->getSubscribers(
$topic->getCategory()->id,
$id,
KunenaAccess::CATEGORY_SUBSCRIPTION | KunenaAccess::TOPIC_SUBSCRIPTION,
1,
1
);
}
$this->setToolBarSubscriptions();
} elseif ($layout == 'syncUsers') {
$this->setToolBarSyncUsers();
} elseif ($layout == 'uninstall') {
$login = KunenaLogin::getInstance();
$this->isTFAEnabled = $login->isTFAEnabled();
$this->setToolBarUninstall();
}
return parent::display($tpl);
}
/**
* Add the page title and toolbar.
*
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBar(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA') . ': ' . Text::_('COM_KUNENA_FORUM_TOOLS'), 'tools');
$helpUrl = 'https://docs.kunena.org/en/manual/backend/tools';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarCleanupIP(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'tools');
ToolbarHelper::spacer();
ToolbarHelper::custom('tools.cleanupip', 'apply.png', 'apply_f2.png', 'COM_KUNENA_TOOLS_LABEL_CLEANUP_IP', false);
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/manual/backend/tools/remove-stored-ip-addresses';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarDiagnostics(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'tools');
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/manual/backend/tools/diagnostics';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarMenu(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'tools');
ToolbarHelper::spacer();
// Get the toolbar object instance
$bar = $this->getDocument()->getToolbar();
if (!empty($this->legacy)) {
ToolbarHelper::custom('tools.fixLegacy', 'edit.png', 'edit_f2.png', 'COM_KUNENA_A_MENU_TOOLBAR_FIXLEGACY', false);
}
// TODO: check why the modal doesn't open
/*
HTMLHelper::_('bootstrap.renderModal', 'trashmenuconfirmationModal');
$title = Text::_('COM_KUNENA_VIEW_TOOLS_RESTOREMENU_CONFIRMATION_TRASH');
$dhtml = "<button data-bs-toggle=\"modal\" data-bs-target=\"#trashmenuconfirmationModal\" class=\"btn btn-small\">
<i class=\"icon-apply\" title=\"$title\"> </i>
$title</button>";
$bar->appendButton('Custom', $dhtml, 'batch');*/
ToolbarHelper::custom('tools.trashmenu', 'apply.png', 'apply_f2.png', 'COM_KUNENA_A_TRASH_MENU', false);
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/manual/backend/tools/menu-manager';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarPrune(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'tools');
ToolbarHelper::spacer();
ToolbarHelper::custom('tools.prune', 'delete.png', 'delete_f2.png', 'COM_KUNENA_PRUNE', false);
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/manual/backend/tools/prune-categories';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarPurgeReStatements(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'tools');
ToolbarHelper::spacer();
ToolbarHelper::trash('tools.purgerestatements', 'COM_KUNENA_A_PURGE_RE_MENU_VALIDATE', false);
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/manual/backend/tools/purge-re-prefixes';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarRecount(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'tools');
ToolbarHelper::spacer();
ToolbarHelper::custom('tools.recount', 'apply.png', 'apply_f2.png', 'COM_KUNENA_A_RECOUNT', false);
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/manual/backend/tools/recount-statistics';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarReport(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'help');
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/faq/configuration-report';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarSubscriptions(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'help');
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/faq/configuration-report';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarSyncUsers(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'tools');
ToolbarHelper::spacer();
ToolbarHelper::custom('tools.syncUsers', 'apply.png', 'apply_f2.png', 'COM_KUNENA_SYNC', false);
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/manual/backend/tools/synchronize-users';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
/**
* @return void
*
* @since Kunena 6.0
*/
protected function setToolBarUninstall(): void
{
ToolbarHelper::title(Text::_('COM_KUNENA'), 'tools');
ToolbarHelper::spacer();
ToolbarHelper::cancel();
ToolbarHelper::spacer();
$helpUrl = 'https://docs.kunena.org/en/manual/backend/tools/uninstall-kunena';
ToolbarHelper::help('COM_KUNENA', false, $helpUrl);
}
}