mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-02 01:52:10 +09:00
issue 70 menu auto setting completed
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8615 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f3df85dcca
commit
bfa45bfde4
12 changed files with 400 additions and 81 deletions
|
|
@ -197,6 +197,12 @@
|
|||
$this->add('menu_title', $menu_title);
|
||||
$this->add('menu_item_srl', $parent_srl);
|
||||
$this->setMessage('success_deleted');
|
||||
|
||||
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMenuAdminManagement', 'menu_srl', $args->menu_srl);
|
||||
header('location:'.$returnUrl);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -318,6 +324,77 @@
|
|||
$this->add('target', $target);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get all act list for admin menu
|
||||
**/
|
||||
function procMenuAdminAllActList() {
|
||||
$oModuleModel = &getModel('module');
|
||||
$installed_module_list = $oModuleModel->getModulesXmlInfo();
|
||||
if(is_array($installed_module_list))
|
||||
{
|
||||
$currentLang = Context::getLangType();
|
||||
foreach($installed_module_list AS $key=>$value)
|
||||
{
|
||||
$cache_file = sprintf("./files/cache/module_info/%s.%s.php", $value->module, $currentLang);
|
||||
if(is_readable($cache_file))
|
||||
include $cache_file;
|
||||
}
|
||||
}
|
||||
$this->add('menuList', $info->menu);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get all act list for admin menu
|
||||
**/
|
||||
function procMenuAdminInsertItemForAdminMenu()
|
||||
{
|
||||
$requestArgs = Context::getRequestVars();
|
||||
|
||||
// variable setting
|
||||
$logged_info = Context::get('logged_info');
|
||||
$oMenuAdminModel = &getAdminModel('menu');
|
||||
$oMemberModel = &getModel('member');
|
||||
|
||||
$parentMenuInfo = $oMenuAdminModel->getMenuItemInfo($requestArgs->parent_srl);
|
||||
$groupSrlList = $oMemberModel->getMemberGroups($logged_info->member_srl);
|
||||
|
||||
preg_match('/\{\$lang->menu_gnb\[(.*?)\]\}/i', $parentMenuInfo->name, $m);
|
||||
$cache_file = sprintf("./files/cache/module_info/%s.%s.php", $requestArgs->menu_name, Context::getLangType());
|
||||
include $cache_file;
|
||||
|
||||
$args->menu_item_srl = (!$requestArgs->menu_item_srl) ? getNextSequence() : $requestArgs->menu_item_srl;
|
||||
$args->parent_srl = $requestArgs->parent_srl;
|
||||
$args->menu_srl = $requestArgs->menu_srl;
|
||||
$args->name = sprintf('{$lang->menu_gnb_sub[%s][\'%s\']}', $m[1], $requestArgs->menu_name);
|
||||
$args->url = getNotEncodedUrl('', 'module', 'admin', 'act', $info->menu->{$requestArgs->menu_name}->index);
|
||||
$args->open_window = 'N';
|
||||
$args->expand = 'N';
|
||||
$args->normal_btn = '';
|
||||
$args->hover_btn = '';
|
||||
$args->active_btn = '';
|
||||
$args->group_srls = implode(',', array_keys($groupSrlList));
|
||||
$args->listorder = -1*$args->menu_item_srl;
|
||||
|
||||
// Check if already exists
|
||||
$oMenuModel = &getAdminModel('menu');
|
||||
$item_info = $oMenuModel->getMenuItemInfo($args->menu_item_srl);
|
||||
// Update if exists
|
||||
if($item_info->menu_item_srl == $args->menu_item_srl) {
|
||||
$output = executeQuery('menu.updateMenuItem', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
// Insert if not exist
|
||||
} else {
|
||||
$args->listorder = -1*$args->menu_item_srl;
|
||||
$output = executeQuery('menu.insertMenuItem', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
}
|
||||
// Get information of the menu
|
||||
$menu_info = $oMenuModel->getMenu($args->menu_srl);
|
||||
$menu_title = $menu_info->title;
|
||||
// Update the xml file and get its location
|
||||
$xml_file = $this->makeXmlFile($args->menu_srl);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Generate XML file for menu and return its location
|
||||
**/
|
||||
|
|
@ -521,6 +598,7 @@
|
|||
else $child_output = array("buff"=>"", "url_list"=>array());
|
||||
// List variables
|
||||
$names = $oMenuAdminModel->getMenuItemNames($node->name, $site_srl);
|
||||
unset($name_arr_str);
|
||||
foreach($names as $key => $val) {
|
||||
$name_arr_str .= sprintf('"%s"=>"%s",',$key, str_replace(array('\\','"'),array('\\\\','"'),$val));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue