* refactor code.
This commit is contained in:
+71
-51
@@ -183,70 +183,90 @@ class custom extends control
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajax get or set menu
|
||||
* Custom menu view
|
||||
*
|
||||
* @param string $module
|
||||
* @param string $method
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function menu($module = 'main', $method = '')
|
||||
{
|
||||
$this->view->module = $module;
|
||||
$this->view->method = $method;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajax set menu
|
||||
*
|
||||
* @param string $module
|
||||
* @param string $method
|
||||
* @param string $menus
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function ajaxSetMenu($module = 'main', $method = '', $menus = '')
|
||||
{
|
||||
if($_POST)
|
||||
{
|
||||
if(!empty($_POST['menus'])) $menus = $_POST['menus'];
|
||||
if(!empty($_POST['module'])) $module = $_POST['module'];
|
||||
if(!empty($_POST['method'])) $method = $_POST['method'];
|
||||
}
|
||||
else if(!empty($menus)) $menus = header::safe64Decode($menus);
|
||||
|
||||
if(empty($menus)) $this->send(array('result' => 'fail', 'message' => $this->lang->custom->saveFail));
|
||||
|
||||
if(is_array($menus))
|
||||
{
|
||||
foreach ($menus as $menu)
|
||||
{
|
||||
$menu = json_decode($menu);
|
||||
$this->custom->saveCustomMenu($menu->value, $menu->module, isset($menu->method) ? $menu->method : '');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->custom->saveCustomMenu($menus, $module, $method);
|
||||
}
|
||||
|
||||
$this->send(array('result' => 'success'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajax get menu
|
||||
*
|
||||
* @param string $module
|
||||
* @param string $method
|
||||
* @param string $type
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function menu($module = 'main', $method = '', $type = '')
|
||||
public function ajaxGetMenu($module = 'main', $method = '', $type = '')
|
||||
{
|
||||
if($_POST)
|
||||
if($type === 'all')
|
||||
{
|
||||
$account = $this->app->user->account;
|
||||
$menus = $_POST['menus'];
|
||||
|
||||
if(empty($menus)) $this->send(array('result' => 'fail', 'message' => $this->lang->custom->saveFail));
|
||||
|
||||
if(is_array($menus))
|
||||
$menu = array();
|
||||
$menu['main'] = customModel::getModuleMenu('main', true);
|
||||
if($method)
|
||||
{
|
||||
foreach ($menus as $menu)
|
||||
{
|
||||
$menu = json_decode($menu);
|
||||
$this->custom->saveCustomMenu($menu->value, $menu->module, isset($menu->method) ? $menu->method : '');
|
||||
}
|
||||
$this->app->loadLang($module);
|
||||
$this->loadModel('search')->mergeFeatureBar($module, $method);
|
||||
}
|
||||
else
|
||||
if($module !== 'main')
|
||||
{
|
||||
if(!empty($_POST['module'])) $module = $_POST['module'];
|
||||
if(!empty($_POST['method'])) $method = $_POST['method'];
|
||||
|
||||
$this->custom->saveCustomMenu($menus, $module, $method);
|
||||
$menu['module'] = customModel::getModuleMenu($module, true);
|
||||
$menu['feature'] = customModel::getFeatureMenu($module, $method);
|
||||
$menu['moduleName'] = $module;
|
||||
$menu['methodName'] = $method;
|
||||
}
|
||||
|
||||
$this->send(array('result' => 'success'));
|
||||
}
|
||||
|
||||
if($this->viewType === 'json')
|
||||
{
|
||||
if($type === 'all')
|
||||
{
|
||||
$menu = array();
|
||||
$menu['main'] = customModel::getModuleMenu('main', true);
|
||||
if($method)
|
||||
{
|
||||
$this->app->loadLang($module);
|
||||
$this->loadModel('search')->mergeFeatureBar($module, $method);
|
||||
}
|
||||
if($module !== 'main')
|
||||
{
|
||||
$menu['module'] = customModel::getModuleMenu($module, true);
|
||||
$menu['feature'] = customModel::getFeatureMenu($module, $method);
|
||||
$menu['moduleName'] = $module;
|
||||
$menu['methodName'] = $method;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$menu = !empty($method) ? customModel::getFeatureMenu($module, $method) : customModel::getModuleMenu($module, true);
|
||||
}
|
||||
die(json_encode(array('result' => $menu ? 'success' : 'fail', 'menu' => $menu), JSON_HEX_QUOT | JSON_HEX_APOS));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->view->module = $module;
|
||||
$this->view->method = $method;
|
||||
$this->display();
|
||||
{
|
||||
$menu = !empty($method) ? customModel::getFeatureMenu($module, $method) : customModel::getModuleMenu($module, true);
|
||||
}
|
||||
die(json_encode(array('result' => $menu ? 'success' : 'fail', 'menu' => $menu), JSON_HEX_QUOT | JSON_HEX_APOS));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -71,7 +71,7 @@ $(function()
|
||||
var loadData = function(moduleName, methodName, type, callback)
|
||||
{
|
||||
type = type || '';
|
||||
var link = createLink('custom', 'menu', 'module=' + moduleName + '&method=' + methodName + '&type=' + type, 'json');
|
||||
var link = createLink('custom', 'ajaxGetMenu', 'module=' + moduleName + '&method=' + methodName + '&type=' + type, 'json');
|
||||
$loadingIcon.addClass('active');
|
||||
$.get(link, function(data)
|
||||
{
|
||||
@@ -218,7 +218,7 @@ $(function()
|
||||
|
||||
postData = $.map(postData, JSON.stringify);
|
||||
|
||||
$.post(createLink('custom', 'menu'), {menus: postData}, function(data)
|
||||
$.post(createLink('custom', 'ajaxSetMenu'), {menus: postData}, function(data)
|
||||
{
|
||||
if(data.result === 'success') window.parent.location.reload()
|
||||
if(data.message) alert(data.message);
|
||||
|
||||
Reference in New Issue
Block a user