File Manager

Current Directory: /home/astoriaah/www/administrator/components/com_gdpr/controllers
Viewing File: /home/astoriaah/www/administrator/components/com_gdpr/controllers/config.php
<?php // namespace administrator\components\com_gdpr\controllers; /** * * @package GDPR::CONFIG::administrator::components::com_gdpr * @subpackage controllers * @author Joomla! Extensions Store * @copyright (C) 2018 - Joomla! Extensions Store * @license GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html */ defined ( '_JEXEC' ) or die ( 'Restricted access' ); jimport ( 'joomla.application.component.controller' ); /** * Config controller concrete implementation * * @package GDPR::CPANEL::administrator::components::com_gdpr * @subpackage controllers * @since 1.6 */ class GdprControllerConfig extends GdprController { /** * Show configuration * @access public * @return void */ public function display($cachable = false, $urlparams = false) { parent::display($cachable); } /** * Save config entity * @access public * @return void */ public function saveEntity() { $model = $this->getModel(); $option = $this->option; // Access check if (!$this->allowConfigSave ( $option )) { $this->setRedirect ( "index.php?option=$option&task=config.display", JText::_ ( 'COM_GDPR_ERROR_ALERT_NOACCESS' ), 'notice' ); return false; } if(!$model->storeEntity()) { // Model set exceptions for something gone wrong, so enqueue exceptions and levels on application object then set redirect and exit $modelException = $model->getError(null, false); $this->app->enqueueMessage($modelException->getMessage(), $modelException->getErrorLevel()); $this->setRedirect ( "index.php?option=$option&task=config.display", JText::_('COM_GDPR_ERROR_SAVING_PARAMS')); return false; } $this->setRedirect( "index.php?option=$option&task=config.display", JText::_('COM_GDPR_SAVED_PARAMS')); } /** * Reset all consents for #__user_profiles table to request a new privacy policy update greement * @access public * @return void */ public function resetConsents() { $model = $this->getModel(); $option = $this->option; // Access check if (!$this->allowConfigSave ( $option )) { $this->setRedirect ( "index.php?option=$option&task=config.display", JText::_ ( 'COM_GDPR_ERROR_ALERT_NOACCESS' ), 'notice' ); return false; } // Evaluate the yearly reset $yearlyReset = $this->task == 'resetYearlyConsents' ? true : false; if(!$model->resetAllConsents($yearlyReset)) { // Model set exceptions for something gone wrong, so enqueue exceptions and levels on application object then set redirect and exit $modelException = $model->getError(null, false); $this->app->enqueueMessage($modelException->getMessage(), $modelException->getErrorLevel()); $this->setRedirect ( "index.php?option=$option&task=config.display", JText::_('COM_GDPR_ERROR_RESET_CONSENTS')); return false; } $this->setRedirect( "index.php?option=$option&task=config.display", JText::_('COM_GDPR_SUCCESS_RESET_CONSENTS')); } /** * Export sources as db table entities * * @access public * @return void */ public function exportConfig() { $option = $this->option; // Access check if (! $this->allowEdit ( $option )) { $this->setRedirect ( 'index.php?option=com_gdpr&task=config.display', JText::_ ( 'COM_GDPR_ERROR_ALERT_NOACCESS' ), 'notice' ); return false; } // Get the file manager instance with db connector dependency injection $filesManager = new GdprHelpersConfig( JFactory::getDbo (), $this->app ); $cParams = JComponentHelper::getParams('com_gdpr'); if($cParams->get('export_configuration_mode', 'full') == 'full') { $filesManagerExportResult = $filesManager->export (); } else { $filesManagerExportResult = $filesManager->exportPartial (); } if (! $filesManagerExportResult) { // Model set exceptions for something gone wrong, so enqueue exceptions and levels on application object then set redirect and exit $filesManagerException = $filesManager->getError ( null, false ); $this->app->enqueueMessage ( $filesManagerException->getMessage (), $filesManagerException->getErrorLevel () ); $this->setRedirect ( "index.php?option=$option&task=config.display", JText::_ ( 'COM_GDPR_ERROR_CONFIG_EXPORT' ) ); return false; } $this->setRedirect ( "index.php?option=$option&task=config.display", JText::_ ( 'COM_GDPR_SUCCESS_CONFIG_EXPORT' ) ); } /** * Import sources as db table entities * * @access public * @return void */ public function importConfig() { $option = $this->option; // Access check if (! $this->allowEdit ( $option )) { $this->setRedirect ( 'index.php?option=com_gdpr&task=config.display', JText::_ ( 'COM_GDPR_ERROR_ALERT_NOACCESS' ), 'notice' ); return false; } // Get the file manager instance with db connector dependency injection $filesManager = new GdprHelpersConfig ( JFactory::getDbo (), $this->app ); $cParams = JComponentHelper::getParams('com_gdpr'); if($cParams->get('export_configuration_mode', 'full') == 'full') { $filesManagerImportResult = $filesManager->import (); } else { $filesManagerImportResult = $filesManager->importPartial (); } if (! $filesManagerImportResult) { // Model set exceptions for something gone wrong, so enqueue exceptions and levels on application object then set redirect and exit $filesManagerException = $filesManager->getError ( null, false ); $this->app->enqueueMessage ( $filesManagerException->getMessage (), $filesManagerException->getErrorLevel () ); $this->setRedirect ( "index.php?option=$option&task=config.display", JText::_ ( 'COM_GDPR_ERROR_CONFIG_IMPORT' ) ); return false; } $this->setRedirect ( "index.php?option=$option&task=config.display", JText::_ ( 'COM_GDPR_SUCCESS_CONFIG_IMPORT' ) ); } /** * * Class Constructor * * @access public * @param $config * @return Object& */ public function __construct($config = array()) { parent::__construct ( $config ); // Register Extra tasks $this->registerTask ( 'resetYearlyConsents', 'resetConsents' ); } }