[-] BO : Fixing modules permissions system

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16102 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
fSerny
2012-06-20 15:48:46 +00:00
parent 5e0505cf05
commit ea78daf330
7 changed files with 35 additions and 23 deletions
+20 -12
View File
@@ -881,15 +881,26 @@ class AdminModulesControllerCore extends AdminController
return $return;
}
public function initModulesList($modules)
public function initModulesList(&$modules)
{
foreach ($modules as $module)
foreach ($modules as $k => $module)
{
if (!in_array($module->name, $this->list_natives_modules))
$this->serial_modules .= $module->name.' '.$module->version.'-'.($module->active ? 'a' : 'i')."\n";
$module_author = $module->author;
if (!empty($module_author) && ($module_author != ''))
$this->modules_authors[strtolower($module_author)] = 'notselected';
// Check add permissions, if add permissions not set, addons modules and non installed modules will not be displayed
if ($this->tabAccess['add'] !== '1' && isset($module->type) && ($module->type != 'addonsNative' || $module->type != 'addonsBought'))
unset($modules[$k]);
else if ($this->tabAccess['add'] !== '1' && (!isset($module->id) || $module->id < 1))
unset($modules[$k]);
else if ($module->id && !Module::getPermissionStatic($module->id, 'view') && !Module::getPermissionStatic($module->id, 'configure'))
unset($modules[$k]);
else
{
// Init serial and modules author list
if (!in_array($module->name, $this->list_natives_modules))
$this->serial_modules .= $module->name.' '.$module->version.'-'.($module->active ? 'a' : 'i')."\n";
$module_author = $module->author;
if (!empty($module_author) && ($module_author != ''))
$this->modules_authors[strtolower($module_author)] = 'notselected';
}
}
$this->serial_modules = urlencode($this->serial_modules);
}
@@ -913,11 +924,6 @@ class AdminModulesControllerCore extends AdminController
public function isModuleFiltered($module)
{
// Beware $module could be an instance of Module or stdClass, that expflain the static call
if ($module->id && !Module::getPermissionStatic($module->id, 'view') && !Module::getPermissionStatic($module->id, 'configure'))
return true;
// If action on module, we display it
if (Tools::getValue('module_name') != '' && Tools::getValue('module_name') == $module->name)
return false;
@@ -1168,6 +1174,8 @@ class AdminModulesControllerCore extends AdminController
$tpl_vars['check_url_fopen'] = (ini_get('allow_url_fopen') ? 'ok' : 'ko');
$tpl_vars['check_openssl'] = (extension_loaded('openssl') ? 'ok' : 'ko');
$tpl_vars['add_permission'] = $this->tabAccess['add'];
if ($this->logged_on_addons)
{
$tpl_vars['logged_on_addons'] = 1;