/
rsform.php
60 lines (48 loc) · 1.62 KB
/
rsform.php
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
<?php
/**
* @version 1.4.0
* @package RSform!Pro 1.4.0
* @copyright (C) 2007-2011 www.rsjoomla.com
* @license GPL, http://www.gnu.org/copyleft/gpl.html
*/
defined('_JEXEC') or die('Restricted access');
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}
// ACL Check
$user = JFactory::getUser();
if (!$user->authorise('core.manage', 'com_rsform'))
return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
// Require the base controller
require_once JPATH_COMPONENT.'/controller.php';
require_once JPATH_COMPONENT.'/helpers/rsform.php';
require_once JPATH_COMPONENT.'/helpers/adapter.php';
RSFormProHelper::readConfig();
// See if this is a request for a specific controller
$controller = JRequest::getWord('controller');
$controller_exists = false;
$task = JRequest::getCmd('task');
if (!$controller && strpos($task, '.'))
list($controller, $controller_task) = explode('.', $task, 2);
if (!empty($controller) && file_exists(JPATH_COMPONENT.'/controllers/'.$controller.'.php'))
{
require_once JPATH_COMPONENT.'/controllers/'.$controller.'.php';
$controller = 'RSFormController'.$controller;
$RSFormController = new $controller();
$controller_exists = true;
}
else
$RSFormController = new RSFormController();
// trigger oninit
$mainframe = JFactory::getApplication();
$mainframe->triggerEvent('rsfp_bk_onInit');
// execute task
if ($controller_exists && !empty($controller_task))
{
$controller_task = preg_replace('/[^A-Z_]/i', '', $controller_task);
$RSFormController->execute($controller_task);
}
else
$RSFormController->execute(JRequest::getWord('task'));
// Redirect if set
$RSFormController->redirect();