Your IP : 216.73.216.240
<?php
/**
* @copyright
* @package Easybook Reloaded - EBR for Joomla! 3.x
* @author Viktor Vogel <admin@kubik-rubik.de>
* @version 3.4.1.1-FREE - 2021-08-29
* @link https://kubik-rubik.de/ebr-easybook-reloaded
*
* @license GNU/GPL
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
defined('_JEXEC') || die('Restricted access');
use EasybookReloaded\Helper;
use Joomla\CMS\MVC\Controller\BaseController;
use Joomla\CMS\{Factory, Session\Session, Language\Text, Router\Route};
/**
* Class EasybookReloadedControllerBadwords
*
* @since 3.4.0-FREE
* @version 3.4.1.0-FREE
*/
class EasybookReloadedControllerBadwords extends BaseController
{
/**
* @var object $input
* @since 3.4.0-FREE
*/
protected $input;
/**
* EasybookReloadedControllerBadwords constructor.
*
* @throws Exception
* @since 3.4.0-FREE
*/
public function __construct()
{
parent::__construct();
$this->registerTask('add', 'edit');
$this->registerTask('apply', 'save');
$this->input = Factory::getApplication()->input;
}
/**
* Loads the overview page
*
* @param bool $cachable
* @param bool $urlparams
*
* @return JControllerLegacy|void
* @since 3.4.0-FREE
* @version 3.4.1.0-FREE
*/
public function display($cachable = false, $urlparams = false)
{
$this->input->set('view', 'badwords');
Helper::addSubmenu($this->input->getCmd('view', 'easybookreloaded'));
parent::display();
}
/**
* Loads the edit page
*
* @since 3.4.0-FREE
* @version 3.4.1.0-FREE
*/
public function edit(): void
{
$this->input->set('view', 'badword');
$this->input->set('layout', 'form');
$this->input->set('hidemainmenu', 1);
parent::display();
}
/**
* Executes the saving process
*
* @throws Exception
* @since 3.4.0-FREE
* @version 3.4.1.0-FREE
*/
public function save(): void
{
Session::checkToken() || jexit('Invalid Token');
$message = Text::_('COM_EASYBOOKRELOADED_BADWORDSAVEDFAIL');
$type = 'error';
/* @var EasybookReloadedModelBadword $model */
$model = $this->getModel('badword');
if ($model->store()) {
$message = Text::_('COM_EASYBOOKRELOADED_BADWORDSAVEDSUCCESS');
$type = 'message';
}
if ($this->task === 'apply' && $this->input->getInt('id', 0) !== 0) {
$this->setRedirect('index.php?' . $this->input->getString('url_current'), $message, $type);
return;
}
$this->setRedirect('index.php?option=com_easybookreloaded&view=badwords', $message, $type);
}
/**
* Executes the removing process
*
* @throws Exception
* @since 3.4.0-FREE
* @version 3.4.1.0-FREE
*/
public function remove(): void
{
Session::checkToken() || jexit('Invalid Token');
$message = Text::_('COM_EASYBOOKRELOADED_BADWORDDELETEFAIL');
$type = 'error';
/* @var EasybookReloadedModelBadword $model */
$model = $this->getModel('badword');
if ($model->delete()) {
$message = Text::_('COM_EASYBOOKRELOADED_BADWORDDELETESUCCESS');
$type = 'message';
}
$this->setRedirect(Route::_('index.php?option=com_easybookreloaded&view=badwords', false), $message, $type);
}
/**
* Executes the cancellation process
*
* @since 3.4.0-FREE
* @version 3.4.1.0-FREE
*/
public function cancel(): void
{
$message = Text::_('COM_EASYBOOKRELOADED_OPERATION_CANCELLED');
$this->setRedirect('index.php?option=com_easybookreloaded&view=badwords', $message, 'notice');
}
}