config.php
4.18 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
// namespace administrator\components\com_jmap\controllers;
/**
*
* @package JMAP::CONFIG::administrator::components::com_jmap
* @subpackage controllers
* @author Joomla! Extensions Store
* @copyright (C) 2015 - Joomla! Extensions Store
* @license GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html
*/
defined ( '_JEXEC' ) or die ( 'Restricted access' );
/**
* Config controller concrete implementation
*
* @package JMAP::CONFIG::administrator::components::com_jmap
* @subpackage controllers
* @since 1.0
*/
class JMapControllerConfig extends JMapController {
/**
* Show configuration
* @access public
* @param $cachable string
* the view output will be cached
* @return void
*/
function display($cachable = false, $urlparams = false) {
// Access check.
if (!$this->allowAdmin($this->option)) {
$this->setRedirect('index.php?option=com_jmap&task=cpanel.display', JText::_('COM_JMAP_ERROR_ALERT_NOACCESS'));
return false;
}
parent::display($cachable);
}
/**
* Save config entity
* @access public
* @return void
*/
public function checkEntityCrawler() {
$model = $this->getModel ();
// Get view and pushing model
$view = $this->getView ();
$view->setModel ( $model, true );
// Call edit view
$view->checkCrawler ('crawler');
}
/**
* Save config entity
* @access public
* @return void
*/
public function saveEntity() {
$model = $this->getModel();
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=com_jmap&task=config.display', JText::_('COM_JMAP_ERROR_SAVING_PARAMS'));
return false;
}
$this->setRedirect( 'index.php?option=com_jmap&task=config.display', JText::_('COM_JMAP_SAVED_PARAMS'));
}
/**
* 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_jmap&task=config.display', JText::_ ( 'COM_JMAP_ERROR_ALERT_NOACCESS' ), 'notice' );
return false;
}
// Get the file manager instance with db connector dependency injection
$filesManager = new JMapFileConfig( JFactory::getDbo (), $this->app );
if (! $filesManager->export ()) {
// 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_JMAP_ERROR_CONFIG_EXPORT' ) );
return false;
}
$this->setRedirect ( "index.php?option=$option&task=config.display", JText::_ ( 'COM_JMAP_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_jmap&task=config.display', JText::_ ( 'COM_JMAP_ERROR_ALERT_NOACCESS' ), 'notice' );
return false;
}
// Get the file manager instance with db connector dependency injection
$filesManager = new JMapFileConfig ( JFactory::getDbo (), $this->app );
if (! $filesManager->import ()) {
// 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_JMAP_ERROR_CONFIG_IMPORT' ) );
return false;
}
$this->setRedirect ( "index.php?option=$option&task=config.display", JText::_ ( 'COM_JMAP_SUCCESS_CONFIG_IMPORT' ) );
}
}
?>