NEW functionality (delete menu manually) in modulebuilder
This commit is contained in:
parent
8f2076e83e
commit
78c6f12a8a
@ -169,4 +169,7 @@ GeneratePermissions=I want to add the rights for this object
|
||||
GeneratePermissionsHelp=generate default rights for this object
|
||||
PermissionDeletedSuccesfuly=Permission has been successfully removed
|
||||
PermissionUpdatedSuccesfuly=Permission has been successfully updated
|
||||
PermissionAddedSuccesfuly=Permission has been successfully added
|
||||
PermissionAddedSuccesfuly=Permission has been successfully added
|
||||
MenuDeletedSuccessfuly=Menu has been successfully deleted
|
||||
MenuAddedSuccessfuly=Menu has been successfully added
|
||||
MenuUpdatedSuccessfuly=Menu has been successfully updated
|
||||
@ -169,4 +169,7 @@ GeneratePermissions=Je souhaite ajouter les droits pour cet objet
|
||||
GeneratePermissionsHelp=générer les droits par défault pour cet objet
|
||||
PermissionDeletedSuccesfuly=La permission a été supprimée avec succès
|
||||
PermissionUpdatedSuccesfuly=La permission a été mise à jour avec succès
|
||||
PermissionAddedSuccesfuly= La permission a été ajoutée avec succès
|
||||
PermissionAddedSuccesfuly= La permission a été ajoutée avec succès
|
||||
MenuDeletedSuccessfuly=Menu a été supprimé avec succès
|
||||
MenuAddedSuccessfuly=Menu a été ajouté avec succès
|
||||
MenuUpdatedSuccessfuly=Menu a été mise à jour avec succès
|
||||
@ -2360,6 +2360,91 @@ if ($action == 'reset' && $user->admin) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// delete menu
|
||||
if ($dirins && $action == 'confirm_deletemenu' && GETPOST('menukey', 'int')) {
|
||||
// check if module is enabled
|
||||
if (isModEnabled(strtolower($module))) {
|
||||
$result = unActivateModule(strtolower($module));
|
||||
dolibarr_set_const($db, "MAIN_IHM_PARAMS_REV", (int) $conf->global->MAIN_IHM_PARAMS_REV + 1, 'chaine', 0, '', $conf->entity);
|
||||
if ($result) {
|
||||
setEventMessages($result, null, 'errors');
|
||||
}
|
||||
header("Location: ".DOL_URL_ROOT.'/modulebuilder/index.php?tab=permissions&module='.$module);
|
||||
setEventMessages($langs->trans('WarningModuleNeedRefrech', $langs->transnoentities($module)), null, 'warnings');
|
||||
}
|
||||
// load class and check if menu exist
|
||||
$pathtofile = $listofmodules[strtolower($module)]['moduledescriptorrelpath'];
|
||||
dol_include_once($pathtofile);
|
||||
$class = 'mod'.$module;
|
||||
if (class_exists($class)) {
|
||||
try {
|
||||
$moduleobj = new $class($db);
|
||||
} catch (Exception $e) {
|
||||
$error++;
|
||||
dol_print_error($db, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
$menus = $moduleobj->menu;
|
||||
|
||||
$key = (int) GETPOST('menukey', 'int');
|
||||
$moduledescriptorfile = $dirins.'/'.strtolower($module).'/core/modules/mod'.$module.'.class.php';
|
||||
|
||||
|
||||
if ($menus[$key]['type'] == 'top') {
|
||||
$menuTop = "
|
||||
\$this->menu[\$r++] = array(
|
||||
'fk_menu'=>'".$menus[$key]['fk_menu']."',
|
||||
'type'=>'".$menus[$key]['type']."',
|
||||
'titre'=>'".$menus[$key]['titre']."',
|
||||
'prefix' => img_picto('', \$this->picto, 'class=\"paddingright pictofixedwidth valignmiddle\"'),
|
||||
'mainmenu'=>'".$menus[$key]['mainmenu']."',
|
||||
'leftmenu'=> '',
|
||||
'url'=>'".$menus[$key]['url']."',
|
||||
'langs'=>'".$menus[$key]['langs']."',
|
||||
'position'=>1000 + \$r,
|
||||
'enabled'=>'isModEnabled(\"".strtolower($module)."\")',
|
||||
'perms' =>'".$menus[$key]['perms']."',
|
||||
'target'=>'".$menus[$key]['target']."',
|
||||
'user'=>".$menus[$key]['user'].",
|
||||
);";
|
||||
$check = dolReplaceInFile($moduledescriptorfile, array($menuTop => '',"\t\t".'/*TOPMENU '.strtolower($menus[$key]['titre']).'*/'."\n" => '', '/*END TOPMENU '.strtolower($menus[$key]['titre']).'*/'."\n\t\t" => ''));
|
||||
}
|
||||
if ($menus[$key]['type'] == 'left') {
|
||||
$left="\$this->menu[\$r++]=array(
|
||||
'fk_menu'=>'".$menus[$key]['fk_menu']."',
|
||||
'type'=>'".$menus[$key]['type']."',
|
||||
'titre'=>'".$menus[$key]['titre']."',
|
||||
'mainmenu'=>'".$menus[$key]['mainmenu']."',
|
||||
'leftmenu'=>'".$menus[$key]['leftmenu']."',
|
||||
'url'=>'".$menus[$key]['url']."',
|
||||
'langs'=>'".$menus[$key]['langs']."',
|
||||
'position'=>1100+\$r,
|
||||
'enabled'=>'".$menus[$key]['enabled']."',
|
||||
'perms'=>'".$menus[$key]['perms']."',
|
||||
'target'=>'".$menus[$key]['target']."',
|
||||
'user'=>".$menus[$key]['user'].",
|
||||
);";
|
||||
$check = dolReplaceInFile($moduledescriptorfile, array($left => ''));
|
||||
|
||||
// check if still had menu created when initial object
|
||||
// if not we delete the comments from file
|
||||
$menuForObj = 0;
|
||||
foreach ($menus as $menu) {
|
||||
if ($menu['leftmenu'] == $menus[$key]['leftmenu']) {
|
||||
$menuForObj++;
|
||||
}
|
||||
}
|
||||
if ($menuForObj == 1) {
|
||||
$extractObjName = explode("_", $menus[$key]['leftmenu']);
|
||||
dolReplaceInFile($moduledescriptorfile, array('/*LEFTMENU '.strtoupper($extractObjName[1]).'*/'."\n" => '','/*END LEFTMENU '.strtoupper($extractObjName[1]).'*/' => ''));
|
||||
}
|
||||
}
|
||||
|
||||
setEventMessages($langs->trans('MenuDeletedSuccessfuly'), null);
|
||||
header("Location: ".DOL_URL_ROOT.'/modulebuilder/index.php?tab=menus&module='.$module);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user