122 lines
2.7 KiB
PHP
122 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
* @package JEM
|
|
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
|
* @copyright (C) 2005-2009 Christoph Lukes
|
|
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
|
*/
|
|
|
|
defined('_JEXEC') or die;
|
|
|
|
use Joomla\CMS\Factory;
|
|
use Joomla\CMS\MVC\Controller\BaseController;
|
|
use Joomla\CMS\Language\Text;
|
|
use Joomla\CMS\Session\Session;
|
|
|
|
/**
|
|
* Housekeeping-Controller
|
|
*/
|
|
class JemControllerHousekeeping extends BaseController
|
|
{
|
|
/**
|
|
* Constructor
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
|
|
// Register Extra task
|
|
$this->registerTask('cleaneventimg', 'delete');
|
|
$this->registerTask('cleanvenueimg', 'delete');
|
|
$this->registerTask('cleancategoryimg', 'delete');
|
|
}
|
|
|
|
/**
|
|
* logic to massdelete unassigned images
|
|
*
|
|
* @access public
|
|
* @return void
|
|
*
|
|
*/
|
|
public function delete()
|
|
{
|
|
// Check for request forgeries
|
|
Session::checkToken('get') or jexit('Invalid Token');
|
|
|
|
$task = Factory::getApplication()->input->get('task', '');
|
|
$model = $this->getModel('housekeeping');
|
|
|
|
if ($task == 'cleaneventimg') {
|
|
$total = $model->delete($model::EVENTS);
|
|
} elseif ($task == 'cleanvenueimg') {
|
|
$total = $model->delete($model::VENUES);
|
|
} elseif ($task == 'cleancategoryimg') {
|
|
$total = $model->delete($model::CATEGORIES);
|
|
}
|
|
|
|
$link = 'index.php?option=com_jem&view=housekeeping';
|
|
$msg = Text::sprintf('COM_JEM_HOUSEKEEPING_IMAGES_DELETED', $total);
|
|
|
|
$this->setRedirect($link, $msg);
|
|
}
|
|
|
|
/**
|
|
* logic to truncate table cats_relations
|
|
*
|
|
* @access public
|
|
* @return void
|
|
*
|
|
*/
|
|
public function cleanupCatsEventRelations()
|
|
{
|
|
// Check for request forgeries
|
|
Session::checkToken('get') or jexit('Invalid Token');
|
|
|
|
$model = $this->getModel('housekeeping');
|
|
$model->cleanupCatsEventRelations();
|
|
|
|
$link = 'index.php?option=com_jem&view=housekeeping';
|
|
$msg = Text::_('COM_JEM_HOUSEKEEPING_CLEANUP_CATSEVENT_RELS_DONE');
|
|
|
|
$this->setRedirect($link, $msg);
|
|
}
|
|
|
|
/**
|
|
* Truncates JEM tables with exception of settings table
|
|
*/
|
|
public function truncateAllData()
|
|
{
|
|
// Check for request forgeries
|
|
Session::checkToken('get') or jexit('Invalid Token');
|
|
|
|
$model = $this->getModel('housekeeping');
|
|
$model->truncateAllData();
|
|
|
|
$link = 'index.php?option=com_jem&view=housekeeping';
|
|
$msg = Text::_('COM_JEM_HOUSEKEEPING_TRUNCATE_ALL_DATA_DONE');
|
|
|
|
$this->setRedirect($link, $msg);
|
|
}
|
|
|
|
/**
|
|
* Triggerarchive + Recurrences
|
|
*
|
|
* @access public
|
|
* @return void
|
|
*
|
|
*/
|
|
public function triggerarchive()
|
|
{
|
|
// Check for request forgeries
|
|
Session::checkToken('get') or jexit('Invalid Token');
|
|
|
|
JemHelper::cleanup(1);
|
|
|
|
$link = 'index.php?option=com_jem&view=housekeeping';
|
|
$msg = Text::_('COM_JEM_HOUSEKEEPING_AUTOARCHIVE_DONE');
|
|
|
|
$this->setRedirect($link, $msg);
|
|
}
|
|
}
|
|
?>
|