Fix #1629 error when more than one menu is named '__ADMINMENU_V17__'

This commit is contained in:
Kijin Sung 2021-02-22 21:27:20 +09:00
parent 9412cc4a22
commit 0188bb817b
4 changed files with 24 additions and 26 deletions

View file

@ -30,17 +30,24 @@ class adminAdminController extends admin
*/
function procAdminMenuReset()
{
$menuSrl = Context::get('menu_srl');
if(!$menuSrl)
{
throw new Rhymix\Framework\Exceptions\InvalidRequest;
}
$oMenuAdminModel = getAdminModel('menu');
$oMenuAdminController = getAdminController('menu');
$output = $oMenuAdminController->deleteMenu($menuSrl);
if(!$output->toBool())
for ($i = 0; $i < 100; $i++)
{
return $output;
$output = $oMenuAdminModel->getMenuByTitle($this->getAdminMenuName());
$admin_menu_srl = $output->menu_srl ?? 0;
if ($admin_menu_srl)
{
$output = $oMenuAdminController->deleteMenu($admin_menu_srl);
if (!$output->toBool())
{
return $output;
}
}
else
{
break;
}
}
Rhymix\Framework\Cache::delete('admin_menu_langs:' . Context::getLangType());

View file

@ -770,11 +770,8 @@ class adminAdminView extends admin
*/
function dispAdminSetup()
{
$oModuleModel = getModel('module');
$oAdmin = getClass('admin');
$oMenuAdminModel = getAdminModel('menu');
$output = $oMenuAdminModel->getMenuByTitle($oAdmin->getAdminMenuName());
$output = $oMenuAdminModel->getMenuByTitle($this->getAdminMenuName());
Context::set('menu_srl', $output->menu_srl);
Context::set('menu_title', $output->title);

View file

@ -12,7 +12,7 @@
class admin extends ModuleObject
{
private $adminMenuName = '__ADMINMENU_V17__';
protected $adminMenuName = '__ADMINMENU_V17__';
public function getAdminMenuName()
{
return $this->adminMenuName;

View file

@ -83,20 +83,14 @@ function iconDeleteMessage(ret_obj){
}
function doRecompileCacheFile() {
if (!confirm(xe.lang.confirm_run)) return;
var params = [];
exec_xml("admin","procAdminRecompileCacheFile", params, completeCacheMessage);
}
function completeCacheMessage(ret_obj) {
alert(ret_obj.message);
exec_json('admin.procAdminRecompileCacheFile', {}, function(data) {
alert(data.message);
});
}
function doResetAdminMenu() {
if (!confirm(xe.lang.confirm_reset_admin_menu)) return;
var params = [];
params.menu_srl = admin_menu_srl;
exec_xml("admin","procAdminMenuReset", params, completeResetAdminMenu);
exec_json('admin.procAdminMenuReset', {}, function() {
window.location.reload();
});
}
function completeResetAdminMenu(ret_obj) {
document.location.reload();
}