// Add moduleController file

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@8745 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2011-09-23 15:08:43 +00:00
parent 33179c218b
commit 4e717fe190
3 changed files with 70 additions and 9 deletions
+6 -1
View File
@@ -5,7 +5,8 @@
'Address' => 'override/classes/Address.php',
'AddressFormatCore' => 'classes/AddressFormat.php',
'AddressFormat' => 'override/classes/AddressFormat.php',
'AdminController' => 'classes/AdminController.php',
'AdminControllerCore' => 'classes/AdminController.php',
'AdminController' => '',
'AdminTabCore' => 'classes/AdminTab.php',
'AdminTab' => 'override/classes/AdminTab.php',
'AliasCore' => 'classes/Alias.php',
@@ -279,6 +280,10 @@
'TaxRulesTaxManagerCore' => 'classes/tax/TaxRulesTaxManager.php',
'TaxRulesTaxManager' => 'override/classes/tax/TaxRulesTaxManager.php',
'FB' => 'override/classes/fb.php',
'AdminHomeControllerCore' => 'controllers/admin/AdminHomeController.php',
'AdminHomeController' => '',
'AdminToolsControllerCore' => 'controllers/admin/AdminToolsController.php',
'AdminToolsController' => '',
'AddressControllerCore' => 'controllers/front/AddressController.php',
'AddressController' => 'override/controllers/front/AddressController.php',
'AddressesControllerCore' => 'controllers/front/AddressesController.php',
+8 -8
View File
@@ -61,13 +61,13 @@ class AdminControllerCore extends Controller
if ($className == 'AdminCategories' OR $className == 'AdminProducts')
$className = 'AdminCatalog';
// temporary fix for Token retrocompatibility
// temporary fix for Token retrocompatibility
// This has to be done when url is built instead of here)
if(strpos($className,'Controller'))
$className = substr($className,0,-10);
$this->token = Tools::getAdminToken($className.(int)$this->id.(int)$this->context->employee->id);
if (!Shop::isMultiShopActivated())
$this->shopLinkType = '';
}
@@ -127,7 +127,7 @@ class AdminControllerCore extends Controller
die;
}
}
public function displayNoSmarty()
{
@@ -155,17 +155,17 @@ class AdminControllerCore extends Controller
{
$this->context->smarty->assign('warnings',$this->warnings);
$this->content = $this->context->smarty->fetch($this->template);
}
$this->context->smarty->assign('content',$this->content);
$this->context->smarty->display($this->layout);
}
/**
* add a warning message to display at the top of the page
*
* @param string $msg
*
* @param string $msg
*/
protected function displayWarning($msg)
{
@@ -269,7 +269,7 @@ class AdminControllerCore extends Controller
foreach ($tabs_breadcrumb AS $key => $item)
for ($i = 0; $i < (count($tabs_breadcrumb) - 1); $i++)
$tabs_breadcrumb[$key]['token'] = Tools::getAdminToken($item['class_name'].intval($item['id_tab']).(int)$this->context->employee->id);
/* Hooks are volontary out the initialize array (need those variables already assigned) */
$this->context->smarty->assign(array(
+56
View File
@@ -0,0 +1,56 @@
<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
/**
* The module controller call a module action. Module action method need to have the name :
* public function actionMyAction(FrontController $controller)
*
* @since 1.5.0
*/
class ModuleControllerCore extends FrontController
{
public function process()
{
// Check module existence
$name = Tools::getValue('module');
if (!Validate::isModuleName($name) || !file_exists(_PS_MODULE_DIR_.$name))
Tools::redirect('index');
$module = Module::getInstanceByName($name);
if (!$module->active)
Tools::redirect('index');
// Trigger module action
$action = Tools::getValue('action');
$method = 'action'.$action;
if ($action && method_exists($module, $method))
$this->setTemplate($module->$method());
else
die('Module action not found');
}
}